summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobody <nobody@localhost>2005-12-05 14:04:06 +0000
committernobody <nobody@localhost>2005-12-05 14:04:06 +0000
commitc822d41b96b5920e6ce9609138122f07015e678d (patch)
treecd74172648c61565baaadfa8c00b80b862b377b6
parentce5e16b6ae28e66369cdcfc6c416db64fd0298ba (diff)
parent9c74a4ecc721ad2636d9f22a4be43f307aac7942 (diff)
downloadboost-c822d41b96b5920e6ce9609138122f07015e678d.tar.gz
This commit was manufactured by cvs2svn to create tag
'Version_1_33_1'. [SVN r31916]
-rw-r--r--.gitmodules256
-rw-r--r--Jamfile280
-rw-r--r--Jamfile.v2177
-rw-r--r--Jamrules15
-rw-r--r--LICENSE_1_0.txt23
-rw-r--r--README14
-rw-r--r--boost-build.jam17
-rw-r--r--boost.css59
-rw-r--r--boost.pngbin0 -> 6308 bytes
-rwxr-xr-xconfigure310
-rw-r--r--doc/Jamfile.v224
-rw-r--r--doc/html/Assignable.html101
-rw-r--r--doc/html/BOOST_ONCE_INIT.html54
-rw-r--r--doc/html/BOOST_TRIBOOL_THIRD_STATE.html49
-rw-r--r--doc/html/BOOST_VARIANT_ENUM_PARAMS.html59
-rw-r--r--doc/html/BOOST_VARIANT_LIMIT_TYPES.html52
-rw-r--r--doc/html/BidirectionalIterator.html165
-rw-r--r--doc/html/CopyConstructible.html84
-rw-r--r--doc/html/DefaultConstructible.html83
-rw-r--r--doc/html/EqualityComparable.html91
-rw-r--r--doc/html/FinderConcept.html58
-rw-r--r--doc/html/FormatterConcept.html58
-rw-r--r--doc/html/ForwardIterator.html182
-rw-r--r--doc/html/InputIterator.html190
-rw-r--r--doc/html/LessThanComparable.html105
-rw-r--r--doc/html/OutputIterator.html200
-rw-r--r--doc/html/RandomAccessIterator.html230
-rw-r--r--doc/html/SignedInteger.html256
-rw-r--r--doc/html/abstract_variables_map.html107
-rw-r--r--doc/html/acst_dst_trait.html75
-rw-r--r--doc/html/all.html64
-rw-r--r--doc/html/all_date_names_put.html120
-rw-r--r--doc/html/ambiguous_option.html71
-rw-r--r--doc/html/ambiguous_result.html62
-rw-r--r--doc/html/any.html106
-rw-r--r--doc/html/any/reference.html87
-rw-r--r--doc/html/any/s02.html144
-rw-r--r--doc/html/any/s04.html39
-rw-r--r--doc/html/any_cast.html67
-rw-r--r--doc/html/apa.html111
-rw-r--r--doc/html/apply_visitor.html103
-rw-r--r--doc/html/apply_visitor_delayed_t.html91
-rw-r--r--doc/html/array.html116
-rw-r--r--doc/html/array/ack.html39
-rw-r--r--doc/html/array/more/info.html48
-rw-r--r--doc/html/array/rationale.html74
-rw-r--r--doc/html/array/reference.html59
-rw-r--r--doc/html/bad_adjustment.html62
-rw-r--r--doc/html/bad_any_cast.html53
-rw-r--r--doc/html/bad_day_of_month.html66
-rw-r--r--doc/html/bad_day_of_year.html62
-rw-r--r--doc/html/bad_field_count.html62
-rw-r--r--doc/html/bad_function_call.html61
-rw-r--r--doc/html/bad_get.html53
-rw-r--r--doc/html/bad_month.html62
-rw-r--r--doc/html/bad_offset.html62
-rw-r--r--doc/html/bad_visit.html52
-rw-r--r--doc/html/bad_weekday.html62
-rw-r--r--doc/html/bad_year.html62
-rw-r--r--doc/html/barrier.html117
-rw-r--r--doc/html/base_time.html129
-rw-r--r--doc/html/basic_command_line_parser.html112
-rw-r--r--doc/html/basic_option.html75
-rw-r--r--doc/html/basic_parsed_options.html71
-rw-r--r--doc/html/bbv2.html124
-rw-r--r--doc/html/bbv2/advanced.html255
-rw-r--r--doc/html/bbv2/advanced/build_process.html194
-rw-r--r--doc/html/bbv2/advanced/builtins/features.html172
-rw-r--r--doc/html/bbv2/advanced/builtins/targets.html390
-rw-r--r--doc/html/bbv2/advanced/differences_to_v1.html138
-rw-r--r--doc/html/bbv2/advanced/jamfiles.html465
-rw-r--r--doc/html/bbv2/arch.html77
-rw-r--r--doc/html/bbv2/arch/build.html196
-rw-r--r--doc/html/bbv2/arch/targets.html396
-rw-r--r--doc/html/bbv2/arch/tools.html48
-rw-r--r--doc/html/bbv2/extender.html139
-rw-r--r--doc/html/bbv2/extending/features.html262
-rw-r--r--doc/html/bbv2/extending/rules.html109
-rw-r--r--doc/html/bbv2/extending/targets.html148
-rw-r--r--doc/html/bbv2/extending/tools.html247
-rw-r--r--doc/html/bbv2/extending/toolset_modules.html124
-rw-r--r--doc/html/bbv2/faq.html149
-rw-r--r--doc/html/bbv2/faq/dll-path.html110
-rw-r--r--doc/html/bbv2/faq/envar.html72
-rw-r--r--doc/html/bbv2/faq/external.html77
-rw-r--r--doc/html/bbv2/faq/s03.html80
-rw-r--r--doc/html/bbv2/faq/s04.html82
-rw-r--r--doc/html/bbv2/faq/s06.html61
-rw-r--r--doc/html/bbv2/faq/s07.html76
-rw-r--r--doc/html/bbv2/howto.html66
-rw-r--r--doc/html/bbv2/installation.html170
-rw-r--r--doc/html/bbv2/recipies/site-config.html69
-rw-r--r--doc/html/bbv2/reference.html337
-rw-r--r--doc/html/bbv2/reference/buildprocess.html141
-rw-r--r--doc/html/bbv2/reference/definitions.html379
-rw-r--r--doc/html/bbv2/reference/generators.html196
-rw-r--r--doc/html/bbv2/reference/jamfiles.html79
-rw-r--r--doc/html/bbv2/tutorial.html135
-rw-r--r--doc/html/bbv2/tutorial/conditions.html88
-rw-r--r--doc/html/bbv2/tutorial/hierarchy.html144
-rw-r--r--doc/html/bbv2/tutorial/libs.html170
-rw-r--r--doc/html/bbv2/tutorial/linkage.html149
-rw-r--r--doc/html/bbv2/tutorial/prebuilt.html124
-rw-r--r--doc/html/bbv2/tutorial/properties.html173
-rw-r--r--doc/html/bool_switch.html49
-rw-r--r--doc/html/boost/any.html186
-rw-r--r--doc/html/boost/array.html351
-rw-r--r--doc/html/boost/date_time/date.html137
-rw-r--r--doc/html/boost/function.html402
-rw-r--r--doc/html/boost/gregorian/date.html99
-rw-r--r--doc/html/boost/hash.html64
-rw-r--r--doc/html/boost/logic/tribool.html103
-rw-r--r--doc/html/boost/variant.html397
-rw-r--r--doc/html/boost_staticassert.html226
-rw-r--r--doc/html/boost_staticassert/how.html56
-rw-r--r--doc/html/boost_staticassert/test.html122
-rw-r--r--doc/html/boost_typetraits.html158
-rw-r--r--doc/html/boost_typetraits/background.html462
-rw-r--r--doc/html/boost_typetraits/category.html327
-rw-r--r--doc/html/boost_typetraits/credits.html68
-rw-r--r--doc/html/boost_typetraits/examples.html231
-rw-r--r--doc/html/boost_typetraits/intrinsics.html137
-rw-r--r--doc/html/boost_typetraits/mpl.html49
-rw-r--r--doc/html/boost_typetraits/reference.html1768
-rw-r--r--doc/html/boost_typetraits/user_defined.html71
-rw-r--r--doc/html/boostbook.css354
-rw-r--r--doc/html/boostbook.html78
-rw-r--r--doc/html/boostbook/documenting.html135
-rw-r--r--doc/html/boostbook/documenting/s02.html120
-rw-r--r--doc/html/boostbook/dtd/boostbook.html93
-rw-r--r--doc/html/boostbook/dtd/class-specialization.html115
-rw-r--r--doc/html/boostbook/dtd/class.html156
-rw-r--r--doc/html/boostbook/dtd/code.html93
-rw-r--r--doc/html/boostbook/dtd/compile-fail-test.html85
-rw-r--r--doc/html/boostbook/dtd/compile-test.html85
-rw-r--r--doc/html/boostbook/dtd/complexity.html86
-rw-r--r--doc/html/boostbook/dtd/constructor.html111
-rw-r--r--doc/html/boostbook/dtd/copy-assignment.html121
-rw-r--r--doc/html/boostbook/dtd/data-member.html95
-rw-r--r--doc/html/boostbook/dtd/default.html86
-rw-r--r--doc/html/boostbook/dtd/description.html96
-rw-r--r--doc/html/boostbook/dtd/destructor.html109
-rw-r--r--doc/html/boostbook/dtd/effects.html86
-rw-r--r--doc/html/boostbook/dtd/enum.html95
-rw-r--r--doc/html/boostbook/dtd/enumvalue.html93
-rw-r--r--doc/html/boostbook/dtd/free-function-group.html94
-rw-r--r--doc/html/boostbook/dtd/function.html165
-rw-r--r--doc/html/boostbook/dtd/functionname.html97
-rw-r--r--doc/html/boostbook/dtd/header.html92
-rw-r--r--doc/html/boostbook/dtd/if-fails.html59
-rw-r--r--doc/html/boostbook/dtd/inherit.html99
-rw-r--r--doc/html/boostbook/dtd/lib.html53
-rw-r--r--doc/html/boostbook/dtd/library-reference.html113
-rw-r--r--doc/html/boostbook/dtd/library.html113
-rw-r--r--doc/html/boostbook/dtd/librarycategory.html92
-rw-r--r--doc/html/boostbook/dtd/librarycategorydef.html96
-rw-r--r--doc/html/boostbook/dtd/librarycategorylist.html93
-rw-r--r--doc/html/boostbook/dtd/libraryinfo.html88
-rw-r--r--doc/html/boostbook/dtd/librarylist.html90
-rw-r--r--doc/html/boostbook/dtd/libraryname.html86
-rw-r--r--doc/html/boostbook/dtd/librarypurpose.html88
-rw-r--r--doc/html/boostbook/dtd/link-fail-test.html85
-rw-r--r--doc/html/boostbook/dtd/link-test.html85
-rw-r--r--doc/html/boostbook/dtd/method-group.html94
-rw-r--r--doc/html/boostbook/dtd/method.html124
-rw-r--r--doc/html/boostbook/dtd/namespace.html120
-rw-r--r--doc/html/boostbook/dtd/notes.html86
-rw-r--r--doc/html/boostbook/dtd/overloaded-function.html110
-rw-r--r--doc/html/boostbook/dtd/overloaded-method.html110
-rw-r--r--doc/html/boostbook/dtd/parameter.html74
-rw-r--r--doc/html/boostbook/dtd/paramtype.html86
-rw-r--r--doc/html/boostbook/dtd/postconditions.html86
-rw-r--r--doc/html/boostbook/dtd/precondition.html86
-rw-r--r--doc/html/boostbook/dtd/programlisting.html72
-rw-r--r--doc/html/boostbook/dtd/purpose.html86
-rw-r--r--doc/html/boostbook/dtd/rationale.html85
-rw-r--r--doc/html/boostbook/dtd/requirement.html82
-rw-r--r--doc/html/boostbook/dtd/requires.html86
-rw-r--r--doc/html/boostbook/dtd/returns.html86
-rw-r--r--doc/html/boostbook/dtd/run-fail-test.html85
-rw-r--r--doc/html/boostbook/dtd/run-test.html85
-rw-r--r--doc/html/boostbook/dtd/signature.html111
-rw-r--r--doc/html/boostbook/dtd/snippet.html72
-rw-r--r--doc/html/boostbook/dtd/source.html64
-rw-r--r--doc/html/boostbook/dtd/specialization.html87
-rw-r--r--doc/html/boostbook/dtd/static-constant.html96
-rw-r--r--doc/html/boostbook/dtd/struct-specialization.html116
-rw-r--r--doc/html/boostbook/dtd/struct.html115
-rw-r--r--doc/html/boostbook/dtd/template-arg.html86
-rw-r--r--doc/html/boostbook/dtd/template-nontype-parameter.html95
-rw-r--r--doc/html/boostbook/dtd/template-type-parameter.html94
-rw-r--r--doc/html/boostbook/dtd/template-varargs.html94
-rw-r--r--doc/html/boostbook/dtd/template.html89
-rw-r--r--doc/html/boostbook/dtd/testsuite.html92
-rw-r--r--doc/html/boostbook/dtd/throws.html86
-rw-r--r--doc/html/boostbook/dtd/type.html86
-rw-r--r--doc/html/boostbook/dtd/typedef.html95
-rw-r--r--doc/html/boostbook/dtd/union-specialization.html116
-rw-r--r--doc/html/boostbook/dtd/union.html115
-rw-r--r--doc/html/boostbook/dtd/using-class.html92
-rw-r--r--doc/html/boostbook/dtd/using-namespace.html92
-rw-r--r--doc/html/boostbook/getting/started.html86
-rw-r--r--doc/html/boostbook/introduction.html85
-rw-r--r--doc/html/boostbook/sectioning.html60
-rw-r--r--doc/html/boostbook/setup/manual.html168
-rw-r--r--doc/html/boostbook/setup/running.html106
-rw-r--r--doc/html/boostbook/setup/troubleshooting.html46
-rw-r--r--doc/html/boostbook/together.html89
-rw-r--r--doc/html/c_local_adjustor.html62
-rw-r--r--doc/html/c_time.html65
-rw-r--r--doc/html/call_once.html74
-rw-r--r--doc/html/collect_unrecognized.html51
-rw-r--r--doc/html/concepts/reference.html87
-rw-r--r--doc/html/condition.html209
-rw-r--r--doc/html/connection.html237
-rw-r--r--doc/html/const_formatter.html59
-rw-r--r--doc/html/constrained_value.html93
-rw-r--r--doc/html/contains.html68
-rw-r--r--doc/html/convert_string_type.html50
-rw-r--r--doc/html/counted_time_rep.html105
-rw-r--r--doc/html/counted_time_system.html103
-rw-r--r--doc/html/custom_time_zone.html99
-rw-r--r--doc/html/data_not_accessible.html66
-rw-r--r--doc/html/date_duration.html107
-rw-r--r--doc/html/date_facet.html207
-rw-r--r--doc/html/date_formatter.html63
-rw-r--r--doc/html/date_generator_formatter.html167
-rw-r--r--doc/html/date_generator_parser.html186
-rw-r--r--doc/html/date_input_facet.html187
-rw-r--r--doc/html/date_itr.html78
-rw-r--r--doc/html/date_itr_base.html101
-rw-r--r--doc/html/date_names_put.html144
-rw-r--r--doc/html/date_time.html228
-rw-r--r--doc/html/date_time/date_time_io.html2357
-rw-r--r--doc/html/date_time/details.html1141
-rw-r--r--doc/html/date_time/doxy.html1833
-rw-r--r--doc/html/date_time/examples.html1155
-rw-r--r--doc/html/date_time/examples/general_usage_examples.html126
-rw-r--r--doc/html/date_time/gregorian.html1278
-rw-r--r--doc/html/date_time/local_time.html1497
-rw-r--r--doc/html/date_time/posix_time.html1300
-rw-r--r--doc/html/date_time/serialization.html139
-rw-r--r--doc/html/day_calc_dst_rule.html82
-rw-r--r--doc/html/day_clock.html80
-rw-r--r--doc/html/day_functor.html71
-rw-r--r--doc/html/days_before_weekday.html50
-rw-r--r--doc/html/days_until_weekday.html50
-rw-r--r--doc/html/dst_calc_engine.html77
-rw-r--r--doc/html/dst_calculator.html172
-rw-r--r--doc/html/dst_day_calc_rule.html75
-rw-r--r--doc/html/dst_not_valid.html62
-rw-r--r--doc/html/duplicate_option_error.html64
-rw-r--r--doc/html/duration_from_string.html48
-rw-r--r--doc/html/duration_traits_adapted.html60
-rw-r--r--doc/html/duration_traits_long.html60
-rw-r--r--doc/html/empty_formatter.html52
-rw-r--r--doc/html/ends_with.html68
-rw-r--r--doc/html/environment_iterator.html69
-rw-r--r--doc/html/eof_iterator.html106
-rw-r--r--doc/html/equals.html68
-rw-r--r--doc/html/erase_all.html59
-rw-r--r--doc/html/erase_all_copy.html70
-rw-r--r--doc/html/erase_all_regex.html63
-rw-r--r--doc/html/erase_all_regex_copy.html76
-rw-r--r--doc/html/erase_first.html59
-rw-r--r--doc/html/erase_first_copy.html70
-rw-r--r--doc/html/erase_head.html59
-rw-r--r--doc/html/erase_head_copy.html70
-rw-r--r--doc/html/erase_last.html59
-rw-r--r--doc/html/erase_last_copy.html70
-rw-r--r--doc/html/erase_nth.html61
-rw-r--r--doc/html/erase_nth_copy.html73
-rw-r--r--doc/html/erase_range.html60
-rw-r--r--doc/html/erase_range_copy.html71
-rw-r--r--doc/html/erase_regex.html63
-rw-r--r--doc/html/erase_regex_copy.html76
-rw-r--r--doc/html/erase_tail.html59
-rw-r--r--doc/html/erase_tail_copy.html70
-rw-r--r--doc/html/error.html64
-rw-r--r--doc/html/eu_dst_trait.html83
-rw-r--r--doc/html/find.html63
-rw-r--r--doc/html/find_all.html69
-rw-r--r--doc/html/find_all_regex.html73
-rw-r--r--doc/html/find_first.html65
-rw-r--r--doc/html/find_format.html61
-rw-r--r--doc/html/find_format_all.html62
-rw-r--r--doc/html/find_format_all_copy.html74
-rw-r--r--doc/html/find_format_copy.html74
-rw-r--r--doc/html/find_head.html65
-rw-r--r--doc/html/find_iterator.html110
-rw-r--r--doc/html/find_last.html65
-rw-r--r--doc/html/find_nth.html65
-rw-r--r--doc/html/find_regex.html68
-rw-r--r--doc/html/find_tail.html65
-rw-r--r--doc/html/find_token.html68
-rw-r--r--doc/html/first_finder.html62
-rw-r--r--doc/html/first_kday_after.html78
-rw-r--r--doc/html/first_kday_before.html78
-rw-r--r--doc/html/first_kday_of_month.html97
-rw-r--r--doc/html/first_last_rule_spec.html49
-rw-r--r--doc/html/fixed_string_to_int.html52
-rw-r--r--doc/html/format_date_parser.html184
-rw-r--r--doc/html/from_ftime.html49
-rw-r--r--doc/html/function.html104
-rw-r--r--doc/html/function/faq.html216
-rw-r--r--doc/html/function/history.html111
-rw-r--r--doc/html/function/misc.html106
-rw-r--r--doc/html/function/reference.html184
-rw-r--r--doc/html/function/testsuite.html196
-rw-r--r--doc/html/function/tutorial.html322
-rwxr-xr-xdoc/html/functionN.html396
-rw-r--r--doc/html/function_base.html96
-rw-r--r--doc/html/function_equal.html52
-rw-r--r--doc/html/gather_month_strings.html63
-rw-r--r--doc/html/gather_weekday_strings.html64
-rw-r--r--doc/html/get.html96
-rw-r--r--doc/html/greg_day.html69
-rw-r--r--doc/html/greg_durations_config.html49
-rw-r--r--doc/html/greg_facet_config.html50
-rw-r--r--doc/html/greg_month.html103
-rw-r--r--doc/html/greg_weekday.html79
-rw-r--r--doc/html/greg_year.html65
-rw-r--r--doc/html/gregorian_calendar.html51
-rw-r--r--doc/html/gregorian_calendar_base.html89
-rw-r--r--doc/html/has_const_time_erase.html54
-rw-r--r--doc/html/has_const_time_insert.html54
-rw-r--r--doc/html/has_native_replace.html54
-rw-r--r--doc/html/has_stable_iterators.html54
-rw-r--r--doc/html/hash.html105
-rw-r--r--doc/html/hash/acknowledgements.html53
-rw-r--r--doc/html/hash/combine.html106
-rw-r--r--doc/html/hash/custom.html103
-rw-r--r--doc/html/hash/links.html53
-rw-r--r--doc/html/hash/portability.html106
-rw-r--r--doc/html/hash/reference_.html163
-rw-r--r--doc/html/hash/tutorial.html90
-rw-r--r--doc/html/hash_combine.html62
-rw-r--r--doc/html/hash_range.html82
-rw-r--r--doc/html/head_finder.html59
-rw-r--r--doc/html/hours.html63
-rw-r--r--doc/html/icontains.html67
-rw-r--r--doc/html/id1000125.html48
-rw-r--r--doc/html/id1000285.html57
-rw-r--r--doc/html/id1000727.html48
-rw-r--r--doc/html/id1000856.html63
-rw-r--r--doc/html/id1001098.html64
-rw-r--r--doc/html/id1002768.html49
-rw-r--r--doc/html/id1002832.html51
-rw-r--r--doc/html/id1002952-bb.html69
-rw-r--r--doc/html/id1003172.html49
-rw-r--r--doc/html/id1003606.html61
-rw-r--r--doc/html/id1004063.html50
-rw-r--r--doc/html/id1004324.html63
-rw-r--r--doc/html/id1004405.html63
-rw-r--r--doc/html/id1004464.html77
-rw-r--r--doc/html/id1004493.html63
-rw-r--r--doc/html/id1004573.html63
-rw-r--r--doc/html/id1005099.html60
-rw-r--r--doc/html/id1005474.html49
-rw-r--r--doc/html/id1006469.html52
-rw-r--r--doc/html/id1006770.html66
-rw-r--r--doc/html/id1007648.html48
-rw-r--r--doc/html/id1008265.html77
-rw-r--r--doc/html/id1008761.html59
-rw-r--r--doc/html/id1010247.html52
-rw-r--r--doc/html/id1011013.html57
-rw-r--r--doc/html/id1011206.html49
-rw-r--r--doc/html/id1012042.html62
-rw-r--r--doc/html/id1012853.html64
-rw-r--r--doc/html/id1013364.html57
-rw-r--r--doc/html/id1035618.html49
-rw-r--r--doc/html/id1037413.html56
-rw-r--r--doc/html/id1038934.html63
-rw-r--r--doc/html/id1038994.html49
-rw-r--r--doc/html/id1040893.html63
-rw-r--r--doc/html/id1042434.html64
-rw-r--r--doc/html/id1043782.html57
-rw-r--r--doc/html/id1045709-bb.html97
-rw-r--r--doc/html/id1045724.html52
-rw-r--r--doc/html/id1046659.html60
-rw-r--r--doc/html/id1047787.html64
-rw-r--r--doc/html/id1066093.html58
-rw-r--r--doc/html/id1066619.html62
-rw-r--r--doc/html/id1067334.html57
-rw-r--r--doc/html/id1067419-bb.html70
-rw-r--r--doc/html/id1068792.html57
-rw-r--r--doc/html/id1069976.html49
-rw-r--r--doc/html/id1070986.html62
-rw-r--r--doc/html/id1072313-bb.html97
-rw-r--r--doc/html/id1074505.html49
-rw-r--r--doc/html/id1075450.html68
-rw-r--r--doc/html/id1075688.html61
-rw-r--r--doc/html/id1075734.html59
-rw-r--r--doc/html/id1075809.html57
-rw-r--r--doc/html/id1076154.html48
-rw-r--r--doc/html/id1076157.html49
-rw-r--r--doc/html/id1076705.html63
-rw-r--r--doc/html/id1077172.html48
-rw-r--r--doc/html/id1081373.html63
-rw-r--r--doc/html/id1081555.html90
-rw-r--r--doc/html/id1082329.html49
-rw-r--r--doc/html/id1083385.html49
-rw-r--r--doc/html/id1101061.html50
-rw-r--r--doc/html/id1101634.html72
-rw-r--r--doc/html/id1102611.html52
-rw-r--r--doc/html/id1102684.html64
-rw-r--r--doc/html/id1104430.html77
-rw-r--r--doc/html/id1104792-bb.html66
-rw-r--r--doc/html/id1106672.html60
-rw-r--r--doc/html/id1108211.html50
-rw-r--r--doc/html/id1108300.html64
-rw-r--r--doc/html/id1108774.html48
-rw-r--r--doc/html/id1108830.html60
-rw-r--r--doc/html/id1109157.html63
-rw-r--r--doc/html/id1109608-bb.html70
-rw-r--r--doc/html/id1110744.html50
-rw-r--r--doc/html/id1111217.html55
-rw-r--r--doc/html/id1111544.html57
-rw-r--r--doc/html/id1111919.html48
-rw-r--r--doc/html/id1112796.html49
-rw-r--r--doc/html/id1115162.html50
-rw-r--r--doc/html/id1117522-bb.html69
-rw-r--r--doc/html/id1136776.html63
-rw-r--r--doc/html/id1140631.html57
-rw-r--r--doc/html/id1142924.html55
-rw-r--r--doc/html/id1142955-bb.html70
-rw-r--r--doc/html/id1145169.html90
-rw-r--r--doc/html/id1149596.html49
-rw-r--r--doc/html/id1151074.html57
-rw-r--r--doc/html/id1151195.html69
-rw-r--r--doc/html/id1171494.html63
-rw-r--r--doc/html/id1172278.html60
-rw-r--r--doc/html/id1175301.html63
-rw-r--r--doc/html/id1176279.html49
-rw-r--r--doc/html/id1181214.html63
-rw-r--r--doc/html/id1181325.html63
-rw-r--r--doc/html/id1181458.html90
-rw-r--r--doc/html/id1185234.html63
-rw-r--r--doc/html/id1185550.html63
-rw-r--r--doc/html/id1210776.html63
-rw-r--r--doc/html/id1211701.html58
-rw-r--r--doc/html/id1214336.html60
-rw-r--r--doc/html/id1217789.html63
-rw-r--r--doc/html/id1220439.html90
-rw-r--r--doc/html/id1220996.html90
-rw-r--r--doc/html/id1222024.html49
-rw-r--r--doc/html/id1222476.html90
-rw-r--r--doc/html/id1241163.html48
-rw-r--r--doc/html/id1244293.html48
-rw-r--r--doc/html/id1245151.html57
-rw-r--r--doc/html/id1246129.html57
-rw-r--r--doc/html/id1248921.html54
-rw-r--r--doc/html/id1257003.html69
-rw-r--r--doc/html/id1279984.html58
-rw-r--r--doc/html/id1286986.html54
-rw-r--r--doc/html/id1287075.html55
-rw-r--r--doc/html/id1289087.html52
-rw-r--r--doc/html/id1290990.html57
-rw-r--r--doc/html/id1315948.html69
-rw-r--r--doc/html/id1316002.html52
-rw-r--r--doc/html/id1317124.html49
-rw-r--r--doc/html/id1319232.html55
-rw-r--r--doc/html/id1351704.html52
-rw-r--r--doc/html/id2284769.html57
-rw-r--r--doc/html/id2284811.html57
-rw-r--r--doc/html/id2338422.html72
-rw-r--r--doc/html/id2341545.html55
-rw-r--r--doc/html/id2342268.html49
-rw-r--r--doc/html/id2342446.html57
-rw-r--r--doc/html/id2342470-bb.html68
-rw-r--r--doc/html/id2342502.html49
-rw-r--r--doc/html/id2345195.html62
-rw-r--r--doc/html/id2345298.html63
-rw-r--r--doc/html/id2345386.html57
-rw-r--r--doc/html/id2346601.html66
-rw-r--r--doc/html/id2348724.html59
-rw-r--r--doc/html/id2348844.html61
-rw-r--r--doc/html/id2348892.html45
-rw-r--r--doc/html/id2349650.html50
-rw-r--r--doc/html/id2354316.html62
-rw-r--r--doc/html/id2358254.html51
-rw-r--r--doc/html/id2359751.html52
-rw-r--r--doc/html/id2359806.html52
-rw-r--r--doc/html/id2360956.html54
-rw-r--r--doc/html/id2361471.html50
-rw-r--r--doc/html/id2363052-bb.html69
-rw-r--r--doc/html/id2363468.html47
-rw-r--r--doc/html/id2374912.html60
-rw-r--r--doc/html/id2380285.html57
-rw-r--r--doc/html/id2380363.html57
-rw-r--r--doc/html/id2381437-bb.html69
-rw-r--r--doc/html/id2381519-bb.html70
-rw-r--r--doc/html/id2381778-bb.html68
-rw-r--r--doc/html/id2381950-bb.html70
-rw-r--r--doc/html/id2382392.html66
-rw-r--r--doc/html/id2383787.html52
-rw-r--r--doc/html/id2383831.html83
-rw-r--r--doc/html/id2386234.html63
-rw-r--r--doc/html/id2390624.html55
-rw-r--r--doc/html/id2391976.html66
-rw-r--r--doc/html/id2393344.html62
-rw-r--r--doc/html/id2394886.html90
-rw-r--r--doc/html/id2395071.html57
-rw-r--r--doc/html/id2397684.html52
-rw-r--r--doc/html/id2400763.html90
-rw-r--r--doc/html/id2402187.html77
-rw-r--r--doc/html/id2403874.html64
-rw-r--r--doc/html/id2403949.html62
-rw-r--r--doc/html/id2404411.html58
-rw-r--r--doc/html/id2405579.html63
-rw-r--r--doc/html/id2405655.html63
-rw-r--r--doc/html/id2406096.html60
-rw-r--r--doc/html/id2411202.html77
-rw-r--r--doc/html/id2415708.html64
-rw-r--r--doc/html/id2415820.html66
-rw-r--r--doc/html/id2416802.html90
-rw-r--r--doc/html/id2417636.html90
-rw-r--r--doc/html/id2423887.html54
-rw-r--r--doc/html/id2427956.html76
-rw-r--r--doc/html/id2428972.html61
-rw-r--r--doc/html/id2434930.html66
-rw-r--r--doc/html/id2434970.html68
-rw-r--r--doc/html/id2440843.html50
-rw-r--r--doc/html/id2441838.html48
-rw-r--r--doc/html/id2441885.html48
-rw-r--r--doc/html/id2441931.html48
-rw-r--r--doc/html/id2441978.html48
-rw-r--r--doc/html/id2442024.html48
-rw-r--r--doc/html/id2442665.html48
-rw-r--r--doc/html/id2442711.html48
-rw-r--r--doc/html/id2442758.html48
-rw-r--r--doc/html/id2442833.html89
-rw-r--r--doc/html/id2443265.html65
-rw-r--r--doc/html/id2444918.html50
-rw-r--r--doc/html/id2451531.html48
-rw-r--r--doc/html/id2451976.html166
-rw-r--r--doc/html/id2458348.html90
-rw-r--r--doc/html/id2459964.html90
-rw-r--r--doc/html/id2460171.html56
-rw-r--r--doc/html/id2460249.html50
-rw-r--r--doc/html/id2460311.html51
-rw-r--r--doc/html/id2460372.html50
-rw-r--r--doc/html/id2462174.html52
-rw-r--r--doc/html/id2463074.html63
-rw-r--r--doc/html/id2463150.html63
-rw-r--r--doc/html/id2473370.html72
-rw-r--r--doc/html/id2473733.html59
-rw-r--r--doc/html/id2475183.html49
-rw-r--r--doc/html/id2475230.html49
-rw-r--r--doc/html/id2475277.html49
-rw-r--r--doc/html/id2475325.html49
-rw-r--r--doc/html/id2475371.html49
-rw-r--r--doc/html/id2475419.html49
-rw-r--r--doc/html/id2475466.html49
-rw-r--r--doc/html/id2475514.html49
-rw-r--r--doc/html/id2477525.html61
-rw-r--r--doc/html/id2483937.html45
-rw-r--r--doc/html/id2484608.html76
-rw-r--r--doc/html/id2490467.html57
-rw-r--r--doc/html/id2492742.html72
-rw-r--r--doc/html/id2492905-bb.html81
-rw-r--r--doc/html/id2496250.html48
-rw-r--r--doc/html/id2498096-bb.html66
-rw-r--r--doc/html/id2501105.html63
-rw-r--r--doc/html/id2503912.html64
-rw-r--r--doc/html/id2509958.html66
-rw-r--r--doc/html/id2510242.html64
-rw-r--r--doc/html/id2514166.html57
-rw-r--r--doc/html/id2522859-bb.html97
-rw-r--r--doc/html/id2525902.html83
-rw-r--r--doc/html/id2531282.html57
-rw-r--r--doc/html/id2535733.html90
-rw-r--r--doc/html/id2545607.html45
-rw-r--r--doc/html/id2559243.html63
-rw-r--r--doc/html/id2567673.html44
-rw-r--r--doc/html/id2568583.html63
-rw-r--r--doc/html/id2569821.html63
-rw-r--r--doc/html/id2571496.html63
-rw-r--r--doc/html/id2580251.html71
-rw-r--r--doc/html/id2586835.html63
-rw-r--r--doc/html/id2591657-bb.html66
-rw-r--r--doc/html/id2605064.html90
-rw-r--r--doc/html/id2629621.html55
-rw-r--r--doc/html/id2630804.html60
-rw-r--r--doc/html/id2648190.html52
-rw-r--r--doc/html/id2652694.html57
-rw-r--r--doc/html/id2655704.html69
-rw-r--r--doc/html/id2667605.html49
-rw-r--r--doc/html/id612209.html50
-rw-r--r--doc/html/id613511-bb.html81
-rw-r--r--doc/html/id652972.html57
-rw-r--r--doc/html/id656954.html45
-rw-r--r--doc/html/id660313.html48
-rw-r--r--doc/html/id681933.html49
-rw-r--r--doc/html/id682549.html166
-rw-r--r--doc/html/id682690.html61
-rw-r--r--doc/html/id682992.html83
-rw-r--r--doc/html/id683292.html83
-rw-r--r--doc/html/id685080.html63
-rw-r--r--doc/html/id685401.html76
-rw-r--r--doc/html/id685876.html63
-rw-r--r--doc/html/id691834.html57
-rw-r--r--doc/html/id692727.html50
-rw-r--r--doc/html/id696758.html58
-rw-r--r--doc/html/id698854.html90
-rw-r--r--doc/html/id719223.html60
-rw-r--r--doc/html/id726982.html72
-rw-r--r--doc/html/id727853.html48
-rw-r--r--doc/html/id730580.html55
-rw-r--r--doc/html/id732463.html52
-rw-r--r--doc/html/id732514.html68
-rw-r--r--doc/html/id753810.html83
-rw-r--r--doc/html/id754617.html45
-rw-r--r--doc/html/id756476.html61
-rw-r--r--doc/html/id756653.html57
-rw-r--r--doc/html/id756942.html76
-rw-r--r--doc/html/id757234.html63
-rw-r--r--doc/html/id757440.html166
-rw-r--r--doc/html/id759771.html63
-rw-r--r--doc/html/id761403.html49
-rw-r--r--doc/html/id762184-bb.html68
-rw-r--r--doc/html/id764073.html48
-rw-r--r--doc/html/id765833.html54
-rw-r--r--doc/html/id766036.html66
-rw-r--r--doc/html/id767095.html49
-rw-r--r--doc/html/id786780.html166
-rw-r--r--doc/html/id791643.html89
-rw-r--r--doc/html/id791859.html90
-rw-r--r--doc/html/id792474.html50
-rw-r--r--doc/html/id792595.html48
-rw-r--r--doc/html/id793312.html63
-rw-r--r--doc/html/id795566.html49
-rw-r--r--doc/html/id797225.html62
-rw-r--r--doc/html/id797327.html63
-rw-r--r--doc/html/id798130.html66
-rw-r--r--doc/html/id801724.html63
-rw-r--r--doc/html/id801965.html49
-rw-r--r--doc/html/id802077.html49
-rw-r--r--doc/html/id802125.html66
-rw-r--r--doc/html/id802530.html48
-rw-r--r--doc/html/id803042-bb.html69
-rw-r--r--doc/html/id822503.html63
-rw-r--r--doc/html/id825498.html49
-rw-r--r--doc/html/id827567-bb.html97
-rw-r--r--doc/html/id828736.html63
-rw-r--r--doc/html/id829552.html166
-rw-r--r--doc/html/id829690.html63
-rw-r--r--doc/html/id829697.html50
-rw-r--r--doc/html/id829771.html63
-rw-r--r--doc/html/id830090.html50
-rw-r--r--doc/html/id832781.html49
-rw-r--r--doc/html/id833202.html65
-rw-r--r--doc/html/id833576-bb.html68
-rw-r--r--doc/html/id834018.html66
-rw-r--r--doc/html/id835863.html48
-rw-r--r--doc/html/id836208.html48
-rw-r--r--doc/html/id837111.html55
-rw-r--r--doc/html/id837311.html61
-rw-r--r--doc/html/id837802.html49
-rw-r--r--doc/html/id838605.html60
-rw-r--r--doc/html/id856528.html49
-rw-r--r--doc/html/id857561.html66
-rw-r--r--doc/html/id858004.html49
-rw-r--r--doc/html/id859664.html48
-rw-r--r--doc/html/id863329.html50
-rw-r--r--doc/html/id863881.html63
-rw-r--r--doc/html/id865547-bb.html68
-rw-r--r--doc/html/id866049.html76
-rw-r--r--doc/html/id866316.html89
-rw-r--r--doc/html/id867037.html48
-rw-r--r--doc/html/id867073.html62
-rw-r--r--doc/html/id867809.html49
-rw-r--r--doc/html/id867950.html72
-rw-r--r--doc/html/id868865.html69
-rw-r--r--doc/html/id869818.html63
-rw-r--r--doc/html/id871323.html66
-rw-r--r--doc/html/id872478.html57
-rw-r--r--doc/html/id873294.html61
-rw-r--r--doc/html/id893464-bb.html81
-rw-r--r--doc/html/id895253.html60
-rw-r--r--doc/html/id895555.html72
-rw-r--r--doc/html/id897225.html50
-rw-r--r--doc/html/id897675.html62
-rw-r--r--doc/html/id897825.html48
-rw-r--r--doc/html/id898032.html59
-rw-r--r--doc/html/id899638.html51
-rw-r--r--doc/html/id899939.html48
-rw-r--r--doc/html/id901063.html48
-rw-r--r--doc/html/id902407-bb.html81
-rw-r--r--doc/html/id902736.html49
-rw-r--r--doc/html/id904638.html72
-rw-r--r--doc/html/id905192.html62
-rw-r--r--doc/html/id905663.html48
-rw-r--r--doc/html/id906280-bb.html66
-rw-r--r--doc/html/id906590-bb.html66
-rw-r--r--doc/html/id907001-bb.html81
-rw-r--r--doc/html/id907404.html48
-rw-r--r--doc/html/id907863.html49
-rw-r--r--doc/html/id908622.html65
-rw-r--r--doc/html/id926506.html48
-rw-r--r--doc/html/id926799.html60
-rw-r--r--doc/html/id927058.html48
-rw-r--r--doc/html/id928151.html48
-rw-r--r--doc/html/id928296.html55
-rw-r--r--doc/html/id928370.html90
-rw-r--r--doc/html/id929185.html49
-rw-r--r--doc/html/id930380.html56
-rw-r--r--doc/html/id931820.html50
-rw-r--r--doc/html/id931882.html60
-rw-r--r--doc/html/id932460.html48
-rw-r--r--doc/html/id934351.html48
-rw-r--r--doc/html/id934588.html50
-rw-r--r--doc/html/id935001.html90
-rw-r--r--doc/html/id935107.html66
-rw-r--r--doc/html/id935311.html72
-rw-r--r--doc/html/id937125.html89
-rw-r--r--doc/html/id937212.html49
-rw-r--r--doc/html/id937779.html72
-rw-r--r--doc/html/id938144.html52
-rw-r--r--doc/html/id939231.html57
-rw-r--r--doc/html/id940597.html48
-rw-r--r--doc/html/id961567.html51
-rw-r--r--doc/html/id962554.html65
-rw-r--r--doc/html/id963166.html57
-rw-r--r--doc/html/id963572.html66
-rw-r--r--doc/html/id963574.html63
-rw-r--r--doc/html/id964077.html62
-rw-r--r--doc/html/id964497.html63
-rw-r--r--doc/html/id964834.html49
-rw-r--r--doc/html/id965024.html57
-rw-r--r--doc/html/id965057.html90
-rw-r--r--doc/html/id966212.html68
-rw-r--r--doc/html/id966919.html57
-rw-r--r--doc/html/id967018.html48
-rw-r--r--doc/html/id967208.html48
-rw-r--r--doc/html/id967615.html49
-rw-r--r--doc/html/id967850.html49
-rw-r--r--doc/html/id968571.html48
-rw-r--r--doc/html/id970494.html49
-rw-r--r--doc/html/id970662.html49
-rw-r--r--doc/html/id971242.html49
-rw-r--r--doc/html/id971950.html64
-rw-r--r--doc/html/id972407.html49
-rw-r--r--doc/html/id972508.html64
-rw-r--r--doc/html/id972660.html50
-rw-r--r--doc/html/id973766.html61
-rw-r--r--doc/html/id973952.html68
-rw-r--r--doc/html/id974544.html48
-rw-r--r--doc/html/id974575.html65
-rw-r--r--doc/html/id974669.html48
-rw-r--r--doc/html/id974672.html56
-rw-r--r--doc/html/id974717.html52
-rw-r--r--doc/html/id975549.html89
-rw-r--r--doc/html/id975607.html63
-rw-r--r--doc/html/id976020.html90
-rw-r--r--doc/html/id976400.html63
-rw-r--r--doc/html/id976922.html63
-rw-r--r--doc/html/id977493.html66
-rw-r--r--doc/html/id977867.html63
-rw-r--r--doc/html/id978011.html57
-rw-r--r--doc/html/id978190.html51
-rw-r--r--doc/html/id978266.html49
-rw-r--r--doc/html/id978312.html61
-rw-r--r--doc/html/id978358-bb.html66
-rw-r--r--doc/html/id996896.html48
-rw-r--r--doc/html/id997682.html56
-rw-r--r--doc/html/id998748-bb.html97
-rw-r--r--doc/html/id999384.html59
-rw-r--r--doc/html/identity_formatter.html52
-rw-r--r--doc/html/iends_with.html67
-rw-r--r--doc/html/iequals.html67
-rw-r--r--doc/html/ierase_all.html62
-rw-r--r--doc/html/ierase_all_copy.html74
-rw-r--r--doc/html/ierase_first.html62
-rw-r--r--doc/html/ierase_first_copy.html74
-rw-r--r--doc/html/ierase_last.html62
-rw-r--r--doc/html/ierase_last_copy.html74
-rw-r--r--doc/html/ierase_nth.html64
-rw-r--r--doc/html/ierase_nth_copy.html77
-rw-r--r--doc/html/ifind_all.html71
-rw-r--r--doc/html/ifind_first.html68
-rw-r--r--doc/html/ifind_last.html68
-rw-r--r--doc/html/ifind_nth.html70
-rw-r--r--doc/html/images/blank.pngbin0 -> 374 bytes
-rw-r--r--doc/html/images/caution.pngbin0 -> 1250 bytes
-rw-r--r--doc/html/images/draft.pngbin0 -> 17454 bytes
-rw-r--r--doc/html/images/home.pngbin0 -> 358 bytes
-rw-r--r--doc/html/images/important.pngbin0 -> 722 bytes
-rw-r--r--doc/html/images/next.pngbin0 -> 336 bytes
-rwxr-xr-xdoc/html/images/next_disabled.pngbin0 -> 1110 bytes
-rw-r--r--doc/html/images/note.pngbin0 -> 490 bytes
-rw-r--r--doc/html/images/prev.pngbin0 -> 334 bytes
-rwxr-xr-xdoc/html/images/prev_disabled.pngbin0 -> 1109 bytes
-rw-r--r--doc/html/images/tip.pngbin0 -> 449 bytes
-rw-r--r--doc/html/images/toc-blank.pngbin0 -> 318 bytes
-rw-r--r--doc/html/images/toc-minus.pngbin0 -> 259 bytes
-rw-r--r--doc/html/images/toc-plus.pngbin0 -> 264 bytes
-rw-r--r--doc/html/images/up.pngbin0 -> 370 bytes
-rwxr-xr-xdoc/html/images/up_disabled.pngbin0 -> 1115 bytes
-rw-r--r--doc/html/images/warning.pngbin0 -> 1241 bytes
-rw-r--r--doc/html/indeterminate.html54
-rw-r--r--doc/html/indeterminate_name.html75
-rw-r--r--doc/html/index.html85
-rw-r--r--doc/html/int_adapter.html191
-rw-r--r--doc/html/invalid_command_line_style.html63
-rw-r--r--doc/html/invalid_option_value.html69
-rw-r--r--doc/html/invalid_syntax.html70
-rw-r--r--doc/html/ireplace_all.html65
-rw-r--r--doc/html/ireplace_all_copy.html78
-rw-r--r--doc/html/ireplace_first.html65
-rw-r--r--doc/html/ireplace_first_copy.html79
-rw-r--r--doc/html/ireplace_last.html68
-rw-r--r--doc/html/ireplace_last_copy.html79
-rw-r--r--doc/html/ireplace_nth.html67
-rw-r--r--doc/html/ireplace_nth_copy.html81
-rw-r--r--doc/html/is_alnum.html59
-rw-r--r--doc/html/is_alpha.html59
-rw-r--r--doc/html/is_any_of.html59
-rw-r--r--doc/html/is_classified.html62
-rw-r--r--doc/html/is_cntrl.html59
-rw-r--r--doc/html/is_digit.html59
-rw-r--r--doc/html/is_equal.html62
-rw-r--r--doc/html/is_from_range.html61
-rw-r--r--doc/html/is_graph.html59
-rw-r--r--doc/html/is_iequal.html79
-rw-r--r--doc/html/is_lower.html59
-rw-r--r--doc/html/is_print.html59
-rw-r--r--doc/html/is_punct.html59
-rw-r--r--doc/html/is_recursive_wrapper.html61
-rw-r--r--doc/html/is_reference_wrapper.html55
-rw-r--r--doc/html/is_space.html59
-rw-r--r--doc/html/is_upper.html59
-rw-r--r--doc/html/is_xdigit.html59
-rw-r--r--doc/html/iso_extended_format.html59
-rw-r--r--doc/html/iso_format.html57
-rw-r--r--doc/html/iso_format_base.html101
-rw-r--r--doc/html/istarts_with.html67
-rw-r--r--doc/html/lambda.html177
-rw-r--r--doc/html/lambda/extending.html421
-rw-r--r--doc/html/lambda/getting_started.html102
-rw-r--r--doc/html/lambda/le_in_details.html1614
-rw-r--r--doc/html/lambda/s03.html264
-rw-r--r--doc/html/lambda/s07.html314
-rw-r--r--doc/html/lambda/s08.html177
-rw-r--r--doc/html/lambda/s09.html45
-rw-r--r--doc/html/lambda/using_library.html310
-rw-r--r--doc/html/last_finder.html62
-rw-r--r--doc/html/last_kday_of_month.html98
-rw-r--r--doc/html/last_last_rule_spec.html49
-rw-r--r--doc/html/last_value.html75
-rw-r--r--doc/html/libraries.html332
-rw-r--r--doc/html/libraries/s02.html385
-rw-r--r--doc/html/local_adjustor.html77
-rw-r--r--doc/html/local_date_time_base.html214
-rw-r--r--doc/html/lock_error.html67
-rw-r--r--doc/html/make_find_iterator.html50
-rw-r--r--doc/html/make_recursive_variant.html90
-rw-r--r--doc/html/make_split_iterator.html50
-rw-r--r--doc/html/make_variant_over.html69
-rw-r--r--doc/html/microsec_clock.html86
-rw-r--r--doc/html/minutes.html63
-rw-r--r--doc/html/month_formatter.html69
-rw-r--r--doc/html/month_functor.html75
-rw-r--r--doc/html/months_duration.html103
-rw-r--r--doc/html/multiple_occurrences.html64
-rw-r--r--doc/html/multiple_values.html64
-rw-r--r--doc/html/mutex.html131
-rw-r--r--doc/html/next_weekday.html49
-rw-r--r--doc/html/notify.html48
-rw-r--r--doc/html/nth_finder.html65
-rw-r--r--doc/html/nth_kday_of_month.html90
-rw-r--r--doc/html/nth_kday_rule_spec.html49
-rw-r--r--doc/html/nth_last_rule_spec.html49
-rw-r--r--doc/html/null_dst_rules.html75
-rw-r--r--doc/html/option_description.html120
-rw-r--r--doc/html/options_description.html107
-rw-r--r--doc/html/ostream_date_formatter.html64
-rw-r--r--doc/html/ostream_month_formatter.html61
-rw-r--r--doc/html/ostream_time_formatter.html62
-rw-r--r--doc/html/ostream_weekday_formatter.html62
-rw-r--r--doc/html/ostream_ymd_formatter.html65
-rw-r--r--doc/html/parse_command_line.html52
-rw-r--r--doc/html/parse_config_file.html51
-rw-r--r--doc/html/parse_match_result.html80
-rw-r--r--doc/html/partial_date.html111
-rw-r--r--doc/html/partial_date_rule_spec.html49
-rw-r--r--doc/html/period.html126
-rw-r--r--doc/html/period_formatter.html140
-rw-r--r--doc/html/period_parser.html150
-rw-r--r--doc/html/posix_time_system_config.html64
-rw-r--r--doc/html/posix_time_zone.html149
-rw-r--r--doc/html/previous_weekday.html49
-rw-r--r--doc/html/program_options.html126
-rw-r--r--doc/html/program_options/design.html193
-rw-r--r--doc/html/program_options/howto.html427
-rw-r--r--doc/html/program_options/overview.html540
-rw-r--r--doc/html/program_options/reference.html214
-rw-r--r--doc/html/program_options/s06.html88
-rw-r--r--doc/html/program_options/tutorial.html339
-rw-r--r--doc/html/ptime.html79
-rw-r--r--doc/html/range_finder.html64
-rw-r--r--doc/html/read_write_mutex.html153
-rw-r--r--doc/html/recursive_mutex.html132
-rw-r--r--doc/html/recursive_timed_mutex.html144
-rw-r--r--doc/html/recursive_try_mutex.html140
-rw-r--r--doc/html/recursive_wrapper.html196
-rw-r--r--doc/html/ref.html113
-rw-r--r--doc/html/ref/ack.html45
-rw-r--r--doc/html/ref/reference.html50
-rw-r--r--doc/html/reference.css5
-rw-r--r--doc/html/reference.html190
-rw-r--r--doc/html/reference_wrapper.html140
-rw-r--r--doc/html/replace_all.html65
-rw-r--r--doc/html/replace_all_copy.html74
-rw-r--r--doc/html/replace_all_regex.html67
-rw-r--r--doc/html/replace_all_regex_copy.html82
-rw-r--r--doc/html/replace_first.html62
-rw-r--r--doc/html/replace_first_copy.html75
-rw-r--r--doc/html/replace_head.html61
-rw-r--r--doc/html/replace_head_copy.html73
-rw-r--r--doc/html/replace_last.html62
-rw-r--r--doc/html/replace_last_copy.html74
-rw-r--r--doc/html/replace_nth.html64
-rw-r--r--doc/html/replace_nth_copy.html77
-rw-r--r--doc/html/replace_range.html63
-rw-r--r--doc/html/replace_range_copy.html75
-rw-r--r--doc/html/replace_regex.html67
-rw-r--r--doc/html/replace_regex_copy.html82
-rw-r--r--doc/html/replace_tail.html61
-rw-r--r--doc/html/replace_tail_copy.html73
-rw-r--r--doc/html/scoped_connection.html109
-rw-r--r--doc/html/second_clock.html77
-rw-r--r--doc/html/seconds.html63
-rw-r--r--doc/html/signal.html76
-rw-r--r--doc/html/signalN.html307
-rw-r--r--doc/html/signals.html116
-rw-r--r--doc/html/signals/reference.html109
-rw-r--r--doc/html/signals/s04.html131
-rw-r--r--doc/html/signals/s05.html209
-rw-r--r--doc/html/signals/s06.html429
-rw-r--r--doc/html/signals/tests.html102
-rw-r--r--doc/html/signals/tutorial.html1102
-rw-r--r--doc/html/simple_exception_policy.html66
-rw-r--r--doc/html/simple_format.html85
-rw-r--r--doc/html/simple_time_rep.html78
-rw-r--r--doc/html/slot.html70
-rw-r--r--doc/html/special_value_from_string.html48
-rw-r--r--doc/html/special_values_formatter.html95
-rw-r--r--doc/html/special_values_parser.html113
-rw-r--r--doc/html/split_iterator.html111
-rw-r--r--doc/html/split_regex.html72
-rw-r--r--doc/html/split_timedate_system.html113
-rw-r--r--doc/html/starts_with.html69
-rw-r--r--doc/html/static_local_time_adjustor.html80
-rw-r--r--doc/html/static_visitor.html59
-rw-r--r--doc/html/string_algo.html171
-rw-r--r--doc/html/string_algo/concept.html229
-rw-r--r--doc/html/string_algo/credits.html53
-rw-r--r--doc/html/string_algo/design.html255
-rw-r--r--doc/html/string_algo/env.html100
-rw-r--r--doc/html/string_algo/quickref.html551
-rw-r--r--doc/html/string_algo/rationale.html78
-rw-r--r--doc/html/string_algo/reference.html763
-rw-r--r--doc/html/string_algo/release_notes.html48
-rw-r--r--doc/html/string_algo/usage.html382
-rw-r--r--doc/html/string_parse_tree.html110
-rw-r--r--doc/html/subsecond_duration.html66
-rw-r--r--doc/html/tail_finder.html59
-rw-r--r--doc/html/thread.html224
-rw-r--r--doc/html/thread/acknowledgements.html85
-rw-r--r--doc/html/thread/build.html96
-rw-r--r--doc/html/thread/configuration.html125
-rw-r--r--doc/html/thread_group.html132
-rw-r--r--doc/html/thread_resource_error.html69
-rw-r--r--doc/html/thread_specific_ptr.html251
-rw-r--r--doc/html/threads.html646
-rw-r--r--doc/html/threads/concepts.html733
-rw-r--r--doc/html/threads/design.html175
-rw-r--r--doc/html/threads/faq.html292
-rw-r--r--doc/html/threads/implementation_notes.html65
-rw-r--r--doc/html/threads/rationale.html504
-rw-r--r--doc/html/threads/reference.html130
-rw-r--r--doc/html/threads/release_notes.html172
-rw-r--r--doc/html/time_facet.html146
-rw-r--r--doc/html/time_formats.html68
-rw-r--r--doc/html/time_from_ftime.html48
-rw-r--r--doc/html/time_input_facet.html169
-rw-r--r--doc/html/time_itr.html87
-rw-r--r--doc/html/time_label_invalid.html62
-rw-r--r--doc/html/time_resolution_traits.html90
-rw-r--r--doc/html/time_zone.html99
-rw-r--r--doc/html/time_zone_base.html96
-rw-r--r--doc/html/time_zone_names_base.html80
-rw-r--r--doc/html/timed_mutex.html143
-rw-r--r--doc/html/timed_read_write_mutex.html181
-rw-r--r--doc/html/to_lower.html60
-rw-r--r--doc/html/to_lower_copy.html71
-rw-r--r--doc/html/to_upper.html60
-rw-r--r--doc/html/to_upper_copy.html71
-rw-r--r--doc/html/token_finder.html65
-rw-r--r--doc/html/trackable.html113
-rw-r--r--doc/html/tribool.html80
-rw-r--r--doc/html/tribool/reference.html113
-rw-r--r--doc/html/tribool/tests.html80
-rw-r--r--doc/html/tribool/tutorial.html181
-rw-r--r--doc/html/trim.html59
-rw-r--r--doc/html/trim_copy.html65
-rw-r--r--doc/html/trim_copy_if.html70
-rw-r--r--doc/html/trim_if.html59
-rw-r--r--doc/html/trim_left.html59
-rw-r--r--doc/html/trim_left_copy.html65
-rw-r--r--doc/html/trim_left_copy_if.html70
-rw-r--r--doc/html/trim_left_if.html59
-rw-r--r--doc/html/trim_right.html59
-rw-r--r--doc/html/trim_right_copy.html65
-rw-r--r--doc/html/trim_right_copy_if.html70
-rw-r--r--doc/html/trim_right_if.html59
-rw-r--r--doc/html/try_mutex.html139
-rw-r--r--doc/html/try_read_write_mutex.html167
-rw-r--r--doc/html/typed_value.html121
-rw-r--r--doc/html/tz_db_base.html141
-rw-r--r--doc/html/uk_dst_trait.html62
-rw-r--r--doc/html/unknown_option.html64
-rw-r--r--doc/html/untyped_value.html91
-rw-r--r--doc/html/unwrap_recursive_wrapper.html56
-rw-r--r--doc/html/unwrap_reference.html56
-rw-r--r--doc/html/us_dst_rules.html83
-rw-r--r--doc/html/us_dst_trait.html98
-rw-r--r--doc/html/utc_adjustment.html61
-rw-r--r--doc/html/validation_error.html77
-rw-r--r--doc/html/value.html49
-rw-r--r--doc/html/value_semantic.html103
-rw-r--r--doc/html/var_string_to_int.html51
-rw-r--r--doc/html/variable_value.html96
-rw-r--r--doc/html/variables_map.html100
-rw-r--r--doc/html/variant.html220
-rw-r--r--doc/html/variant/design.html333
-rw-r--r--doc/html/variant/misc.html249
-rw-r--r--doc/html/variant/reference.html301
-rw-r--r--doc/html/variant/refs.html129
-rw-r--r--doc/html/variant/tutorial.html534
-rw-r--r--doc/html/visit_each.html76
-rw-r--r--doc/html/visitor_ptr.html60
-rw-r--r--doc/html/visitor_ptr_t.html90
-rw-r--r--doc/html/week_functor.html72
-rw-r--r--doc/html/weeks_duration.html69
-rw-r--r--doc/html/who_s_using_boost_.html81
-rw-r--r--doc/html/who_s_using_boost_/inhouse.html187
-rw-r--r--doc/html/who_s_using_boost_/open.html446
-rw-r--r--doc/html/who_s_using_boost_/shrink.html420
-rw-r--r--doc/html/who_s_using_boost_/submit.html67
-rw-r--r--doc/html/wrapping_int.html84
-rw-r--r--doc/html/wrapping_int2.html91
-rw-r--r--doc/html/wvalue.html49
-rw-r--r--doc/html/xtime.html82
-rw-r--r--doc/html/year_based_generator.html78
-rw-r--r--doc/html/year_functor.html71
-rw-r--r--doc/html/year_month_day_base.html71
-rw-r--r--doc/html/years_duration.html99
-rw-r--r--doc/html/ymd_formatter.html67
-rw-r--r--doc/src/boost.xml727
-rw-r--r--google_logo_40wht.pngbin0 -> 3558 bytes
-rw-r--r--index.htm658
m---------libs/algorithm0
m---------libs/any0
m---------libs/array0
m---------libs/assign0
m---------libs/bind0
m---------libs/compatibility0
m---------libs/compose0
m---------libs/concept_check0
m---------libs/config0
m---------libs/conversion0
m---------libs/crc0
m---------libs/date_time0
m---------libs/detail0
m---------libs/disjoint_sets0
m---------libs/dynamic_bitset0
m---------libs/exception0
-rw-r--r--libs/expected_results.xml1380
m---------libs/filesystem0
m---------libs/format0
m---------libs/function0
m---------libs/functional0
m---------libs/graph0
-rw-r--r--libs/index.html9
m---------libs/integer0
m---------libs/io0
m---------libs/iostreams0
m---------libs/iterator0
m---------libs/lambda0
-rw-r--r--libs/libraries.htm616
m---------libs/logic0
-rw-r--r--libs/maintainers.txt58
m---------libs/math0
m---------libs/mpl0
m---------libs/multi_array0
m---------libs/multi_index0
m---------libs/numeric/conversion0
-rw-r--r--libs/numeric/index.html9
m---------libs/numeric/interval0
-rw-r--r--libs/numeric/sublibs1
m---------libs/numeric/ublas0
m---------libs/optional0
m---------libs/parameter0
-rw-r--r--libs/platform_maintainers.txt2
m---------libs/pool0
m---------libs/preprocessor0
m---------libs/program_options0
m---------libs/property_map0
m---------libs/ptr_container0
m---------libs/python0
m---------libs/random0
m---------libs/range0
m---------libs/rational0
m---------libs/regex0
m---------libs/serialization0
m---------libs/signals0
m---------libs/smart_ptr0
m---------libs/spirit0
m---------libs/static_assert0
m---------libs/test0
m---------libs/thread0
m---------libs/timer0
m---------libs/tokenizer0
m---------libs/tuple0
m---------libs/type_traits0
m---------libs/utility0
m---------libs/variant0
m---------libs/wave0
-rw-r--r--more/background.html132
-rw-r--r--more/bibliography.html512
-rw-r--r--more/blanket-permission.txt83
-rw-r--r--more/boost-dark-trans.pngbin0 -> 3266 bytes
-rw-r--r--more/boost_1_33_0.jpgbin0 -> 10736 bytes
-rw-r--r--more/borland_cpp.html398
-rw-r--r--more/bugs.htm118
-rw-r--r--more/count_bdy.htm1166
-rw-r--r--more/cpp_committee_meetings.html122
-rw-r--r--more/css_0/boost_bullet.gifbin0 -> 820 bytes
-rw-r--r--more/css_0/common.css214
-rw-r--r--more/css_0/csshover.htc91
-rw-r--r--more/css_0/front.css206
-rw-r--r--more/css_0/heading-background.jpgbin0 -> 20717 bytes
-rw-r--r--more/css_0/inner.css70
-rw-r--r--more/css_0/menu_link_indicator.pngbin0 -> 334 bytes
-rw-r--r--more/css_0/search-button.pngbin0 -> 1024 bytes
-rw-r--r--more/css_0/section_head.pngbin0 -> 609 bytes
-rw-r--r--more/css_0/shadow-dark-light.pngbin0 -> 160 bytes
-rw-r--r--more/css_0/shadow-light-dark.pngbin0 -> 162 bytes
-rw-r--r--more/css_0/sidebar-shadow-bottom-right.pngbin0 -> 208 bytes
-rw-r--r--more/css_0/sidebar-shadow-bottom.pngbin0 -> 249 bytes
-rw-r--r--more/css_0/sidebar-shadow-right.pngbin0 -> 261 bytes
-rw-r--r--more/discussion_policy.htm305
-rw-r--r--more/error_handling.html240
-rw-r--r--more/faq.htm176
-rw-r--r--more/favicon.icobin0 -> 22486 bytes
-rw-r--r--more/feature_model_diagrams.htm109
-rw-r--r--more/formal_review_process.htm272
-rw-r--r--more/formal_review_schedule.html500
-rw-r--r--more/generic_exception_safety.html683
-rw-r--r--more/generic_programming.html474
-rw-r--r--more/getting_started.html1555
-rw-r--r--more/google_logo_25wht.gifbin0 -> 1607 bytes
-rw-r--r--more/header.htm103
-rw-r--r--more/imp_vars.htm208
-rw-r--r--more/index.htm119
-rw-r--r--more/int_const_guidelines.htm326
-rw-r--r--more/lib_guide.htm613
-rw-r--r--more/library_reuse.htm75
-rw-r--r--more/license_info.html262
-rw-r--r--more/links.htm72
-rw-r--r--more/mailing_lists.htm376
-rw-r--r--more/microsoft_vcpp.html318
-rw-r--r--more/moderators.html80
-rw-r--r--more/proposal.pdfbin0 -> 15877 bytes
-rw-r--r--more/regression.html247
-rw-r--r--more/release_mgr_checklist.html276
-rw-r--r--more/release_procedures.htm213
-rw-r--r--more/requesting_new_features.htm56
-rw-r--r--more/separate_compilation.html452
-rw-r--r--more/space.gifbin0 -> 43 bytes
-rw-r--r--more/submission_process.htm131
-rw-r--r--more/test_policy.htm100
-rwxr-xr-xmore/updating_the_website.html111
-rw-r--r--more/version_history.html2207
-rw-r--r--more/w3c_valid_css.pngbin0 -> 1134 bytes
-rw-r--r--more/w3c_valid_xhtml10.pngbin0 -> 2414 bytes
-rw-r--r--more/whos_using/Jamfile.v229
-rw-r--r--more/whos_using/using.qbk878
-rw-r--r--more/writingdoc/design.html377
-rw-r--r--more/writingdoc/index.html36
-rw-r--r--more/writingdoc/introduction.html46
-rw-r--r--more/writingdoc/structure.html254
-rw-r--r--more/writingdoc/template/acknowledgments.html31
-rw-r--r--more/writingdoc/template/bibliography.html31
-rw-r--r--more/writingdoc/template/configuration.html90
-rw-r--r--more/writingdoc/template/definitions.html47
-rw-r--r--more/writingdoc/template/faq.html38
-rw-r--r--more/writingdoc/template/header.html195
-rw-r--r--more/writingdoc/template/index.html70
-rw-r--r--more/writingdoc/template/overview.html47
-rw-r--r--more/writingdoc/template/rationale.html47
-rw-r--r--people/aleksey_gurtovoy.htm43
-rw-r--r--people/beman_dawes.html32
-rw-r--r--people/darin_adler.htm46
-rw-r--r--people/daryle_walker.html22
-rw-r--r--people/dave_abrahams.htm34
-rw-r--r--people/dietmar_kuehl.htm48
-rw-r--r--people/doug_gregor.html42
-rw-r--r--people/ed_brey.htm45
-rw-r--r--people/eric_friedman.htm40
-rw-r--r--people/fernando_cacciola.html48
-rw-r--r--people/gary_powell.htm30
-rw-r--r--people/gennadiy_rozental.htm35
-rw-r--r--people/greg_colvin.htm34
-rw-r--r--people/hartmut_kaiser.htm43
-rw-r--r--people/herve_bronnimann.htm46
-rw-r--r--people/howard_hinnant.htm38
-rw-r--r--people/hubert_holin.html46
-rw-r--r--people/jaakko_jarvi.htm28
-rw-r--r--people/jeff_garland.html38
-rw-r--r--people/jens_maurer.htm34
-rw-r--r--people/jeremy_siek.htm42
-rw-r--r--people/joaquin_lopez.htm47
-rw-r--r--people/joel_de_guzman.htm44
-rw-r--r--people/john_maddock.htm34
-rwxr-xr-xpeople/jonathan_turkanis.htm26
-rw-r--r--people/kevlin_henney.htm55
-rw-r--r--people/liequan_lee.htm28
-rw-r--r--people/mac_murrett.htm27
-rw-r--r--people/mark_rodgers.htm33
-rw-r--r--people/mat_marcus.htm56
-rw-r--r--people/paul_mensonides.htm25
-rw-r--r--people/paul_moore.htm33
-rw-r--r--people/pavol_droba.htm42
-rw-r--r--people/people.htm212
-rw-r--r--people/peter_dimov.htm26
-rw-r--r--people/ralf_w_grosse_kunstleve.htm52
-rw-r--r--people/rene_rivera.htm61
-rw-r--r--people/robert_ramey.htm35
-rw-r--r--people/ronald_garcia.htm31
-rw-r--r--people/samuel_krempp.htm31
-rw-r--r--people/thomas_witt.html49
-rwxr-xr-xpeople/thorsten_ottosen.html50
-rw-r--r--people/vesa_karvonen.htm65
-rw-r--r--people/vladimir_prus.htm33
-rw-r--r--people/william_kempf.htm30
-rw-r--r--project-root.jam6
-rw-r--r--regression/.htaccess6
-rwxr-xr-xrst.css327
-rw-r--r--status/.cvsignore5
-rw-r--r--status/Jamfile184
-rw-r--r--status/Jamfile.v2185
-rw-r--r--status/borland_logo.gifbin0 -> 395 bytes
-rw-r--r--status/compiler_status.html247
-rw-r--r--status/explicit-failures-markup.xml3329
-rw-r--r--status/explicit-failures.xsd99
-rw-r--r--status/index.html9
-rw-r--r--status/intel_logo.gifbin0 -> 1249 bytes
-rw-r--r--status/kai_logo.gifbin0 -> 553 bytes
-rw-r--r--status/ms_logo.gifbin0 -> 763 bytes
-rw-r--r--status/notes.html54
-rw-r--r--status/win32-notes-map.txt187
-rw-r--r--tools/Jamfile.v249
m---------tools/bcp0
m---------tools/boostbook0
m---------tools/build0
-rw-r--r--tools/index.html69
m---------tools/inspect0
-rw-r--r--tools/make-cputime-page.pl49
m---------tools/quickbook0
-rw-r--r--tools/regression/build/Jamfile35
-rw-r--r--tools/regression/build/Jamfile.v241
-rw-r--r--tools/regression/build/vcide/process_jam_log.sln21
-rw-r--r--tools/regression/build/vcide/process_jam_log.vcproj65
-rw-r--r--tools/regression/compiler_status.cpp966
-rw-r--r--tools/regression/detail/tiny_xml.cpp167
-rw-r--r--tools/regression/detail/tiny_xml.hpp70
-rw-r--r--tools/regression/detail/tiny_xml_test.cpp17
-rw-r--r--tools/regression/detail/tiny_xml_test.txt12
-rw-r--r--tools/regression/index.htm45
-rw-r--r--tools/regression/index.shtml45
-rw-r--r--tools/regression/process_jam_log.cpp726
-rw-r--r--tools/regression/regression-logs.pl197
-rw-r--r--tools/regression/run_tests.sh182
-rw-r--r--tools/regression/test/Jamfile46
-rw-r--r--tools/regression/test/compile-fail~fail.cpp10
-rw-r--r--tools/regression/test/compile-fail~pass.cpp9
-rw-r--r--tools/regression/test/compile~fail.cpp9
-rw-r--r--tools/regression/test/compile~pass.cpp9
-rw-r--r--tools/regression/test/compile~warn.cpp18
-rw-r--r--tools/regression/test/run-fail~compile-fail.cpp9
-rw-r--r--tools/regression/test/run-fail~fail-warn.cpp16
-rw-r--r--tools/regression/test/run-fail~fail.cpp12
-rw-r--r--tools/regression/test/run-fail~pass.cpp15
-rw-r--r--tools/regression/test/run-fail~warn.cpp20
-rw-r--r--tools/regression/test/run~compile-fail.cpp9
-rw-r--r--tools/regression/test/run~fail-note.cpp17
-rw-r--r--tools/regression/test/run~fail-warn.cpp20
-rw-r--r--tools/regression/test/run~fail.cpp14
-rw-r--r--tools/regression/test/run~note.cpp17
-rw-r--r--tools/regression/test/run~pass.cpp12
-rw-r--r--tools/regression/test/run~warn-note.cpp24
-rw-r--r--tools/regression/test/run~warn.cpp18
-rw-r--r--tools/regression/test/test.bat10
-rw-r--r--tools/regression/test/test.py131
-rw-r--r--tools/regression/xsl_reports/boost_wide_report.py749
-rw-r--r--tools/regression/xsl_reports/email_maintainers.py219
-rw-r--r--tools/regression/xsl_reports/empty_expected_results.xml5
-rw-r--r--tools/regression/xsl_reports/make_snapshot.py165
-rw-r--r--tools/regression/xsl_reports/report.py369
-rw-r--r--tools/regression/xsl_reports/runner/__init__.py2
-rw-r--r--tools/regression/xsl_reports/runner/collect_and_upload_logs.py299
-rw-r--r--tools/regression/xsl_reports/runner/default.css235
-rw-r--r--tools/regression/xsl_reports/runner/instructions.html471
-rw-r--r--tools/regression/xsl_reports/runner/instructions.rst233
-rw-r--r--tools/regression/xsl_reports/runner/regression.py882
-rw-r--r--tools/regression/xsl_reports/test/common.py160
-rw-r--r--tools/regression/xsl_reports/test/expected_results.xml3
-rw-r--r--tools/regression/xsl_reports/test/generate_test_results.py154
-rw-r--r--tools/regression/xsl_reports/test/generate_test_results_v1.py85
-rw-r--r--tools/regression/xsl_reports/test/restrict_to_library.xsl36
-rw-r--r--tools/regression/xsl_reports/test/run_notes_regression.py32
-rw-r--r--tools/regression/xsl_reports/test/run_v1.py35
-rw-r--r--tools/regression/xsl_reports/test/test.py34
-rw-r--r--tools/regression/xsl_reports/test/test_boost_wide_report.py36
-rw-r--r--tools/regression/xsl_reports/test_results.xsd107
-rw-r--r--tools/regression/xsl_reports/utils/__init__.py12
-rw-r--r--tools/regression/xsl_reports/utils/accept_args.py30
-rw-r--r--tools/regression/xsl_reports/utils/char_translation_table.py13
-rw-r--r--tools/regression/xsl_reports/utils/check_existance.py9
-rw-r--r--tools/regression/xsl_reports/utils/checked_system.py22
-rw-r--r--tools/regression/xsl_reports/utils/libxslt.py27
-rw-r--r--tools/regression/xsl_reports/utils/log.py18
-rw-r--r--tools/regression/xsl_reports/utils/makedirs.py7
-rw-r--r--tools/regression/xsl_reports/utils/send_mail.py13
-rw-r--r--tools/regression/xsl_reports/utils/sourceforge.py48
-rw-r--r--tools/regression/xsl_reports/utils/tar.py16
-rw-r--r--tools/regression/xsl_reports/utils/zip.py12
-rw-r--r--tools/regression/xsl_reports/xsl/add_expected_results.xsl144
-rw-r--r--tools/regression/xsl_reports/xsl/common.xsl182
-rw-r--r--tools/regression/xsl_reports/xsl/html/issues_legend.html36
-rw-r--r--tools/regression/xsl_reports/xsl/html/library_developer_legend.html72
-rw-r--r--tools/regression/xsl_reports/xsl/html/library_user_legend.html65
-rw-r--r--tools/regression/xsl_reports/xsl/html/make_tinyurl.html24
-rw-r--r--tools/regression/xsl_reports/xsl/html/master.css525
-rw-r--r--tools/regression/xsl_reports/xsl/html/summary_developer_legend.html75
-rw-r--r--tools/regression/xsl_reports/xsl/html/summary_user_legend.html65
-rw-r--r--tools/regression/xsl_reports/xsl/issues_page.xsl223
-rw-r--r--tools/regression/xsl_reports/xsl/links_page.xsl134
-rw-r--r--tools/regression/xsl_reports/xsl/produce_expected_results.xsl31
-rw-r--r--tools/regression/xsl_reports/xsl/result_page.xsl702
-rw-r--r--tools/regression/xsl_reports/xsl/summary_page.xsl361
-rw-r--r--tools/regression/xsl_reports/xsl/test/test_re_match.xml57
-rw-r--r--tools/regression/xsl_reports/xsl/test/test_re_match.xsl60
-rw-r--r--tools/regression/xsl_reports/xsl/v2/add_expected_results.xsl227
-rw-r--r--tools/regression/xsl_reports/xsl/v2/common.xsl637
-rw-r--r--tools/regression/xsl_reports/xsl/v2/expected_to_1_33_format.xsl32
-rw-r--r--tools/regression/xsl_reports/xsl/v2/html/issues_legend.html36
-rw-r--r--tools/regression/xsl_reports/xsl/v2/html/library_developer_legend.html82
-rw-r--r--tools/regression/xsl_reports/xsl/v2/html/library_user_legend.html89
-rw-r--r--tools/regression/xsl_reports/xsl/v2/html/make_tinyurl.html22
-rw-r--r--tools/regression/xsl_reports/xsl/v2/html/master.css623
-rw-r--r--tools/regression/xsl_reports/xsl/v2/html/summary_developer_legend.html72
-rw-r--r--tools/regression/xsl_reports/xsl/v2/html/summary_user_legend.html76
-rw-r--r--tools/regression/xsl_reports/xsl/v2/issues_page.xsl327
-rw-r--r--tools/regression/xsl_reports/xsl/v2/links_page.xsl361
-rw-r--r--tools/regression/xsl_reports/xsl/v2/produce_expected_results.xsl36
-rw-r--r--tools/regression/xsl_reports/xsl/v2/result_page.xsl688
-rw-r--r--tools/regression/xsl_reports/xsl/v2/runners.xsl56
-rw-r--r--tools/regression/xsl_reports/xsl/v2/summary_page.xsl367
-rw-r--r--tools/release/make_tarballs.py373
-rw-r--r--tools/release/user-config.jam74
-rw-r--r--tools/release/utils.py52
-rwxr-xr-xwiki/index.html9
1376 files changed, 150244 insertions, 0 deletions
diff --git a/.gitmodules b/.gitmodules
index d72a772305..5d16ce235a 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,4 +1,260 @@
+[submodule "detail"]
+ path = libs/detail
+ url = ../detail.git
+ fetchRecurseSubmodules = on-demand
+[submodule "utility"]
+ path = libs/utility
+ url = ../utility.git
+ fetchRecurseSubmodules = on-demand
+[submodule "config"]
+ path = libs/config
+ url = ../config.git
+ fetchRecurseSubmodules = on-demand
+[submodule "graph"]
+ path = libs/graph
+ url = ../graph.git
+ fetchRecurseSubmodules = on-demand
+[submodule "optional"]
+ path = libs/optional
+ url = ../optional.git
+ fetchRecurseSubmodules = on-demand
[submodule "smart_ptr"]
path = libs/smart_ptr
url = ../smart_ptr.git
fetchRecurseSubmodules = on-demand
+[submodule "rational"]
+ path = libs/rational
+ url = ../rational.git
+ fetchRecurseSubmodules = on-demand
+[submodule "integer"]
+ path = libs/integer
+ url = ../integer.git
+ fetchRecurseSubmodules = on-demand
+[submodule "dynamic_bitset"]
+ path = libs/dynamic_bitset
+ url = ../dynamic_bitset.git
+ fetchRecurseSubmodules = on-demand
+[submodule "thread"]
+ path = libs/thread
+ url = ../thread.git
+ fetchRecurseSubmodules = on-demand
+[submodule "signals"]
+ path = libs/signals
+ url = ../signals.git
+ fetchRecurseSubmodules = on-demand
+[submodule "parameter"]
+ path = libs/parameter
+ url = ../parameter.git
+ fetchRecurseSubmodules = on-demand
+[submodule "serialization"]
+ path = libs/serialization
+ url = ../serialization.git
+ fetchRecurseSubmodules = on-demand
+[submodule "iostreams"]
+ path = libs/iostreams
+ url = ../iostreams.git
+ fetchRecurseSubmodules = on-demand
+[submodule "property_map"]
+ path = libs/property_map
+ url = ../property_map.git
+ fetchRecurseSubmodules = on-demand
+[submodule "math"]
+ path = libs/math
+ url = ../math.git
+ fetchRecurseSubmodules = on-demand
+[submodule "build"]
+ path = tools/build
+ url = ../build.git
+ fetchRecurseSubmodules = on-demand
+[submodule "type_traits"]
+ path = libs/type_traits
+ url = ../type_traits.git
+ fetchRecurseSubmodules = on-demand
+[submodule "random"]
+ path = libs/random
+ url = ../random.git
+ fetchRecurseSubmodules = on-demand
+[submodule "date_time"]
+ path = libs/date_time
+ url = ../date_time.git
+ fetchRecurseSubmodules = on-demand
+[submodule "tokenizer"]
+ path = libs/tokenizer
+ url = ../tokenizer.git
+ fetchRecurseSubmodules = on-demand
+[submodule "regex"]
+ path = libs/regex
+ url = ../regex.git
+ fetchRecurseSubmodules = on-demand
+[submodule "timer"]
+ path = libs/timer
+ url = ../timer.git
+ fetchRecurseSubmodules = on-demand
+[submodule "exception"]
+ path = libs/exception
+ url = ../exception.git
+ fetchRecurseSubmodules = on-demand
+[submodule "io"]
+ path = libs/io
+ url = ../io.git
+ fetchRecurseSubmodules = on-demand
+[submodule "conversion"]
+ path = libs/conversion
+ url = ../conversion.git
+ fetchRecurseSubmodules = on-demand
+[submodule "spirit"]
+ path = libs/spirit
+ url = ../spirit.git
+ fetchRecurseSubmodules = on-demand
+[submodule "python"]
+ path = libs/python
+ url = ../python.git
+ fetchRecurseSubmodules = on-demand
+[submodule "iterator"]
+ path = libs/iterator
+ url = ../iterator.git
+ fetchRecurseSubmodules = on-demand
+[submodule "crc"]
+ path = libs/crc
+ url = ../crc.git
+ fetchRecurseSubmodules = on-demand
+[submodule "compatibility"]
+ path = libs/compatibility
+ url = ../compatibility.git
+ fetchRecurseSubmodules = on-demand
+[submodule "function"]
+ path = libs/function
+ url = ../function.git
+ fetchRecurseSubmodules = on-demand
+[submodule "multi_array"]
+ path = libs/multi_array
+ url = ../multi_array.git
+ fetchRecurseSubmodules = on-demand
+[submodule "assign"]
+ path = libs/assign
+ url = ../assign.git
+ fetchRecurseSubmodules = on-demand
+[submodule "any"]
+ path = libs/any
+ url = ../any.git
+ fetchRecurseSubmodules = on-demand
+[submodule "format"]
+ path = libs/format
+ url = ../format.git
+ fetchRecurseSubmodules = on-demand
+[submodule "bind"]
+ path = libs/bind
+ url = ../bind.git
+ fetchRecurseSubmodules = on-demand
+[submodule "test"]
+ path = libs/test
+ url = ../test.git
+ fetchRecurseSubmodules = on-demand
+[submodule "multi_index"]
+ path = libs/multi_index
+ url = ../multi_index.git
+ fetchRecurseSubmodules = on-demand
+[submodule "wave"]
+ path = libs/wave
+ url = ../wave.git
+ fetchRecurseSubmodules = on-demand
+[submodule "mpl"]
+ path = libs/mpl
+ url = ../mpl.git
+ fetchRecurseSubmodules = on-demand
+[submodule "variant"]
+ path = libs/variant
+ url = ../variant.git
+ fetchRecurseSubmodules = on-demand
+[submodule "preprocessor"]
+ path = libs/preprocessor
+ url = ../preprocessor.git
+ fetchRecurseSubmodules = on-demand
+[submodule "concept_check"]
+ path = libs/concept_check
+ url = ../concept_check.git
+ fetchRecurseSubmodules = on-demand
+[submodule "ptr_container"]
+ path = libs/ptr_container
+ url = ../ptr_container.git
+ fetchRecurseSubmodules = on-demand
+[submodule "quickbook"]
+ path = tools/quickbook
+ url = ../quickbook.git
+ fetchRecurseSubmodules = on-demand
+[submodule "range"]
+ path = libs/range
+ url = ../range.git
+ fetchRecurseSubmodules = on-demand
+[submodule "functional"]
+ path = libs/functional
+ url = ../functional.git
+ fetchRecurseSubmodules = on-demand
+[submodule "filesystem"]
+ path = libs/filesystem
+ url = ../filesystem.git
+ fetchRecurseSubmodules = on-demand
+[submodule "program_options"]
+ path = libs/program_options
+ url = ../program_options.git
+ fetchRecurseSubmodules = on-demand
+[submodule "tuple"]
+ path = libs/tuple
+ url = ../tuple.git
+ fetchRecurseSubmodules = on-demand
+[submodule "static_assert"]
+ path = libs/static_assert
+ url = ../static_assert.git
+ fetchRecurseSubmodules = on-demand
+[submodule "logic"]
+ path = libs/logic
+ url = ../logic.git
+ fetchRecurseSubmodules = on-demand
+[submodule "array"]
+ path = libs/array
+ url = ../array.git
+ fetchRecurseSubmodules = on-demand
+[submodule "lambda"]
+ path = libs/lambda
+ url = ../lambda.git
+ fetchRecurseSubmodules = on-demand
+[submodule "ublas"]
+ path = libs/numeric/ublas
+ url = ../ublas.git
+ fetchRecurseSubmodules = on-demand
+[submodule "disjoint_sets"]
+ path = libs/disjoint_sets
+ url = ../disjoint_sets.git
+ fetchRecurseSubmodules = on-demand
+[submodule "algorithm"]
+ path = libs/algorithm
+ url = ../algorithm.git
+ fetchRecurseSubmodules = on-demand
+[submodule "numeric_conversion"]
+ path = libs/numeric/conversion
+ url = ../numeric_conversion.git
+ fetchRecurseSubmodules = on-demand
+[submodule "interval"]
+ path = libs/numeric/interval
+ url = ../interval.git
+ fetchRecurseSubmodules = on-demand
+[submodule "compose"]
+ path = libs/compose
+ url = ../compose.git
+ fetchRecurseSubmodules = on-demand
+[submodule "bcp"]
+ path = tools/bcp
+ url = ../bcp.git
+ fetchRecurseSubmodules = on-demand
+[submodule "boostbook"]
+ path = tools/boostbook
+ url = ../boostbook.git
+ fetchRecurseSubmodules = on-demand
+[submodule "inspect"]
+ path = tools/inspect
+ url = ../inspect.git
+ fetchRecurseSubmodules = on-demand
+[submodule "pool"]
+ path = libs/pool
+ url = ../pool.git
+ fetchRecurseSubmodules = on-demand
diff --git a/Jamfile b/Jamfile
new file mode 100644
index 0000000000..5ae2da9227
--- /dev/null
+++ b/Jamfile
@@ -0,0 +1,280 @@
+#~ Copyright 2003-2005, Rene Rivera.
+#~ Distributed under the Boost Software License, Version 1.0.
+#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+
+if --help in $(ARGV)
+{
+ ECHO "
+Usage:
+ bjam [options] [install|stage]
+
+ * install Installs to the configured location(s).
+ * stage Stages the build products only to common stage
+ location.
+
+Options:
+ --help This message.
+
+ -sTOOLS=<toolsets> Indicates the tools to build with.
+
+ --show-libraries Displays the list of Boost libraries that require
+ build and installation steps, then exit.
+
+ --layout=<layout> Determines what kind of build layout to use. This
+ allows one to control the naming of the resulting
+ libraries, and the locations of the installed
+ files. Default is 'versioned'. Possible values:
+
+ versioned - Uses the Boost standard names
+ which include version number for Boost the
+ release and version and name of the
+ compiler as part of the library names. Also
+ installs the includes to a versioned
+ sub-directory.
+
+ system - Builds an install without the
+ Boost standard names, and does not install
+ includes to a versioned sub-directory. This
+ is intended for system integrators to build
+ for packaging of distributions.
+
+Locations:
+ --prefix=PREFIX Install architecture independent files here.
+ Default; C:\\Boost on Win32
+ Default; /usr/local on Unix. Linux, etc.
+
+ --exec-prefix=EPREFIX Install architecture dependent files here.
+ Default; PREFIX
+
+ --libdir=DIR Install libraries here.
+ Default; EPREFIX/lib
+
+ --includedir=DIR Install source headers here.
+ Default; PREFIX/include
+
+ --builddir=DIR Build in this location instead of building
+ within the distribution tree. Recommended!
+
+ --stagedir=DIR When staging only, stage to the location.
+ Default; ./stage
+
+Features:
+ --with-<library> Build, stage, or install the specified <library>
+ If used, the default becomes to only build
+ indicated libraries.
+
+ --without-<library> Do not build, stage, or install the specified
+ <library>. By default all libraries attempt to
+ build.
+
+ --with-python-root[=PYTHON_ROOT]
+ Build Boost.Python libraries with the Python
+ devel packages located at PYTHON_ROOT.
+ Default PYTHON_ROOT; C:\\Python24 on Win32.
+ Default PYTHON_ROOT; /usr on Unix, Linux, Cygwin, etc.
+
+ --with-python-version[=2.4]
+ Build Boost.Python libraries with the Python
+ version indicated.
+ Default; 2.4.
+
+ --with-pydebug Build Boost.Python libraries using the
+ Python debug runtime.
+" ;
+ EXIT "" ;
+}
+
+local with-install = ;
+local with-stage = ;
+
+# build only, or build+install
+if install in $(ARGV)
+{
+ with-install = install ;
+ with-stage = ;
+}
+
+# stage only? (no install, only build and stage to a common dir)
+if stage in $(ARGV)
+{
+ with-stage = stage ;
+ with-install = ;
+}
+
+# what kind of layout are we doing?
+local layout = [ MATCH "^--layout=(.*)" : $(ARGV) ] ;
+layout ?= versioned ;
+layout-$(layout) = true ;
+
+# possible stage only location
+local stage-locate = [ MATCH "^--stagedir=(.*)" : $(ARGV) ] ;
+stage-locate ?= stage ;
+
+# architecture independent files
+local boost-locate = [ unless $(with-stage) : [ MATCH "^--prefix=(.*)" : $(ARGV) ] : $(stage-locate) ] ;
+if $(NT) { boost-locate ?= C:\\Boost ; }
+else if $(UNIX) { boost-locate ?= /usr/local ; }
+
+# architecture dependent files
+local exec-locate = [ MATCH "^--exec-prefix=(.*)" : $(ARGV) ] ;
+exec-locate ?= $(boost-locate) ;
+
+# object code libraries
+local lib-locate = [ MATCH "^--libdir=(.*)" : $(ARGV) ] ;
+lib-locate ?= $(exec-locate)/lib ;
+
+# where to build
+local all-locate = [ MATCH "^--builddir=(.*)" : $(ARGV) ] ;
+ALL_LOCATE_TARGET ?= $(all-locate) ;
+
+# source header files
+local include-locate = [ MATCH "^--includedir=(.*)" : $(ARGV) ] ;
+include-locate ?= $(boost-locate)/include ;
+
+# location of python
+local python-root = [ MATCH "^--with-python-root=(.*)" : $(ARGV) ] ;
+PYTHON_ROOT ?= $(python-root) ;
+
+# version of python
+local python-version = [ MATCH "^--with-python-version=(.*)" : $(ARGV) ] ;
+PYTHON_VERSION ?= $(python-version) ;
+
+# variant for pydebug build
+local with-debug-python ;
+if --with-pydebug in $(ARGV)
+{
+ with-debug-python = debug-python ;
+}
+
+# libraries to disable building, etc.
+local without-libraries = [ MATCH "^--without-(.*)" : $(ARGV) ] ;
+
+# libraries to enable
+local with-libraries ;
+for local arg in $(ARGV)
+{
+ switch $(arg)
+ {
+ case --with-python-root=* : local _ ;
+ case --with-python-version=* : local _ ;
+ case --with-pydebug : local _ ;
+
+ case --with-* :
+ with-libraries += [ MATCH "^--with-(.*)" : $(arg) ] ;
+ }
+}
+
+#
+project-root ;
+
+# bring in the rules for python
+import python ;
+
+# print out libraries to build/install
+if --show-libraries in $(ARGV)
+{
+ local library-jamfiles ;
+ library-jamfiles =
+ [ MATCH ^(.*build[/\\:]$(JAMFILE))$ :
+ [ glob-tree $(BOOST_ROOT)/libs : $(JAMFILE) ] ] ;
+ libraries =
+ [ MATCH ^.*libs[/\\:]([^/\\:]*)[/\\:]build[/\\:]Jamfile$ :
+ $(library-jamfiles) ] ;
+ EXIT $(libraries) ;
+}
+
+#
+local version-tag = [ MATCH "^([^.]+)[.]([^.]+)[.]([^.]+)" : $(BOOST_VERSION) ] ;
+if $(version-tag[3]) = 0
+{
+ version-tag = $(version-tag[1-2]) ;
+}
+version-tag = $(version-tag:J="_") ;
+
+#
+install-subinclude
+ [ MATCH ^(.*build[/\\:]$(JAMFILE))$ : [ glob-tree $(BOOST_ROOT)/libs : $(JAMFILE) ] ]
+ : <exclude>$(without-libraries) <include>$(with-libraries) ;
+
+local lib-sources = [ install-sources lib ] ;
+
+if $(lib-sources)
+{
+ local gNOWARN_INCOMPATIBLE_BUILDS = TRUE ;
+ local gUNVERSIONED_VARIANT_TAG = [ cond $(layout-system) : TRUE ] ;
+
+ local lib-build =
+ debug release
+ [ cond $(with-debug-python) : debug-python ]
+ [ cond $(NT) : <runtime-link>static/dynamic ]
+ <threading>single/multi
+ ;
+ local lib-target =
+ [ cond $(with-install) : install : all ]
+ [ cond $(with-stage) : stage : all ]
+ ;
+ local lib-dest-files = [
+ stage $(lib-locate:D=)
+ :
+ $(lib-sources)
+ :
+ <locate>$(lib-locate:D)
+ common-variant-tag
+ <target>$(lib-target)
+ :
+ $(lib-build)
+ [ unless $(with-install) $(with-stage) : <suppress>true ]
+ ] ;
+ if ! $(gIN_LIB_INCLUDE) && $(layout-versioned)
+ {
+ local unversioned-files ;
+ if $(with-install) || $(with-stage)
+ {
+ if $(NT)
+ {
+ local version-files = [ MATCH "(.*[.]lib)" : $(lib-dest-files) ] ;
+ local noversion-files ;
+ for local version-file in $(version-files)
+ {
+ local noversion-file =
+ [ MATCH "(.*)-[0-9_]+([.]lib)" : $(version-file) ] ;
+ noversion-file = $(noversion-file[1])$(noversion-file[2]) ;
+ MakeLocate $(noversion-file) : [ FDirName [ split-path $(lib-locate) ] ] ;
+ HardLink $(noversion-file) : $(version-file) ;
+ noversion-files += $(noversion-file) ;
+ }
+ declare-fake-targets $(lib-target) : $(noversion-files) ;
+ }
+ else if $(UNIX)
+ {
+ local so-version-files = [ MATCH "(.*[.]so[.0-9]+)" : $(lib-dest-files) ] ;
+ so-version-files ?= [ MATCH "(.*[.]so)" : $(lib-dest-files) ] ;
+ local version-files = $(so-version-files) [ MATCH "(.*[.]a)" : $(lib-dest-files) ] ;
+ local noversion-files ;
+ for local version-file in $(version-files)
+ {
+ local noversion-file =
+ [ MATCH "(.*)-[0-9_]+([.]so)[.0-9]*" : $(version-file) ]
+ [ MATCH "(.*)-[0-9_]+([.]a)" : $(version-file) ] ;
+ noversion-file = $(noversion-file[1])$(noversion-file[2]) ;
+ MakeLocate $(noversion-file) : [ FDirName [ split-path $(lib-locate) ] ] ;
+ HardLink $(noversion-file) : $(version-file) ;
+ noversion-files += $(noversion-file) ;
+ }
+ declare-fake-targets $(lib-target) : $(noversion-files) ;
+ }
+ }
+ }
+}
+
+stage [ cond $(layout-versioned) : $(include-locate:D=)/boost-$(version-tag) : $(include-locate:D=) ]
+ :
+ [ glob-tree $(BOOST_ROOT)/boost/compatibility/cpp_c_headers : c* ]
+ [ glob-tree $(BOOST_ROOT)/boost : *.hpp *.ipp *.h *.inc ]
+ :
+ <locate>$(include-locate:D)
+ <tree-subdirs>$(BOOST_ROOT)
+ [ cond $(with-install) : <target>install : <target>all ]
+ :
+ [ unless $(with-install) : <suppress>true ]
+ ;
diff --git a/Jamfile.v2 b/Jamfile.v2
new file mode 100644
index 0000000000..8118bdeb7f
--- /dev/null
+++ b/Jamfile.v2
@@ -0,0 +1,177 @@
+#
+# This is Boost Jamfile for Boost.Build V2.
+#
+# Pass --v2 option to bjam to use this file. For example:
+#
+# bjam --v2 link=static
+#
+
+# TODO:
+# - handle boost version
+
+
+import modules ;
+import set ;
+import stage ;
+import package ;
+
+constant BOOST_VERSION : 1.33.1 ;
+
+project boost
+ : requirements <include>.
+ # disable auto-linking for all targets here,
+ # primarily because it caused troubles with V2
+ <define>BOOST_ALL_NO_LIB=1
+ # Used to encode variant in target name. See the
+ # 'tag' rule below.
+ <tag>@$(__name__).tag
+ : usage-requirements <include>.
+ : build-dir bin.v2
+ ;
+
+# Decides which libraries are to be installed by looking at --with-<library>
+# --without-<library> arguments. Returns the list of directories under "libs"
+# which must be built at installed.
+rule libraries-to-install ( existing-libraries * )
+{
+ local argv = [ modules.peek : ARGV ] ;
+ local with-parameter = [ MATCH --with-(.*) : $(argv) ] ;
+ local without-parameter = [ MATCH --without-(.*) : $(argv) ] ;
+
+ # Do some checks
+ if $(with-parameter) && $(without-parameter)
+ {
+ ECHO "error: both --with-<library> and --without-<library> specified" ;
+ EXIT ;
+ }
+
+ local wrong = [ set.difference $(with-parameter) : $(existing-libraries) ] ;
+ if $(wrong)
+ {
+ ECHO "error: wrong library name '$(wrong[1])' in the --with-<library> option." ;
+ EXIT ;
+ }
+ local wrong = [ set.difference $(without-parameter) : $(existing-libraries) ] ;
+ if $(wrong)
+ {
+ ECHO "error: wrong library name '$(wrong[1])' in the --without-<library> option." ;
+ EXIT ;
+ }
+
+ if $(with-parameter)
+ {
+ return [ set.intersection $(existing-libraries) : $(with-parameter) ] ;
+ }
+ else
+ {
+ return [ set.difference $(existing-libraries) : $(without-parameter) ] ;
+ }
+}
+
+# what kind of layout are we doing?
+layout = [ MATCH "^--layout=(.*)" : $(ARGV) ] ;
+layout ?= versioned ;
+layout-$(layout) = true ;
+
+# possible stage only location
+local stage-locate = [ MATCH "^--stagedir=(.*)" : $(ARGV) ] ;
+stage-locate ?= stage ;
+
+path-constant BOOST_STAGE_LOCATE : $(stage-locate) ;
+
+
+# location of python
+local python-root = [ MATCH "^--with-python-root=(.*)" : $(ARGV) ] ;
+PYTHON_ROOT ?= $(python-root) ;
+
+# Select the libraries to install.
+libraries = [ MATCH .*libs/(.*)/build/.* : [ glob libs/*/build/Jamfile.v2 ] ] ;
+libraries = [ libraries-to-install $(libraries) ] ;
+
+
+# This rule is called by Boost.Build to determine the name of
+# target. We use it to encode build variant, compiler name and
+# boost version in the target name
+rule tag ( name : type ? : property-set )
+{
+ if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB
+ {
+ if $(layout) = versioned
+ {
+ name = [ stage.add-variant-and-compiler $(name)
+ : $(type) : $(property-set) ] ;
+
+ local version-tag = [ MATCH "^([^.]+)[.]([^.]+)" : $(BOOST_VERSION[1]) ] ;
+ version-tag = $(version-tag:J="_") ;
+
+ # On NT, library with version suffix won't be recognized
+ # by linkers. On CYGWIN, we get strage duplicate symbol
+ # errors when library is generated with version suffix.
+ # On OSX, version suffix is not needed -- the linker expets
+ # libFoo.1.2.3.dylib format.
+ # AIX linkers don't accept version suffixes either.
+ if [ $(property-set).get <os> ] in NT CYGWIN MACOSX AIX
+ {
+ return $(name:B)-$(version-tag)$(name:S) ;
+ }
+ else
+ {
+ return $(name:B)-$(version-tag)$(name:S).$(BOOST_VERSION) ;
+ }
+ }
+ else
+ {
+ return [ stage.add-variant-and-compiler $(name)
+ : $(type) : $(property-set) ] ;
+ }
+ }
+}
+
+# Install to system location.
+
+local patterns = *.hpp *.ipp *.h *.inc ;
+local dirs = boost boost/* boost/*/* ;
+
+# Complete install
+package.install install
+ : <install-source-root>. # No specific requirements
+ : # No binaries
+ : libs/$(libraries)/build
+ : [ glob $(dirs)/$(patterns) ]
+ ;
+
+# Install just library.
+install stage : libs/$(libraries)/build
+ : <location>$(stage-locate)
+ ;
+
+# Just build the libraries, don't install them anywhere.
+# This is what happend with just "bjam --v2".
+alias build_all : libs/$(libraries)/build ;
+
+# This rule should be called from libraries' Jamfiles and will
+# create two targets, "install" and "stage", that will install
+# or stage that library. The --prefix option is respected, by
+# --with and --without options, naturally, are ignored.
+#
+# - libraries -- list of library targets to install.
+rule boost-install ( libraries * )
+{
+ package.install install
+ : <dependency>/boost//install-headers
+ : # No binaries
+ : $(libraries)
+ : # No headers, it's handled by the dependency
+ ;
+
+ install stage : $(libraries) : <location>$(BOOST_STAGE_LOCATE) ;
+}
+
+
+
+# Make project ids of all libraries known.
+for local l in $(libraries)
+{
+ use-project /boost/$(l) : libs/$(l)/build ;
+}
+
diff --git a/Jamrules b/Jamrules
new file mode 100644
index 0000000000..64f0fc206b
--- /dev/null
+++ b/Jamrules
@@ -0,0 +1,15 @@
+# Boost.Build top level Jamrules
+
+# See tools/build/index.html for documentation.
+project boost ;
+
+# Set some important global variables if they haven't already been set by the
+# user on the command-line or in the environment
+
+# Establish this as the root of the boost installation. Most targets will want
+# $(BOOST_ROOT) in their #include path.
+path-global BOOST_ROOT : . ;
+
+# The current version of Boost.
+BOOST_VERSION ?= 1.33.1 ;
+
diff --git a/LICENSE_1_0.txt b/LICENSE_1_0.txt
new file mode 100644
index 0000000000..36b7cd93cd
--- /dev/null
+++ b/LICENSE_1_0.txt
@@ -0,0 +1,23 @@
+Boost Software License - Version 1.0 - August 17th, 2003
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/README b/README
new file mode 100644
index 0000000000..bc886fc1e7
--- /dev/null
+++ b/README
@@ -0,0 +1,14 @@
+Unless otherwise specified, all Boost software and documentation is subject
+to the Boost Software License Version 1.0. See the accompanying file LICENSE_1_0.txt.
+A copy of the license is also available at http://www.boost.org/LICENSE_1_0.txt.
+
+For the most current version of Boost libraries and documentation, see:
+
+ http://www.boost.org
+
+Boost documentation is in HTML format.
+
+The top-level directory (which contains this README file) should contain
+a file named index.htm with links to all documentation, including
+documentation on building boost libraries for your particular compiler
+and operating system.
diff --git a/boost-build.jam b/boost-build.jam
new file mode 100644
index 0000000000..b7e659c80b
--- /dev/null
+++ b/boost-build.jam
@@ -0,0 +1,17 @@
+#~ Copyright (C) 2002-2003, David Abrahams.
+#~ Copyright (C) 2002-2003, Vladimir Prus.
+#~ Copyright (C) 2003, Rene Rivera.
+#~ Use, modification and distribution are 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)
+
+BOOST_ROOT = $(.boost-build-file:D) ;
+if --v2 in $(ARGV)
+{
+ JAMFILE = [Jj]amfile.v2 ;
+ boost-build tools/build/v2 ;
+}
+else
+{
+ boost-build tools/build/v1 ;
+}
diff --git a/boost.css b/boost.css
new file mode 100644
index 0000000000..8b21d920de
--- /dev/null
+++ b/boost.css
@@ -0,0 +1,59 @@
+H1
+{
+ FONT-SIZE: 200%;
+ COLOR: #00008B;
+}
+H2
+{
+ FONT-SIZE: 150%;
+}
+H3
+{
+ FONT-SIZE: 125%;
+}
+H4
+{
+ FONT-SIZE: 108%;
+}
+BODY
+{
+ FONT-SIZE: 100%;
+ BACKGROUND-COLOR: #ffffff;
+}
+PRE
+{
+ MARGIN-LEFT: 2em;
+ FONT-FAMILY: Courier,
+ monospace;
+}
+CODE
+{
+ FONT-FAMILY: Courier,
+ monospace;
+}
+CODE.as_pre
+{
+ white-space: pre;
+}
+.index
+{
+ TEXT-ALIGN: left;
+}
+.page-index
+{
+ TEXT-ALIGN: left;
+}
+.definition
+{
+ TEXT-ALIGN: left;
+}
+.footnote
+{
+ FONT-SIZE: 66%;
+ VERTICAL-ALIGN: super;
+ TEXT-DECORATION: none;
+}
+.function-semantics
+{
+ CLEAR: left;
+}
diff --git a/boost.png b/boost.png
new file mode 100644
index 0000000000..b4d51fcd5c
--- /dev/null
+++ b/boost.png
Binary files differ
diff --git a/configure b/configure
new file mode 100755
index 0000000000..af92c6f0de
--- /dev/null
+++ b/configure
@@ -0,0 +1,310 @@
+#!/bin/sh
+# Copyright 2005 Douglas Gregor.
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+BJAM=""
+TOOLSET=""
+BJAM_CONFIG=""
+BUILD=""
+PREFIX=/usr/local
+EPREFIX=
+LIBDIR=
+INCLUDEDIR=
+LIBS=""
+PYTHON=python
+PYTHON_VERSION=
+PYTHON_ROOT=
+ICU_ROOT=
+
+# Internal flags
+flag_no_python=
+flag_icu=
+flag_show_libraries=
+
+for option
+do
+ case $option in
+
+ -help | --help | -h)
+ want_help=yes ;;
+
+ -prefix=* | --prefix=*)
+ PREFIX=`expr "x$option" : "x-*prefix=\(.*\)"`
+ ;;
+
+ -exec-prefix=* | --exec-prefix=*)
+ EPREFIX=`expr "x$option" : "x-*exec-prefix=\(.*\)"`
+ ;;
+
+ -libdir=* | --libdir=*)
+ LIBDIR=`expr "x$option" : "x-*libdir=\(.*\)"`
+ ;;
+
+ -includedir=* | --includedir=*)
+ INCLUDEDIR=`expr "x$option" : "x-*includedir=\(.*\)"`
+ ;;
+
+ -show-libraries | --show-libraries )
+ flag_show_libraries=yes
+ ;;
+
+ -with-bjam=* | --with-bjam=* )
+ BJAM=`expr "x$option" : "x-*with-bjam=\(.*\)"`
+ ;;
+
+ -with-icu | --with-icu )
+ flag_icu=yes
+ ;;
+
+ -with-icu=* | --with-icu=* )
+ flag_icu=yes
+ ICU_ROOT=`expr "x$option" : "x-*with-icu=\(.*\)"`
+ ;;
+
+ -with-libraries=* | --with-libraries=* )
+ library_list=`expr "x$option" : "x-*with-libraries=\(.*\)"`
+ if test "$library_list" != "all"; then
+ old_IFS=$IFS
+ IFS=,
+ for library in $library_list
+ do
+ LIBS="$LIBS --with-$library"
+
+ if test $library = python; then
+ requested_python=yes
+ fi
+ done
+ IFS=$old_IFS
+
+ if test "x$requested_python" != "xyes" ; then
+ flag_no_python=yes
+ fi
+ fi
+ ;;
+
+ -without-libraries=* | --without-libraries=* )
+ library_list=`expr "x$option" : "x-*without-libraries=\(.*\)"`
+ old_IFS=$IFS
+ IFS=,
+ for library in $library_list
+ do
+ LIBS="$LIBS --without-$library"
+
+ if test $library = "python" ; then
+ flag_no_python=yes
+ fi
+ done
+ IFS=$old_IFS
+ ;;
+
+ -with-python=* | --with-python=* )
+ PYTHON=`expr "x$option" : "x-*with-python=\(.*\)"`
+ ;;
+
+ -with-python-root=* | --with-python-root=* )
+ PYTHON_ROOT=`expr "x$option" : "x-*with-python-root=\(.*\)"`
+ ;;
+
+ -with-python-version=* | --with-python-version=* )
+ PYTHON_VERSION=`expr "x$option" : "x-*with-python-version=\(.*\)"`
+ ;;
+
+ -with-toolset=* | --with-toolset=* )
+ TOOLSET=`expr "x$option" : "x-*with-toolset=\(.*\)"`
+ ;;
+
+ -*)
+ { echo "error: unrecognized option: $option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ esac
+done
+
+if test "x$want_help" = xyes; then
+ cat <<EOF
+\`configure' configures Boost to adapt to a few kinds of systems.
+
+Usage: $0 [OPTION]...
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --with-bjam=BJAM use existing Boost.Jam executable (bjam)
+ [automatically built]
+ --with-toolset=TOOLSET use specific Boost.Build toolset
+ [automatically detected]
+ --show-libraries show the set of libraries that require build
+ and installation steps (i.e., those libraries
+ that can be used with --with-libraries or
+ --without-libraries), then exit
+ --with-libraries=list build only a particular set of libraries,
+ describing using either a comma-separated list of
+ library names or "all"
+ [all]
+ --without-libraries=list build all libraries except the ones listed []
+ --with-icu enable Unicode/ICU support in Regex [disabled]
+ --with-icu=DIR specify the root of the ICU library installation
+ and enable Unicode/ICU support in Regex [disabled]
+ --with-python=PYTHON specify the Python executable [python]
+ --with-python-root=DIR specify the root of the Python installation
+ [automatically detected]
+ --with-python-version=X.Y specify the Python version as X.Y
+ [automatically detected]
+
+Installation directories:
+ --prefix=PREFIX install Boost into the given PREFIX
+ [/usr/local]
+ --exec-prefix=EPREFIX install Boost binaries into the given EPREFIX
+ [PREFIX]
+
+More precise control over installation directories:
+ --libdir=DIR install libraries here [EPREFIX/lib]
+ --includedir=DIR install headers here [PREFIX/include]
+
+EOF
+fi
+test -n "$want_help" && exit 0
+
+# TBD: Determine where the script is located
+my_dir="."
+
+# Determine the toolset, if not already decided
+if test "x$TOOLSET" = "x" ; then
+ TOOLSET=`$my_dir/tools/build/jam_src/build.sh --guess-toolset`
+fi
+
+rm -f config.log
+
+# Build bjam
+if test "x$BJAM" = "x" ; then
+ echo -n "Building Boost.Jam with toolset $TOOLSET... "
+ pwd=`pwd`
+ cd "$my_dir/tools/build/jam_src" && ./build.sh "$TOOLSET" > config.log 2>&1
+ cd $pwd
+ arch=`cd $my_dir/tools/build/jam_src && ./bootstrap/jam0 -d0 -f build.jam --toolset=$TOOLSET --toolset-root= --show-locate-target && cd ..`
+ BJAM="$my_dir/tools/build/jam_src/$arch/bjam"
+ echo "tools/build/jam_src/$arch/bjam"
+fi
+
+# TBD: Turn BJAM into an absolute path
+
+# If there is a list of libraries
+if test "x$flag_show_libraries" = "xyes" ; then
+ libraries=`$BJAM -d0 --show-libraries`
+ cat <<EOF
+
+The following Boost libraries have portions that require a separate build
+and installation step. Any library not listed here can be used by including
+the headers only.
+
+The Boost libraries requiring separate building and installation are:
+EOF
+ for lib in $libraries
+ do
+ echo " $lib"
+ done
+ exit 0
+fi
+
+# Setup paths
+if test "x$EPREFIX" = "x" ; then
+ EPREFIX=$PREFIX
+fi
+
+if test "x$LIBDIR" = "x" ; then
+ LIBDIR="$EPREFIX/lib"
+fi
+
+if test "x$INCLUDEDIR" = "x" ; then
+ INCLUDEDIR="$PREFIX/include"
+fi
+
+# Find Python
+if test "x$flag_no_python" = "x" ; then
+ if test "x$PYTHON_VERSION" = "x" ; then
+ echo -n "Detecting Python version... "
+ PYTHON_VERSION=`$PYTHON -c "import sys; print (\"%d.%d\" % (sys.version_info[0], sys.version_info[1]))" 2>&1`
+ if test $? != 0 ; then
+ echo "not found."
+ flag_no_python="yes"
+ LIBS="$LIBS --without-python"
+ else
+ echo $PYTHON_VERSION
+ fi
+ fi
+
+ if test "x$flag_no_python" = "x" ; then
+ if test "x$PYTHON_ROOT" = "x" ; then
+ echo -n "Detecting Python root... "
+ PYTHON_ROOT=`$PYTHON -c "import sys; print sys.prefix" 2>&1`
+ if test $? != 0 ; then
+ echo "not found."
+ flag_no_python="yes"
+ LIBS="$LIBS --without-python"
+ else
+ echo $PYTHON_ROOT
+ fi
+ fi
+ fi
+
+ echo -n "Python support?... "
+ if test "x$flag_no_python" = "x" ; then
+ echo "yes."
+ BJAM_CONFIG="$BJAM_CONFIG -sPYTHON_ROOT=$PYTHON_ROOT -sPYTHON_VERSION=$PYTHON_VERSION"
+ else
+ echo "no."
+ fi
+fi
+
+# Configure ICU
+echo -n "Unicode/ICU support for Boost.Regex?... "
+if test "x$flag_icu" = "xyes" ; then
+ if test "x$ICU_ROOT" = "x" ; then
+ BJAM_CONFIG="$BJAM_CONFIG -sHAVE_ICU=1"
+ echo "yes."
+ else
+ BJAM_CONFIG="$BJAM_CONFIG -sICU_PATH=$ICU_ROOT"
+ echo "$ICU_ROOT"
+ fi
+else
+ echo "no."
+fi
+
+
+
+# Generate the Makefile
+echo "Generating Makefile..."
+cat > Makefile <<EOF
+BJAM=$BJAM
+TOOLSET=$TOOLSET
+BJAM_CONFIG=$BJAM_CONFIG
+PREFIX=$PREFIX
+EPREFIX=$EPREFIX
+LIBDIR=$LIBDIR
+INCLUDEDIR=$INCLUDEDIR
+LIBS=$LIBS
+
+all: .dummy
+ @echo "\$(BJAM) \$(BJAM_CONFIG) -sTOOLS=\$(TOOLSET) \$(LIBS)"
+ @\$(BJAM) \$(BJAM_CONFIG) -sTOOLS=\$(TOOLSET) \$(LIBS) || \\
+ echo "Not all Boost libraries built properly."
+
+clean: .dummy
+ rm -rf bin
+
+distclean: clean
+ rm -rf Makefile config.log
+
+check: .dummy
+ @cd status && ../\$(BJAM) \$(BJAM_CONFIG) -sTOOLS=\$(TOOLSET) test || echo "Some Boost regression tests failed. This is normal."
+
+install: .dummy
+ @echo "\$(BJAM) \$(BJAM_CONFIG) --prefix=\$(PREFIX) --exec-prefix=\$(EPREFIX) --libdir=\$(LIBDIR) --includedir=\$(INCLUDEDIR) -sTOOLS=\$(TOOLSET) \$(LIBS) install"
+ @\$(BJAM) \$(BJAM_CONFIG) --prefix=\$(PREFIX) --exec-prefix=\$(EPREFIX) --libdir=\$(LIBDIR) --includedir=\$(INCLUDEDIR) -sTOOLS=\$(TOOLSET) \$(LIBS) install || echo "Not all Boost libraries built properly."
+
+.dummy:
+
+EOF
diff --git a/doc/Jamfile.v2 b/doc/Jamfile.v2
new file mode 100644
index 0000000000..5ff9597230
--- /dev/null
+++ b/doc/Jamfile.v2
@@ -0,0 +1,24 @@
+project boost/doc ;
+import boostbook : boostbook ;
+
+# The <dependency> below allows Boost.Build to see Doxygen
+# main target, which is necessary to correctly build
+# documentation
+boostbook doc : src/boost.xml
+ :
+ <dependency>../libs/program_options/doc//autodoc.xml
+ <dependency>../libs/algorithm/string/doc//autodoc.xml
+ <dependency>../libs/logic/doc//reference.xml
+ <dependency>../libs/functional/hash/doc//hash
+ <dependency>../libs/type_traits/doc//type_traits
+ <dependency>../libs/static_assert/doc//static_assert
+ <dependency>../more/whos_using//using
+ <implicit-dependency>../libs/functional/hash/doc//hash
+ <implicit-dependency>../libs/type_traits/doc//type_traits
+ <implicit-dependency>../libs/static_assert/doc//static_assert
+ <implicit-dependency>../more/whos_using//using
+ <xsl:param>boost.libraries=../../libs/libraries.htm
+
+ ;
+
+
diff --git a/doc/html/Assignable.html b/doc/html/Assignable.html
new file mode 100644
index 0000000000..382ede154c
--- /dev/null
+++ b/doc/html/Assignable.html
@@ -0,0 +1,101 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Concept Assignable</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="concepts/reference.html" title="Concept reference">
+<link rel="prev" href="concepts/reference.html" title="Concept reference">
+<link rel="next" href="InputIterator.html" title="Concept InputIterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="concepts/reference.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="InputIterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="Assignable"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Concept Assignable</span></h2>
+<p>Assignable</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2575911"></a><h2>Description</h2>
+<p>Assignable types must have copy constructors,
+ <code class="computeroutput">operator=</code> for assignment, and the <code class="computeroutput">swap()</code>
+ function defined.</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2575930"></a><h2>Refinement of</h2>
+<div class="itemizedlist"><ul type="disc"><li><p><a href="CopyConstructible.html" title="Concept CopyConstructible">CopyConstructible</a></p></li></ul></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2575943"></a><h2>Notation</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">X</span></dt>
+<dd>A type playing the role of assignable-type in the <a href="Assignable.html" title="Concept Assignable">Assignable</a> concept.</dd>
+<dt>
+<span class="term"><code class="varname">x</code>, </span><span class="term"><code class="varname">y</code></span>
+</dt>
+<dd>Objects of type X</dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2575973"></a><h2>Valid expressions</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Expression</th>
+<th>Type</th>
+<th>Semantics</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><p>Assignment</p></td>
+<td><p>x = y</p></td>
+<td><p><span class="type">X &amp;</span></p></td>
+<td><p>Require <code class="computeroutput">operator=</code></p></td>
+</tr>
+<tr>
+<td><p>Swap</p></td>
+<td><p>swap(x, y)</p></td>
+<td><p><span class="type">void</span></p></td>
+<td><p>Require <code class="computeroutput">swap()</code> function</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2576036"></a><h2>Models</h2>
+<div class="itemizedlist"><ul type="disc"><li><span class="simplelist"><span class="type">int</span></span></li></ul></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2576048"></a><h2>See also</h2>
+<div class="itemizedlist"><ul type="disc"><li><p><a href="CopyConstructible.html" title="Concept CopyConstructible">CopyConstructible</a></p></li></ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001, 2002 Indiana University<br>Copyright © 2000, 2001 University of Notre Dame du Lac<br>Copyright © 2000 Jeremy Siek, Lie-Quan Lee, Andrew Lumsdaine<br>Copyright © 1996-1999 Silicon Graphics Computer Systems, Inc.<br>Copyright © 1994 Hewlett-Packard Company</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="concepts/reference.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="InputIterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/BOOST_ONCE_INIT.html b/doc/html/BOOST_ONCE_INIT.html
new file mode 100644
index 0000000000..dfb0195410
--- /dev/null
+++ b/doc/html/BOOST_ONCE_INIT.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_ONCE_INIT</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id2534986" title="Header &lt;boost/thread/once.hpp&gt;">
+<link rel="prev" href="timed_mutex.html" title="Class timed_mutex">
+<link rel="next" href="call_once.html" title="Function call_once">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="timed_mutex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2534986"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="call_once.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="BOOST_ONCE_INIT"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_ONCE_INIT</span></h2>
+<p>BOOST_ONCE_INIT &#8212; The call_once function and
+ <code class="computeroutput">once_flag</code> type (statically initialized to
+ <a href="BOOST_ONCE_INIT.html" title="Macro BOOST_ONCE_INIT">BOOST_ONCE_INIT</a>) can be used to run a
+ routine exactly once. This can be used to initialize data in a
+ <a href="threads.html#threads.glossary.thread-safe">thread-safe</a>
+ manner.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_ONCE_INIT</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2782136"></a><h2>Description</h2>The implementation-defined macro
+ <a href="BOOST_ONCE_INIT.html" title="Macro BOOST_ONCE_INIT">BOOST_ONCE_INIT</a> is a constant value used to
+ initialize <code class="computeroutput">once_flag</code> instances to indicate that the
+ logically associated routine has not been run yet. See
+ call_once for more details.</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="timed_mutex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2534986"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="call_once.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/BOOST_TRIBOOL_THIRD_STATE.html b/doc/html/BOOST_TRIBOOL_THIRD_STATE.html
new file mode 100644
index 0000000000..6a87caa300
--- /dev/null
+++ b/doc/html/BOOST_TRIBOOL_THIRD_STATE.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_TRIBOOL_THIRD_STATE</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2426531" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id2400763.html" title="Function operator!=">
+<link rel="next" href="indeterminate_name.html" title="Class template indeterminate_name">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2400763.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2426531"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="indeterminate_name.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="BOOST_TRIBOOL_THIRD_STATE"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_TRIBOOL_THIRD_STATE</span></h2>
+<p>BOOST_TRIBOOL_THIRD_STATE &#8212; Declare a new name for the third state of a tribool. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_TRIBOOL_THIRD_STATE(Name)</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2792350"></a><h2>Description</h2>
+<p>Use this macro to declare a new name for the third state of a tribool. This state can have any number of new names (in addition to <code class="computeroutput">indeterminate</code> ), all of which will be equivalent. The new name will be placed in the namespace in which the macro is expanded.</p>
+<p>Example: BOOST_TRIBOOL_THIRD_STATE(true_or_false)</p>
+<p>tribool x(true_or_false); // potentially set x if (true_or_false(x)) { // don't know what x is } </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2400763.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2426531"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="indeterminate_name.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/BOOST_VARIANT_ENUM_PARAMS.html b/doc/html/BOOST_VARIANT_ENUM_PARAMS.html
new file mode 100644
index 0000000000..ff0c3297be
--- /dev/null
+++ b/doc/html/BOOST_VARIANT_ENUM_PARAMS.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_ENUM_PARAMS</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2654455" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="BOOST_VARIANT_LIMIT_TYPES.html" title="Macro BOOST_VARIANT_LIMIT_TYPES">
+<link rel="next" href="id2652694.html" title="Macro BOOST_VARIANT_ENUM_SHIFTED_PARAMS">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_VARIANT_LIMIT_TYPES.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2654455"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2652694.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="BOOST_VARIANT_ENUM_PARAMS"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_ENUM_PARAMS</span></h2>
+<p>BOOST_VARIANT_ENUM_PARAMS &#8212; <p>Enumerate parameters for use with
+ <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code>.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_ENUM_PARAMS(param)</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2832432"></a><h2>Description</h2>
+<p>Expands to a comma-separated sequence of length
+ <code class="computeroutput"><a href="BOOST_VARIANT_LIMIT_TYPES.html" title="Macro BOOST_VARIANT_LIMIT_TYPES">BOOST_VARIANT_LIMIT_TYPES</a></code>, where
+ each element in the sequence consists of the concatenation of
+ <span class="emphasis"><em>param</em></span> with its zero-based index into the
+ sequence. That is,
+ <code class="computeroutput">param ## 0, param ## 1, ..., param ## BOOST_VARIANT_LIMIT_TYPES - 1</code>.</p>
+<p><span class="bold"><strong>Rationale</strong></span>: This macro greatly
+ simplifies for the user the process of declaring
+ <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code> types
+ in function templates or explicit partial specializations of class
+ templates, as shown in the
+ <a href="variant/tutorial.html#variant.tutorial.preprocessor" title="Preprocessor macros">tutorial</a>.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_VARIANT_LIMIT_TYPES.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2654455"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2652694.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/BOOST_VARIANT_LIMIT_TYPES.html b/doc/html/BOOST_VARIANT_LIMIT_TYPES.html
new file mode 100644
index 0000000000..7251ef60d1
--- /dev/null
+++ b/doc/html/BOOST_VARIANT_LIMIT_TYPES.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_LIMIT_TYPES</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2654455" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="variant/reference.html" title="Reference">
+<link rel="next" href="BOOST_VARIANT_ENUM_PARAMS.html" title="Macro BOOST_VARIANT_ENUM_PARAMS">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="variant/reference.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2654455"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_VARIANT_ENUM_PARAMS.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="BOOST_VARIANT_LIMIT_TYPES"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_LIMIT_TYPES</span></h2>
+<p>BOOST_VARIANT_LIMIT_TYPES &#8212; <p>Expands to the length of the
+ template parameter list for
+ <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code>.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_LIMIT_TYPES</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2832372"></a><h2>Description</h2>
+<p><span class="bold"><strong>Note</strong></span>: Conforming
+ implementations of <code class="computeroutput">variant</code> must allow at least ten
+ template arguments. That is, BOOST_VARIANT_LIMIT_TYPES must be greater
+ or equal to <code class="computeroutput">10</code>.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="variant/reference.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2654455"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_VARIANT_ENUM_PARAMS.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/BidirectionalIterator.html b/doc/html/BidirectionalIterator.html
new file mode 100644
index 0000000000..b9a21e9e97
--- /dev/null
+++ b/doc/html/BidirectionalIterator.html
@@ -0,0 +1,165 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Concept BidirectionalIterator</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="concepts/reference.html" title="Concept reference">
+<link rel="prev" href="ForwardIterator.html" title="Concept ForwardIterator">
+<link rel="next" href="RandomAccessIterator.html" title="Concept RandomAccessIterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ForwardIterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="RandomAccessIterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="BidirectionalIterator"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Concept BidirectionalIterator</span></h2>
+<p>BidirectionalIterator</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577363"></a><h2>Description</h2>
+<p>A bidirectional iterator is an iterator that can read through a sequence
+ of values. It can move in either direction through the sequence, and can
+ be either mutable (data pointed to by it can be changed) or not mutable.</p>
+<p>An iterator represents a position in a sequence. Therefore, the
+ iterator can point into the sequence (returning a value when dereferenced
+ and being incrementable), or be off-the-end (and not dereferenceable or
+ incrementable).</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577379"></a><h2>Refinement of</h2>
+<div class="itemizedlist"><ul type="disc"><li><p><a href="ForwardIterator.html" title="Concept ForwardIterator">ForwardIterator</a></p></li></ul></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577391"></a><h2>Associated types</h2>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<p><span class="bold"><strong>value_type</strong></span></p>
+<pre class="literallayout">std::iterator_traits&lt;Iter&gt;::value_type</pre>
+<p>The value type of the iterator</p>
+</li>
+<li>
+<p><span class="bold"><strong>category</strong></span></p>
+<pre class="literallayout">std::iterator_traits&lt;Iter&gt;::iterator_category</pre>
+<p>The category of the iterator</p>
+</li>
+</ul></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577432"></a><h2>Notation</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">Iter</span></dt>
+<dd>A type playing the role of iterator-type in the <a href="BidirectionalIterator.html" title="Concept BidirectionalIterator">BidirectionalIterator</a> concept.</dd>
+<dt>
+<span class="term"><code class="varname">i</code>, </span><span class="term"><code class="varname">j</code></span>
+</dt>
+<dd>Objects of type Iter</dd>
+<dt><span class="term"><code class="varname">x</code></span></dt>
+<dd>Object of type value_type</dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577471"></a><h2>Type expressions</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">Category tag</span></dt>
+<dd><p><span class="type">category</span> must be
+ derived from <span class="type">std::bidirectional_iterator_tag</span>.
+ </p></dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577490"></a><h2>Valid expressions</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Expression</th>
+<th>Type</th>
+<th>Precondition</th>
+<th>Semantics</th>
+<th>Postcondition</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><p>Predecrement</p></td>
+<td><p>--i</p></td>
+<td><p><span class="type">Iter &amp;</span></p></td>
+<td><p><code class="computeroutput">i</code> is incrementable (not
+ off-the-end) and some dereferenceable iterator <code class="computeroutput">j</code> exists
+ such that <code class="computeroutput">i == ++j</code></p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td><p>Postdecrement</p></td>
+<td><p>i--</p></td>
+<td><p><span class="type">Iter</span></p></td>
+<td><p>Same as for predecrement</p></td>
+<td><p>Equivalent to <code class="computeroutput">{Iter j = i; --i; return j;}</code></p></td>
+<td><p><code class="computeroutput">i</code> is dereferenceable or
+ off-the-end</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577583"></a><h2>Complexity</h2>
+<p>
+ All iterator operations must take amortized constant time.
+ </p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577590"></a><h2>Invariants</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">Predecrement must return object</span></dt>
+<dd><p><code class="computeroutput">&amp;i = &amp;(--i)</code></p></dd>
+<dt><span class="term">Unique path through sequence</span></dt>
+<dd><p><code class="computeroutput">i == j</code> implies <code class="computeroutput">--i == --j</code></p></dd>
+<dt><span class="term">Increment and decrement are inverses</span></dt>
+<dd><p><code class="computeroutput">++i; --i;</code> and <code class="computeroutput">--i; ++i;</code> must end up with the
+ value of <code class="computeroutput">i</code> unmodified, if <code class="computeroutput">i</code> both of the
+ operations in the pair are valid.
+ </p></dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577653"></a><h2>Models</h2>
+<div class="itemizedlist"><ul type="disc">
+<li><span class="simplelist"><span class="type">T *</span></span></li>
+<li><span class="simplelist"><span class="type">std::list&lt;T&gt;::iterator</span></span></li>
+</ul></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577674"></a><h2>See also</h2>
+<div class="itemizedlist"><ul type="disc"><li><p><a href="RandomAccessIterator.html" title="Concept RandomAccessIterator">RandomAccessIterator</a></p></li></ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001, 2002 Indiana University<br>Copyright © 2000, 2001 University of Notre Dame du Lac<br>Copyright © 2000 Jeremy Siek, Lie-Quan Lee, Andrew Lumsdaine<br>Copyright © 1996-1999 Silicon Graphics Computer Systems, Inc.<br>Copyright © 1994 Hewlett-Packard Company</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ForwardIterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="RandomAccessIterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/CopyConstructible.html b/doc/html/CopyConstructible.html
new file mode 100644
index 0000000000..b887be7ddd
--- /dev/null
+++ b/doc/html/CopyConstructible.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Concept CopyConstructible</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="concepts/reference.html" title="Concept reference">
+<link rel="prev" href="DefaultConstructible.html" title="Concept DefaultConstructible">
+<link rel="next" href="EqualityComparable.html" title="Concept EqualityComparable">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="DefaultConstructible.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="EqualityComparable.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="CopyConstructible"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Concept CopyConstructible</span></h2>
+<p>CopyConstructible</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578436"></a><h2>Description</h2>
+<p>Copy constructible types must be able to be constructed from another
+ member of the type.</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578444"></a><h2>Notation</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">X</span></dt>
+<dd>A type playing the role of copy-constructible-type in the <a href="CopyConstructible.html" title="Concept CopyConstructible">CopyConstructible</a> concept.</dd>
+<dt>
+<span class="term"><code class="varname">x</code>, </span><span class="term"><code class="varname">y</code></span>
+</dt>
+<dd>Objects of type X</dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578474"></a><h2>Valid expressions</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Expression</th>
+<th>Type</th>
+<th>Semantics</th>
+</tr></thead>
+<tbody><tr>
+<td><p>Copy construction</p></td>
+<td><p>X(x)</p></td>
+<td><p><span class="type">X</span></p></td>
+<td><p>Require copy constructor.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578511"></a><h2>Models</h2>
+<div class="itemizedlist"><ul type="disc"><li><span class="simplelist"><span class="type">int</span></span></li></ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001, 2002 Indiana University<br>Copyright © 2000, 2001 University of Notre Dame du Lac<br>Copyright © 2000 Jeremy Siek, Lie-Quan Lee, Andrew Lumsdaine<br>Copyright © 1996-1999 Silicon Graphics Computer Systems, Inc.<br>Copyright © 1994 Hewlett-Packard Company</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="DefaultConstructible.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="EqualityComparable.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/DefaultConstructible.html b/doc/html/DefaultConstructible.html
new file mode 100644
index 0000000000..11ba427442
--- /dev/null
+++ b/doc/html/DefaultConstructible.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Concept DefaultConstructible</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="concepts/reference.html" title="Concept reference">
+<link rel="prev" href="RandomAccessIterator.html" title="Concept RandomAccessIterator">
+<link rel="next" href="CopyConstructible.html" title="Concept CopyConstructible">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="RandomAccessIterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="CopyConstructible.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="DefaultConstructible"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Concept DefaultConstructible</span></h2>
+<p>DefaultConstructible</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578338"></a><h2>Description</h2>
+<p>DefaultConstructible objects only need to have a default
+ constructor.</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578345"></a><h2>Notation</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">X</span></dt>
+<dd>A type playing the role of default-constructible-type in the <a href="DefaultConstructible.html" title="Concept DefaultConstructible">DefaultConstructible</a> concept.</dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578365"></a><h2>Valid expressions</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Expression</th>
+<th>Type</th>
+<th>Semantics</th>
+</tr></thead>
+<tbody><tr>
+<td><p>Construction</p></td>
+<td><p>X()</p></td>
+<td><p><span class="type">X</span></p></td>
+<td><p>Construct an instance of the type with default parameters.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578402"></a><h2>Models</h2>
+<div class="itemizedlist"><ul type="disc">
+<li><span class="simplelist"><span class="type">int</span></span></li>
+<li><span class="simplelist"><span class="type">std::vector&lt;double&gt;</span></span></li>
+</ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001, 2002 Indiana University<br>Copyright © 2000, 2001 University of Notre Dame du Lac<br>Copyright © 2000 Jeremy Siek, Lie-Quan Lee, Andrew Lumsdaine<br>Copyright © 1996-1999 Silicon Graphics Computer Systems, Inc.<br>Copyright © 1994 Hewlett-Packard Company</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="RandomAccessIterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="CopyConstructible.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/EqualityComparable.html b/doc/html/EqualityComparable.html
new file mode 100644
index 0000000000..a7a58cc640
--- /dev/null
+++ b/doc/html/EqualityComparable.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Concept EqualityComparable</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="concepts/reference.html" title="Concept reference">
+<link rel="prev" href="CopyConstructible.html" title="Concept CopyConstructible">
+<link rel="next" href="LessThanComparable.html" title="Concept LessThanComparable">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="CopyConstructible.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="LessThanComparable.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="EqualityComparable"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Concept EqualityComparable</span></h2>
+<p>EqualityComparable</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578537"></a><h2>Description</h2>
+<p>Equality Comparable types must have <code class="computeroutput">==</code> and
+ <code class="computeroutput">!=</code> operators.</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578555"></a><h2>Notation</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">X</span></dt>
+<dd>A type playing the role of comparable-type in the <a href="EqualityComparable.html" title="Concept EqualityComparable">EqualityComparable</a> concept.</dd>
+<dt>
+<span class="term"><code class="varname">x</code>, </span><span class="term"><code class="varname">y</code></span>
+</dt>
+<dd>Objects of type X</dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578585"></a><h2>Valid expressions</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Expression</th>
+<th>Type</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><p>Equality test</p></td>
+<td><p>x == y</p></td>
+<td><p>Convertible to <span class="type">bool</span></p></td>
+</tr>
+<tr>
+<td><p>Inequality test</p></td>
+<td><p>x != y</p></td>
+<td><p>Convertible to <span class="type">bool</span></p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578631"></a><h2>Models</h2>
+<div class="itemizedlist"><ul type="disc">
+<li><span class="simplelist"><span class="type">int</span></span></li>
+<li><span class="simplelist"><span class="type">std::vector&lt;int&gt;</span></span></li>
+</ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001, 2002 Indiana University<br>Copyright © 2000, 2001 University of Notre Dame du Lac<br>Copyright © 2000 Jeremy Siek, Lie-Quan Lee, Andrew Lumsdaine<br>Copyright © 1996-1999 Silicon Graphics Computer Systems, Inc.<br>Copyright © 1994 Hewlett-Packard Company</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="CopyConstructible.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="LessThanComparable.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/FinderConcept.html b/doc/html/FinderConcept.html
new file mode 100644
index 0000000000..10a0c40fa3
--- /dev/null
+++ b/doc/html/FinderConcept.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct template FinderConcept</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2353460" title="Header &lt;boost/algorithm/string/concept.hpp&gt;">
+<link rel="prev" href="is_iequal.html" title="Struct is_iequal">
+<link rel="next" href="FormatterConcept.html" title="Struct template FormatterConcept">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_iequal.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2353460"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="FormatterConcept.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="FinderConcept"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template FinderConcept</span></h2>
+<p>boost::algorithm::FinderConcept &#8212; Finder concept. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> FinderT, <span class="bold"><strong>typename</strong></span> IteratorT&gt;
+<span class="bold"><strong>struct</strong></span> FinderConcept {
+
+  <span class="emphasis"><em>// <a href="FinderConcept.html#id2411328-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="FinderConcept.html#id2577823-bb">constraints</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2749698"></a><h2>Description</h2>
+<p>Defines the Finder concept. Finder is a functor which selects an arbitrary part of a string. Search is performed on the range specified by starting and ending iterators.</p>
+<p>Result of the find operation must be convertible to iterator_range. </p>
+<div class="refsect2" lang="en">
+<a name="id2749710"></a><h3>
+<a name="id2411328-bb"></a><code class="computeroutput">FinderConcept</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2577823-bb"></a>constraints() ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_iequal.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2353460"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="FormatterConcept.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/FormatterConcept.html b/doc/html/FormatterConcept.html
new file mode 100644
index 0000000000..0a59ad5d03
--- /dev/null
+++ b/doc/html/FormatterConcept.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct template FormatterConcept</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2353460" title="Header &lt;boost/algorithm/string/concept.hpp&gt;">
+<link rel="prev" href="FinderConcept.html" title="Struct template FinderConcept">
+<link rel="next" href="id2567673.html" title="Type token_compress_mode_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="FinderConcept.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2353460"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2567673.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="FormatterConcept"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template FormatterConcept</span></h2>
+<p>boost::algorithm::FormatterConcept &#8212; Formatter concept. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> FormatterT, <span class="bold"><strong>typename</strong></span> FinderT, <span class="bold"><strong>typename</strong></span> IteratorT&gt;
+<span class="bold"><strong>struct</strong></span> FormatterConcept {
+
+  <span class="emphasis"><em>// <a href="FormatterConcept.html#id2372293-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="FormatterConcept.html#id2370471-bb">constraints</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2749830"></a><h2>Description</h2>
+<p>Defines the Formatter concept. Formatter is a functor, which takes a result from a finder operation and transforms it in a specific way.</p>
+<p>Result must be a container supported by container_traits, or a reference to it. </p>
+<div class="refsect2" lang="en">
+<a name="id2749841"></a><h3>
+<a name="id2372293-bb"></a><code class="computeroutput">FormatterConcept</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2370471-bb"></a>constraints() ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="FinderConcept.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2353460"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2567673.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ForwardIterator.html b/doc/html/ForwardIterator.html
new file mode 100644
index 0000000000..72f27a1665
--- /dev/null
+++ b/doc/html/ForwardIterator.html
@@ -0,0 +1,182 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Concept ForwardIterator</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="concepts/reference.html" title="Concept reference">
+<link rel="prev" href="OutputIterator.html" title="Concept OutputIterator">
+<link rel="next" href="BidirectionalIterator.html" title="Concept BidirectionalIterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="OutputIterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="BidirectionalIterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ForwardIterator"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Concept ForwardIterator</span></h2>
+<p>ForwardIterator</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577006"></a><h2>Description</h2>
+<p>A forward iterator is an iterator that can read through a sequence of
+ values. It is multi-pass (old values of the iterator can be
+ re-used), and can be either mutable (data pointed to by it can be
+ changed) or not mutable.</p>
+<p>An iterator represents a position in a sequence. Therefore, the
+ iterator can point into the sequence (returning a value when dereferenced
+ and being incrementable), or be off-the-end (and not dereferenceable or
+ incrementable).</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577021"></a><h2>Refinement of</h2>
+<div class="itemizedlist"><ul type="disc">
+<li><p><a href="InputIterator.html" title="Concept InputIterator">InputIterator</a></p></li>
+<li><p><a href="OutputIterator.html" title="Concept OutputIterator">OutputIterator</a></p></li>
+</ul></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577042"></a><h2>Associated types</h2>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<p><span class="bold"><strong>value_type</strong></span></p>
+<pre class="literallayout">std::iterator_traits&lt;Iter&gt;::value_type</pre>
+<p>The value type of the iterator</p>
+</li>
+<li>
+<p><span class="bold"><strong>category</strong></span></p>
+<pre class="literallayout">std::iterator_traits&lt;Iter&gt;::iterator_category</pre>
+<p>The category of the iterator</p>
+</li>
+</ul></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577083"></a><h2>Notation</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">Iter</span></dt>
+<dd>A type playing the role of iterator-type in the <a href="ForwardIterator.html" title="Concept ForwardIterator">ForwardIterator</a> concept.</dd>
+<dt>
+<span class="term"><code class="varname">i</code>, </span><span class="term"><code class="varname">j</code></span>
+</dt>
+<dd>Objects of type Iter</dd>
+<dt><span class="term"><code class="varname">x</code></span></dt>
+<dd>Object of type value_type</dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577121"></a><h2>Type expressions</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">Category tag</span></dt>
+<dd><p><span class="type">category</span> must be
+ derived from <span class="type">std::forward_iterator_tag</span>.
+ </p></dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577140"></a><h2>Valid expressions</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Expression</th>
+<th>Type</th>
+<th>Precondition</th>
+<th>Semantics</th>
+<th>Postcondition</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><p>Dereference</p></td>
+<td><p>*i</p></td>
+<td><p><span class="type">const-if-not-mutable value_type &amp;</span></p></td>
+<td><p><code class="computeroutput">i</code> is incrementable (not
+ off-the-end)</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td><p>Member access</p></td>
+<td><p>i-&gt;{member-name} (return type is pointer-to-object type)</p></td>
+<td><p><span class="type">const-if-not-mutable value_type *</span></p></td>
+<td><p><code class="computeroutput">i</code> is incrementable (not
+ off-the-end)</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td><p>Preincrement</p></td>
+<td><p>++i</p></td>
+<td><p><span class="type">Iter &amp;</span></p></td>
+<td><p><code class="computeroutput">i</code> is incrementable (not
+ off-the-end)</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td><p>Postincrement</p></td>
+<td><p>i++</p></td>
+<td><p><span class="type">Iter</span></p></td>
+<td><p><code class="computeroutput">i</code> is incrementable (not
+ off-the-end)</p></td>
+<td><p>Equivalent to <code class="computeroutput">{Iter j = i; ++i; return j;}</code></p></td>
+<td><p><code class="computeroutput">i</code> is dereferenceable or
+ off-the-end</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577276"></a><h2>Complexity</h2>
+<p>
+ All iterator operations must take amortized constant time.
+ </p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577283"></a><h2>Invariants</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">Predecrement must return object</span></dt>
+<dd><p><code class="computeroutput">&amp;i = &amp;(++i)</code></p></dd>
+<dt><span class="term">Unique path through sequence</span></dt>
+<dd><p><code class="computeroutput">i == j</code> implies <code class="computeroutput">++i == ++j</code></p></dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577315"></a><h2>Models</h2>
+<div class="itemizedlist"><ul type="disc">
+<li><span class="simplelist"><span class="type">T *</span></span></li>
+<li><span class="simplelist"><span class="type">std::hash_set&lt;T&gt;::iterator</span></span></li>
+</ul></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577335"></a><h2>See also</h2>
+<div class="itemizedlist"><ul type="disc"><li><p><a href="BidirectionalIterator.html" title="Concept BidirectionalIterator">BidirectionalIterator</a></p></li></ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001, 2002 Indiana University<br>Copyright © 2000, 2001 University of Notre Dame du Lac<br>Copyright © 2000 Jeremy Siek, Lie-Quan Lee, Andrew Lumsdaine<br>Copyright © 1996-1999 Silicon Graphics Computer Systems, Inc.<br>Copyright © 1994 Hewlett-Packard Company</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="OutputIterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="BidirectionalIterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/InputIterator.html b/doc/html/InputIterator.html
new file mode 100644
index 0000000000..a07388aced
--- /dev/null
+++ b/doc/html/InputIterator.html
@@ -0,0 +1,190 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Concept InputIterator</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="concepts/reference.html" title="Concept reference">
+<link rel="prev" href="Assignable.html" title="Concept Assignable">
+<link rel="next" href="OutputIterator.html" title="Concept OutputIterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="Assignable.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="OutputIterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="InputIterator"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Concept InputIterator</span></h2>
+<p>InputIterator</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2576075"></a><h2>Description</h2>
+<p>An input iterator is an iterator that can read through a sequence of
+ values. It is single-pass (old values of the iterator cannot be
+ re-used), and read-only.</p>
+<p>An input iterator represents a position in a sequence. Therefore, the
+ iterator can point into the sequence (returning a value when dereferenced
+ and being incrementable), or be off-the-end (and not dereferenceable or
+ incrementable).</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2576090"></a><h2>Refinement of</h2>
+<div class="itemizedlist"><ul type="disc">
+<li><p><a href="Assignable.html" title="Concept Assignable">Assignable</a></p></li>
+<li><p><a href="DefaultConstructible.html" title="Concept DefaultConstructible">DefaultConstructible</a></p></li>
+<li><p><a href="EqualityComparable.html" title="Concept EqualityComparable">EqualityComparable</a></p></li>
+</ul></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2576119"></a><h2>Associated types</h2>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<p><span class="bold"><strong>value_type</strong></span></p>
+<pre class="literallayout">std::iterator_traits&lt;Iter&gt;::value_type</pre>
+<p>The value type of the iterator (not necessarily what
+ <code class="computeroutput">*i</code> returns)</p>
+</li>
+<li>
+<p><span class="bold"><strong>difference_type</strong></span></p>
+<pre class="literallayout">std::iterator_traits&lt;Iter&gt;::difference_type</pre>
+<p>The difference type of the iterator</p>
+</li>
+<li>
+<p><span class="bold"><strong>category</strong></span></p>
+<pre class="literallayout">std::iterator_traits&lt;Iter&gt;::iterator_category</pre>
+<p>The category of the iterator</p>
+</li>
+</ul></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2576183"></a><h2>Notation</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">Iter</span></dt>
+<dd>A type playing the role of iterator-type in the <a href="InputIterator.html" title="Concept InputIterator">InputIterator</a> concept.</dd>
+<dt>
+<span class="term"><code class="varname">i</code>, </span><span class="term"><code class="varname">j</code></span>
+</dt>
+<dd>Objects of type Iter</dd>
+<dt><span class="term"><code class="varname">x</code></span></dt>
+<dd>Object of type value_type</dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2576222"></a><h2>Type expressions</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">Category tag</span></dt>
+<dd><p><span class="type">category</span> must be
+ derived from <span class="type">std::input_iterator_tag</span>, a model of <a href="DefaultConstructible.html" title="Concept DefaultConstructible">DefaultConstructible</a>, and a model of <a href="CopyConstructible.html" title="Concept CopyConstructible">CopyConstructible</a>.
+ </p></dd>
+<dt><span class="term">Value type copy constructibility</span></dt>
+<dd><p><span class="type">value_type</span> must be
+ a model of <a href="CopyConstructible.html" title="Concept CopyConstructible">CopyConstructible</a>.
+ </p></dd>
+<dt><span class="term">Difference type properties</span></dt>
+<dd><p><span class="type">difference_type</span> must be
+ a model of <a href="SignedInteger.html" title="Concept SignedInteger">SignedInteger</a>.
+ </p></dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2576291"></a><h2>Valid expressions</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Expression</th>
+<th>Type</th>
+<th>Precondition</th>
+<th>Semantics</th>
+<th>Postcondition</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><p>Dereference</p></td>
+<td><p>*i</p></td>
+<td><p>Convertible to <span class="type">value_type</span></p></td>
+<td><p><code class="computeroutput">i</code> is incrementable (not
+ off-the-end)</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td><p>Preincrement</p></td>
+<td><p>++i</p></td>
+<td><p><span class="type">Iter &amp;</span></p></td>
+<td><p><code class="computeroutput">i</code> is incrementable (not
+ off-the-end)</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td><p>Postincrement</p></td>
+<td><p>i++</p></td>
+<td><p></p></td>
+<td><p><code class="computeroutput">i</code> is incrementable (not
+ off-the-end)</p></td>
+<td><p>Equivalent to <code class="computeroutput">(void)(++i)</code></p></td>
+<td><p><code class="computeroutput">i</code> is dereferenceable or
+ off-the-end</p></td>
+</tr>
+<tr>
+<td><p>Postincrement and dereference</p></td>
+<td><p>*i++</p></td>
+<td><p>Convertible to <span class="type">value_type</span></p></td>
+<td><p><code class="computeroutput">i</code> is incrementable (not
+ off-the-end)</p></td>
+<td><p>Equivalent to <code class="computeroutput">{value_type t = *i; ++i; return t;}</code></p></td>
+<td><p><code class="computeroutput">i</code> is dereferenceable or
+ off-the-end</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2576439"></a><h2>Complexity</h2>
+<p>
+ All iterator operations must take amortized constant time.
+ </p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2576446"></a><h2>Models</h2>
+<div class="itemizedlist"><ul type="disc"><li><span class="simplelist"><span class="type">std::istream_iterator</span></span></li></ul></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2576458"></a><h2>See also</h2>
+<div class="itemizedlist"><ul type="disc">
+<li><p><a href="DefaultConstructible.html" title="Concept DefaultConstructible">DefaultConstructible</a></p></li>
+<li><p><a href="EqualityComparable.html" title="Concept EqualityComparable">EqualityComparable</a></p></li>
+<li><p><a href="ForwardIterator.html" title="Concept ForwardIterator">ForwardIterator</a></p></li>
+<li><p><a href="OutputIterator.html" title="Concept OutputIterator">OutputIterator</a></p></li>
+</ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001, 2002 Indiana University<br>Copyright © 2000, 2001 University of Notre Dame du Lac<br>Copyright © 2000 Jeremy Siek, Lie-Quan Lee, Andrew Lumsdaine<br>Copyright © 1996-1999 Silicon Graphics Computer Systems, Inc.<br>Copyright © 1994 Hewlett-Packard Company</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="Assignable.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="OutputIterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/LessThanComparable.html b/doc/html/LessThanComparable.html
new file mode 100644
index 0000000000..f645d6d435
--- /dev/null
+++ b/doc/html/LessThanComparable.html
@@ -0,0 +1,105 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Concept LessThanComparable</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="concepts/reference.html" title="Concept reference">
+<link rel="prev" href="EqualityComparable.html" title="Concept EqualityComparable">
+<link rel="next" href="SignedInteger.html" title="Concept SignedInteger">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="EqualityComparable.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="SignedInteger.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="LessThanComparable"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Concept LessThanComparable</span></h2>
+<p>LessThanComparable</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578665"></a><h2>Description</h2>
+<p>LessThanComparable types must have <code class="computeroutput">&lt;</code>,
+ <code class="computeroutput">&gt;</code>, <code class="computeroutput">&lt;=</code>, and <code class="computeroutput">&gt;=</code>
+ operators.</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578696"></a><h2>Notation</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">X</span></dt>
+<dd>A type playing the role of comparable-type in the <a href="LessThanComparable.html" title="Concept LessThanComparable">LessThanComparable</a> concept.</dd>
+<dt>
+<span class="term"><code class="varname">x</code>, </span><span class="term"><code class="varname">y</code></span>
+</dt>
+<dd>Objects of type X</dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578726"></a><h2>Valid expressions</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Expression</th>
+<th>Type</th>
+<th>Semantics</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><p>Less than</p></td>
+<td><p>x &lt; y</p></td>
+<td><p>Convertible to <span class="type">bool</span></p></td>
+<td><p>Determine if one value is less than another.</p></td>
+</tr>
+<tr>
+<td><p>Less than or equal</p></td>
+<td><p>x &lt;= y</p></td>
+<td><p>Convertible to <span class="type">bool</span></p></td>
+<td><p>Determine if one value is less than or equal to another.</p></td>
+</tr>
+<tr>
+<td><p>Greater than</p></td>
+<td><p>x &gt; y</p></td>
+<td><p>Convertible to <span class="type">bool</span></p></td>
+<td><p>Determine if one value is greater than another.</p></td>
+</tr>
+<tr>
+<td><p>Greater than or equal to</p></td>
+<td><p>x &gt;= y</p></td>
+<td><p>Convertible to <span class="type">bool</span></p></td>
+<td><p>Determine if one value is greater than or equal to another.</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578820"></a><h2>Models</h2>
+<div class="itemizedlist"><ul type="disc"><li><span class="simplelist"><span class="type">int</span></span></li></ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001, 2002 Indiana University<br>Copyright © 2000, 2001 University of Notre Dame du Lac<br>Copyright © 2000 Jeremy Siek, Lie-Quan Lee, Andrew Lumsdaine<br>Copyright © 1996-1999 Silicon Graphics Computer Systems, Inc.<br>Copyright © 1994 Hewlett-Packard Company</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="EqualityComparable.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="SignedInteger.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/OutputIterator.html b/doc/html/OutputIterator.html
new file mode 100644
index 0000000000..33bb064885
--- /dev/null
+++ b/doc/html/OutputIterator.html
@@ -0,0 +1,200 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Concept OutputIterator</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="concepts/reference.html" title="Concept reference">
+<link rel="prev" href="InputIterator.html" title="Concept InputIterator">
+<link rel="next" href="ForwardIterator.html" title="Concept ForwardIterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="InputIterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ForwardIterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="OutputIterator"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Concept OutputIterator</span></h2>
+<p>OutputIterator</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2576510"></a><h2>Description</h2>
+<p>An output iterator is an iterator that can write a sequence of
+ values. It is single-pass (old values of the iterator cannot be
+ re-used), and write-only.</p>
+<p>An output iterator represents a position in a (possibly infinite)
+ sequence. Therefore, the iterator can point into the sequence (returning
+ a value when dereferenced and being incrementable), or be off-the-end
+ (and not dereferenceable or incrementable).</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2576525"></a><h2>Associated types</h2>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<p><span class="bold"><strong>value_type</strong></span></p>
+<pre class="literallayout">std::iterator_traits&lt;Iter&gt;::value_type</pre>
+<p>The stated value type of the iterator (should be
+ <code class="computeroutput">void</code> for an output iterator that does not model some other
+ iterator concept).</p>
+</li>
+<li>
+<p><span class="bold"><strong>difference_type</strong></span></p>
+<pre class="literallayout">std::iterator_traits&lt;Iter&gt;::difference_type</pre>
+<p>The difference type of the iterator</p>
+</li>
+<li>
+<p><span class="bold"><strong>category</strong></span></p>
+<pre class="literallayout">std::iterator_traits&lt;Iter&gt;::iterator_category</pre>
+<p>The category of the iterator</p>
+</li>
+</ul></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2576590"></a><h2>Notation</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">Iter</span></dt>
+<dd>A type playing the role of iterator-type in the <a href="OutputIterator.html" title="Concept OutputIterator">OutputIterator</a> concept.</dd>
+<dt><span class="term">ValueType</span></dt>
+<dd>A type playing the role of value-type in the <a href="OutputIterator.html" title="Concept OutputIterator">OutputIterator</a> concept.</dd>
+<dt>
+<span class="term"><code class="varname">i</code>, </span><span class="term"><code class="varname">j</code></span>
+</dt>
+<dd>Objects of type Iter</dd>
+<dt><span class="term"><code class="varname">x</code></span></dt>
+<dd>Object of type ValueType</dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2576644"></a><h2>Type expressions</h2>
+<div class="variablelist"><dl>
+<dt><span class="term"></span></dt>
+<dd><p>The type <span class="type">Iter</span> must be a model of <a href="Assignable.html" title="Concept Assignable">Assignable</a>.</p></dd>
+<dt><span class="term"></span></dt>
+<dd><p>The type <span class="type">ValueType</span> must be a model of <a href="Assignable.html" title="Concept Assignable">Assignable</a>.</p></dd>
+<dt><span class="term"></span></dt>
+<dd><p>The type <span class="type">Iter</span> must be a model of <a href="DefaultConstructible.html" title="Concept DefaultConstructible">DefaultConstructible</a>.</p></dd>
+<dt><span class="term"></span></dt>
+<dd><p>The type <span class="type">Iter</span> must be a model of
+ <a href="EqualityComparable.html" title="Concept EqualityComparable">EqualityComparable</a>.</p></dd>
+<dt><span class="term">Category tag</span></dt>
+<dd><p><span class="type">category</span> must be
+ derived from <span class="type">std::output_iterator_tag</span>, a model of <a href="DefaultConstructible.html" title="Concept DefaultConstructible">DefaultConstructible</a>, and a model of <a href="CopyConstructible.html" title="Concept CopyConstructible">CopyConstructible</a>.
+ </p></dd>
+<dt><span class="term">Difference type properties</span></dt>
+<dd><p><span class="type">difference_type</span> must be
+ a model of <a href="SignedInteger.html" title="Concept SignedInteger">SignedInteger</a>.
+ </p></dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2576762"></a><h2>Valid expressions</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Expression</th>
+<th>Type</th>
+<th>Precondition</th>
+<th>Semantics</th>
+<th>Postcondition</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><p>Dereference</p></td>
+<td><p>*i</p></td>
+<td><p></p></td>
+<td><p><code class="computeroutput">i</code> is incrementable (not
+ off-the-end)</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td><p>Dereference and assign</p></td>
+<td><p>*i = x</p></td>
+<td><p></p></td>
+<td><p><code class="computeroutput">i</code> is incrementable (not
+ off-the-end)</p></td>
+<td> </td>
+<td><p><code class="computeroutput">*i</code> may not be written to again until it has
+ been incremented.</p></td>
+</tr>
+<tr>
+<td><p>Preincrement</p></td>
+<td><p>++i</p></td>
+<td><p><span class="type">Iter &amp;</span></p></td>
+<td><p><code class="computeroutput">i</code> is incrementable (not
+ off-the-end)</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td><p>Postincrement</p></td>
+<td><p>i++</p></td>
+<td><p></p></td>
+<td><p><code class="computeroutput">i</code> is incrementable (not
+ off-the-end)</p></td>
+<td><p>Equivalent to <code class="computeroutput">(void)(++i)</code></p></td>
+<td><p><code class="computeroutput">i</code> is dereferenceable or
+ off-the-end</p></td>
+</tr>
+<tr>
+<td><p>Postincrement, dereference, and assign</p></td>
+<td><p>*i++ = x</p></td>
+<td><p></p></td>
+<td><p><code class="computeroutput">i</code> is incrementable (not
+ off-the-end)</p></td>
+<td><p>Equivalent to <code class="computeroutput">{*i = t; ++i;}</code></p></td>
+<td><p><code class="computeroutput">i</code> is dereferenceable or
+ off-the-end</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2576931"></a><h2>Complexity</h2>
+<p>
+ All iterator operations must take amortized constant time.
+ </p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2576937"></a><h2>Models</h2>
+<div class="itemizedlist"><ul type="disc">
+<li><span class="simplelist"><span class="type">std::ostream_iterator</span>, <span class="type">...</span></span></li>
+<li><span class="simplelist"><span class="type">std::insert_iterator</span>, <span class="type">...</span></span></li>
+<li><span class="simplelist"><span class="type">std::front_insert_iterator</span>, <span class="type">...</span></span></li>
+<li><span class="simplelist"><span class="type">std::back_insert_iterator</span>, <span class="type">...</span></span></li>
+</ul></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2576987"></a><h2>See also</h2>
+<div class="itemizedlist"><ul type="disc"></ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001, 2002 Indiana University<br>Copyright © 2000, 2001 University of Notre Dame du Lac<br>Copyright © 2000 Jeremy Siek, Lie-Quan Lee, Andrew Lumsdaine<br>Copyright © 1996-1999 Silicon Graphics Computer Systems, Inc.<br>Copyright © 1994 Hewlett-Packard Company</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="InputIterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ForwardIterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/RandomAccessIterator.html b/doc/html/RandomAccessIterator.html
new file mode 100644
index 0000000000..dcf8a49fa2
--- /dev/null
+++ b/doc/html/RandomAccessIterator.html
@@ -0,0 +1,230 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Concept RandomAccessIterator</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="concepts/reference.html" title="Concept reference">
+<link rel="prev" href="BidirectionalIterator.html" title="Concept BidirectionalIterator">
+<link rel="next" href="DefaultConstructible.html" title="Concept DefaultConstructible">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BidirectionalIterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="DefaultConstructible.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="RandomAccessIterator"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Concept RandomAccessIterator</span></h2>
+<p>RandomAccessIterator</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577701"></a><h2>Description</h2>
+<p>A random access iterator is an iterator that can read through
+ a sequence of values. It can move in either direction through the
+ sequence (by any amount in constant time), and can be either mutable
+ (data pointed to by it can be changed) or not mutable.</p>
+<p>An iterator represents a position in a sequence. Therefore,
+ the iterator can point into the sequence (returning a value when
+ dereferenced and being incrementable), or be off-the-end (and not
+ dereferenceable or incrementable).</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577717"></a><h2>Refinement of</h2>
+<div class="itemizedlist"><ul type="disc">
+<li><p><a href="BidirectionalIterator.html" title="Concept BidirectionalIterator">BidirectionalIterator</a></p></li>
+<li><p><a href="LessThanComparable.html" title="Concept LessThanComparable">LessThanComparable</a></p></li>
+</ul></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577739"></a><h2>Associated types</h2>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<p><span class="bold"><strong>value_type</strong></span></p>
+<pre class="literallayout">std::iterator_traits&lt;Iter&gt;::value_type</pre>
+<p>The value type of the iterator</p>
+</li>
+<li>
+<p><span class="bold"><strong>category</strong></span></p>
+<pre class="literallayout">std::iterator_traits&lt;Iter&gt;::iterator_category</pre>
+<p>The category of the iterator</p>
+</li>
+<li>
+<p><span class="bold"><strong>difference_type</strong></span></p>
+<pre class="literallayout">std::iterator_traits&lt;Iter&gt;::difference_type</pre>
+<p>The difference type of the iterator (measure of the number
+ of steps between two iterators)</p>
+</li>
+</ul></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577798"></a><h2>Notation</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">Iter</span></dt>
+<dd>A type playing the role of iterator-type in the <a href="RandomAccessIterator.html" title="Concept RandomAccessIterator">RandomAccessIterator</a> concept.</dd>
+<dt>
+<span class="term"><code class="varname">i</code>, </span><span class="term"><code class="varname">j</code></span>
+</dt>
+<dd>Objects of type Iter</dd>
+<dt><span class="term"><code class="varname">x</code></span></dt>
+<dd>Object of type value_type</dd>
+<dt><span class="term"><code class="varname">n</code></span></dt>
+<dd>Object of type difference_type</dd>
+<dt><span class="term"><code class="varname">int_off</code></span></dt>
+<dd>Object of type int</dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577853"></a><h2>Type expressions</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">Category tag</span></dt>
+<dd><p><span class="type">category</span> must be
+ derived from <span class="type">std::random_access_iterator_tag</span>.
+ </p></dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2577872"></a><h2>Valid expressions</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Expression</th>
+<th>Type</th>
+<th>Semantics</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><p>Motion</p></td>
+<td><p>i += n</p></td>
+<td><p><span class="type">Iter &amp;</span></p></td>
+<td><p>Equivalent to applying <code class="computeroutput">i++</code><code class="computeroutput">n</code> times
+ if <code class="computeroutput">n</code> is positive, applying <code class="computeroutput">i--</code><code class="computeroutput">-n</code> times if <code class="computeroutput">n</code> is negative, and to a null
+ operation if <code class="computeroutput">n</code> is zero.</p></td>
+</tr>
+<tr>
+<td><p>Motion (with integer offset)</p></td>
+<td><p>i += int_off</p></td>
+<td><p><span class="type">Iter &amp;</span></p></td>
+<td><p>Equivalent to applying <code class="computeroutput">i++</code><code class="computeroutput">n</code> times
+ if <code class="computeroutput">n</code> is positive, applying <code class="computeroutput">i--</code><code class="computeroutput">-n</code> times if <code class="computeroutput">n</code> is negative, and to a null
+ operation if <code class="computeroutput">n</code> is zero.</p></td>
+</tr>
+<tr>
+<td><p>Subtractive motion</p></td>
+<td><p>i -= n</p></td>
+<td><p><span class="type">Iter &amp;</span></p></td>
+<td><p>Equivalent to <code class="computeroutput">i+=(-n)</code></p></td>
+</tr>
+<tr>
+<td><p>Subtractive motion (with integer offset)</p></td>
+<td><p>i -= int_off</p></td>
+<td><p><span class="type">Iter &amp;</span></p></td>
+<td><p>Equivalent to <code class="computeroutput">i+=(-n)</code></p></td>
+</tr>
+<tr>
+<td><p>Addition</p></td>
+<td><p>i + n</p></td>
+<td><p><span class="type">Iter</span></p></td>
+<td><p>Equivalent to <code class="computeroutput">{Iter j = i; j += n; return j;}</code></p></td>
+</tr>
+<tr>
+<td><p>Addition with integer</p></td>
+<td><p>i + int_off</p></td>
+<td><p><span class="type">Iter</span></p></td>
+<td><p>Equivalent to <code class="computeroutput">{Iter j = i; j += n; return j;}</code></p></td>
+</tr>
+<tr>
+<td><p>Addition (count first)</p></td>
+<td><p>n + i</p></td>
+<td><p><span class="type">Iter</span></p></td>
+<td><p>Equivalent to <code class="computeroutput">i + n</code></p></td>
+</tr>
+<tr>
+<td><p>Addition with integer (count first)</p></td>
+<td><p>int_off + i</p></td>
+<td><p><span class="type">Iter</span></p></td>
+<td><p>Equivalent to <code class="computeroutput">i + n</code></p></td>
+</tr>
+<tr>
+<td><p>Subtraction</p></td>
+<td><p>i - n</p></td>
+<td><p><span class="type">Iter</span></p></td>
+<td><p>Equivalent to <code class="computeroutput">i + (-n)</code></p></td>
+</tr>
+<tr>
+<td><p>Subtraction with integer</p></td>
+<td><p>i - int_off</p></td>
+<td><p><span class="type">Iter</span></p></td>
+<td><p>Equivalent to <code class="computeroutput">i + (-n)</code></p></td>
+</tr>
+<tr>
+<td><p>Distance</p></td>
+<td><p>i - j</p></td>
+<td><p><span class="type">difference_type</span></p></td>
+<td><p>The number of times <code class="computeroutput">i</code> must be incremented (or
+ decremented if the result is negative) to reach <code class="computeroutput">j</code>. Not
+ defined if <code class="computeroutput">j</code> is not reachable from
+ <code class="computeroutput">i</code>.</p></td>
+</tr>
+<tr>
+<td><p>Element access</p></td>
+<td><p>i[n]</p></td>
+<td><p><span class="type">const-if-not-mutable value_type &amp;</span></p></td>
+<td><p>Equivalent to <code class="computeroutput">*(i + n)</code></p></td>
+</tr>
+<tr>
+<td><p>Element access with integer index</p></td>
+<td><p>i[int_off]</p></td>
+<td><p><span class="type">const-if-not-mutable value_type &amp;</span></p></td>
+<td><p>Equivalent to <code class="computeroutput">*(i + n)</code></p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578257"></a><h2>Complexity</h2>
+<p>
+ All iterator operations must take amortized constant time.
+ </p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578264"></a><h2>Models</h2>
+<div class="itemizedlist"><ul type="disc">
+<li><span class="simplelist"><span class="type">T *</span></span></li>
+<li><span class="simplelist"><span class="type">std::vector&lt;T&gt;::iterator</span></span></li>
+<li><span class="simplelist"><span class="type">std::vector&lt;T&gt;::const_iterator</span></span></li>
+<li><span class="simplelist"><span class="type">std::deque&lt;T&gt;::iterator</span></span></li>
+<li><span class="simplelist"><span class="type">std::deque&lt;T&gt;::const_iterator</span></span></li>
+</ul></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578310"></a><h2>See also</h2>
+<div class="itemizedlist"><ul type="disc"><li><p><a href="LessThanComparable.html" title="Concept LessThanComparable">LessThanComparable</a></p></li></ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001, 2002 Indiana University<br>Copyright © 2000, 2001 University of Notre Dame du Lac<br>Copyright © 2000 Jeremy Siek, Lie-Quan Lee, Andrew Lumsdaine<br>Copyright © 1996-1999 Silicon Graphics Computer Systems, Inc.<br>Copyright © 1994 Hewlett-Packard Company</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BidirectionalIterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="DefaultConstructible.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/SignedInteger.html b/doc/html/SignedInteger.html
new file mode 100644
index 0000000000..10f8296310
--- /dev/null
+++ b/doc/html/SignedInteger.html
@@ -0,0 +1,256 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Concept SignedInteger</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="concepts/reference.html" title="Concept reference">
+<link rel="prev" href="LessThanComparable.html" title="Concept LessThanComparable">
+<link rel="next" href="date_time.html" title="Chapter 3. Boost.Date_Time">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="LessThanComparable.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_time.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="SignedInteger"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Concept SignedInteger</span></h2>
+<p>SignedInteger</p>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578846"></a><h2>Refinement of</h2>
+<div class="itemizedlist"><ul type="disc">
+<li><p><a href="CopyConstructible.html" title="Concept CopyConstructible">CopyConstructible</a></p></li>
+<li><p><a href="Assignable.html" title="Concept Assignable">Assignable</a></p></li>
+<li><p><a href="DefaultConstructible.html" title="Concept DefaultConstructible">DefaultConstructible</a></p></li>
+<li><p><a href="EqualityComparable.html" title="Concept EqualityComparable">EqualityComparable</a></p></li>
+<li><p><a href="LessThanComparable.html" title="Concept LessThanComparable">LessThanComparable</a></p></li>
+</ul></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578891"></a><h2>Notation</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">T</span></dt>
+<dd>A type playing the role of integral-type in the <a href="SignedInteger.html" title="Concept SignedInteger">SignedInteger</a> concept.</dd>
+<dt>
+<span class="term"><code class="varname">x</code>, </span><span class="term"><code class="varname">y</code>, </span><span class="term"><code class="varname">z</code></span>
+</dt>
+<dd>Objects of type T</dd>
+<dt>
+<span class="term"><code class="varname">a</code>, </span><span class="term"><code class="varname">b</code></span>
+</dt>
+<dd>Objects of type int</dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578936"></a><h2>Type expressions</h2>
+<div class="variablelist"><dl>
+<dt><span class="term">Conversion to int</span></dt>
+<dd><p><span class="type">T</span> must be
+ convertible to <span class="type">int</span>.
+ </p></dd>
+</dl></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2578954"></a><h2>Valid expressions</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Expression</th>
+<th>Type</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><p>Conversion from int</p></td>
+<td><p>T(a)</p></td>
+<td><p><span class="type">T</span></p></td>
+</tr>
+<tr>
+<td><p>Preincrement</p></td>
+<td><p>++x</p></td>
+<td><p><span class="type">T &amp;</span></p></td>
+</tr>
+<tr>
+<td><p>Predecrement</p></td>
+<td><p>--x</p></td>
+<td><p><span class="type">T &amp;</span></p></td>
+</tr>
+<tr>
+<td><p>Postincrement</p></td>
+<td><p>x++</p></td>
+<td><p><span class="type">T</span></p></td>
+</tr>
+<tr>
+<td><p>Postdecrement</p></td>
+<td><p>x--</p></td>
+<td><p><span class="type">T</span></p></td>
+</tr>
+<tr>
+<td><p>Sum</p></td>
+<td><p>x + y</p></td>
+<td><p><span class="type">T</span></p></td>
+</tr>
+<tr>
+<td><p>Sum with int</p></td>
+<td><p>x + a</p></td>
+<td><p><span class="type">T</span></p></td>
+</tr>
+<tr>
+<td><p>Sum-assignment</p></td>
+<td><p>x += y</p></td>
+<td><p><span class="type">T &amp;</span></p></td>
+</tr>
+<tr>
+<td><p>Sum-assignment with int</p></td>
+<td><p>x += a</p></td>
+<td><p><span class="type">T &amp;</span></p></td>
+</tr>
+<tr>
+<td><p>Difference</p></td>
+<td><p>x - y</p></td>
+<td><p><span class="type">T</span></p></td>
+</tr>
+<tr>
+<td><p>Difference with int</p></td>
+<td><p>x - a</p></td>
+<td><p><span class="type">T</span></p></td>
+</tr>
+<tr>
+<td><p>Product</p></td>
+<td><p>x * y</p></td>
+<td><p><span class="type">T</span></p></td>
+</tr>
+<tr>
+<td><p>Product with int</p></td>
+<td><p>x * a</p></td>
+<td><p><span class="type">T</span></p></td>
+</tr>
+<tr>
+<td><p>Product-assignment with int</p></td>
+<td><p>x *= a</p></td>
+<td><p><span class="type">T &amp;</span></p></td>
+</tr>
+<tr>
+<td><p>Product with int on left</p></td>
+<td><p>a * x</p></td>
+<td><p><span class="type">T</span></p></td>
+</tr>
+<tr>
+<td><p>Quotient</p></td>
+<td><p>x / y</p></td>
+<td><p><span class="type">T</span></p></td>
+</tr>
+<tr>
+<td><p>Quotient with int</p></td>
+<td><p>x / a</p></td>
+<td><p><span class="type">T</span></p></td>
+</tr>
+<tr>
+<td><p>Right-shift</p></td>
+<td><p>x &gt;&gt; y</p></td>
+<td><p><span class="type">T</span></p></td>
+</tr>
+<tr>
+<td><p>Right-shift with int</p></td>
+<td><p>x &gt;&gt; a</p></td>
+<td><p><span class="type">T</span></p></td>
+</tr>
+<tr>
+<td><p>Right-shift-assignment with int</p></td>
+<td><p>x &gt;&gt;= a</p></td>
+<td><p><span class="type">T &amp;</span></p></td>
+</tr>
+<tr>
+<td><p>Less-than comparison</p></td>
+<td><p>x &lt; y</p></td>
+<td><p>Convertible to <span class="type">bool</span></p></td>
+</tr>
+<tr>
+<td><p>Less-than comparison with int</p></td>
+<td><p>x &lt; a</p></td>
+<td><p>Convertible to <span class="type">bool</span></p></td>
+</tr>
+<tr>
+<td><p>Less-than comparison with size_t</p></td>
+<td><p>x &lt; boost::sample_value &lt; std::size_t &gt;()</p></td>
+<td><p>Convertible to <span class="type">bool</span></p></td>
+</tr>
+<tr>
+<td><p>Greater-than comparison</p></td>
+<td><p>x &gt; y</p></td>
+<td><p>Convertible to <span class="type">bool</span></p></td>
+</tr>
+<tr>
+<td><p>Greater-than comparison with int</p></td>
+<td><p>x &gt; a</p></td>
+<td><p>Convertible to <span class="type">bool</span></p></td>
+</tr>
+<tr>
+<td><p>Less-than-or-equal comparison</p></td>
+<td><p>x &lt;= y</p></td>
+<td><p>Convertible to <span class="type">bool</span></p></td>
+</tr>
+<tr>
+<td><p>Less-than-or-equal comparison with int</p></td>
+<td><p>x &lt;= a</p></td>
+<td><p>Convertible to <span class="type">bool</span></p></td>
+</tr>
+<tr>
+<td><p>Greater-than-or-equal comparison</p></td>
+<td><p>x &gt;= y</p></td>
+<td><p>Convertible to <span class="type">bool</span></p></td>
+</tr>
+<tr>
+<td><p>Greater-than-or-equal comparison with int</p></td>
+<td><p>x &gt;= a</p></td>
+<td><p>Convertible to <span class="type">bool</span></p></td>
+</tr>
+<tr>
+<td><p>Greater-than-or-equal comparison with int on left</p></td>
+<td><p>a &gt;= x</p></td>
+<td><p>Convertible to <span class="type">bool</span></p></td>
+</tr>
+<tr>
+<td><p>Equality comparison</p></td>
+<td><p>x == y</p></td>
+<td><p>Convertible to <span class="type">bool</span></p></td>
+</tr>
+<tr>
+<td><p>Equality comparison with int</p></td>
+<td><p>x == a</p></td>
+<td><p>Convertible to <span class="type">bool</span></p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1" lang="en">
+<a name="id2579395"></a><h2>See also</h2>
+<div class="itemizedlist"><ul type="disc"></ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001, 2002 Indiana University<br>Copyright © 2000, 2001 University of Notre Dame du Lac<br>Copyright © 2000 Jeremy Siek, Lie-Quan Lee, Andrew Lumsdaine<br>Copyright © 1996-1999 Silicon Graphics Computer Systems, Inc.<br>Copyright © 1994 Hewlett-Packard Company</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="LessThanComparable.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="concepts/reference.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_time.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/abstract_variables_map.html b/doc/html/abstract_variables_map.html
new file mode 100644
index 0000000000..076984a5c3
--- /dev/null
+++ b/doc/html/abstract_variables_map.html
@@ -0,0 +1,107 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class abstract_variables_map</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2524541" title="Header &lt;boost/program_options/variables_map.hpp&gt;">
+<link rel="prev" href="variable_value.html" title="Class variable_value">
+<link rel="next" href="variables_map.html" title="Class variables_map">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="variable_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2524541"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="variables_map.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="abstract_variables_map"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class abstract_variables_map</span></h2>
+<p>boost::program_options::abstract_variables_map &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> abstract_variables_map {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="abstract_variables_map.html#abstract_variables_mapconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="abstract_variables_map.html#id2363244-bb">abstract_variables_map</a>();
+  <a href="abstract_variables_map.html#id2363247-bb">abstract_variables_map</a>(<span class="bold"><strong>const</strong></span> <a href="abstract_variables_map.html" title="Class abstract_variables_map">abstract_variables_map</a> *);
+  <a href="abstract_variables_map.html#id2434664-bb">~abstract_variables_map</a>();
+
+  <span class="emphasis"><em>// <a href="abstract_variables_map.html#id2517131-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>const</strong></span> <a href="variable_value.html" title="Class variable_value">variable_value</a> &amp;</span> <a href="abstract_variables_map.html#id2517135-bb"><span class="bold"><strong>operator</strong></span>[]</a>(<span class="bold"><strong>const</strong></span> std::string &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="abstract_variables_map.html#id2373603-bb">next</a>(<a href="abstract_variables_map.html" title="Class abstract_variables_map">abstract_variables_map</a> *) ;
+
+  <span class="emphasis"><em>// <a href="abstract_variables_map.html#id2434666-bb">private member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>const</strong></span> <a href="variable_value.html" title="Class variable_value">variable_value</a> &amp;</span> <a href="abstract_variables_map.html#id2434670-bb">get</a>(<span class="bold"><strong>const</strong></span> std::string &amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2729003"></a><h2>Description</h2>
+<p>Implements string-&gt;string mapping with convenient value casting facilities. </p>
+<div class="refsect2" lang="en">
+<a name="id2729012"></a><h3>
+<a name="abstract_variables_mapconstruct-copy-destruct"></a><code class="computeroutput">abstract_variables_map</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2363244-bb"></a>abstract_variables_map();</pre></li>
+<li><pre class="literallayout"><a name="id2363247-bb"></a>abstract_variables_map(<span class="bold"><strong>const</strong></span> <a href="abstract_variables_map.html" title="Class abstract_variables_map">abstract_variables_map</a> * next);</pre></li>
+<li><pre class="literallayout"><a name="id2434664-bb"></a>~abstract_variables_map();</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2729088"></a><h3>
+<a name="id2517131-bb"></a><code class="computeroutput">abstract_variables_map</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <a href="variable_value.html" title="Class variable_value">variable_value</a> &amp;</span> <a name="id2517135-bb"></a><span class="bold"><strong>operator</strong></span>[](<span class="bold"><strong>const</strong></span> std::string &amp; name) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Obtains the value of variable 'name', from *this and possibly from the chain of variable maps.</p>
+<div class="itemizedlist"><ul type="disc"><li>
+<p>if there's no value in *this.</p>
+<div class="itemizedlist"><ul type="circle">
+<li><p>if there's next variable map, returns value from it</p></li>
+<li><p>otherwise, returns empty value</p></li>
+</ul></div>
+</li></ul></div>
+<div class="itemizedlist"><ul type="disc"><li>
+<p>if there's defaulted value</p>
+<div class="itemizedlist"><ul type="circle">
+<li><p>if there's next varaible map, which has a non-defauled value, return that</p></li>
+<li><p>otherwise, return value from *this</p></li>
+</ul></div>
+</li></ul></div>
+<div class="itemizedlist"><ul type="disc"><li><p>if there's a non-defauled value, returns it. </p></li></ul></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2373603-bb"></a>next(<a href="abstract_variables_map.html" title="Class abstract_variables_map">abstract_variables_map</a> * next) ;</pre>
+<p>Sets next variable map, which will be used to find variables not found in *this. </p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2729226"></a><h3>
+<a name="id2434666-bb"></a><code class="computeroutput">abstract_variables_map</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>const</strong></span> <a href="variable_value.html" title="Class variable_value">variable_value</a> &amp;</span> <a name="id2434670-bb"></a>get(<span class="bold"><strong>const</strong></span> std::string &amp; name) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns value of variable 'name' stored in *this, or empty value otherwise. </p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="variable_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2524541"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="variables_map.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/acst_dst_trait.html b/doc/html/acst_dst_trait.html
new file mode 100644
index 0000000000..3920d039f0
--- /dev/null
+++ b/doc/html/acst_dst_trait.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct template acst_dst_trait</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2503510" title="Header &lt;boost/date_time/local_timezone_defs.hpp&gt;">
+<link rel="prev" href="uk_dst_trait.html" title="Struct template uk_dst_trait">
+<link rel="next" href="microsec_clock.html" title="Class template microsec_clock">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="uk_dst_trait.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2503510"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="microsec_clock.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="acst_dst_trait"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template acst_dst_trait</span></h2>
+<p>boost::date_time::acst_dst_trait &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt;
+<span class="bold"><strong>struct</strong></span> acst_dst_trait {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::day_of_week_type                day_of_week_type;  
+  <span class="bold"><strong>typedef</strong></span> date_type::month_type                      month_type;        
+  <span class="bold"><strong>typedef</strong></span> <a href="last_kday_of_month.html" title="Class template last_kday_of_month">date_time::last_kday_of_month</a>&lt; date_type &gt; start_rule_functor;
+  <span class="bold"><strong>typedef</strong></span> <a href="last_kday_of_month.html" title="Class template last_kday_of_month">date_time::last_kday_of_month</a>&lt; date_type &gt; end_rule_functor;  
+
+  <span class="emphasis"><em>// <a href="acst_dst_trait.html#id2502365-bb">public static functions</a></em></span>
+  <span class="type">day_of_week_type</span> <a href="acst_dst_trait.html#id2502370-bb">start_day</a>() ;
+  <span class="type">month_type</span> <a href="acst_dst_trait.html#id2515887-bb">start_month</a>() ;
+  <span class="type">day_of_week_type</span> <a href="acst_dst_trait.html#id2515899-bb">end_day</a>() ;
+  <span class="type">month_type</span> <a href="acst_dst_trait.html#id2415038-bb">end_month</a>() ;
+  <span class="type"><span class="bold"><strong>int</strong></span></span> <a href="acst_dst_trait.html#id2415050-bb">dst_start_offset_minutes</a>() ;
+  <span class="type"><span class="bold"><strong>int</strong></span></span> <a href="acst_dst_trait.html#id2417003-bb">dst_end_offset_minutes</a>() ;
+  <span class="type"><span class="bold"><strong>int</strong></span></span> <a href="acst_dst_trait.html#id2417015-bb">dst_shift_length_minutes</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2644953"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2644956"></a><h3>
+<a name="id2502365-bb"></a><code class="computeroutput">acst_dst_trait</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">day_of_week_type</span> <a name="id2502370-bb"></a>start_day() ;</pre></li>
+<li><pre class="literallayout"><span class="type">month_type</span> <a name="id2515887-bb"></a>start_month() ;</pre></li>
+<li><pre class="literallayout"><span class="type">day_of_week_type</span> <a name="id2515899-bb"></a>end_day() ;</pre></li>
+<li><pre class="literallayout"><span class="type">month_type</span> <a name="id2415038-bb"></a>end_month() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="id2415050-bb"></a>dst_start_offset_minutes() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="id2417003-bb"></a>dst_end_offset_minutes() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="id2417015-bb"></a>dst_shift_length_minutes() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="uk_dst_trait.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2503510"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="microsec_clock.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/all.html b/doc/html/all.html
new file mode 100644
index 0000000000..48e2c7f986
--- /dev/null
+++ b/doc/html/all.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template all</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2589054" title="Header &lt;boost/algorithm/string/predicate.hpp&gt;">
+<link rel="prev" href="iequals.html" title="Function template iequals">
+<link rel="next" href="find_regex.html" title="Function template find_regex">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iequals.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2589054"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_regex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="all"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template all</span></h2>
+<p>boost::algorithm::all &#8212; 'All' predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> all(<span class="bold"><strong>const</strong></span> RangeT &amp; Input, PredicateT Pred);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2762539"></a><h2>Description</h2>
+<p>This predicate holds it all its elements satisfy a given condition, represented by the predicate.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">Pred</span></dt>
+<dd><p>A predicate </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ The result of the test<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iequals.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2589054"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_regex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/all_date_names_put.html b/doc/html/all_date_names_put.html
new file mode 100644
index 0000000000..1baf748678
--- /dev/null
+++ b/doc/html/all_date_names_put.html
@@ -0,0 +1,120 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template all_date_names_put</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2507977" title="Header &lt;boost/date_time/date_names_put.hpp&gt;">
+<link rel="prev" href="date_names_put.html" title="Class template date_names_put">
+<link rel="next" href="dst_calculator.html" title="Class template dst_calculator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_names_put.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2507977"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="dst_calculator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="all_date_names_put"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template all_date_names_put</span></h2>
+<p>boost::date_time::all_date_names_put &#8212; A date name output facet that takes an array of char* to define strings. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Config, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>,
+         <span class="bold"><strong>typename</strong></span> <a href="OutputIterator.html" title="Concept OutputIterator">OutputIterator</a> = std::ostreambuf_iterator&lt;charT&gt; &gt;
+<span class="bold"><strong>class</strong></span> all_date_names_put : <span class="bold"><strong>public</strong></span> boost::date_time::date_names_put&lt; Config, charT, OutputIterator &gt;
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> OutputIterator             iter_type;         
+  <span class="bold"><strong>typedef</strong></span> Config::month_enum         month_enum;        
+  <span class="bold"><strong>typedef</strong></span> Config::weekday_enum       weekday_enum;      
+  <span class="bold"><strong>typedef</strong></span> Config::special_value_enum special_value_enum;
+
+  <span class="emphasis"><em>// <a href="all_date_names_put.html#all_date_names_putconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="all_date_names_put.html#id2432446-bb">all_date_names_put</a>(<span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span>, <span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span>,
+                     <span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span>, <span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span>,
+                     <span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span>, charT = '-',
+                     ymd_order_spec = ymd_order_iso,
+                     month_format_spec = month_as_short_string);
+
+  <span class="emphasis"><em>// <a href="all_date_names_put.html#id2463312-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span> *</span> <a href="all_date_names_put.html#id2463316-bb">get_short_month_names</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span> *</span> <a href="all_date_names_put.html#id2524035-bb">get_long_month_names</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span> *</span> <a href="all_date_names_put.html#id2524047-bb">get_special_value_names</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span> *</span> <a href="all_date_names_put.html#id2402318-bb">get_short_weekday_names</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span> *</span> <a href="all_date_names_put.html#id2432433-bb">get_long_weekday_names</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="all_date_names_put.html#id2509236-bb">protected member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="all_date_names_put.html#id2514360-bb">do_put_month_short</a>(iter_type &amp;, month_enum) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="all_date_names_put.html#id2473935-bb">do_put_month_long</a>(iter_type &amp;, month_enum) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="all_date_names_put.html#id2386507-bb">do_put_special_value</a>(iter_type &amp;, special_value_enum) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="all_date_names_put.html#id2373072-bb">do_put_weekday_short</a>(iter_type &amp;, weekday_enum) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="all_date_names_put.html#id2429397-bb">do_put_weekday_long</a>(iter_type &amp;, weekday_enum) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="all_date_names_put.html#id2509580-bb">do_month_sep_char</a>(iter_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="all_date_names_put.html#id2471104-bb">do_day_sep_char</a>(iter_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> ymd_order_spec</span> <a href="all_date_names_put.html#id2500056-bb">do_date_order</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> month_format_spec</span> <a href="all_date_names_put.html#id2413154-bb">do_month_format</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2630713"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2630716"></a><h3>
+<a name="all_date_names_putconstruct-copy-destruct"></a><code class="computeroutput">all_date_names_put</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2432446-bb"></a>all_date_names_put(<span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span> month_short_names,
+                   <span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span> month_long_names,
+                   <span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span> special_value_names,
+                   <span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span> weekday_short_names,
+                   <span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span> weekday_long_names,
+                   charT separator_char = '-',
+                   ymd_order_spec order_spec = ymd_order_iso,
+                   month_format_spec month_format = month_as_short_string);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2630827"></a><h3>
+<a name="id2463312-bb"></a><code class="computeroutput">all_date_names_put</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span> *</span> <a name="id2463316-bb"></a>get_short_month_names() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span> *</span> <a name="id2524035-bb"></a>get_long_month_names() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span> *</span> <a name="id2524047-bb"></a>get_special_value_names() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span> *</span> <a name="id2402318-bb"></a>get_short_weekday_names() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span> *</span> <a name="id2432433-bb"></a>get_long_weekday_names() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2631017"></a><h3>
+<a name="id2509236-bb"></a><code class="computeroutput">all_date_names_put</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2514360-bb"></a>do_put_month_short(iter_type &amp; oitr, month_enum moy) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2473935-bb"></a>do_put_month_long(iter_type &amp; oitr, month_enum moy) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span>
+<a name="id2386507-bb"></a>do_put_special_value(iter_type &amp; oitr, special_value_enum sv) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2373072-bb"></a>do_put_weekday_short(iter_type &amp; oitr, weekday_enum wd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2429397-bb"></a>do_put_weekday_long(iter_type &amp; oitr, weekday_enum wd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2509580-bb"></a>do_month_sep_char(iter_type &amp; oitr) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2471104-bb"></a>do_day_sep_char(iter_type &amp; oitr) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> ymd_order_spec</span> <a name="id2500056-bb"></a>do_date_order() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> month_format_spec</span> <a name="id2413154-bb"></a>do_month_format() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_names_put.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2507977"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="dst_calculator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ambiguous_option.html b/doc/html/ambiguous_option.html
new file mode 100644
index 0000000000..282a6429bf
--- /dev/null
+++ b/doc/html/ambiguous_option.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class ambiguous_option</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2399042" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="unknown_option.html" title="Class unknown_option">
+<link rel="next" href="multiple_values.html" title="Class multiple_values">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="unknown_option.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="multiple_values.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ambiguous_option"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class ambiguous_option</span></h2>
+<p>boost::program_options::ambiguous_option &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> ambiguous_option : <span class="bold"><strong>public</strong></span> boost::program_options::error {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="ambiguous_option.html#ambiguous_optionconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="ambiguous_option.html#id2437428-bb">ambiguous_option</a>(<span class="bold"><strong>const</strong></span> std::string &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp;);
+  <a href="ambiguous_option.html#id2422470-bb">~ambiguous_option</a>();
+
+  <span class="emphasis"><em>// <a href="ambiguous_option.html#id2347280-bb">public member functions</a></em></span>
+
+  std::vector&lt; std::string &gt; alternatives;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2718642"></a><h2>Description</h2>
+<p>Class thrown when there's ambiguity amoung several possible options. </p>
+<div class="refsect2" lang="en">
+<a name="id2718649"></a><h3>
+<a name="ambiguous_optionconstruct-copy-destruct"></a><code class="computeroutput">ambiguous_option</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2437428-bb"></a>ambiguous_option(<span class="bold"><strong>const</strong></span> std::string &amp; name,
+                 <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp; alternatives);</pre></li>
+<li><pre class="literallayout"><a name="id2422470-bb"></a>~ambiguous_option();</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2718712"></a><h3>
+<a name="id2347280-bb"></a><code class="computeroutput">ambiguous_option</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="unknown_option.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="multiple_values.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ambiguous_result.html b/doc/html/ambiguous_result.html
new file mode 100644
index 0000000000..8b015a671f
--- /dev/null
+++ b/doc/html/ambiguous_result.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct ambiguous_result</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2475866" title="Header &lt;boost/date_time/local_time/local_date_time.hpp&gt;">
+<link rel="prev" href="nth_kday_rule_spec.html" title="Struct nth_kday_rule_spec">
+<link rel="next" href="time_label_invalid.html" title="Struct time_label_invalid">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nth_kday_rule_spec.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475866"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_label_invalid.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ambiguous_result"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct ambiguous_result</span></h2>
+<p>boost::local_time::ambiguous_result &#8212; simple exception for reporting when STD or DST cannot be determined </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> ambiguous_result {
+  <span class="emphasis"><em>// <a href="ambiguous_result.html#ambiguous_resultconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="ambiguous_result.html#id2475894-bb">ambiguous_result</a>(std::string = "");
+
+  <span class="emphasis"><em>// <a href="ambiguous_result.html#id2475890-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2682567"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2682571"></a><h3>
+<a name="ambiguous_resultconstruct-copy-destruct"></a><code class="computeroutput">ambiguous_result</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2475894-bb"></a>ambiguous_result(std::string _msg = "");</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2682604"></a><h3>
+<a name="id2475890-bb"></a><code class="computeroutput">ambiguous_result</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nth_kday_rule_spec.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475866"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_label_invalid.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/any.html b/doc/html/any.html
new file mode 100644
index 0000000000..e677fc7f07
--- /dev/null
+++ b/doc/html/any.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 1. Boost.Any</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries">
+<link rel="prev" href="libraries/s02.html" title="Libraries Listed by Category">
+<link rel="next" href="any/s02.html" title="Examples">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="libraries/s02.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="any/s02.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="any"></a>Chapter 1. Boost.Any</h2></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Kevlin</span> <span class="surname">Henney</span>
+</h3></div></div>
+<div><p class="copyright">Copyright © 2001 Kevlin Henney</p></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="any.html#id2570179">Introduction</a></span></dt>
+<dt><span class="section"><a href="any/s02.html">Examples</a></span></dt>
+<dt><span class="section"><a href="any/reference.html">Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="any/reference.html#any.ValueType"><span class="emphasis"><em>ValueType</em></span> requirements</a></span></dt>
+<dt><span class="section"><a href="any/reference.html#header.boost.any.hpp">Header &lt;boost/any.hpp&gt;</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="any/s04.html">Acknowledgements</a></span></dt>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2570179"></a>Introduction</h3></div></div></div>
+<p>There are times when a generic (in the sense of
+ <span class="emphasis"><em>general</em></span> as opposed to
+ <span class="emphasis"><em>template-based programming</em></span>) type is needed:
+ variables that are truly variable, accommodating values of many
+ other more specific types rather than C++'s normal strict and
+ static types. We can distinguish three basic kinds of generic
+ type:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>Converting types that can hold one of a number of
+ possible value types, e.g. <code class="computeroutput">int</code> and
+ <code class="computeroutput">string</code>, and freely convert between them, for
+ instance interpreting <code class="computeroutput">5</code> as <code class="computeroutput">"5"</code> or
+ vice-versa. Such types are common in scripting and other
+ interpreted
+ languages.
+ <code class="computeroutput">boost::lexical_cast</code>
+ supports such conversion functionality.</p></li>
+<li><p>
+ Discriminated types that contain values of different types but
+ do not attempt conversion between them, i.e. <code class="computeroutput">5</code> is
+ held strictly as an <code class="computeroutput">int</code> and is not implicitly
+ convertible either to <code class="computeroutput">"5"</code> or to
+ <code class="computeroutput">5.0</code>. Their indifference to interpretation but
+ awareness of type effectively makes them safe, generic
+ containers of single values, with no scope for surprises from
+ ambiguous conversions.</p></li>
+<li><p>
+ Indiscriminate types that can refer to anything but are
+ oblivious to the actual underlying type, entrusting all forms
+ of access and interpretation to the programmer. This niche is
+ dominated by <code class="computeroutput">void *</code>, which offers plenty of scope
+ for surprising, undefined behavior.</p></li>
+</ul></div>
+<p>The <code class="computeroutput"><a href="boost/any.html" title="Class any">boost::any</a></code> class
+ (based on the class of the same name described in <a href="http://www.two-sdg.demon.co.uk/curbralan/papers/ValuedConversions.pdf" target="_top">"Valued
+ Conversions"</a> by Kevlin Henney, <span class="emphasis"><em>C++
+ Report</em></span> 12(7), July/August 2000) is a variant value type
+ based on the second category. It supports copying of any value
+ type and safe checked extraction of that value strictly against
+ its type. A similar design, offering more appropriate operators,
+ can be used for a generalized function adaptor,
+ <code class="computeroutput">any_function</code>, a generalized iterator adaptor,
+ <code class="computeroutput">any_iterator</code>, and other object types that need
+ uniform runtime treatment but support only compile-time template
+ parameter conformance.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: November 03, 2005 at 06:08:29 GMT</p></small></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="libraries/s02.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="any/s02.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/any/reference.html b/doc/html/any/reference.html
new file mode 100644
index 0000000000..05d96875db
--- /dev/null
+++ b/doc/html/any/reference.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Reference</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../any.html" title="Chapter 1. Boost.Any">
+<link rel="prev" href="s02.html" title="Examples">
+<link rel="next" href="../bad_any_cast.html" title="Class bad_any_cast">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s02.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../any.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../bad_any_cast.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="any.reference"></a>Reference</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="reference.html#any.ValueType"><span class="emphasis"><em>ValueType</em></span> requirements</a></span></dt>
+<dt><span class="section"><a href="reference.html#header.boost.any.hpp">Header &lt;boost/any.hpp&gt;</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="any.ValueType"></a><span class="emphasis"><em>ValueType</em></span> requirements</h4></div></div></div>
+<p>Values are strongly informational objects for which
+ identity is not significant, i.e. the focus is principally on
+ their state content and any behavior organized around
+ that. Another distinguishing feature of values is their
+ granularity: normally fine-grained objects representing simple
+ concepts in the system such as quantities.</p>
+<p>As the emphasis of a value lies in its state not its
+ identity, values can be copied and typically assigned one to
+ another, requiring the explicit or implicit definition of a
+ public copy constructor and public assignment operator. Values
+ typically live within other scopes, i.e. within objects or
+ blocks, rather than on the heap. Values are therefore normally
+ passed around and manipulated directly as variables or through
+ references, but not as pointers that emphasize identity and
+ indirection.</p>
+<p>The specific requirements on value types to be used in an
+ <code class="computeroutput"><a href="../boost/any.html" title="Class any">any</a></code>
+ are:</p>
+<div class="itemizedlist"><ul type="disc" compact>
+<li>A <span class="emphasis"><em>ValueType</em></span> is
+ <span class="emphasis"><em>CopyConstructible</em></span> [20.1.3].</li>
+<li>A <span class="emphasis"><em>ValueType</em></span> is
+ optionally <span class="emphasis"><em>Assignable</em></span> [23.1]. The strong
+ exception-safety guarantee is required for all forms of
+ assignment.</li>
+<li>The destructor for a
+ <span class="emphasis"><em>ValueType</em></span> upholds the no-throw
+ exception-safety guarantee.</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.any.hpp"></a>Header &lt;<a href="../../../boost/any.hpp" target="_top">boost/any.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>class</strong></span> <a href="../bad_any_cast.html" title="Class bad_any_cast">bad_any_cast</a>;
+  <span class="bold"><strong>class</strong></span> <a href="../boost/any.html" title="Class any">any</a>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">T</span> <a href="../any_cast.html" title="Function any_cast">any_cast</a>(<a href="../boost/any.html" title="Class any">any</a> &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">T</span> <a href="../any_cast.html" title="Function any_cast">any_cast</a>(<span class="bold"><strong>const</strong></span> <a href="../boost/any.html" title="Class any">any</a> &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ValueType&gt; <span class="type"><span class="bold"><strong>const</strong></span> ValueType *</span> <a href="../any_cast.html" title="Function any_cast">any_cast</a>(<span class="bold"><strong>const</strong></span> <a href="../boost/any.html" title="Class any">any</a> *);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ValueType&gt; <span class="type">ValueType *</span> <a href="../any_cast.html" title="Function any_cast">any_cast</a>(<a href="../boost/any.html" title="Class any">any</a> *);
+}</pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001 Kevlin Henney</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s02.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../any.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../bad_any_cast.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/any/s02.html b/doc/html/any/s02.html
new file mode 100644
index 0000000000..c78eff63ce
--- /dev/null
+++ b/doc/html/any/s02.html
@@ -0,0 +1,144 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Examples</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../any.html" title="Chapter 1. Boost.Any">
+<link rel="prev" href="../any.html" title="Chapter 1. Boost.Any">
+<link rel="next" href="reference.html" title="Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../any.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../any.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2570329"></a>Examples</h3></div></div></div>
+<p>The following code demonstrates the syntax for using
+ implicit conversions to and copying of any objects:</p>
+<pre class="programlisting">
+#include &lt;list&gt;
+#include &lt;boost/any.hpp&gt;
+
+using <code class="computeroutput"><a href="../any_cast.html" title="Function any_cast">boost::any_cast</a></code>;
+typedef std::list&lt;<code class="computeroutput"><a href="../boost/any.html" title="Class any">boost::any</a></code>&gt; many;
+
+void append_int(many &amp; values, int value)
+{
+ <code class="computeroutput"><a href="../boost/any.html" title="Class any">boost::any</a></code> to_append = value;
+ values.push_back(to_append);
+}
+
+void append_string(many &amp; values, const std::string &amp; value)
+{
+ values.push_back(value);
+}
+
+void append_char_ptr(many &amp; values, const char * value)
+{
+ values.push_back(value);
+}
+
+void append_any(many &amp; values, const <code class="computeroutput"><a href="../boost/any.html" title="Class any">boost::any</a></code> &amp; value)
+{
+ values.push_back(value);
+}
+
+void append_nothing(many &amp; values)
+{
+ values.push_back(<code class="computeroutput"><a href="../boost/any.html" title="Class any">boost::any</a></code>());
+}
+</pre>
+<p>The following predicates follow on from the previous
+ definitions and demonstrate the use of queries on any
+ objects:</p>
+<pre class="programlisting">
+bool is_empty(const <code class="computeroutput"><a href="../boost/any.html" title="Class any">boost::any</a></code> &amp; operand)
+{
+ return operand.<code class="computeroutput"><a href="../boost/any.html#id2336590-bb">empty</a></code>();
+}
+
+bool is_int(const <code class="computeroutput"><a href="../boost/any.html" title="Class any">boost::any</a></code> &amp; operand)
+{
+ return operand.<code class="computeroutput"><a href="../boost/any.html#id2336618-bb">type</a></code>() == typeid(int);
+}
+
+bool is_char_ptr(const <code class="computeroutput"><a href="../boost/any.html" title="Class any">boost::any</a></code> &amp; operand)
+{
+ try
+ {
+ <code class="computeroutput"><a href="../any_cast.html" title="Function any_cast">any_cast</a></code>&lt;const char *&gt;(operand);
+ return true;
+ }
+ catch(const <code class="computeroutput"><a href="../bad_any_cast.html" title="Class bad_any_cast">boost::bad_any_cast</a></code> &amp;)
+ {
+ return false;
+ }
+}
+
+bool is_string(const <code class="computeroutput"><a href="../boost/any.html" title="Class any">boost::any</a></code> &amp; operand)
+{
+ return <code class="computeroutput"><a href="../any_cast.html" title="Function any_cast">any_cast</a></code>&lt;std::string&gt;(&amp;operand);
+}
+
+void count_all(many &amp; values, std::ostream &amp; out)
+{
+ out &lt;&lt; "#empty == "
+ &lt;&lt; std::count_if(values.begin(), values.end(), is_empty) &lt;&lt; std::endl;
+ out &lt;&lt; "#int == "
+ &lt;&lt; std::count_if(values.begin(), values.end(), is_int) &lt;&lt; std::endl;
+ out &lt;&lt; "#const char * == "
+ &lt;&lt; std::count_if(values.begin(), values.end(), is_char_ptr) &lt;&lt; std::endl;
+ out &lt;&lt; "#string == "
+ &lt;&lt; std::count_if(values.begin(), values.end(), is_string) &lt;&lt; std::endl;
+}
+</pre>
+<p>The following type, patterned after the OMG's Property Service, defines name-value pairs for arbitrary value types:</p>
+<pre class="programlisting">
+struct property
+{
+ property();
+ property(const std::string &amp;, const <code class="computeroutput"><a href="../boost/any.html" title="Class any">boost::any</a></code> &amp;);
+
+ std::string name;
+ <code class="computeroutput"><a href="../boost/any.html" title="Class any">boost::any</a></code> value;
+};
+
+typedef std::list&lt;property&gt; properties;
+</pre>
+<p>The following base class demonstrates one approach to
+ runtime polymorphism based callbacks that also require arbitrary
+ argument types. The absence of virtual member templates requires
+ that different solutions have different trade-offs in terms of
+ efficiency, safety, and generality. Using a checked variant type
+ offers one approach:</p>
+<pre class="programlisting">
+class consumer
+{
+public:
+ virtual void notify(const <code class="computeroutput"><a href="../boost/any.html" title="Class any">any</a></code> &amp;) = 0;
+ ...
+};
+</pre>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001 Kevlin Henney</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../any.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../any.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/any/s04.html b/doc/html/any/s04.html
new file mode 100644
index 0000000000..b98217519d
--- /dev/null
+++ b/doc/html/any/s04.html
@@ -0,0 +1,39 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Acknowledgements</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../any.html" title="Chapter 1. Boost.Any">
+<link rel="prev" href="../any_cast.html" title="Function any_cast">
+<link rel="next" href="../array.html" title="Chapter 2. Boost.Array">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../any_cast.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../any.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../array.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2572232"></a>Acknowledgements</h3></div></div></div>
+<p>Doug Gregor ported the documentation to the BoostBook format.</p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001 Kevlin Henney</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../any_cast.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../any.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../array.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/any_cast.html b/doc/html/any_cast.html
new file mode 100644
index 0000000000..d1057c7a00
--- /dev/null
+++ b/doc/html/any_cast.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function any_cast</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="any/reference.html#header.boost.any.hpp" title="Header &lt;boost/any.hpp&gt;">
+<link rel="prev" href="boost/any.html" title="Class any">
+<link rel="next" href="any/s04.html" title="Acknowledgements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/any.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="any/reference.html#header.boost.any.hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="any/s04.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="any_cast"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function any_cast</span></h2>
+<p>boost::any_cast &#8212; <p>Custom keyword cast for extracting a value
+ of a given type from an
+ <code class="computeroutput"><a href="boost/any.html" title="Class any">any</a></code>.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">T</span> any_cast(<a href="boost/any.html" title="Class any">any</a> &amp; operand);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">T</span> any_cast(<span class="bold"><strong>const</strong></span> <a href="boost/any.html" title="Class any">any</a> &amp; operand);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ValueType&gt; <span class="type"><span class="bold"><strong>const</strong></span> ValueType *</span> any_cast(<span class="bold"><strong>const</strong></span> <a href="boost/any.html" title="Class any">any</a> * operand);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ValueType&gt; <span class="type">ValueType *</span> any_cast(<a href="boost/any.html" title="Class any">any</a> * operand);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2572174"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ If passed a pointer, it returns a
+ similarly qualified pointer to the value content if
+ successful, otherwise null is returned.
+ If T is ValueType, it returns a copy of the held value, otherwise, if T is a reference
+ to (possibly const qualified) ValueType, it returns a reference to the held
+ value.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Overloads taking an
+ <code class="computeroutput"><a href="boost/any.html" title="Class any">any</a></code> pointer do not
+ throw; overloads taking an
+ <code class="computeroutput"><a href="boost/any.html" title="Class any">any</a></code> value or reference
+ throws <code class="computeroutput"><a href="bad_any_cast.html" title="Class bad_any_cast">bad_any_cast</a></code> if
+ unsuccessful.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001 Kevlin Henney</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/any.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="any/reference.html#header.boost.any.hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="any/s04.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/apa.html b/doc/html/apa.html
new file mode 100644
index 0000000000..e43a9a5938
--- /dev/null
+++ b/doc/html/apa.html
@@ -0,0 +1,111 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Appendix A. Rationale for some of the design decisions</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="lambda.html" title="Chapter 6. Boost.Lambda">
+<link rel="prev" href="lambda/s09.html" title="Contributors">
+<link rel="next" href="program_options.html" title="Chapter 7. Boost.Program_options">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lambda/s09.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="lambda.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="program_options.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="appendix" lang="en">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="id2713626"></a>Appendix A. Rationale for some of the design decisions</h2></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl><dt><span class="section"><a href="apa.html#lambda.why_weak_arity">
+Lambda functor arity
+</a></span></dt></dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="lambda.why_weak_arity"></a>
+Lambda functor arity
+</h4></div></div></div>
+<p>
+The highest placeholder index in a lambda expression determines the arity of the resulting function object.
+However, this is just the minimal arity, as the function object can take arbitrarily many arguments; those not needed are discarded.
+Consider the two bind expressions and their invocations below:
+
+</p>
+<pre class="programlisting">
+bind(g, _3, _3, _3)(x, y, z);
+bind(g, _1, _1, _1)(x, y, z);
+</pre>
+<p>
+
+This first line discards arguments <code class="literal">x</code> and
+<code class="literal">y</code>, and makes the call:
+</p>
+<pre class="programlisting">
+g(z, z, z)
+</pre>
+<p>
+whereas the second line discards arguments <code class="literal">y</code> and
+<code class="literal">z</code>, and calls:
+</p>
+<pre class="programlisting">
+g(x, x, x)
+</pre>
+<p>
+In earlier versions of the library, the latter line resulted in a compile
+time error.
+
+This is basically a tradeoff between safety and flexibility, and the issue
+was extensively discussed during the Boost review period of the library.
+The main points for the <span class="emphasis"><em>strict arity</em></span> checking
+was that it might
+catch a programming error at an earlier time and that a lambda expression that
+explicitly discards its arguments is easy to write:
+</p>
+<pre class="programlisting">
+(_3, bind(g, _1, _1, _1))(x, y, z);
+</pre>
+<p>
+This lambda expression takes three arguments.
+The left-hand argument of the comma operator does nothing, and as comma
+returns the result of evaluating the right-hand argument we end up with
+the call
+<code class="literal">g(x, x, x)</code>
+even with the strict arity.
+</p>
+<p>
+The main points against the strict arity checking were that the need to
+discard arguments is commonplace, and should therefore be straightforward,
+and that strict arity checking does not really buy that much more safety,
+particularly as it is not symmetric.
+For example, if the programmer wanted to write the expression
+<code class="literal">_1 + _2</code> but mistakenly wrote <code class="literal">_1 + 2</code>,
+with strict arity checking, the complier would spot the error.
+However, if the erroneous expression was <code class="literal">1 + _2</code> instead,
+the error would go unnoticed.
+Furthermore, weak arity checking simplifies the implementation a bit.
+Following the recommendation of the Boost review, strict arity checking
+was dropped.
+</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 1999-2004 Jaakko Järvi, Gary Powell</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lambda/s09.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="lambda.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="program_options.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/apply_visitor.html b/doc/html/apply_visitor.html
new file mode 100644
index 0000000000..b2db4ef62b
--- /dev/null
+++ b/doc/html/apply_visitor.html
@@ -0,0 +1,103 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function apply_visitor</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2660594" title="Header &lt;boost/variant/apply_visitor.hpp&gt;">
+<link rel="prev" href="apply_visitor_delayed_t.html" title="Class template apply_visitor_delayed_t">
+<link rel="next" href="bad_get.html" title="Class bad_get">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="apply_visitor_delayed_t.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2660594"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_get.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="apply_visitor"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function apply_visitor</span></h2>
+<p>boost::apply_visitor &#8212; <p>Allows compile-time checked type-safe application of the
+ given visitor to the content of the given variant, ensuring that all
+ types are handled by the visitor.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Visitor, <span class="bold"><strong>typename</strong></span> Variant&gt;
+  <span class="type"><span class="bold"><strong>typename</strong></span> Visitor::result_type</span>
+  apply_visitor(Visitor &amp; visitor, Variant &amp; operand);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Visitor, <span class="bold"><strong>typename</strong></span> Variant&gt;
+  <span class="type"><span class="bold"><strong>typename</strong></span> Visitor::result_type</span>
+  apply_visitor(<span class="bold"><strong>const</strong></span> Visitor &amp; visitor, Variant &amp; operand);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> BinaryVisitor, <span class="bold"><strong>typename</strong></span> Variant1, <span class="bold"><strong>typename</strong></span> Variant2&gt;
+  <span class="type"><span class="bold"><strong>typename</strong></span> BinaryVisitor::result_type</span>
+  apply_visitor(BinaryVisitor &amp; visitor, Variant1 &amp; operand1,
+                Variant2 &amp; operand2);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> BinaryVisitor, <span class="bold"><strong>typename</strong></span> Variant1, <span class="bold"><strong>typename</strong></span> Variant2&gt;
+  <span class="type"><span class="bold"><strong>typename</strong></span> BinaryVisitor::result_type</span>
+  apply_visitor(<span class="bold"><strong>const</strong></span> BinaryVisitor &amp; visitor, Variant1 &amp; operand1,
+                Variant2 &amp; operand2);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Visitor&gt;
+  <span class="type"><a href="apply_visitor_delayed_t.html" title="Class template apply_visitor_delayed_t">apply_visitor_delayed_t</a>&lt;Visitor&gt;</span> apply_visitor(Visitor &amp; visitor);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2838602"></a><h2>Description</h2>
+<p>The behavior of <code class="computeroutput">apply_visitor</code> is dependent on
+ the number of arguments on which it operates (i.e., other than the
+ visitor). The function behaves as follows:
+
+ <div class="itemizedlist"><ul type="disc">
+<li>Overloads accepting one operand invoke the unary function
+ call operator of the given visitor on the content of the given
+ <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code> operand.</li>
+<li>Overloads accepting two operands invoke the binary
+ function call operator of the given visitor on the content of
+ the given <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code>
+ operands.</li>
+<li>The overload accepting only a visitor returns a
+ <code class="computeroutput"><a href="apply_visitor_delayed_t.html" title="Class template apply_visitor_delayed_t">generic function object</a></code>
+ that accepts either one or two arguments and invokes
+ <code class="computeroutput"><a href="apply_visitor.html" title="Function apply_visitor">apply_visitor</a></code> using
+ these arguments and <code class="computeroutput">visitor</code>, thus behaving as
+ specified above. (This behavior is particularly useful, for
+ example, when one needs to operate on each element of a sequence
+ of variant objects using a standard library
+ algorithm.)</li>
+</ul></div></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ The overloads acccepting operands return the result of
+ applying the given visitor to the content of the given operands.
+ The overload accepting only a visitor return a function object, thus
+ delaying application of the visitor to any operands.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ The given visitor must fulfill the
+ <a href="variant/reference.html#variant.concepts.static-visitor" title="StaticVisitor"><span class="emphasis"><em>StaticVisitor</em></span></a>
+ concept requirements with respect to each of the bounded types of the
+ given <code class="computeroutput">variant</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ The overloads accepting operands throw only if the given
+ visitor throws when applied. The overload accepting only a visitor
+ will not throw. (Note, however, that the returned
+ <a href="apply_visitor_delayed_t.html" title="Class template apply_visitor_delayed_t">function object</a>
+ may throw when invoked.)</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="apply_visitor_delayed_t.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2660594"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_get.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/apply_visitor_delayed_t.html b/doc/html/apply_visitor_delayed_t.html
new file mode 100644
index 0000000000..75974e59d2
--- /dev/null
+++ b/doc/html/apply_visitor_delayed_t.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template apply_visitor_delayed_t</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2660594" title="Header &lt;boost/variant/apply_visitor.hpp&gt;">
+<link rel="prev" href="unwrap_recursive_wrapper.html" title="Class template unwrap_recursive_wrapper">
+<link rel="next" href="apply_visitor.html" title="Function apply_visitor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="unwrap_recursive_wrapper.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2660594"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="apply_visitor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="apply_visitor_delayed_t"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template apply_visitor_delayed_t</span></h2>
+<p>boost::apply_visitor_delayed_t &#8212; Adapts a visitor for use as a function object.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Visitor&gt;
+<span class="bold"><strong>class</strong></span> apply_visitor_delayed_t {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="bold"><strong>typename</strong></span> Visitor::result_type result_type;
+
+  <span class="emphasis"><em>// <a href="apply_visitor_delayed_t.html#apply_visitor_delayed_tconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <span class="bold"><strong>explicit</strong></span> <a href="apply_visitor_delayed_t.html#id2613558-bb">apply_visitor_delayed_t</a>(Visitor &amp;);
+
+  <span class="emphasis"><em>// <a href="apply_visitor_delayed_t.html#id2634158-bb">function object interface</a></em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Variant&gt; <span class="type">result_type</span> <a href="apply_visitor_delayed_t.html#id2625812-bb"><span class="bold"><strong>operator</strong></span>()</a>(Variant &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Variant1, <span class="bold"><strong>typename</strong></span> Variant2&gt;
+    <span class="type">result_type</span> <a href="apply_visitor_delayed_t.html#id2354966-bb"><span class="bold"><strong>operator</strong></span>()</a>(Variant1 &amp;, Variant2 &amp;);
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2838217"></a><h2>Description</h2>
+<p>Adapts the function given at construction for use as a
+ function object. This is useful, for example, when one needs to
+ operate on each element of a sequence of variant objects using a
+ standard library algorithm such as
+ <code class="computeroutput">std::for_each</code>.</p>
+<p>See the "visitor-only" form of
+ <code class="computeroutput"><a href="apply_visitor.html" title="Function apply_visitor">apply_visitor</a></code> for a simple
+ way to create <code class="computeroutput">apply_visitor_delayed_t</code> objects.</p>
+<div class="refsect2" lang="en">
+<a name="id2838253"></a><h3>
+<a name="apply_visitor_delayed_tconstruct-copy-destruct"></a><code class="computeroutput">apply_visitor_delayed_t</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="bold"><strong>explicit</strong></span> <a name="id2613558-bb"></a>apply_visitor_delayed_t(Visitor &amp; visitor);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Constructs the function object with the given
+ visitor.</p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2838305"></a><h3>
+<a name="id2634158-bb"></a><code class="computeroutput">apply_visitor_delayed_t</code> function object interface</h3>
+<div class="orderedlist"><ol type="1"><li>
+<p><a name="id2666914-bb"></a></p>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Variant&gt; <span class="type">result_type</span> <a name="id2625812-bb"></a><span class="bold"><strong>operator</strong></span>()(Variant &amp; operand);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Variant1, <span class="bold"><strong>typename</strong></span> Variant2&gt;
+  <span class="type">result_type</span> <a name="id2354966-bb"></a><span class="bold"><strong>operator</strong></span>()(Variant1 &amp; operand1, Variant2 &amp; operand2);</pre>
+<p>Invokes
+ <code class="computeroutput"><a href="apply_visitor.html" title="Function apply_visitor">apply_visitor</a></code> on the
+ stored visitor using the given operands.</p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="unwrap_recursive_wrapper.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2660594"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="apply_visitor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/array.html b/doc/html/array.html
new file mode 100644
index 0000000000..9ccb6a25dd
--- /dev/null
+++ b/doc/html/array.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 2. Boost.Array</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries">
+<link rel="prev" href="any/s04.html" title="Acknowledgements">
+<link rel="next" href="array/reference.html" title="Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="any/s04.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="array/reference.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="array"></a>Chapter 2. Boost.Array</h2></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Nicolai</span> <span class="surname">Josuttis</span>
+</h3></div></div>
+<div><p class="copyright">Copyright © 2001-2004 Nicolai M. Josuttis</p></div>
+<div><div class="legalnotice">
+<a name="id2572269"></a><p>Permission to copy, use, modify, sell and distribute this
+ software is granted provided this copyright notice appears in
+ all copies. This software is provided "as is" without express or
+ implied warranty, and with no claim as to its suitability for
+ any purpose.</p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="array.html#array.intro">Introduction</a></span></dt>
+<dt><span class="section"><a href="array/reference.html">Reference</a></span></dt>
+<dd><dl><dt><span class="section"><a href="array/reference.html#header.boost.array.hpp">Header &lt;boost/array.hpp&gt;</a></span></dt></dl></dd>
+<dt><span class="section"><a href="array/rationale.html">Design Rationale</a></span></dt>
+<dt><span class="section"><a href="array/more/info.html">For more information...</a></span></dt>
+<dt><span class="section"><a href="array/ack.html">Acknowledgements</a></span></dt>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="array.intro"></a>Introduction</h3></div></div></div>
+<p>The C++ Standard Template Library STL as part of the C++
+ Standard Library provides a framework for processing algorithms on
+ different kind of containers. However, ordinary arrays don't
+ provide the interface of STL containers (although, they provide
+ the iterator interface of STL containers).</p>
+<p>As replacement for ordinary arrays, the STL provides class
+ <code class="computeroutput">std::vector</code>. However,
+ <code class="computeroutput">std::vector&lt;&gt;</code> provides
+ the semantics of dynamic arrays. Thus, it manages data to be able
+ to change the number of elements. This results in some overhead in
+ case only arrays with static size are needed.</p>
+<p>In his book, <span class="emphasis"><em>Generic Programming and the
+ STL</em></span>, Matthew H. Austern introduces a useful wrapper
+ class for ordinary arrays with static size, called
+ <code class="computeroutput">block</code>. It is safer and has no worse performance than
+ ordinary arrays. In <span class="emphasis"><em>The C++ Programming
+ Language</em></span>, 3rd edition, Bjarne Stroustrup introduces a
+ similar class, called <code class="computeroutput">c_array</code>, which I (<a href="http://www.josuttis.com" target="_top">Nicolai Josuttis</a>) present
+ slightly modified in my book <span class="emphasis"><em>The C++ Standard Library -
+ A Tutorial and Reference</em></span>, called
+ <code class="computeroutput">carray</code>. This is the essence of these approaches
+ spiced with many feedback from <a href="http://www.boost.org" target="_top">boost</a>.</p>
+<p>After considering different names, we decided to name this
+ class simply <code class="computeroutput"><a href="boost/array.html" title="Class template array">array</a></code>.</p>
+<p>Note that this class is suggested to be part of the next
+ Technical Report, which will extend the C++ Standard (see
+ <a href="http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1548.htm" target="_top">http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1548.htm</a>).</p>
+<p>Class <code class="computeroutput"><a href="boost/array.html" title="Class template array">array</a></code> fulfills most
+ but not all of the requirements of "reversible containers" (see
+ Section 23.1, [lib.container.requirements] of the C++
+ Standard). The reasons array is not an reversible STL container is
+ because:
+ </p>
+<div class="itemizedlist"><ul type="disc" compact>
+<li>No constructors are provided.</li>
+<li>Elements may have an undetermined initial value (see <a href="array/rationale.html" title="Design Rationale">the section called &#8220;Design Rationale&#8221;</a>).</li>
+<li>
+<code class="computeroutput"><a href="boost/array.html#id2383066">swap</a></code>() has no constant complexity.</li>
+<li>
+<code class="computeroutput"><a href="boost/array.html#id2355750-bb">size</a></code>() is always constant, based on the second template argument of the type.</li>
+<li>The container provides no allocator support.</li>
+</ul></div>
+<p>It doesn't fulfill the requirements of a "sequence" (see Section 23.1.1, [lib.sequence.reqmts] of the C++ Standard), except that:
+ </p>
+<div class="itemizedlist"><ul type="disc" compact>
+<li>
+<code class="computeroutput"><a href="boost/array.html#id2365761-bb">front</a></code>() and <code class="computeroutput"><a href="boost/array.html#id2365801-bb">back</a></code>() are provided.</li>
+<li>
+<code class="computeroutput"><a href="boost/array.html#id2365634-bb">operator[]</a></code> and <code class="computeroutput"><a href="boost/array.html#id2365698-bb">at</a></code>() are provided.</li>
+</ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: December 01, 2005 at 04:52:03 GMT</p></small></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="any/s04.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="array/reference.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/array/ack.html b/doc/html/array/ack.html
new file mode 100644
index 0000000000..d739c40879
--- /dev/null
+++ b/doc/html/array/ack.html
@@ -0,0 +1,39 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Acknowledgements</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../array.html" title="Chapter 2. Boost.Array">
+<link rel="prev" href="more/info.html" title="For more information...">
+<link rel="next" href="../concepts/reference.html" title="Concept reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="more/info.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../array.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../concepts/reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="array.ack"></a>Acknowledgements</h3></div></div></div>
+<p>Doug Gregor ported the documentation to the BoostBook format.</p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Nicolai M. Josuttis</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="more/info.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../array.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../concepts/reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/array/more/info.html b/doc/html/array/more/info.html
new file mode 100644
index 0000000000..8da4351526
--- /dev/null
+++ b/doc/html/array/more/info.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>For more information...</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../array.html" title="Chapter 2. Boost.Array">
+<link rel="prev" href="../rationale.html" title="Design Rationale">
+<link rel="next" href="../ack.html" title="Acknowledgements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../rationale.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../array.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../ack.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="array.more.info"></a>For more information...</h3></div></div></div>
+<p>To find more details about using ordinary arrays in C++ and
+ the framework of the STL, see e.g.
+
+ </p>
+<div class="literallayout"><p>The C++ Standard Library - A Tutorial and Reference<br>
+by Nicolai M. Josuttis<br>
+Addison Wesley Longman, 1999<br>
+ISBN 0-201-37926-0</p></div>
+<p><a href="http://www.josuttis.com/" target="_top">Home Page of Nicolai
+ Josuttis</a></p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Nicolai M. Josuttis</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../rationale.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../array.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../ack.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/array/rationale.html b/doc/html/array/rationale.html
new file mode 100644
index 0000000000..212f4941b0
--- /dev/null
+++ b/doc/html/array/rationale.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Design Rationale</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../array.html" title="Chapter 2. Boost.Array">
+<link rel="prev" href="../boost/array.html" title="Class template array">
+<link rel="next" href="more/info.html" title="For more information...">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../boost/array.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../array.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="more/info.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="array.rationale"></a>Design Rationale</h3></div></div></div>
+<p>There was an important design tradeoff regarding the
+ constructors: We could implement array as an "aggregate" (see
+ Section 8.5.1, [dcl.init.aggr], of the C++ Standard). This would
+ mean:
+ </p>
+<div class="itemizedlist"><ul type="disc"><li>
+<p>An array can be initialized with a
+ brace-enclosing, comma-separated list of initializers for the
+ elements of the container, written in increasing subscript
+ order:</p>
+<pre class="programlisting"><code class="computeroutput"><a href="../boost/array.html" title="Class template array">boost::array</a></code>&lt;int,4&gt; a = { { 1, 2, 3 } };</pre>
+<p>Note that if there are fewer elements in the
+ initializer list, then each remaining element gets
+ default-initialized (thus, it has a defined value).</p>
+</li></ul></div>
+<p>However, this approach has its drawbacks: <span class="bold"><strong> passing no initializer list means that the elements
+ have an indetermined initial value</strong></span>, because the rule says
+ that aggregates may have:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>No user-declared constructors.</li>
+<li>No private or protected non-static data members.</li>
+<li>No base classes.</li>
+<li>No virtual functions.</li>
+</ul></div>
+<p>Nevertheless, The current implementation uses this approach.</p>
+<p>Note that for standard conforming compilers it is possible to
+ use fewer braces (according to 8.5.1 (11) of the Standard). That is,
+ you can initialize an array as follows:</p>
+<pre class="programlisting"><code class="computeroutput"><a href="../boost/array.html" title="Class template array">boost::array</a></code>&lt;int,4&gt; a = { 1, 2, 3 };
+</pre>
+<p>I'd appreciate any constructive feedback. <span class="bold"><strong>Please note: I don't have time to read all boost
+ mails. Thus, to make sure that feedback arrives to me, please send
+ me a copy of each mail regarding this class.</strong></span></p>
+<p>The code is provided "as is" without expressed or implied
+ warranty.</p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Nicolai M. Josuttis</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../boost/array.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../array.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="more/info.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/array/reference.html b/doc/html/array/reference.html
new file mode 100644
index 0000000000..8892334bf5
--- /dev/null
+++ b/doc/html/array/reference.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Reference</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../array.html" title="Chapter 2. Boost.Array">
+<link rel="prev" href="../array.html" title="Chapter 2. Boost.Array">
+<link rel="next" href="../boost/array.html" title="Class template array">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../array.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../array.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../boost/array.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="array.reference"></a>Reference</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="reference.html#header.boost.array.hpp">Header &lt;boost/array.hpp&gt;</a></span></dt></dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.array.hpp"></a>Header &lt;<a href="../../../boost/array.hpp" target="_top">boost/array.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt; <span class="bold"><strong>class</strong></span> <a href="../boost/array.html" title="Class template array">array</a>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../boost/array.html#id2383066">swap</a>(<a href="../boost/array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;, <a href="../boost/array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../boost/array.html#id2383141"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="../boost/array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;, <span class="bold"><strong>const</strong></span> <a href="../boost/array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../boost/array.html#id2383217"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> <a href="../boost/array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;, <span class="bold"><strong>const</strong></span> <a href="../boost/array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../boost/array.html#id2383281"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> <a href="../boost/array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;, <span class="bold"><strong>const</strong></span> <a href="../boost/array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../boost/array.html#id2383361"><span class="bold"><strong>operator</strong></span>&gt;</a>(<span class="bold"><strong>const</strong></span> <a href="../boost/array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;, <span class="bold"><strong>const</strong></span> <a href="../boost/array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../boost/array.html#id2383424"><span class="bold"><strong>operator</strong></span>&lt;=</a>(<span class="bold"><strong>const</strong></span> <a href="../boost/array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;, <span class="bold"><strong>const</strong></span> <a href="../boost/array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../boost/array.html#id2383487"><span class="bold"><strong>operator</strong></span>&gt;=</a>(<span class="bold"><strong>const</strong></span> <a href="../boost/array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;, <span class="bold"><strong>const</strong></span> <a href="../boost/array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;);
+}</pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Nicolai M. Josuttis</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../array.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../array.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../boost/array.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bad_adjustment.html b/doc/html/bad_adjustment.html
new file mode 100644
index 0000000000..be3f99ebc8
--- /dev/null
+++ b/doc/html/bad_adjustment.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct bad_adjustment</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2447946" title="Header &lt;boost/date_time/local_time/posix_time_zone.hpp&gt;">
+<link rel="prev" href="bad_offset.html" title="Struct bad_offset">
+<link rel="next" href="posix_time_zone.html" title="Class posix_time_zone">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_offset.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2447946"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="posix_time_zone.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="bad_adjustment"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct bad_adjustment</span></h2>
+<p>boost::local_time::bad_adjustment &#8212; simple exception for UTC daylight savings adjustment </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> bad_adjustment {
+  <span class="emphasis"><em>// <a href="bad_adjustment.html#bad_adjustmentconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="bad_adjustment.html#id2448007-bb">bad_adjustment</a>(std::string = "");
+
+  <span class="emphasis"><em>// <a href="bad_adjustment.html#id2448003-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2685665"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2685669"></a><h3>
+<a name="bad_adjustmentconstruct-copy-destruct"></a><code class="computeroutput">bad_adjustment</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2448007-bb"></a>bad_adjustment(std::string _msg = "");</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2685701"></a><h3>
+<a name="id2448003-bb"></a><code class="computeroutput">bad_adjustment</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_offset.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2447946"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="posix_time_zone.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bad_any_cast.html b/doc/html/bad_any_cast.html
new file mode 100644
index 0000000000..a6b01c4245
--- /dev/null
+++ b/doc/html/bad_any_cast.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class bad_any_cast</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="any/reference.html#header.boost.any.hpp" title="Header &lt;boost/any.hpp&gt;">
+<link rel="prev" href="any/reference.html" title="Reference">
+<link rel="next" href="boost/any.html" title="Class any">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="any/reference.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="any/reference.html#header.boost.any.hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost/any.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="bad_any_cast"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class bad_any_cast</span></h2>
+<p>boost::bad_any_cast &#8212; The exception thrown in the event of a failed
+ <code class="computeroutput"><a href="any_cast.html" title="Function any_cast">any_cast</a></code> of an
+ <code class="computeroutput"><a href="boost/any.html" title="Class any">any</a></code> value.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> bad_any_cast : <span class="bold"><strong>public</strong></span> std::bad_cast {
+<span class="bold"><strong>public</strong></span>:
+  <span class="bold"><strong>virtual</strong></span> <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a href="bad_any_cast.html#id2335317-bb">what</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2571090"></a><h2>Description</h2>
+<pre class="literallayout"><span class="bold"><strong>virtual</strong></span> <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a name="id2335317-bb"></a>what() <span class="bold"><strong>const</strong></span>;</pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001 Kevlin Henney</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="any/reference.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="any/reference.html#header.boost.any.hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost/any.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bad_day_of_month.html b/doc/html/bad_day_of_month.html
new file mode 100644
index 0000000000..f777b15d24
--- /dev/null
+++ b/doc/html/bad_day_of_month.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct bad_day_of_month</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2452632" title="Header &lt;boost/date_time/gregorian/greg_day.hpp&gt;">
+<link rel="prev" href="boost/gregorian/date.html" title="Class date">
+<link rel="next" href="greg_day.html" title="Class greg_day">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/gregorian/date.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2452632"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="greg_day.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="bad_day_of_month"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct bad_day_of_month</span></h2>
+<p>boost::gregorian::bad_day_of_month &#8212; Exception type for gregorian day of month (1..31). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> bad_day_of_month {
+  <span class="emphasis"><em>// <a href="bad_day_of_month.html#bad_day_of_monthconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="bad_day_of_month.html#id2452659-bb">bad_day_of_month</a>();
+  <a href="bad_day_of_month.html#id2452661-bb">bad_day_of_month</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+  <span class="emphasis"><em>// <a href="bad_day_of_month.html#id2452654-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2669232"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2669235"></a><h3>
+<a name="bad_day_of_monthconstruct-copy-destruct"></a><code class="computeroutput">bad_day_of_month</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2452659-bb"></a>bad_day_of_month();</pre></li>
+<li><pre class="literallayout"><a name="id2452661-bb"></a>bad_day_of_month(<span class="bold"><strong>const</strong></span> std::string &amp; s);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2669290"></a><h3>
+<a name="id2452654-bb"></a><code class="computeroutput">bad_day_of_month</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/gregorian/date.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2452632"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="greg_day.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bad_day_of_year.html b/doc/html/bad_day_of_year.html
new file mode 100644
index 0000000000..c089a059bf
--- /dev/null
+++ b/doc/html/bad_day_of_year.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct bad_day_of_year</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2452786" title="Header &lt;boost/date_time/gregorian/greg_day_of_year.hpp&gt;">
+<link rel="prev" href="greg_day.html" title="Class greg_day">
+<link rel="next" href="greg_durations_config.html" title="Struct greg_durations_config">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greg_day.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2452786"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="greg_durations_config.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="bad_day_of_year"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct bad_day_of_year</span></h2>
+<p>boost::gregorian::bad_day_of_year &#8212; Exception type for day of year (1..366). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> bad_day_of_year {
+  <span class="emphasis"><em>// <a href="bad_day_of_year.html#bad_day_of_yearconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="bad_day_of_year.html#id2452813-bb">bad_day_of_year</a>();
+
+  <span class="emphasis"><em>// <a href="bad_day_of_year.html#id2452809-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2669733"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2669737"></a><h3>
+<a name="bad_day_of_yearconstruct-copy-destruct"></a><code class="computeroutput">bad_day_of_year</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2452813-bb"></a>bad_day_of_year();</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2669770"></a><h3>
+<a name="id2452809-bb"></a><code class="computeroutput">bad_day_of_year</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greg_day.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2452786"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="greg_durations_config.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bad_field_count.html b/doc/html/bad_field_count.html
new file mode 100644
index 0000000000..9ba58472b7
--- /dev/null
+++ b/doc/html/bad_field_count.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct bad_field_count</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2433012" title="Header &lt;boost/date_time/tz_db_base.hpp&gt;">
+<link rel="prev" href="data_not_accessible.html" title="Struct data_not_accessible">
+<link rel="next" href="tz_db_base.html" title="Class template tz_db_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="data_not_accessible.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2433012"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="tz_db_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="bad_field_count"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct bad_field_count</span></h2>
+<p>boost::date_time::bad_field_count &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> bad_field_count {
+  <span class="emphasis"><em>// <a href="bad_field_count.html#bad_field_countconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="bad_field_count.html#id2433062-bb">bad_field_count</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+  <span class="emphasis"><em>// <a href="bad_field_count.html#id2433058-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2665607"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2665611"></a><h3>
+<a name="bad_field_countconstruct-copy-destruct"></a><code class="computeroutput">bad_field_count</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2433062-bb"></a>bad_field_count(<span class="bold"><strong>const</strong></span> std::string &amp; s);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2665651"></a><h3>
+<a name="id2433058-bb"></a><code class="computeroutput">bad_field_count</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="data_not_accessible.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2433012"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="tz_db_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bad_function_call.html b/doc/html/bad_function_call.html
new file mode 100644
index 0000000000..c8fd60a7ec
--- /dev/null
+++ b/doc/html/bad_function_call.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class bad_function_call</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="function/reference.html#header.boost.function.hpp" title="Header &lt;boost/function.hpp&gt;">
+<link rel="prev" href="function/reference.html" title="Reference">
+<link rel="next" href="function_base.html" title="Class function_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="function/reference.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="function/reference.html#header.boost.function.hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="function_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="bad_function_call"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class bad_function_call</span></h2>
+<p>boost::bad_function_call &#8212; An exception type thrown when an instance of a <code class="computeroutput">function</code> object is empty when invoked.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> bad_function_call : <span class="bold"><strong>public</strong></span> std::runtime_error {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="bad_function_call.html#bad_function_callconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="bad_function_call.html#id2461694-bb">bad_function_call</a>();
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2690976"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2690979"></a><h3>
+<a name="bad_function_callconstruct-copy-destruct"></a><code class="computeroutput">bad_function_call</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><a name="id2461694-bb"></a>bad_function_call();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Constructs a <code class="computeroutput"><a href="bad_function_call.html" title="Class bad_function_call">bad_function_call</a></code> exception object.</p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="function/reference.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="function/reference.html#header.boost.function.hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="function_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bad_get.html b/doc/html/bad_get.html
new file mode 100644
index 0000000000..d6cd238022
--- /dev/null
+++ b/doc/html/bad_get.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class bad_get</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2588868" title="Header &lt;boost/variant/get.hpp&gt;">
+<link rel="prev" href="apply_visitor.html" title="Function apply_visitor">
+<link rel="next" href="get.html" title="Function get">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="apply_visitor.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2588868"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="get.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="bad_get"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class bad_get</span></h2>
+<p>boost::bad_get &#8212; <p>The exception thrown in the event of a failed application of
+ <code class="computeroutput"><a href="get.html" title="Function get">boost::get</a></code> on the given
+ operand value.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> bad_get : <span class="bold"><strong>public</strong></span> std::exception {
+<span class="bold"><strong>public</strong></span>:
+  <span class="bold"><strong>virtual</strong></span> <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a href="bad_get.html#id2284909-bb">what</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2839076"></a><h2>Description</h2>
+<pre class="literallayout"><span class="bold"><strong>virtual</strong></span> <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a name="id2284909-bb"></a>what() <span class="bold"><strong>const</strong></span>;</pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="apply_visitor.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2588868"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="get.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bad_month.html b/doc/html/bad_month.html
new file mode 100644
index 0000000000..93a119724c
--- /dev/null
+++ b/doc/html/bad_month.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct bad_month</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2409109" title="Header &lt;boost/date_time/gregorian/greg_month.hpp&gt;">
+<link rel="prev" href="id2460372.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="greg_month.html" title="Class greg_month">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2460372.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2409109"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="greg_month.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="bad_month"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct bad_month</span></h2>
+<p>boost::gregorian::bad_month &#8212; Exception thrown if a greg_month is constructed with a value out of range. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> bad_month {
+  <span class="emphasis"><em>// <a href="bad_month.html#bad_monthconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="bad_month.html#id2409137-bb">bad_month</a>();
+
+  <span class="emphasis"><em>// <a href="bad_month.html#id2409132-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2671493"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2671497"></a><h3>
+<a name="bad_monthconstruct-copy-destruct"></a><code class="computeroutput">bad_month</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2409137-bb"></a>bad_month();</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2671529"></a><h3>
+<a name="id2409132-bb"></a><code class="computeroutput">bad_month</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2460372.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2409109"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="greg_month.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bad_offset.html b/doc/html/bad_offset.html
new file mode 100644
index 0000000000..79cc958e5f
--- /dev/null
+++ b/doc/html/bad_offset.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct bad_offset</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2447946" title="Header &lt;boost/date_time/local_time/posix_time_zone.hpp&gt;">
+<link rel="prev" href="local_date_time_base.html" title="Class template local_date_time_base">
+<link rel="next" href="bad_adjustment.html" title="Struct bad_adjustment">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local_date_time_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2447946"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_adjustment.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="bad_offset"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct bad_offset</span></h2>
+<p>boost::local_time::bad_offset &#8212; simple exception for UTC and Daylight savings start/end offsets </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> bad_offset {
+  <span class="emphasis"><em>// <a href="bad_offset.html#bad_offsetconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="bad_offset.html#id2447974-bb">bad_offset</a>(std::string = "");
+
+  <span class="emphasis"><em>// <a href="bad_offset.html#id2447970-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2685549"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2685552"></a><h3>
+<a name="bad_offsetconstruct-copy-destruct"></a><code class="computeroutput">bad_offset</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2447974-bb"></a>bad_offset(std::string _msg = "");</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2685585"></a><h3>
+<a name="id2447970-bb"></a><code class="computeroutput">bad_offset</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local_date_time_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2447946"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_adjustment.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bad_visit.html b/doc/html/bad_visit.html
new file mode 100644
index 0000000000..1a559cb3a0
--- /dev/null
+++ b/doc/html/bad_visit.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class bad_visit</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2634493" title="Header &lt;boost/variant/bad_visit.hpp&gt;">
+<link rel="prev" href="get.html" title="Function get">
+<link rel="next" href="static_visitor.html" title="Class template static_visitor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2634493"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="static_visitor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="bad_visit"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class bad_visit</span></h2>
+<p>boost::bad_visit &#8212; <p>The exception thrown in the event of a visitor
+ unable to handle the visited value.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> bad_visit : <span class="bold"><strong>public</strong></span> std::exception {
+<span class="bold"><strong>public</strong></span>:
+  <span class="bold"><strong>virtual</strong></span> <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a href="bad_visit.html#id2338568-bb">what</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2839687"></a><h2>Description</h2>
+<pre class="literallayout"><span class="bold"><strong>virtual</strong></span> <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a name="id2338568-bb"></a>what() <span class="bold"><strong>const</strong></span>;</pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2634493"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="static_visitor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bad_weekday.html b/doc/html/bad_weekday.html
new file mode 100644
index 0000000000..d5befa7c9e
--- /dev/null
+++ b/doc/html/bad_weekday.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct bad_weekday</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2409485" title="Header &lt;boost/date_time/gregorian/greg_weekday.hpp&gt;">
+<link rel="prev" href="greg_month.html" title="Class greg_month">
+<link rel="next" href="greg_weekday.html" title="Class greg_weekday">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greg_month.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2409485"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="greg_weekday.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="bad_weekday"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct bad_weekday</span></h2>
+<p>boost::gregorian::bad_weekday &#8212; Exception that flags that a weekday number is incorrect. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> bad_weekday {
+  <span class="emphasis"><em>// <a href="bad_weekday.html#bad_weekdayconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="bad_weekday.html#id2409512-bb">bad_weekday</a>();
+
+  <span class="emphasis"><em>// <a href="bad_weekday.html#id2409508-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2672667"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2672671"></a><h3>
+<a name="bad_weekdayconstruct-copy-destruct"></a><code class="computeroutput">bad_weekday</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2409512-bb"></a>bad_weekday();</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2672703"></a><h3>
+<a name="id2409508-bb"></a><code class="computeroutput">bad_weekday</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greg_month.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2409485"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="greg_weekday.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bad_year.html b/doc/html/bad_year.html
new file mode 100644
index 0000000000..4d60613e80
--- /dev/null
+++ b/doc/html/bad_year.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct bad_year</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2480231" title="Header &lt;boost/date_time/gregorian/greg_year.hpp&gt;">
+<link rel="prev" href="greg_weekday.html" title="Class greg_weekday">
+<link rel="next" href="greg_year.html" title="Class greg_year">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greg_weekday.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2480231"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="greg_year.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="bad_year"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct bad_year</span></h2>
+<p>boost::gregorian::bad_year &#8212; Exception type for gregorian year. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> bad_year {
+  <span class="emphasis"><em>// <a href="bad_year.html#bad_yearconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="bad_year.html#id2480257-bb">bad_year</a>();
+
+  <span class="emphasis"><em>// <a href="bad_year.html#id2480253-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2673388"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2673391"></a><h3>
+<a name="bad_yearconstruct-copy-destruct"></a><code class="computeroutput">bad_year</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2480257-bb"></a>bad_year();</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2673424"></a><h3>
+<a name="id2480253-bb"></a><code class="computeroutput">bad_year</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greg_weekday.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2480231"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="greg_year.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/barrier.html b/doc/html/barrier.html
new file mode 100644
index 0000000000..29d5084bd4
--- /dev/null
+++ b/doc/html/barrier.html
@@ -0,0 +1,117 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class barrier</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id2616214" title="Header &lt;boost/thread/barrier.hpp&gt;">
+<link rel="prev" href="threads/reference.html" title="Reference">
+<link rel="next" href="condition.html" title="Class condition">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="threads/reference.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2616214"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="condition.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="barrier"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class barrier</span></h2>
+<p>boost::barrier &#8212; <p>An object of class <a href="barrier.html" title="Class barrier">barrier</a> is a synchronization
+ primitive used to cause a set of threads to wait until they each perform a
+ certain function or each reach a particular point in their execution.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> barrier : <span class="bold"><strong>private</strong></span> boost::noncopyable <span class="emphasis"><em>// Exposition only</em></span>
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="barrier.html#barrierconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="barrier.html#id2605020-bb">barrier</a>(size_t);
+  <a href="barrier.html#id2535874-bb">~barrier</a>();
+
+  <span class="emphasis"><em>// <a href="barrier.html#id2435312-bb">waiting</a></em></span>
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="barrier.html#id2620360-bb">wait</a>();
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2778820"></a><h2>Description</h2>
+<p>When a barrier is created, it is initialized with a thread count N.
+ The first N-1 calls to <code class="computeroutput">wait()</code> will all cause their threads to be blocked.
+ The Nth call to <code class="computeroutput">wait()</code> will allow all of the waiting threads, including
+ the Nth thread, to be placed in a ready state. The Nth call will also "reset"
+ the barrier such that, if an additional N+1th call is made to <code class="computeroutput">wait()</code>,
+ it will be as though this were the first call to <code class="computeroutput">wait()</code>; in other
+ words, the N+1th to 2N-1th calls to <code class="computeroutput">wait()</code> will cause their
+ threads to be blocked, and the 2Nth call to <code class="computeroutput">wait()</code> will allow all of
+ the waiting threads, including the 2Nth thread, to be placed in a ready state
+ and reset the barrier. This functionality allows the same set of N threads to re-use
+ a barrier object to synchronize their execution at multiple points during their
+ execution.</p>
+<p>See <a href="threads.html#threads.glossary" title="Glossary">Glossary</a> for definitions of thread
+ states <a href="threads.html#threads.glossary.thread-state">blocked</a>
+ and <a href="threads.html#threads.glossary.thread-state">ready</a>.
+ Note that "waiting" is a synonym for blocked.</p>
+<div class="refsect2" lang="en">
+<a name="id2778899"></a><h3>
+<a name="barrierconstruct-copy-destruct"></a><code class="computeroutput">barrier</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2605020-bb"></a>barrier(size_t count);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Constructs a <a href="barrier.html" title="Class barrier">barrier</a> object that
+ will cause <code class="computeroutput">count</code> threads to block on a call to <code class="computeroutput">wait()</code>.
+ </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2535874-bb"></a>~barrier();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Destroys <code class="computeroutput">*this</code>. If threads are still executing
+ their <code class="computeroutput">wait()</code> operations, the behavior for these threads is undefined.
+ </p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2779000"></a><h3>
+<a name="id2435312-bb"></a><code class="computeroutput">barrier</code> waiting</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2620360-bb"></a>wait();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Wait until N threads call <code class="computeroutput">wait()</code>, where
+ N equals the <code class="computeroutput">count</code> provided to the constructor for the
+ barrier object.<p><span class="bold"><strong>Note</strong></span> that if the barrier is
+ destroyed before <code class="computeroutput">wait()</code> can return, the behavior is
+ undefined.</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ Exactly one of the N threads will receive a return value
+ of <code class="computeroutput">true</code>, the others will receive a value of <code class="computeroutput">false</code>.
+ Precisely which thread receives the return value of <code class="computeroutput">true</code> will
+ be implementation-defined. Applications can use this value to designate one
+ thread as a leader that will take a certain action, and the other threads
+ emerging from the barrier can wait for that action to take place.</p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="threads/reference.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2616214"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="condition.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/base_time.html b/doc/html/base_time.html
new file mode 100644
index 0000000000..0f5ef58fa5
--- /dev/null
+++ b/doc/html/base_time.html
@@ -0,0 +1,129 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template base_time</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2459854" title="Header &lt;boost/date_time/time.hpp&gt;">
+<link rel="prev" href="gather_weekday_strings.html" title="Function template gather_weekday_strings">
+<link rel="next" href="second_clock.html" title="Class template second_clock">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="gather_weekday_strings.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2459854"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="second_clock.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="base_time"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template base_time</span></h2>
+<p>boost::date_time::base_time &#8212; Representation of a precise moment in time, including the date. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> time_system&gt;
+<span class="bold"><strong>class</strong></span> base_time {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> T                               time_type;         
+  <span class="bold"><strong>typedef</strong></span> time_system::time_rep_type      time_rep_type;     
+  <span class="bold"><strong>typedef</strong></span> time_system::date_type          date_type;         
+  <span class="bold"><strong>typedef</strong></span> time_system::date_duration_type date_duration_type;
+  <span class="bold"><strong>typedef</strong></span> time_system::time_duration_type time_duration_type;
+
+  <span class="emphasis"><em>// <a href="base_time.html#base_timeconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="base_time.html#id2399109-bb">base_time</a>(<span class="bold"><strong>const</strong></span> date_type &amp;, <span class="bold"><strong>const</strong></span> time_duration_type &amp;,
+            dst_flags = not_dst);
+  <a href="base_time.html#id2399147-bb">base_time</a>(special_values);
+  <a href="base_time.html#id2399161-bb">base_time</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;);
+
+  <span class="emphasis"><em>// <a href="base_time.html#id2421078-bb">public member functions</a></em></span>
+  <span class="type">date_type</span> <a href="base_time.html#id2421083-bb">date</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">time_duration_type</span> <a href="base_time.html#id2421095-bb">time_of_day</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">std::string</span> <a href="base_time.html#id2421184-bb">zone_name</a>(<span class="bold"><strong>bool</strong></span> = false) <span class="bold"><strong>const</strong></span>;
+  <span class="type">std::string</span> <a href="base_time.html#id2421221-bb">zone_abbrev</a>(<span class="bold"><strong>bool</strong></span> = false) <span class="bold"><strong>const</strong></span>;
+  <span class="type">std::string</span> <a href="base_time.html#id2421257-bb">zone_as_posix_string</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="base_time.html#id2459563-bb">is_not_a_date_time</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="base_time.html#id2459578-bb">is_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="base_time.html#id2459595-bb">is_pos_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="base_time.html#id2459612-bb">is_neg_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="base_time.html#id2459629-bb">is_special</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="base_time.html#id2459645-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> time_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="base_time.html#id2413846-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> time_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">time_duration_type</span> <a href="base_time.html#id2413873-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> time_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">time_type</span> <a href="base_time.html#id2413900-bb"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> date_duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">time_type</span> <a href="base_time.html#id2481479-bb"><span class="bold"><strong>operator</strong></span>+=</a>(<span class="bold"><strong>const</strong></span> date_duration_type &amp;) ;
+  <span class="type">time_type</span> <a href="base_time.html#id2481501-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> date_duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">time_type</span> <a href="base_time.html#id2481527-bb"><span class="bold"><strong>operator</strong></span>-=</a>(<span class="bold"><strong>const</strong></span> date_duration_type &amp;) ;
+  <span class="type">time_type</span> <a href="base_time.html#id2481549-bb"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">time_type</span> <a href="base_time.html#id2407190-bb"><span class="bold"><strong>operator</strong></span>+=</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;) ;
+  <span class="type">time_type</span> <a href="base_time.html#id2407212-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">time_type</span> <a href="base_time.html#id2407238-bb"><span class="bold"><strong>operator</strong></span>-=</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2652263"></a><h2>Description</h2>
+<p>This class is a skeleton for the interface of a temporal type with a resolution that is higher than a day. It is intended that this class be the base class and that the actual time class be derived using the BN pattern. In this way, the derived class can make decisions such as 'should there be a default constructor' and what should it set its value to, should there be optional constructors say allowing only an time_durations that generate a time from a clock,etc. So, in fact multiple time types can be created for a time_system with different construction policies, and all of them can perform basic operations by only writing a copy constructor. Finally, compiler errors are also shorter.</p>
+<p>The real behavior of the time class is provided by the time_system template parameter. This class must provide all the logic for addition, subtraction, as well as define all the interface types. </p>
+<div class="refsect2" lang="en">
+<a name="id2652286"></a><h3>
+<a name="base_timeconstruct-copy-destruct"></a><code class="computeroutput">base_time</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2399109-bb"></a>base_time(<span class="bold"><strong>const</strong></span> date_type &amp; day, <span class="bold"><strong>const</strong></span> time_duration_type &amp; td,
+          dst_flags dst = not_dst);</pre></li>
+<li><pre class="literallayout"><a name="id2399147-bb"></a>base_time(special_values sv);</pre></li>
+<li><pre class="literallayout"><a name="id2399161-bb"></a>base_time(<span class="bold"><strong>const</strong></span> time_rep_type &amp; rhs);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2652368"></a><h3>
+<a name="id2421078-bb"></a><code class="computeroutput">base_time</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2421083-bb"></a>date() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">time_duration_type</span> <a name="id2421095-bb"></a>time_of_day() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="type">std::string</span> <a name="id2421184-bb"></a>zone_name(<span class="bold"><strong>bool</strong></span> as_offset = false) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Optional bool parameter will return time zone as an offset (ie "+07:00"). Empty string is returned for classes that do not use a time_zone </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">std::string</span> <a name="id2421221-bb"></a>zone_abbrev(<span class="bold"><strong>bool</strong></span> as_offset = false) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Optional bool parameter will return time zone as an offset (ie "+07:00"). Empty string is returned for classes that do not use a time_zone </p>
+</li>
+<li><pre class="literallayout"><span class="type">std::string</span> <a name="id2421257-bb"></a>zone_as_posix_string() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2459563-bb"></a>is_not_a_date_time() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2459578-bb"></a>is_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2459595-bb"></a>is_pos_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2459612-bb"></a>is_neg_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2459629-bb"></a>is_special() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2459645-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> time_type &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2413846-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<span class="bold"><strong>const</strong></span> time_type &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">time_duration_type</span> <a name="id2413873-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> time_type &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2413900-bb"></a><span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> date_duration_type &amp; dd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2481479-bb"></a><span class="bold"><strong>operator</strong></span>+=(<span class="bold"><strong>const</strong></span> date_duration_type &amp; dd) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2481501-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> date_duration_type &amp; dd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2481527-bb"></a><span class="bold"><strong>operator</strong></span>-=(<span class="bold"><strong>const</strong></span> date_duration_type &amp; dd) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2481549-bb"></a><span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> time_duration_type &amp; td) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2407190-bb"></a><span class="bold"><strong>operator</strong></span>+=(<span class="bold"><strong>const</strong></span> time_duration_type &amp; td) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2407212-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> time_duration_type &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2407238-bb"></a><span class="bold"><strong>operator</strong></span>-=(<span class="bold"><strong>const</strong></span> time_duration_type &amp; td) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="gather_weekday_strings.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2459854"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="second_clock.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/basic_command_line_parser.html b/doc/html/basic_command_line_parser.html
new file mode 100644
index 0000000000..d4bd7374c3
--- /dev/null
+++ b/doc/html/basic_command_line_parser.html
@@ -0,0 +1,112 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template basic_command_line_parser</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2348797" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="id2381437-bb.html" title="Class basic_parsed_options&lt;wchar_t&gt;">
+<link rel="next" href="id2348892.html" title="Type collect_unrecognized_mode">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2381437-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2348797"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2348892.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="basic_command_line_parser"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template basic_command_line_parser</span></h2>
+<p>boost::program_options::basic_command_line_parser &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+<span class="bold"><strong>class</strong></span> basic_command_line_parser {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="basic_command_line_parser.html#basic_command_line_parserconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="basic_command_line_parser.html#id2360299-bb">basic_command_line_parser</a>(<span class="bold"><strong>const</strong></span> std::vector&lt; std::basic_string&lt; charT &gt; &gt; &amp;);
+  <a href="basic_command_line_parser.html#id2395534-bb">basic_command_line_parser</a>(<span class="bold"><strong>int</strong></span>, charT *);
+
+  <span class="emphasis"><em>// <a href="basic_command_line_parser.html#id2359403-bb">public member functions</a></em></span>
+  <span class="type"><a href="basic_command_line_parser.html" title="Class template basic_command_line_parser">basic_command_line_parser</a> &amp;</span> <a href="basic_command_line_parser.html#id2359408-bb">options</a>(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp;) ;
+  <span class="type"><a href="basic_command_line_parser.html" title="Class template basic_command_line_parser">basic_command_line_parser</a> &amp;</span>
+  <a href="basic_command_line_parser.html#id2442218-bb">positional</a>(<span class="bold"><strong>const</strong></span> <a href="id2525902.html" title="Class positional_options_description">positional_options_description</a> &amp;) ;
+  <span class="type"><a href="basic_command_line_parser.html" title="Class template basic_command_line_parser">basic_command_line_parser</a> &amp;</span> <a href="basic_command_line_parser.html#id2425682-bb">style</a>(<span class="bold"><strong>int</strong></span>) ;
+  <span class="type"><a href="basic_command_line_parser.html" title="Class template basic_command_line_parser">basic_command_line_parser</a> &amp;</span> <a href="basic_command_line_parser.html#id2395244-bb">extra_parser</a>(ext_parser) ;
+  <span class="type"><a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; charT &gt;</span> <a href="basic_command_line_parser.html#id2354252-bb">run</a>() ;
+  <span class="type"><a href="basic_command_line_parser.html" title="Class template basic_command_line_parser">basic_command_line_parser</a> &amp;</span> <a href="basic_command_line_parser.html#id2491704-bb">allow_unregistered</a>() ;
+  <span class="type"><a href="basic_command_line_parser.html" title="Class template basic_command_line_parser">basic_command_line_parser</a> &amp;</span> <a href="basic_command_line_parser.html#id2360273-bb">extra_style_parser</a>(style_parser) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2723808"></a><h2>Description</h2>
+<p>Command line parser.</p>
+<p>The class allows one to specify all the information needed for parsing and to parse the command line. It is primarily needed to emulate named function parameters -- a regular function with 5 parameters will be hard to use and creating overloads with a smaller nuber of parameters will be confusing.</p>
+<p>For the most common case, the function parse_command_line is a better alternative.</p>
+<p>There are two typedefs -- command_line_parser and wcommand_line_parser, for charT == char and charT == wchar_t cases. </p>
+<div class="refsect2" lang="en">
+<a name="id2723829"></a><h3>
+<a name="basic_command_line_parserconstruct-copy-destruct"></a><code class="computeroutput">basic_command_line_parser</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2360299-bb"></a>basic_command_line_parser(<span class="bold"><strong>const</strong></span> std::vector&lt; std::basic_string&lt; charT &gt; &gt; &amp; args);</pre>
+<p>Creates a command line parser for the specified arguments list. The 'args' parameter should not include program name. </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2395534-bb"></a>basic_command_line_parser(<span class="bold"><strong>int</strong></span> argc, charT * argv);</pre>
+<p>Creates a command line parser for the specified arguments list. The parameters should be the same as passed to 'main'. </p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2723900"></a><h3>
+<a name="id2359403-bb"></a><code class="computeroutput">basic_command_line_parser</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><a href="basic_command_line_parser.html" title="Class template basic_command_line_parser">basic_command_line_parser</a> &amp;</span> <a name="id2359408-bb"></a>options(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp; desc) ;</pre>
+<p>Sets options descriptions to use. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a href="basic_command_line_parser.html" title="Class template basic_command_line_parser">basic_command_line_parser</a> &amp;</span>
+<a name="id2442218-bb"></a>positional(<span class="bold"><strong>const</strong></span> <a href="id2525902.html" title="Class positional_options_description">positional_options_description</a> &amp; desc) ;</pre>
+<p>Sets positional options description to use. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a href="basic_command_line_parser.html" title="Class template basic_command_line_parser">basic_command_line_parser</a> &amp;</span> <a name="id2425682-bb"></a>style(<span class="bold"><strong>int</strong></span> ) ;</pre>
+<p>Sets the command line style. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a href="basic_command_line_parser.html" title="Class template basic_command_line_parser">basic_command_line_parser</a> &amp;</span> <a name="id2395244-bb"></a>extra_parser(ext_parser ) ;</pre>
+<p>Sets the extra parsers. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; charT &gt;</span> <a name="id2354252-bb"></a>run() ;</pre>
+<p>Parses the options and returns the result of parsing. Throws on error. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a href="basic_command_line_parser.html" title="Class template basic_command_line_parser">basic_command_line_parser</a> &amp;</span> <a name="id2491704-bb"></a>allow_unregistered() ;</pre>
+<p>Specifies that unregistered options are allowed and should be passed though. For each command like token that looks like an option but does not contain a recognized name, an instance of basic_option&lt;charT&gt; will be added to result, with 'unrecognized' field set to 'true'. It's possible to collect all unrecognized options with the 'collect_unrecognized' funciton. </p>
+</li>
+<li><pre class="literallayout"><span class="type"><a href="basic_command_line_parser.html" title="Class template basic_command_line_parser">basic_command_line_parser</a> &amp;</span> <a name="id2360273-bb"></a>extra_style_parser(style_parser s) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2381437-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2348797"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2348892.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/basic_option.html b/doc/html/basic_option.html
new file mode 100644
index 0000000000..579ac729b7
--- /dev/null
+++ b/doc/html/basic_option.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template basic_option</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2359341" title="Header &lt;boost/program_options/option.hpp&gt;">
+<link rel="prev" href="invalid_command_line_style.html" title="Class invalid_command_line_style">
+<link rel="next" href="option_description.html" title="Class option_description">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="invalid_command_line_style.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2359341"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="option_description.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="basic_option"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template basic_option</span></h2>
+<p>boost::program_options::basic_option &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+<span class="bold"><strong>class</strong></span> basic_option {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="basic_option.html#basic_optionconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="basic_option.html#id2350517-bb">basic_option</a>();
+  <a href="basic_option.html#id2350519-bb">basic_option</a>(<span class="bold"><strong>const</strong></span> std::string &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp;);
+
+  <span class="emphasis"><em>// <a href="basic_option.html#id2350512-bb">public member functions</a></em></span>
+
+  std::string string_key;
+  int position_key;
+  std::vector&lt; std::basic_string&lt; charT &gt; &gt; value;
+  std::vector&lt; std::basic_string&lt; charT &gt; &gt; original_tokens;
+  bool unregistered;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2720364"></a><h2>Description</h2>
+<p>Option found in input source. Contains a key and a value. The key, in turn, can be a string (name of an option), or an integer (position in input source) -- in case no name is specified. The latter is only possible for command line. The template parameter specifies the type of char used for storing the option's value. </p>
+<div class="refsect2" lang="en">
+<a name="id2720375"></a><h3>
+<a name="basic_optionconstruct-copy-destruct"></a><code class="computeroutput">basic_option</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2350517-bb"></a>basic_option();</pre></li>
+<li><pre class="literallayout"><a name="id2350519-bb"></a>basic_option(<span class="bold"><strong>const</strong></span> std::string &amp; string_key,
+             <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp; value);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2720436"></a><h3>
+<a name="id2350512-bb"></a><code class="computeroutput">basic_option</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="invalid_command_line_style.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2359341"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="option_description.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/basic_parsed_options.html b/doc/html/basic_parsed_options.html
new file mode 100644
index 0000000000..d1c2f1c542
--- /dev/null
+++ b/doc/html/basic_parsed_options.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template basic_parsed_options</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2348797" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="duplicate_option_error.html" title="Class duplicate_option_error">
+<link rel="next" href="id2381437-bb.html" title="Class basic_parsed_options&lt;wchar_t&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="duplicate_option_error.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2348797"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2381437-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="basic_parsed_options"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template basic_parsed_options</span></h2>
+<p>boost::program_options::basic_parsed_options &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+<span class="bold"><strong>class</strong></span> basic_parsed_options {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="basic_parsed_options.html#basic_parsed_optionsconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="basic_parsed_options.html#id2546747-bb">basic_parsed_options</a>(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> *);
+
+  <span class="emphasis"><em>// <a href="basic_parsed_options.html#id2345108-bb">public member functions</a></em></span>
+
+  std::vector&lt; <a href="basic_option.html" title="Class template basic_option">basic_option</a>&lt; charT &gt; &gt; options;
+  const <a href="options_description.html" title="Class options_description">options_description</a> * description;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2723277"></a><h2>Description</h2>
+<p>Results of parsing an input source. The primary use of this class is passing information from parsers component to value storage component. This class does not makes much sense itself. </p>
+<div class="refsect2" lang="en">
+<a name="id2723286"></a><h3>
+<a name="basic_parsed_optionsconstruct-copy-destruct"></a><code class="computeroutput">basic_parsed_options</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2546747-bb"></a>basic_parsed_options(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> * description);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2723332"></a><h3>
+<a name="id2345108-bb"></a><code class="computeroutput">basic_parsed_options</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2723351"></a><h3>Specializations</h3>
+<div class="itemizedlist"><ul type="disc"><li><p><a href="id2381437-bb.html" title="Class basic_parsed_options&lt;wchar_t&gt;">Class basic_parsed_options&lt;wchar_t&gt;</a></p></li></ul></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="duplicate_option_error.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2348797"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2381437-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2.html b/doc/html/bbv2.html
new file mode 100644
index 0000000000..021f414a5d
--- /dev/null
+++ b/doc/html/bbv2.html
@@ -0,0 +1,124 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Part III. Boost.Build v2 User Manual</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="index.html" title="The Boost C++ Libraries">
+<link rel="prev" href="boostbook/dtd/rationale.html" title="
+ BoostBook element rationale">
+<link rel="next" href="bbv2/howto.html" title="Chapter 21. How to use this document">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boostbook/dtd/rationale.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bbv2/howto.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="part" lang="en">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="bbv2"></a>Part III. Boost.Build v2 User Manual</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="chapter"><a href="bbv2/howto.html">21. How to use this document</a></span></dt>
+<dt><span class="chapter"><a href="bbv2/installation.html">22. Installation</a></span></dt>
+<dt><span class="chapter"><a href="bbv2/tutorial.html">23. Tutorial</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="bbv2/tutorial.html#bbv2.tutorial.hello">Hello, world</a></span></dt>
+<dt><span class="section"><a href="bbv2/tutorial/properties.html">Properties</a></span></dt>
+<dt><span class="section"><a href="bbv2/tutorial/hierarchy.html">Project Hierarchies</a></span></dt>
+<dt><span class="section"><a href="bbv2/tutorial/libs.html">Dependent Targets</a></span></dt>
+<dt><span class="section"><a href="bbv2/tutorial/linkage.html">Static and shared libaries</a></span></dt>
+<dt><span class="section"><a href="bbv2/tutorial/conditions.html">Conditions and alternatives</a></span></dt>
+<dt><span class="section"><a href="bbv2/tutorial/prebuilt.html">Prebuilt targets</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="bbv2/advanced.html">24. User documentation</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="bbv2/advanced.html#bbv2.advanced.configuration">Configuration</a></span></dt>
+<dt><span class="section"><a href="bbv2/advanced/jamfiles.html">Writing Jamfiles</a></span></dt>
+<dt><span class="section"><a href="bbv2/advanced/build_process.html">The Build Process</a></span></dt>
+<dt><span class="section"><a href="bbv2/advanced/builtins/targets.html">Builtin target types</a></span></dt>
+<dt><span class="section"><a href="bbv2/advanced/builtins/features.html">Builtin features</a></span></dt>
+<dt><span class="section"><a href="bbv2/advanced/differences_to_v1.html">Differences to Boost.Build V1</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="bbv2/extender.html">25. Extender Manual</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="bbv2/extender.html#bbv2.extender.intro">Introduction</a></span></dt>
+<dt><span class="section"><a href="bbv2/extending/targets.html">Target types</a></span></dt>
+<dt><span class="section"><a href="bbv2/extending/tools.html">Tools and generators</a></span></dt>
+<dt><span class="section"><a href="bbv2/extending/features.html">Features</a></span></dt>
+<dt><span class="section"><a href="bbv2/extending/rules.html">Main target rules</a></span></dt>
+<dt><span class="section"><a href="bbv2/extending/toolset_modules.html">Toolset modules</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="bbv2/reference.html">26. Detailed reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="bbv2/reference.html#bbv2.reference.general">General information</a></span></dt>
+<dt><span class="section"><a href="bbv2/reference/jamfiles.html">Writing Jamfiles</a></span></dt>
+<dt><span class="section"><a href="bbv2/reference/buildprocess.html">Build process</a></span></dt>
+<dt><span class="section"><a href="bbv2/reference/definitions.html">Definitions</a></span></dt>
+<dt><span class="section"><a href="bbv2/reference/generators.html">Generators</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="bbv2/faq.html">27. Frequently Asked Questions</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="bbv2/faq.html#id2861593">
+ I'm getting "Duplicate name of actual target" error. What
+ does it mean?
+ </a></span></dt>
+<dt><span class="section"><a href="bbv2/faq/envar.html">
+ Accessing environment variables
+ </a></span></dt>
+<dt><span class="section"><a href="bbv2/faq/s03.html">
+ How to control properties order?
+ </a></span></dt>
+<dt><span class="section"><a href="bbv2/faq/s04.html">
+ How to control the library order on Unix?
+ </a></span></dt>
+<dt><span class="section"><a href="bbv2/faq/external.html">Can I get output of external program as a variable in a Jamfile?
+ </a></span></dt>
+<dt><span class="section"><a href="bbv2/faq/s06.html">How to get the project-root location?
+ </a></span></dt>
+<dt><span class="section"><a href="bbv2/faq/s07.html">How to change compilation flags for one file?
+ </a></span></dt>
+<dt><span class="section"><a href="bbv2/faq/dll-path.html">Why are the <code class="computeroutput">dll-path</code> and
+ <code class="computeroutput">hardcode-dll-paths</code> properties useful?
+ </a></span></dt>
+<dt><span class="section"><a href="bbv2/recipies/site-config.html">Targets in site-config.jam</a></span></dt>
+</dl></dd>
+<dt><span class="appendix"><a href="bbv2/arch.html">B. Boost.Build v2 architecture</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="bbv2/arch.html#bbv2.arch.overview">Overview</a></span></dt>
+<dt><span class="section"><a href="bbv2/arch/build.html">The build layer</a></span></dt>
+<dt><span class="section"><a href="bbv2/arch/tools.html">The tools layer</a></span></dt>
+<dt><span class="section"><a href="bbv2/arch/targets.html">Targets</a></span></dt>
+</dl></dd>
+</dl>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: December 29, 2004 at 22:17:38 GMT</p></small></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boostbook/dtd/rationale.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bbv2/howto.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/advanced.html b/doc/html/bbv2/advanced.html
new file mode 100644
index 0000000000..638b793474
--- /dev/null
+++ b/doc/html/bbv2/advanced.html
@@ -0,0 +1,255 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 24. User documentation</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../bbv2.html" title="Part III. Boost.Build v2 User Manual">
+<link rel="prev" href="tutorial/prebuilt.html" title="Prebuilt targets">
+<link rel="next" href="advanced/jamfiles.html" title="Writing Jamfiles">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial/prebuilt.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bbv2.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="advanced/jamfiles.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="bbv2.advanced"></a>Chapter 24. User documentation</h2></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="advanced.html#bbv2.advanced.configuration">Configuration</a></span></dt>
+<dt><span class="section"><a href="advanced/jamfiles.html">Writing Jamfiles</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="advanced/jamfiles.html#bbv2.advanced.overview">Overview</a></span></dt>
+<dt><span class="section"><a href="advanced/jamfiles.html#bbv2.advanced.targets">Main targets</a></span></dt>
+<dt><span class="section"><a href="advanced/jamfiles.html#bbv2.advanced.projects">Projects</a></span></dt>
+<dt><span class="section"><a href="advanced/jamfiles.html#bbv2.advanced.other-rules">Jamfile Utility Rules</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="advanced/build_process.html">The Build Process</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="advanced/build_process.html#id2856769">Build request</a></span></dt>
+<dt><span class="section"><a href="advanced/build_process.html#id2856811">Building a main target</a></span></dt>
+<dt><span class="section"><a href="advanced/build_process.html#id2856924">Building a project</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="advanced/builtins/targets.html">Builtin target types</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="advanced/builtins/targets.html#id2856983">Programs</a></span></dt>
+<dt><span class="section"><a href="advanced/builtins/targets.html#id2857046">Libraries</a></span></dt>
+<dt><span class="section"><a href="advanced/builtins/targets.html#bbv2.builtins.alias">Alias</a></span></dt>
+<dt><span class="section"><a href="advanced/builtins/targets.html#bbv2.builtins.stage">Installing</a></span></dt>
+<dt><span class="section"><a href="advanced/builtins/targets.html#bbv2.builtins.testing">Testing</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="advanced/builtins/features.html">Builtin features</a></span></dt>
+<dt><span class="section"><a href="advanced/differences_to_v1.html">Differences to Boost.Build V1</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="advanced/differences_to_v1.html#bbv2.advanced.differences_to_v1.configuration">Configuration</a></span></dt>
+<dt><span class="section"><a href="advanced/differences_to_v1.html#bbv2.advanced.differences_to_v1.jamfiles">Writing Jamfiles</a></span></dt>
+<dt><span class="section"><a href="advanced/differences_to_v1.html#bbv2.advanced.differences_to_v1.build_process">Build process</a></span></dt>
+</dl></dd>
+</dl>
+</div>
+<p>This section will provide the information necessary to create your own
+ projects using Boost.Build. The information provided here is relatively
+ high-level, and <a href="reference.html" title="Chapter 26. Detailed reference">Chapter 26, <i>Detailed reference</i></a> as
+ well as the on-line help system must be used to obtain
+ low-level documentation (see <a href="reference.html#bbv2.reference.init.options.help">???</a>).</p>
+<p>Boost.Build actually consists of two parts - Boost.Jam, a
+ build engine with its own interpreted language, and Boost.Build itself,
+ implemented in Boost.Jam's language. The chain of events when
+ you type <span><strong class="command">bjam</strong></span> on the command line is:
+ </p>
+<div class="orderedlist"><ol type="1">
+<li><p>Boost.Jam tries to find Boost.Build and loads the top-level
+ module. The exact process is described in <a href="reference.html#bbv2.reference.init" title="Initialization">the section called &#8220;Initialization&#8221;</a></p></li>
+<li><p>The top-level module loads user-defined configuration
+ files, <code class="filename">user-config.jam</code> and <code class="filename">site-config.jam</code>, which define
+ available toolsets.</p></li>
+<li><p>The Jamfile in the current directory is read. That in turn
+ might cause reading of further Jamfiles. As a result, a tree of
+ projects is created, with targets inside projects.</p></li>
+<li><p>Finally, using the build request specified on the command line,
+ Boost.Build decides which targets should be built, and how. That
+ information is passed back to Boost.Jam, which takes care of
+ actually running commands.</p></li>
+</ol></div>
+<p>So, to be able to successfully use Boost.Build, you need to know only
+ three things:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><a href="advanced.html#bbv2.advanced.configuration" title="Configuration">
+ How to configure Boost.Build</a></p></li>
+<li><p><a href="advanced/jamfiles.html" title="Writing Jamfiles">
+ How to write Jamfiles</a></p></li>
+<li><p><a href="advanced/build_process.html" title="The Build Process">
+ How the build process works</a></p></li>
+<li><p>Some Basics about the Boost.Jam language. See the
+ <a href="http://www.boost.org/tools/build/jam_src/index.html#jam_fundamentals" target="_top">Boost.Jam</a>
+ and <a href="http://www.boost.org/tools/build/jam_src/jam.html" target="_top">Classic
+ Jam</a> documentation.
+ </p></li>
+</ul></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.advanced.configuration"></a>Configuration</h2></div></div></div>
+<p>The Boost.Build configuration is specified in the file
+ <code class="filename">user-config.jam</code>. You can edit the one that comes with Boost.Build, or
+
+ create a copy in your home directory and edit that. (See the <a href="reference.html#bbv2.reference.init.config" title="Table 26.1. Search paths for configuration files">reference</a> for the exact search
+ paths.) The primary function of that file is to declare which compilers
+ and other tools are available. The simplest syntax to configure a tool is:
+</p>
+<pre class="programlisting">
+using <em class="replaceable"><code>tool-name</code></em> ;
+</pre>
+<p>
+ The <code class="computeroutput">using</code> rule is given a name of tool, and will make that tool
+ available to Boost.Build. For example, <code class="computeroutput">using gcc ;</code> will make the gcc compiler
+ available.
+ </p>
+<p>
+ Since nothing but a tool name is specified, Boost.Build will
+ pick some default settings. For example, it will use the
+ <span><strong class="command">gcc</strong></span> executable found in the
+ <code class="envar">PATH</code>, or look in some known installation
+ locations. In most cases, this strategy works automatically. In
+ case you have several versions of a compiler, it's installed in
+ some unusual location, or you need to tweak its configuration,
+ you'll need to pass additional parameters to the
+ <code class="computeroutput">using</code> rule. The parameters to
+ <code class="computeroutput">using</code> can be different for each
+ tool. You can obtain specific documentation for any tool's
+ configuration parameters by invoking
+</p>
+<pre class="programlisting">
+bjam --help <em class="replaceable"><code>tool-name</code></em>.init
+</pre>
+<p>
+ That said, for all the compiler toolsets Boost.Build supports
+ out-of-the-box, the list of parameters to
+ <code class="computeroutput">using</code> is the same: <em class="parameter"><code>toolset-name</code></em>, <em class="parameter"><code>version</code></em>, <em class="parameter"><code>invocation-command</code></em>, and <em class="parameter"><code>options</code></em>.
+ </p>
+<p>The <em class="parameter"><code>version</code></em>
+ parameter identifies the toolset version, in case you have
+ several installed. It can have any form you like, but
+ it's recommended that you use a numeric identifier like
+ <code class="literal">7.1</code>.
+ </p>
+<p>
+ The <em class="parameter"><code>invocation-command</code></em>
+ parameter is the command that must be executed to run the
+ compiler. This parameter can usually be omitted if the compiler
+ executable
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>has its &#8220;usual
+ name&#8221; and is in the <code class="envar">PATH</code>,
+ or</p></li>
+<li><p>was installed in a standard
+ &#8220;installation directory&#8221;,
+ or</p></li>
+<li><p>can be found through a global mechanism like the
+ Windows registry.</p></li>
+</ul></div>
+<p>
+
+ For example:
+</p>
+<pre class="programlisting">
+using msvc : 7.1 ;
+using gcc ;
+</pre>
+<p>
+If the compiler can be found in the <code class="envar">PATH</code> but only by a
+nonstandard name, you can just supply that name:
+</p>
+<pre class="programlisting">
+using gcc : : g++-3.2 ;
+</pre>
+<p>
+Otherwise, it might be necessary to supply the complete path to the
+compiler executable:
+</p>
+<pre class="programlisting">
+using msvc : : Z:/Programs/Microsoft Visual Studio/vc98/bin/cl ;
+</pre>
+<p>
+Some Boost.Build toolsets will use that path to take additional
+actions required before invoking the compiler, such as calling
+vendor-supplied scripts to set up its required environment variables.
+</p>
+<p>To configure several versions of a toolset, simply invoke
+ the <code class="computeroutput">using</code> rule multiple times:
+</p>
+<pre class="programlisting">
+using gcc : 3.3 ;
+using gcc : 3.4 : g++-3.4 ;
+using gcc : 3.2 : g++-3.2 ;
+</pre>
+<p>
+ Note that in the first call to
+ <code class="computeroutput">using</code>, the compiler found in the
+ <code class="envar">PATH</code> will be used, and there's no need to
+ explicitly specify the command.
+ </p>
+<p>As shown above, both the <em class="parameter"><code>version</code></em> and <em class="parameter"><code>invocation-command</code></em> parameters are
+ optional, but there's an important restriction: if you configure
+ the same toolset more than once, you must pass the <em class="parameter"><code>version</code></em>
+ parameter every time. For example, the following is not allowed:
+</p>
+<pre class="programlisting">
+using gcc ;
+using gcc : 3.4 : g++-3.4 ;
+</pre>
+<p>
+ because the first <code class="computeroutput">using</code> call does
+ not specify a <em class="parameter"><code>version</code></em>.
+ </p>
+<p>The <em class="parameter"><code>options</code></em>
+ parameter is used to fine-tune the configuration. All of
+ Boost.Build's standard compiler toolsets accept properties of the
+ four builtin features <code class="varname">cflags</code>,
+ <code class="varname">cxxflags</code>, <code class="varname">compileflags</code> and
+ <code class="varname">linkflags</code> as <em class="parameter"><code>options</code></em> specifying flags that will be
+ always passed to the corresponding tools. Values of the
+ <code class="varname">cflags</code> feature are passed directly to the C
+ compiler, values of the <code class="varname">cxxflags</code> feature are
+ passed directly to the C++ compiler, and values of the
+ <code class="varname">compileflags</code> feature are passed to both. For
+ example, to configure a <span><strong class="command">gcc</strong></span> toolset so that it
+ always generates 64-bit code you could write:
+</p>
+<pre class="programlisting">
+using gcc : 3.4 : : &lt;compileflags&gt;-m64 &lt;linkflags&gt;-m64 ;
+</pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial/prebuilt.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bbv2.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="advanced/jamfiles.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/advanced/build_process.html b/doc/html/bbv2/advanced/build_process.html
new file mode 100644
index 0000000000..657572c85f
--- /dev/null
+++ b/doc/html/bbv2/advanced/build_process.html
@@ -0,0 +1,194 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>The Build Process</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../advanced.html" title="Chapter 24. User documentation">
+<link rel="prev" href="jamfiles.html" title="Writing Jamfiles">
+<link rel="next" href="builtins/targets.html" title="Builtin target types">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jamfiles.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../advanced.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="builtins/targets.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.advanced.build_process"></a>The Build Process</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="build_process.html#id2856769">Build request</a></span></dt>
+<dt><span class="section"><a href="build_process.html#id2856811">Building a main target</a></span></dt>
+<dt><span class="section"><a href="build_process.html#id2856924">Building a project</a></span></dt>
+</dl></div>
+<p>When you've described your targets, you want Boost.Build to run the
+ right tools and create the needed targets.
+
+ This section will describe
+ two things: how you specify what to build, and how the main targets are
+ actually constructed.
+ </p>
+<p>The most important thing to note is that in Boost.Build, unlike
+ other build tools, the targets you declare do not correspond to specific
+ files. What you declare in a Jamfile is more like a &#8220;metatarget.&#8221;
+
+ Depending on the properties you specify on the command line,
+ each metatarget will produce a set of real targets corresponding
+ to the requested properties. It is quite possible that the same
+ metatarget is built several times with different properties,
+
+ producing different files.
+ </p>
+<div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Tip</h3>
+<p>
+ This means that for Boost.Build, you cannot directly obtain a build
+ variant from a Jamfile. There could be several variants requested by the
+ user, and each target can be built with different properties.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2856769"></a>Build request</h3></div></div></div>
+<p>
+ The command line specifies which targets to build and with which
+ properties. For example:
+</p>
+<pre class="programlisting">
+bjam app1 lib1//lib1 toolset=gcc variant=debug optimization=full
+</pre>
+<p>
+ would build two targets, "app1" and "lib1//lib1" with the specified
+ properties. You can refer to any targets, using
+ <a href="../reference/definitions.html#bbv2.reference.ids" title="Target identifiers and references">target id</a> and specify arbitrary
+ properties. Some of the properties are very common, and for them the name
+ of the property can be omitted. For example, the above can be written as:
+</p>
+<pre class="programlisting">
+bjam app1 lib1//lib1 gcc debug optimization=full
+</pre>
+<p>
+ The complete syntax, which has some additional shortcuts, is
+ described in <a href="../reference.html#bbv2.reference.commandline" title="Command line">the section called &#8220;Command line&#8221;</a>.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2856811"></a>Building a main target</h3></div></div></div>
+<p>When you request, directly or indirectly, a build of a main target
+ with specific requirements, the following steps are made. Some brief
+ explanation is provided, and more details are given in <a href="../reference/buildprocess.html" title="Build process">the section called &#8220;Build process&#8221;</a>.
+ </p>
+<div class="orderedlist"><ol type="1">
+<li><p>Applying default build. If the default-build
+ property of a target specifies a value of a feature that is not
+ present in the build request, that value is added.</p></li>
+<li><p>Selecting the main target alternative to use. For
+ each alternative we look how many properties are present both in
+ alternative's requirements, and in build request. The
+ alternative with large number of matching properties is selected.
+ </p></li>
+<li><p>Determining "common" properties.
+
+ The build request
+ is <a href="../reference/definitions.html#bbv2.reference.variants.proprefine" title="Property refinement">refined</a>
+ with target's requirements.
+
+ The conditional properties in
+ requirements are handled as well. Finally, default values of
+ features are added.
+ </p></li>
+<li><p>Building targets referred by the sources list and
+ dependency properties. The list of sources and the properties
+ can refer to other target using <a href="../reference/definitions.html#bbv2.reference.ids" title="Target identifiers and references">target references</a>. For each
+ reference, we take all <a href="../reference/definitions.html#bbv2.reference.features.attributes.propagated">propagated</a>
+ properties, refine them by explicit properties specified in the
+ target reference, and pass the resulting properties as build
+ request to the other target.
+ </p></li>
+<li><p>Adding the usage requirements produced when building
+ dependencies to the "common" properties. When dependencies are
+ built in the previous step, they return
+
+ both the set of created
+ "real" targets, and usage requirements. The usage requirements
+ are added to the common properties and the resulting property
+ set will be used for building the current target.
+ </p></li>
+<li><p>Building the target using generators. To convert the
+ sources to the desired type, Boost.Build uses "generators" ---
+ objects that correspond to tools like compilers and
+ linkers. Each generator declares what type of targets it
+
+ can
+ produce and what type of sources it requires. Using this
+ information, Boost.Build determines which generators must be run
+ to produce a specific target from specific sources. When
+ generators are run, they return the "real" targets.
+ </p></li>
+<li><p>Computing the usage requirements to be returned. The
+ conditional properties in usage requirements are expanded
+
+ and the
+ result is returned.</p></li>
+</ol></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2856924"></a>Building a project</h3></div></div></div>
+<p>Often, a user builds a complete project, not just one main
+ target. In fact, invoking <span><strong class="command">bjam</strong></span> without
+ arguments
+
+ builds the project defined in the current
+ directory.</p>
+<p>When a project is built, the build request is passed without
+ modification to all main targets in that project.
+
+ It's is possible to
+ prevent implicit building of a target in a project with the
+ <code class="computeroutput">explicit</code> rule:
+</p>
+<pre class="programlisting">
+explicit hello_test ;
+</pre>
+<p>
+ would cause the <code class="computeroutput">hello_test</code> target to be built only if
+ explicitly requested by the user or by some other target.
+ </p>
+<p>The Jamfile for a project can include a number of
+ <code class="computeroutput">build-project</code> rule calls
+
+ that specify additional projects
+ to be built.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jamfiles.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../advanced.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="builtins/targets.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/advanced/builtins/features.html b/doc/html/bbv2/advanced/builtins/features.html
new file mode 100644
index 0000000000..3d85d6eb05
--- /dev/null
+++ b/doc/html/bbv2/advanced/builtins/features.html
@@ -0,0 +1,172 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Builtin features</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../advanced.html" title="Chapter 24. User documentation">
+<link rel="prev" href="targets.html" title="Builtin target types">
+<link rel="next" href="../differences_to_v1.html" title="Differences to Boost.Build V1">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="targets.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../advanced.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../differences_to_v1.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.advanced.builtins.features"></a>Builtin features</h2></div></div></div>
+<div class="variablelist"><dl>
+<dt><span class="term"><code class="literal">variant</code></span></dt>
+<dd>
+<p>
+ A feature that combines several low-level features, making
+ it easy to request common build configurations.
+ </p>
+<p><span class="bold"><strong>Allowed values:</strong></span><code class="literal">debug</code>, <code class="literal">release</code>,
+ <code class="literal">profile</code></p>
+<p>The value <code class="literal">debug</code> expands to</p>
+<pre class="programlisting">
+ &lt;optimization&gt;off &lt;debug-symbols&gt;on &lt;inlining&gt;off &lt;runtime-debugging&gt;on
+ </pre>
+<p>The value <code class="literal">release</code> expands to</p>
+<pre class="programlisting">
+ &lt;optimization&gt;speed &lt;debug-symbols&gt;off &lt;inlining&gt;full &lt;runtime-debugging&gt;off
+ </pre>
+<p>The value <code class="literal">profile</code> expands to the same as
+ <code class="literal">release</code>, plus:</p>
+<pre class="programlisting">
+ &lt;profiling&gt;on &lt;debug-symbols&gt;on
+ </pre>
+<p><span class="bold"><strong>Rationale:</strong></span> Runtime
+ debugging is on in debug builds to suit the expectations of
+ people used to various IDEs.
+
+ It's assumed other folks don't
+ have any specific expectation in this point.
+ </p>
+</dd>
+<dt>
+<a name="bbv2.advanced.builtins.features.link"></a><span class="term"><code class="literal">link</code></span>
+</dt>
+<dd>
+<p>
+ A feature that controls how libraries are built.
+ </p>
+<p><span class="bold"><strong>Allowed values:</strong></span><code class="literal">shared</code>,
+ <code class="literal">static</code></p>
+</dd>
+<dt><span class="term"><code class="literal">source</code></span></dt>
+<dd>
+ The <code class="computeroutput">&lt;source&gt;X</code> feature has the same effect on building a target
+ as putting X in the list of sources. The feature
+ is sometimes more convenient:
+
+ you can put <code class="computeroutput">&lt;source&gt;X</code> in the
+ requirements for a project and <code class="filename">X</code> will
+ be included as a source in all of the project's main
+ targets.
+ </dd>
+<dt><span class="term"><code class="literal">library</code></span></dt>
+<dd>
+ This feature is equivalent to the &lt;source&gt; feature, and exists
+ for backward compatibility reasons.
+ </dd>
+<dt><span class="term"><a name="bbv2.builtin.features.dependency"></a><code class="literal">dependency</code></span></dt>
+<dd>
+ Introduces a dependency on the target named by the
+ value of this feature (so it will be brought
+ up-to-date whenever the target being declared is), and
+ adds its usage requirements to the build properties
+
+ of the target being declared. The dependency is not used
+ in any other way. The primary use case is when you want
+ the usage requirements (such as <code class="computeroutput">#include</code> paths) of some
+ library to be applied, but don't want to link to it.
+ </dd>
+<dt><span class="term"><a name="bbv2.builtin.features.use"></a><code class="literal">use</code></span></dt>
+<dd>
+ Introduces a dependency on the target named by the
+ value of this feature (so it will be brought
+ up-to-date whenever the target being declared is), and
+ adds its usage requirements to the build properties
+
+ of the target being declared. The dependency is not used
+ in any other way. The primary use case is when you want
+ the usage requirements (such as <code class="computeroutput">#include</code> paths) of some
+ library to be applied, but don't want to link to it.
+ </dd>
+<dt><span class="term"><code class="literal">dll-path</code></span></dt>
+<dd>
+ Specify an additional directory where the system should
+ look for shared libraries when the executable or shared
+ library is run. This feature only affects Unix
+ compilers. Plase see <a href="../../faq/dll-path.html" title="Why are the dll-path and
+ hardcode-dll-paths properties useful?
+ ">the section called &#8220;Why are the <code class="computeroutput">dll-path</code> and
+ <code class="computeroutput">hardcode-dll-paths</code> properties useful?
+ &#8221;</a>
+ in <a href="../../faq.html" title="Chapter 27. Frequently Asked Questions">Chapter 27, <i>Frequently Asked Questions</i></a> for details.
+ </dd>
+<dt><span class="term"><code class="literal">hardcode-dll-paths</code></span></dt>
+<dd>
+<p>
+ Controls automatic generation of dll-path properties.
+ </p>
+<p><span class="bold"><strong>Allowed values:</strong></span><code class="literal">true</code>, <code class="literal">false</code>. This property
+ is specific to Unix systems. If an executable is built with
+ <code class="computeroutput">&lt;hardcode-dll-paths&gt;true</code>, the generated binary
+ will contain the list of all the paths to the used shared
+ libraries. As the result, the executable can be run without
+ changing system paths to shared libraries or installing the
+ libraries to system paths. This
+
+ is very convenient during
+ development. Plase see the <a href="../../faq/dll-path.html" title="Why are the dll-path and
+ hardcode-dll-paths properties useful?
+ ">FAQ entry</a> for details.
+ Note that on Mac OSX, the paths are unconditionally hardcoded by
+ the linker, and it's not possible to disable that behaviour.
+ </p>
+</dd>
+<dt>
+<span class="term"><code class="literal">cflags</code>, </span><span class="term"><code class="literal">cxxflags</code>, </span><span class="term"><code class="literal">linkflags</code></span>
+</dt>
+<dd>
+ The value of those features is passed without modification to the
+ corresponding tools. For <code class="computeroutput">cflags</code> that's both C and C++
+ compilers, for <code class="computeroutput">cxxflags</code> that's C++ compiler and for
+ <code class="computeroutput">linkflags</code> that's linker. The features are handy when
+ you're trying to do something special that cannot be achieved by
+ higher-level feature in Boost.Build.
+ </dd>
+</dl></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="targets.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../advanced.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../differences_to_v1.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/advanced/builtins/targets.html b/doc/html/bbv2/advanced/builtins/targets.html
new file mode 100644
index 0000000000..63258618a3
--- /dev/null
+++ b/doc/html/bbv2/advanced/builtins/targets.html
@@ -0,0 +1,390 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Builtin target types</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../advanced.html" title="Chapter 24. User documentation">
+<link rel="prev" href="../build_process.html" title="The Build Process">
+<link rel="next" href="features.html" title="Builtin features">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../build_process.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../advanced.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="features.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.advanced.builtins.targets"></a>Builtin target types</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="targets.html#id2856983">Programs</a></span></dt>
+<dt><span class="section"><a href="targets.html#id2857046">Libraries</a></span></dt>
+<dt><span class="section"><a href="targets.html#bbv2.builtins.alias">Alias</a></span></dt>
+<dt><span class="section"><a href="targets.html#bbv2.builtins.stage">Installing</a></span></dt>
+<dt><span class="section"><a href="targets.html#bbv2.builtins.testing">Testing</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2856983"></a>Programs</h3></div></div></div>
+<p>Programs are created using the <code class="computeroutput">exe</code> rule, which
+ follows the <a href="../jamfiles.html#bbv2.main-target-rule-syntax">common
+ syntax</a>. For example:
+</p>
+<pre class="programlisting">
+exe hello : hello.cpp some_library.lib /some_project//library
+ : &lt;threading&gt;multi
+ ;
+</pre>
+<p>
+ This will create an executable file from the sources -- in this case,
+ one C++ file, one library file present in the same directory, and
+ another library that is created by Boost.Build. Generally, sources
+ can include C and C++ files, object files and libraries. Boost.Build
+ will automatically try to convert targets of other types.
+ </p>
+<div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Tip</h3>
+<p>
+ On Windows, if an application uses dynamic libraries, and both
+ the application and the libraries are built by Boost.Build, its not
+ possible to immediately run the application, because the
+ <code class="literal">PATH</code> environment variable should include the path
+ to the libraries. It means you have to either add the paths
+ manually, or place the application and the libraries to the same
+ directory, for example using the <a href="targets.html#bbv2.builtins.stage" title="Installing">
+ stage</a> rule.
+ </p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2857046"></a>Libraries</h3></div></div></div>
+<p>Libraries are created using the <code class="computeroutput">lib</code> rule, which
+ follows the <a href="../jamfiles.html#bbv2.main-target-rule-syntax">common
+ syntax</a>. For example:
+</p>
+<pre class="programlisting">
+lib helpers : helpers.cpp : &lt;include&gt;boost : : &lt;include&gt;. ;
+</pre>
+<p>In the most common case, the <code class="computeroutput">lib</code> creates a library
+ from the specified sources. Depending on the value of
+ &lt;link&gt; feature the library will be either static or
+ shared. There are two other cases. First is when the library is
+ installed somewhere in compiler's search paths, and should be
+ searched by the compiler (typically, using the <code class="option">-l</code>
+ option). The second case is where the library is available as a
+ prebuilt file and the full path is known.
+ </p>
+<p>
+ The syntax for these case is given below:
+</p>
+<pre class="programlisting">
+lib z : : &lt;name&gt;z &lt;search&gt;/home/ghost ;
+lib compress : : &lt;file&gt;/opt/libs/compress.a ;
+</pre>
+<p>
+ The <code class="computeroutput">name</code> property specifies the name that should be
+ passed to the <code class="option">-l</code> option, and the <code class="computeroutput">file</code>
+ property specifies the file location. The <code class="varname">search</code> feature
+ specifies paths in which to search for the library. That feature can
+ be specified several times, or it can be omitted, in which case only
+ default compiler paths will be searched.
+ </p>
+<p>The difference between using the <code class="varname">file</code> feature as
+ opposed to the <code class="varname">name</code> feature together with the
+ <code class="varname">search</code> feature is that <code class="varname">file</code> is more
+ precise. A specific file will be used. On the other hand, the
+ <code class="varname">search</code> feature only adds a library path, and the
+ <code class="varname">name</code> feature gives the basic name of the library. The
+ search rules are specific to the linker. For example, given these
+ definition:
+</p>
+<pre class="programlisting">
+lib a : : &lt;variant&gt;release &lt;file&gt;/pool/release/a.so ;
+lib a : : &lt;variant&gt;debug &lt;file&gt;/pool/debug/a.so ;
+lib b : : &lt;variant&gt;release &lt;file&gt;/pool/release/b.so ;
+lib b : : &lt;variant&gt;debug &lt;file&gt;/pool/debug/b.so ;
+</pre>
+<p>
+ It's possible to use release version of <code class="computeroutput">a</code> and debug
+ version of <code class="computeroutput">b</code>. Had we used the <code class="varname">name</code> and
+ <code class="varname">search</code> features, the linker would always pick either
+ release or debug versions.
+ </p>
+<p>
+ For convenience, the following syntax is allowed:
+</p>
+<pre class="programlisting">
+lib z ;
+lib gui db aux ;
+</pre>
+<p>
+ and is does exactly the same as:
+</p>
+<pre class="programlisting">
+lib z : : &lt;name&gt;z ;
+lib gui : : &lt;name&gt;gui ;
+lib db : : &lt;name&gt;db ;
+lib aux : : &lt;name&gt;aux ;
+</pre>
+<p>When a library uses another library you should put that another
+ library in the list of sources. This will do the right thing in all
+ cases. For portability, you should specify library dependencies even
+ for searched and prebuilt libraries, othewise, static linking on
+ Unix won't work. For example:
+</p>
+<pre class="programlisting">
+lib z ;
+lib png : z : &lt;name&gt;png ;
+</pre>
+<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Note</h3>
+<p>When a library (say, <code class="computeroutput">a</code>), that has another
+ library, (say, <code class="computeroutput">b</code>)
+
+ is linked dynamically, the <code class="computeroutput">b</code>
+ library will be incorporated
+
+ in <code class="computeroutput">a</code>. (If <code class="computeroutput">b</code>
+ is dynamic library as well, then <code class="computeroutput">a</code> will only refer to
+ it, and not include any extra code.)
+
+ When the <code class="computeroutput">a</code>
+ library is linked statically, Boost.Build will assure that all
+ executables that link to <code class="computeroutput">a</code> will also link to
+ <code class="computeroutput">b</code>.
+ </p>
+</div>
+<p>One feature of Boost.Build that is very important for libraries
+ is usage requirements.
+
+ For example, if you write:
+</p>
+<pre class="programlisting">
+lib helpers : helpers.cpp : : : &lt;include&gt;. ;
+</pre>
+<p>
+ then the compiler include path for all targets that use
+ <code class="computeroutput">helpers</code> will contain the directory
+
+ where the target is defined.path to "helpers.cpp". The user
+ only needs to add <code class="computeroutput">helpers</code> to the list of sources,
+ and needn't consider the requirements its use imposes on a
+ dependent target. This feature greatly simplifies Jamfiles.
+ </p>
+<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Note</h3>
+<p>If you don't want shared libraries to include all libraries
+ that are specified in sources (especially statically linked ones),
+ you'd need to use the following:
+</p>
+<pre class="programlisting">
+lib b : a.cpp ;
+lib a : a.cpp : &lt;use&gt;b : : &lt;library&gt;b ;
+</pre>
+<p>
+ This specifies that <code class="computeroutput">a</code> uses <code class="computeroutput">b</code>, and causes
+ all executables that link to <code class="computeroutput">a</code> also link to
+ <code class="computeroutput">b</code>. In this case, even for shared linking, the
+ <code class="computeroutput">a</code> library won't even refer to <code class="computeroutput">b</code>.
+ </p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.builtins.alias"></a>Alias</h3></div></div></div>
+<p>The <code class="computeroutput">alias</code> rule follows the <a href="../jamfiles.html#bbv2.main-target-rule-syntax">common syntax</a>. For
+ example:
+</p>
+<pre class="programlisting">
+alias core : im reader writer ;
+</pre>
+<p>
+ will build the sources
+
+ and return
+
+ the generated source targets
+ without modification.
+ </p>
+<p>
+ The <code class="computeroutput">alias</code> rule is a convenience tool. If you often build
+ the same group of targets at the same time, you can define an alias
+ to save typing.
+ </p>
+<p>
+ Another use of the <code class="computeroutput">alias</code> rule is to change build
+ properties. For example, if you always want static linking for a
+ specific C++ Boost library, you can write the following:
+</p>
+<pre class="programlisting">
+alias threads : /boost/thread//boost_thread : &lt;link&gt;static ;
+</pre>
+<p>
+ and use only the <code class="computeroutput">threads</code> alias in your Jamfiles.
+ </p>
+<p>
+ You can also specify usage requirements for the
+ <code class="computeroutput">alias</code> target. If you write the following:
+</p>
+<pre class="programlisting">
+alias header_only_library : : : : &lt;include&gt;/usr/include/header_only_library ;
+</pre>
+<p>
+ then using <code class="computeroutput">header_only_library</code> in sources will only add an
+ include path. Also note that when there are some sources, their usage
+ requirements are propagated, too. For example:
+</p>
+<pre class="programlisting">
+lib lib : lib.cpp : : : &lt;include&gt;. ;
+alias lib_alias ;
+exe main : main.cpp lib_alias ;
+</pre>
+<p>
+ will compile <code class="filename">main.cpp</code> with the additional include.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.builtins.stage"></a>Installing</h3></div></div></div>
+<p>For installing a built target you should use the
+ <code class="computeroutput">install</code> rule, which follows the <a href="../jamfiles.html#bbv2.main-target-rule-syntax">common syntax</a>. For
+ example:
+</p>
+<pre class="programlisting">
+install dist : hello helpers ;
+</pre>
+<p>
+ will cause the targets <code class="computeroutput">hello</code> and <code class="computeroutput">helpers</code> to
+ be moved to the <code class="filename">dist</code> directory, relative to
+ Jamfile's directory. The directory can
+ be changed with the <code class="computeroutput">location</code> property:
+</p>
+<pre class="programlisting">
+install dist : hello helpers : &lt;location&gt;/usr/bin ;
+</pre>
+<p>
+ While you can achieve the same effect by changing the target name to
+ <code class="filename">/usr/bin</code>, using the <code class="computeroutput">location</code>
+ property is better, because it allows you to use a memnonic target
+ name.
+ </p>
+<p>The <code class="computeroutput">location</code> property is especially handy when the location
+ is not fixed, but depends on build variant or environment variables:
+</p>
+<pre class="programlisting">
+install dist : hello helpers : &lt;variant&gt;release:&lt;location&gt;dist/release
+ &lt;variant&gt;debug:&lt;location&gt;dist/debug ;
+install dist2 : hello helpers : &lt;location&gt;$(DIST) ;
+</pre>
+<p>
+ See also <a href="../../reference/definitions.html#bbv2.reference.variants.propcond" title="Conditional properties">conditional
+ properties</a> and <a href="../../faq/envar.html" title="
+ Accessing environment variables
+ ">environment variables</a></p>
+<p>
+ Specifying the names of all libraries to install can be boring. The
+ <code class="computeroutput">install</code> allows you to specify only the top-level executable
+ targets to install, and automatically install all dependencies:
+</p>
+<pre class="programlisting">
+install dist : hello
+ : &lt;install-dependencies&gt;on &lt;install-type&gt;EXE
+ &lt;install-type&gt;LIB
+ ;
+</pre>
+<p>
+ will find all targets that <code class="computeroutput">hello</code> depends on, and install
+ all of the which are either executables or libraries. More
+ specifically, for each target, other targets that were specified as
+ sources or as dependency properties, will be recursively found. One
+ exception is that targets referred with the <a href="features.html#bbv2.builtin.features.use"><code class="computeroutput">use</code></a> feature
+ are not considered, because that feature is typically used to refer to
+ header-only libraries.
+ If the set of target types is specified, only targets of that type
+ will be installed, otherwise, all found target will be installed.
+ </p>
+<p>The <a href="targets.html#bbv2.builtins.alias" title="Alias"><code class="computeroutput">alias</code></a>
+ rule can be used when targets must be installed into several
+ directories:
+</p>
+<pre class="programlisting">
+install install : install-bin install-lib ;
+install install-bin : applications : /usr/bin ;
+install install-lib : helper : /usr/lib ;
+</pre>
+<p>Because the <code class="computeroutput">install</code> rule just copies targets, most
+ free features <sup>[<a name="id2857684" href="#ftn.id2857684">6</a>]</sup>
+ have no effect when used in requirements of the <code class="computeroutput">install</code>.
+ The only two which matter are
+ <a href="features.html#bbv2.builtin.features.dependency"><code class="varname">dependency</code></a> and, on Unix,
+ <code class="varname">dll-path</code>.
+ </p>
+<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Note</h3>
+<p>
+ (Unix specific). On Unix, executables built with Boost.Build typically
+ contain the list of paths to all used dynamic libraries. For
+ installing, this is not desired, so Boost.Build relinks the executable
+ with an empty list of paths. You can also specify additional paths for
+ installed executables with the <code class="varname">dll-path</code> feature.
+ </p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.builtins.testing"></a>Testing</h3></div></div></div>
+<p>Boost.Build has convenient support for running unit tests. The
+ simplest way is the <code class="computeroutput">unit-test</code> rule, which follows the
+ <a href="../jamfiles.html#bbv2.main-target-rule-syntax">common syntax</a>. For
+ example:
+</p>
+<pre class="programlisting">
+unit-test helpers_test : helpers_test.cpp helpers ;
+</pre>
+<p>The <code class="computeroutput">unit-test</code> rule behaves like the
+ <code class="computeroutput">exe</code> rule, but after the executable is created it is
+ run. If the executable returns an error code, the build system will also
+ return an error and will try running the executable on the next
+ invocation until it runs successfully. This behaviour ensures that you
+ can't miss a unit test failure.
+ </p>
+<p>There are rules for more elaborate testing: <code class="computeroutput">compile</code>,
+ <code class="computeroutput">compile-fail</code>, <code class="computeroutput">run</code> and
+ <code class="computeroutput">run-fail</code>. They are more suitable for automated testing, and
+ are not covered here.
+ </p>
+</div>
+<div class="footnotes">
+<br><hr width="100" align="left">
+<div class="footnote"><p><sup>[<a name="ftn.id2857684" href="#id2857684">6</a>] </sup>see the definition of "free" in <a href="../../reference/definitions.html#bbv2.reference.features.attributes" title="Feature Attributes">the section called &#8220;Feature Attributes&#8221;</a>.</p></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../build_process.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../advanced.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="features.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/advanced/differences_to_v1.html b/doc/html/bbv2/advanced/differences_to_v1.html
new file mode 100644
index 0000000000..61f255951d
--- /dev/null
+++ b/doc/html/bbv2/advanced/differences_to_v1.html
@@ -0,0 +1,138 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Differences to Boost.Build V1</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../advanced.html" title="Chapter 24. User documentation">
+<link rel="prev" href="builtins/features.html" title="Builtin features">
+<link rel="next" href="../extender.html" title="Chapter 25. Extender Manual">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="builtins/features.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../advanced.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../extender.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.advanced.differences_to_v1"></a>Differences to Boost.Build V1</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="differences_to_v1.html#bbv2.advanced.differences_to_v1.configuration">Configuration</a></span></dt>
+<dt><span class="section"><a href="differences_to_v1.html#bbv2.advanced.differences_to_v1.jamfiles">Writing Jamfiles</a></span></dt>
+<dt><span class="section"><a href="differences_to_v1.html#bbv2.advanced.differences_to_v1.build_process">Build process</a></span></dt>
+</dl></div>
+<p>While Boost.Build V2 is based on the same ideas as Boost.Build V1,
+ some of the syntax was changed, and some new important features were
+ added. This chapter describes most of the changes.</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.advanced.differences_to_v1.configuration"></a>Configuration</h3></div></div></div>
+<p>In V1, there were two methods to configure a toolset. One was to
+ set some environment variable, or use the <code class="option">-s</code> command line option to set
+ a variable inside BJam.
+
+ Another method was to create a new toolset module that would set
+ the variables and then invoke the base toolset. Neither method
+ is necessary now: the <code class="computeroutput">using</code> rule provides a consistent way to
+ initialize a toolset,
+
+ including several versions. See <a href="../advanced.html#bbv2.advanced.configuration" title="Configuration">the section called &#8220;Configuration&#8221;</a> for details.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.advanced.differences_to_v1.jamfiles"></a>Writing Jamfiles</h3></div></div></div>
+<p>Probably one of the most important differences in V2 Jamfiles is
+ the use of project requirements. In V1, if several targets had the same
+ requirements (for example, a common <code class="computeroutput">#include</code> path), it was necessary to
+ manually write the requirements or use a helper rule or template target. In V2, the
+ common properties can be specified with the <code class="computeroutput">requirements</code> project
+ attribute, as documented in <a href="jamfiles.html#bbv2.advanced.projects" title="Projects">the section called &#8220;Projects&#8221;</a>.
+ </p>
+<p><a href="../tutorial/libs.html" title="Dependent Targets">Usage requirements</a>
+ also help to simplify Jamfiles.
+
+ If a library requires
+ all clients to use specific <code class="computeroutput">#include</code> paths or macros when compiling
+ code that depends on the library, that information can be cleanly
+ represented.</p>
+<p>The difference between <code class="computeroutput">lib</code> and <code class="computeroutput">dll</code> targets in V1 is completely
+ eliminated in V2. There's only one library target type, <code class="computeroutput">lib</code>, which can create
+ either static or shared libraries depending on the value of the
+ <a href="builtins/features.html#bbv2.advanced.builtins.features.link"><code class="varname">&lt;link&gt;</code>
+ feature</a>. If your target should be only built in one way, you
+ can add <code class="computeroutput">&lt;link&gt;shared</code> or <code class="computeroutput">&lt;link&gt;static</code> to its requirements.
+ </p>
+<p>The syntax for referring to other targets was changed a bit. While
+ in V1 one would use:
+</p>
+<pre class="programlisting">
+exe a : a.cpp &lt;lib&gt;../foo/bar ;
+</pre>
+<p>
+ the V2 syntax is:
+</p>
+<pre class="programlisting">
+exe a : a.cpp ../foo//bar ;
+</pre>
+<p>
+ Note that you don't need to specify the type of other target, but the
+ last element should be separated from the others by a double slash to indicate that
+ you're referring to target <code class="filename">bar</code> in project <code class="filename">../foo</code>, and not to
+ project <code class="filename">../foo/bar</code>.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.advanced.differences_to_v1.build_process"></a>Build process</h3></div></div></div>
+<p>The command line syntax in V2 is completely different. For example
+</p>
+<pre class="programlisting">
+bjam -sTOOLS=msvc -sBUILD=release some_target
+</pre>
+<p>
+ now becomes:
+</p>
+<pre class="programlisting">
+bjam toolset=msvc variant=release some_target
+</pre>
+<p>
+ or, using implicit features, just:
+</p>
+<pre class="programlisting">
+bjam msvc release some_target
+</pre>
+<p>
+ See <a href="../reference.html#bbv2.reference.commandline" title="Command line">the reference</a> for a
+ complete description of the syntax.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="builtins/features.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../advanced.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../extender.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/advanced/jamfiles.html b/doc/html/bbv2/advanced/jamfiles.html
new file mode 100644
index 0000000000..7143bdef60
--- /dev/null
+++ b/doc/html/bbv2/advanced/jamfiles.html
@@ -0,0 +1,465 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Writing Jamfiles</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../advanced.html" title="Chapter 24. User documentation">
+<link rel="prev" href="../advanced.html" title="Chapter 24. User documentation">
+<link rel="next" href="build_process.html" title="The Build Process">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../advanced.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../advanced.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="build_process.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.advanced.jamfiles"></a>Writing Jamfiles</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="jamfiles.html#bbv2.advanced.overview">Overview</a></span></dt>
+<dt><span class="section"><a href="jamfiles.html#bbv2.advanced.targets">Main targets</a></span></dt>
+<dt><span class="section"><a href="jamfiles.html#bbv2.advanced.projects">Projects</a></span></dt>
+<dt><span class="section"><a href="jamfiles.html#bbv2.advanced.other-rules">Jamfile Utility Rules</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.advanced.overview"></a>Overview</h3></div></div></div>
+<p>Jamfiles are the thing that is most important to the user,
+
+ bacause they declare the targets that should be built.
+
+ Jamfiles are also used for organizing targets&#8212;
+
+ each Jamfile is a separate project
+
+ that can be built independently from the other projects.
+ </p>
+<p>Jamfiles mostly contain calls to Boost.Build functions that do
+ all the work, specifically:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><a href="jamfiles.html#bbv2.advanced.targets" title="Main targets">declare main
+ targets</a></p></li>
+<li><p><a href="jamfiles.html#bbv2.advanced.projects" title="Projects">define
+ project properties</a></p></li>
+<li><p><a href="jamfiles.html#bbv2.advanced.other-rules" title="Jamfile Utility Rules">do various other
+ things</a></p></li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.advanced.targets"></a>Main targets</h3></div></div></div>
+<p><a name="bbv2.advanced.targets.main"></a>
+ A <em class="firstterm">Main target</em> is a user-defined named
+ entity that can be built, for example an executable file.
+
+ Declaring a main target is usually done using one of the main
+ target rules described in <a href="builtins/targets.html" title="Builtin target types">the section called &#8220;Builtin target types&#8221;</a>. The user can also declare
+ custom main target rules as shown in <a href="../extending/rules.html" title="Main target rules">the section called &#8220;Main target rules&#8221;</a>.
+</p>
+<p>Most main target rules in Boost.Build can be invoked with
+ a common syntax:</p>
+<a name="bbv2.main-target-rule-syntax"></a><pre class="programlisting"><em class="replaceable"><code>rule-name</code></em>&#8194;<em class="replaceable"><code>main-target-name</code></em>
+ : <em class="replaceable"><code>sources...</code></em>
+ : <em class="replaceable"><code>requirements...</code></em>
+ : <em class="replaceable"><code>default-build...</code></em>
+ : <em class="replaceable"><code>usage-requirements...</code></em>
+ ;
+</pre>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<em class="parameter"><code>main-target-name</code></em> is the name used
+ to request the target on command line and to use it from
+ other main targets. A main target name may contain
+ alphanumeric characters, dashes
+ (&#8216;<code class="computeroutput">-</code>&#8217;), and underscores
+ (&#8216;<code class="computeroutput">_</code>&#8217;).
+ </li>
+<li>
+<em class="parameter"><code>sources</code></em> is the list of source files and other main
+ targets that must be combined.
+ </li>
+<li>
+<em class="parameter"><code>requirements</code></em> is the list of properties that must always
+ be present when this main target is built.
+ </li>
+<li>
+<em class="parameter"><code>default-build</code></em> is the list of properties that will be used
+ unless some other value of the same feature is already
+ specified, e.g. on the command line or by propogation from a dependent target.
+ </li>
+<li>
+<em class="parameter"><code>usage-requirements</code></em> is the list of properties that will be
+ propagated to all main targets that use this one, i.e. to all its
+ dependents.
+ </li>
+</ul></div>
+<p>
+ Some main target rules have a shorter list of parameters;
+ consult their documentation for details.
+ </p>
+<p>Note that the actual requirements, default-build and
+ usage-requirements attributes for a target are obtained by
+ combining the explicitly specified ones with those specified for
+ the project where a target is declared.
+ </p>
+<p>The list of sources specifies what should be processed to
+ get the resulting targets. Most of the time, it's just a list of
+ files. Sometimes, you'll want to automatically construct the
+ list of source files rather than having to spell it out
+ manually, in which case you can use the
+ <code class="computeroutput">glob</code> rule. Here are two examples:
+</p>
+<pre class="programlisting">
+exe a : a.cpp ; # a.cpp is the only source file
+exe b : [ glob *.cpp ] ; # all .cpp files in this directory are sources
+</pre>
+<p>
+ Unless you specify a files with absolute path, the name is
+ considered relative to the source directory -- which is typically
+ the directory where the Jamfile is located, but can be changed as
+ described in <a href="jamfiles.html#bbv2.advanced.projects.attributes.projectrule" title="">the section called &#8220;Projects&#8221;</a>.
+ </p>
+<p>
+ The list of sources can also refer to other main targets.
+ Targets in the same project can be referred to by name, while
+ targets in other projects need to be qualified with a directory or a symbolic
+ project name. For example:
+</p>
+<pre class="programlisting">
+lib helper : helper.cpp ;
+exe a : a.cpp helper ;
+exe b : b.cpp ..//utils ;
+exe c : c.cpp /boost/program_options//program_options ;
+</pre>
+<p>
+ The first exe uses the library defined in the same
+ project. The second one uses some target (most likely library)
+ defined by Jamfile one level higher. Finally, the third target
+ uses some <a href="http://boost.org" target="_top">C++ Boost</a>
+ library, referring to it by its absolute symbolic name. More
+ information about it can be found in <a href="../tutorial/libs.html" title="Dependent Targets">the section called &#8220;Dependent Targets&#8221;</a> and <a href="../reference/definitions.html#bbv2.reference.ids" title="Target identifiers and references">the section called &#8220;Target identifiers and references&#8221;</a>.
+ </p>
+<p>Requirements are the properties that should always be present when
+ building a target. Typically, they are includes and defines:
+</p>
+<pre class="programlisting">
+exe hello : hello.cpp : &lt;include&gt;/opt/boost &lt;define&gt;MY_DEBUG ;
+</pre>
+<p>
+ In special circumstances,
+
+ other properties can be used, for example if
+ a library can only be built statically, or a file can't be compiled
+ with optimization due to a compiler bug, one can use
+</p>
+<pre class="programlisting">
+lib util : util.cpp : &lt;link&gt;static ;
+obj main : main.cpp : &lt;optimization&gt;off ;
+</pre>
+<p>Sometimes requirements are necessary only for a specific
+ compiler or build variant. <a href="../reference/definitions.html#bbv2.reference.variants.propcond" title="Conditional properties">Conditional
+ properties</a> can be used in that case:
+ </p>
+<pre class="programlisting">
+lib util : util.cpp : &lt;toolset&gt;msvc:&lt;link&gt;static ;
+</pre>
+<p>
+ Whenever <code class="computeroutput">&lt;toolset&gt;msvc</code> property is
+ in build properties, the <code class="computeroutput">&lt;link&gt;static</code> property will
+ be included as well. Conditional requirements can be &#8220;chained&#8221;:
+</p>
+<pre class="programlisting">
+lib util : util.cpp : &lt;toolset&gt;msvc:&lt;link&gt;static
+ &lt;link&gt;static:&lt;define&gt;STATIC_LINK ;
+</pre>
+<p>
+ will set of static link
+
+ and the <code class="computeroutput">STATIC_LINK</code> define on the
+ <code class="computeroutput">msvc</code> toolset.
+ </p>
+<p>The <code class="varname">default-build</code> parameter
+
+ is a set of properties to be used if the build request does
+ not otherwise specify a value for features in the set. For example:
+</p>
+<pre class="programlisting">
+exe hello : hello.cpp : : &lt;threading&gt;multi ;
+</pre>
+<p>
+ would build a multi-threaded target in unless the user
+ explicitly requests a single-threaded version. The difference between
+ requirements and default-build is that requirements cannot be
+ overriden in any way.</p>
+<p>A target of the same name can be declared several times, in which
+ case each declaration is called an
+ <em class="firstterm">alternative</em>. When the target is built, one of
+ the alternatives will be selected and used. Alternatives need not be
+ defined by the same main target rule. For example,
+</p>
+<pre class="programlisting">
+lib helpers : helpers.hpp ; # a header-only library
+alias helpers : helpers.lib : &lt;toolset&gt;msvc ; # except on msvc
+</pre>
+<p>The actual commands used to build any given main target can differ greatly from
+ platform to platform. For example, you might have different lists
+ of sources for different compilers, or different options for those
+ compilers. Two approaches to this are explained in the
+ <a href="../tutorial/conditions.html" title="Conditions and alternatives">tutorial</a>.
+ </p>
+<p>Sometimes a main target is really needed only by some other main
+ target. For example, a rule that declares a test-suite uses a main
+ target
+
+ that represent test, but those main targets are rarely needed
+ by themselves.
+ </p>
+<p>It is possible to declare a target inline, i.e. the "sources"
+ parameter may include calls to other main rules. For example:</p>
+<pre class="programlisting">
+exe hello : hello.cpp
+ [ obj helpers : helpers.cpp : &lt;optimization&gt;off ] ;
+</pre>
+<p>
+ Will cause "helpers.cpp" to be always compiled without
+ optimization.
+
+ When referring to an inline main target, its declared name
+ must be prefixed by its parent target's name and two dots. In
+ the example above, to build only helpers, one should run
+ <code class="computeroutput">bjam hello..helpers</code>.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.advanced.projects"></a>Projects</h3></div></div></div>
+<p>As mentioned before, targets are grouped into projects,
+ and each Jamfile is a separate project. Projects are useful
+ because they allow us to group related targets together, define
+ properties common to all those targets, and assign a symbolic
+ name to the project that can be used in referring to its
+ targets.
+ </p>
+<p>Projects are named using the
+ <code class="computeroutput">project</code> rule, which has the
+ following syntax:
+</p>
+<pre class="programlisting">
+project <em class="replaceable"><code>id</code></em> : <em class="replaceable"><code>attributes</code></em> ;
+</pre>
+<p>
+ Here, <em class="replaceable"><code>attributes</code></em> is a sequence of
+ rule arguments, each of which begins with an attribute-name
+ and is followed by any number of build properties.
+ The list
+ of attribute names along with its handling is also shown in
+ the table below. For example, it is possible to write:
+</p>
+<pre class="programlisting">
+project tennis
+ : requirements &lt;threading&gt;multi
+ : default-build release
+ ;
+</pre>
+<p>The possible attributes are listed below.</p>
+<p><span class="emphasis"><em>Project id</em></span> is a short way to denote a project, as
+ opposed to the Jamfile's pathname. It is a hierarchical path,
+ unrelated to filesystem, such as "boost/thread". <a href="../reference/definitions.html#bbv2.reference.ids" title="Target identifiers and references">Target references</a> make use of project ids to
+ specify a target.</p>
+<p><span class="emphasis"><em>Source location</em></span> specifies the directory where sources
+ for the project are located.</p>
+<p><span class="emphasis"><em>Project requirements</em></span> are requirements that apply to
+ all the targets in the projects as well as all subprojects.</p>
+<p><span class="emphasis"><em>Default build</em></span> is the build request that should be
+ used when no build request is specified explicitly.</p>
+<p><a name="bbv2.advanced.projects.attributes.projectrule"></a>
+ The default values for those attributes are
+ given in the table below.
+
+ </p>
+<div class="table">
+<a name="id2856417"></a><p class="title"><b>Table 24.1. </b></p>
+<table class="table" summary="">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Attribute</th>
+<th>Name for the 'project' rule</th>
+<th>Default value</th>
+<th>Handling by the 'project' rule</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>Project id</td>
+<td>none</td>
+<td>none</td>
+<td>Assigned from the first parameter of the 'project' rule.
+ It is assumed to denote absolute project id.</td>
+</tr>
+<tr>
+<td>Source location</td>
+<td><code class="literal">source-location</code></td>
+<td>The location of jamfile for the project</td>
+<td>Sets to the passed value</td>
+</tr>
+<tr>
+<td>Requirements</td>
+<td><code class="literal">requirements</code></td>
+<td>The parent's requirements</td>
+<td>The parent's requirements are refined with the passed
+ requirement and the result is used as the project
+ requirements.</td>
+</tr>
+<tr>
+<td>Default build</td>
+<td><code class="literal">default-build</code></td>
+<td>none</td>
+<td>Sets to the passed value</td>
+</tr>
+<tr>
+<td>Build directory</td>
+<td><code class="literal">build-dir</code></td>
+<td>Empty if the parent has no build directory set.
+ Otherwise, the parent's build directory with with the
+ relative path from parent to the current project
+ appended to it.
+ </td>
+<td>Sets to the passed value, interpreted as relative to the
+ project's location.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<p>Besides defining projects and main targets, Jamfiles
+ commonly invoke utility rules such as
+ <code class="computeroutput">constant</code> and
+ <code class="computeroutput">path-constant</code>, which inject a
+ specified Boost.Jam variable setting into this project's Jamfile
+ module and those of all its subprojects. See <a href="jamfiles.html#bbv2.advanced.other-rules" title="Jamfile Utility Rules">the section called &#8220;Jamfile Utility Rules&#8221;</a> for a complete description
+ of these utility rules. Jamfiles are regular Boost.Jam source
+ files and Boost.Build modules, so naturally they can contain any kind of Boost.Jam code,
+ including rule definitions.
+ </p>
+<p>Each subproject inherits attributes, constants and rules
+ from its parent project, which is defined by the nearest
+ Jamfile in an ancestor directory above
+ the subproject. The top-level project is declared in a file
+ called <code class="filename">Jamroot</code> rather than
+ <code class="filename">Jamfile</code>. When loading a project,
+ Boost.Build looks for either <code class="filename">Jamroot</code> or
+ <code class="computeroutput">Jamfile</code>. They are handled indentically, except
+ that if the file is called <code class="filename">Jamroot</code>, the
+ search for a parent project is not performed.
+ </p>
+<p>Even when building in a subproject directory, parent
+ project files are always loaded before those of their
+ subprojects, so that every definition made in a parent project
+ is always available to its children. The loading order of any
+ other projects is unspecified. Even if one project refers to
+ another via ???,
+ or a target reference, no specific order should be assumed.
+ </p>
+<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Note</h3>
+<p>Giving the root project the special name
+ &#8220;<code class="filename">Jamroot</code>&#8221; ensures that
+ Boost.Build won't misinterpret a directory above it as the
+ project root just because the directory contains a Jamfile.
+ </p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.advanced.other-rules"></a>Jamfile Utility Rules</h3></div></div></div>
+<p>The following table describes utility rules that can be
+ used in Jamfiles. Detailed information for any of these rules can
+ be obtained by running:
+</p>
+<pre class="screen">
+bjam --help project.<em class="replaceable"><code>rulename</code></em></pre>
+<div class="table">
+<a name="id2856637"></a><p class="title"><b>Table 24.2. </b></p>
+<table class="table" summary="">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Rule</th>
+<th>Semantics</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><a href="jamfiles.html#bbv2.advanced.projects.attributes.projectrule">project</a></td>
+<td>Define this project's symbolic ID or attributes.</td>
+</tr>
+<tr>
+<td>???</td>
+<td>Make another project known so that it can be referred to by symbolic ID.</td>
+</tr>
+<tr>
+<td>???</td>
+<td>Cause another project to be built when this one is built.</td>
+</tr>
+<tr>
+<td>???</td>
+<td>State that a target should be built only by explicit
+ request.</td>
+</tr>
+<tr>
+<td>glob</td>
+<td>Translate a list of shell-style wildcards into a
+ corresponding list of files.</td>
+</tr>
+<tr>
+<td>constant</td>
+<td>Injects a variable setting into this project's
+ Jamfile module and those of all its subprojects.</td>
+</tr>
+<tr>
+<td>path-constant</td>
+<td>Injects a variable set to a path value into
+ this project's Jamfile module and those of all its subprojects.
+ If the value is a relative path it will be adjusted for
+ each subproject so that it refers to the same
+ directory.</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../advanced.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../advanced.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="build_process.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/arch.html b/doc/html/bbv2/arch.html
new file mode 100644
index 0000000000..b3b39ef274
--- /dev/null
+++ b/doc/html/bbv2/arch.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Appendix B. Boost.Build v2 architecture</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../bbv2.html" title="Part III. Boost.Build v2 User Manual">
+<link rel="prev" href="recipies/site-config.html" title="Targets in site-config.jam">
+<link rel="next" href="arch/build.html" title="The build layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="recipies/site-config.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bbv2.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="arch/build.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="appendix" lang="en">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="bbv2.arch"></a>Appendix B. Boost.Build v2 architecture</h2></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="arch.html#bbv2.arch.overview">Overview</a></span></dt>
+<dt><span class="section"><a href="arch/build.html">The build layer</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="arch/build.html#bbv2.arch.metatargets">Metatargets</a></span></dt>
+<dt><span class="section"><a href="arch/build.html#bbv2.arch.virtual">Virtual targets</a></span></dt>
+<dt><span class="section"><a href="arch/build.html#bbv2.arch.properties"></a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="arch/tools.html">The tools layer</a></span></dt>
+<dt><span class="section"><a href="arch/targets.html">Targets</a></span></dt>
+<dd><dl><dt><span class="section"><a href="arch/targets.html#bbv2.arch.depends">Dependency scanning</a></span></dt></dl></dd>
+</dl>
+</div>
+<div class="sidebar"><p>This document is work-in progress. Don't expect much from it
+ yet.</p></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.arch.overview"></a>Overview</h2></div></div></div>
+<p>The Boost.Build code is structured in four different components:
+ "kernel", "util", "build" and "tools". The first two are relatively
+ uninteresting, so we'll focus on the remaining pair. The "build" component
+ provides classes necessary to declare targets, determine which properties
+ should be used for their building, and for creating the dependency
+ graph. The "tools" component provides user-visible functionality. It
+ mostly allows to declare specific kind of main targets, and declare
+ avaiable tools, which are then used when creating the dependency graph.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="recipies/site-config.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bbv2.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="arch/build.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/arch/build.html b/doc/html/bbv2/arch/build.html
new file mode 100644
index 0000000000..5d8661692a
--- /dev/null
+++ b/doc/html/bbv2/arch/build.html
@@ -0,0 +1,196 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>The build layer</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../arch.html" title="Appendix B. Boost.Build v2 architecture">
+<link rel="prev" href="../arch.html" title="Appendix B. Boost.Build v2 architecture">
+<link rel="next" href="tools.html" title="The tools layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../arch.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../arch.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="tools.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.arch.build"></a>The build layer</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="build.html#bbv2.arch.metatargets">Metatargets</a></span></dt>
+<dt><span class="section"><a href="build.html#bbv2.arch.virtual">Virtual targets</a></span></dt>
+<dt><span class="section"><a href="build.html#bbv2.arch.properties"></a></span></dt>
+</dl></div>
+<p>The build layer has just four main parts -- metatargets (abstract targets),
+ virtual targets, generators and properties.
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>Metatargets (see the "targets.jam" module) represent
+ all the user-defined entities which can be built. The "meta" prefix
+ signify that they don't really corrspond to files -- depending of
+ build request, they can produce different set of
+ files. Metatargets are created when Jamfiles are loaded. Each
+ metagarget has a <code class="computeroutput">generate</code> method which is given a
+ property set and produces virtual targets for the passed properties.
+ </p></li>
+<li><p>Virtual targets (see the "virtual-targets.jam"
+ module) correspond to the atomic things which can be updated --
+ most typically files.
+ </p></li>
+<li><p>Properties are just (name, value) pairs, specified
+ by the user and describing how the targets should be
+ built. Properties are stored using the <code class="computeroutput">property-set</code> class.
+ </p></li>
+<li><p>Generators are the objects which encapsulate tools
+ -- they can take a list of source virtual targets and produce new
+ virtual targets from them.
+ </p></li>
+</ul></div>
+<p>The build process includes those steps:
+ </p>
+<div class="orderedlist"><ol type="1">
+<li><p>Top-level code calls the <code class="computeroutput">generate</code>
+ method of a metatarget with some properties. </p></li>
+<li><p>The metatarget combines the requested properties
+ with requirements and passes the result, together with the list
+ of sources, to the <code class="computeroutput">generators.construct</code>
+ function</p></li>
+<li><p>A generator appropriate for the build properties is
+ selected and its <code class="computeroutput">run</code> method is
+ called. The method returns a list of virtual targets
+ </p></li>
+<li><p>The targets are returned to the top level code. They
+ are converted into bjam targets (via
+ <code class="computeroutput">virtual-target.actualize</code>) and passed to bjam for building.
+ </p></li>
+</ol></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.arch.metatargets"></a>Metatargets</h3></div></div></div>
+<p>There are several classes derived from "abstract-target". The
+ "main-target" class represents top-level main target, the "project-target"
+ acts like container for all main targets, and "basic-target" class is a
+ base class for all further target types.
+ </p>
+<p>Since each main target can have several alternatives, all top-level
+ target objects are just containers, referring to "real" main target
+ classes. The type is that container is "main-target". For example, given:
+</p>
+<pre class="programlisting">
+alias a ;
+lib a : a.cpp : &lt;toolset&gt;gcc ;
+</pre>
+<p>
+ we would have one-top level instance of "main-target-class", which will
+ contain one instance of "alias-target-class" and one instance of
+ "lib-target-class". The "generate" method of "main-target" decides
+ which of the alternative should be used, and call "generate" on the
+ corresponding instance.
+ </p>
+<p>Each alternative is a instance of a class derived from
+ "basic-target". The "basic-target.generate" does several things that are
+ always should be done:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>Determines what properties should be used for building the
+ target. This includes looking at requested properties, requirements,
+ and usage requirements of all sources.</p></li>
+<li><p>Builds all sources</p></li>
+<li><p>Computes the usage requirements which should be passes back.</p></li>
+</ul></div>
+<p>
+ For the real work of constructing virtual target, a new method
+ "construct" is called.
+ </p>
+<p>The "construct" method can be implemented in any way by classes
+ derived from "basic-target", but one specific derived class plays the
+ central role -- "typed-target". That class holds the desired type of file
+ to be produces, and calls the generators modules to do the job.
+ </p>
+<p>This means that a specific metatarget subclass may avoid using
+ generators at all. However, this is deprecated and we're trying to
+ eliminate all such subsclasses at the moment.
+ </p>
+<p>Note that the <code class="filename">build/targets.jam</code> file contains
+ an UML diagram which might help.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.arch.virtual"></a>Virtual targets</h3></div></div></div>
+<p>Virtual targets correspond to the atomic things which can be
+ updated. Each virtual target can be assigned an updating action --
+ instance of the <code class="computeroutput">action</code> class. The action class, in
+ turn, contains a list of source targets, properties, and a name of
+ bjam action block which should be executed.
+ </p>
+<p>We try hard to never create equal instances of the
+ <code class="computeroutput">virtual-target</code> class. Each code which creates virtual
+ targets passes them though the <code class="computeroutput">virtual-target.register</code>
+ function, which detects if a target with the same name, sources, and
+ properties was created. In that case, existing target is returned.
+ </p>
+<p>When all virtual targets are produced, they are
+ "actualized". This means that the real file names are computed, and
+ the commands that should be run are generated. This is done by the
+ <code class="computeroutput">virtual-target.actualize</code> method and the
+ <code class="computeroutput">action.actualize</code> methods. The first is conceptually
+ simple, while the second need additional explanation. The commands
+ in bjam are generated in two-stage process. First, a rule with the
+ appropriate name (for example
+ "gcc.compile") is called and is given the names of targets. The rule
+ sets some variables, like "OPTIONS". After that, the command string
+ is taken, and variable are substitutes, so use of OPTIONS inside the
+ command string become the real compile options.
+ </p>
+<p>Boost.Build added a third stage to simplify things. It's now
+ possible to automatically convert properties to appropriate assignments to
+ variables. For example, &lt;debug-symbols&gt;on would add "-g" to the
+ OPTIONS variable, without requiring to manually add this logic to
+ gcc.compile. This functionality is part of the "toolset" module.
+ </p>
+<p>Note that the <code class="filename">build/virtual-targets.jam</code> file
+ contains an UML diagram which might help.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"></div>
+<p>Above, we noted that metatargets are built with a set of
+ properties. That set is represented with the
+ <code class="computeroutput">property-set</code> class. An important point is that handling
+ of property sets can get very expensive. For that reason, we make
+ sure that for each set of (name, value) pairs only one
+ <code class="computeroutput">property-set</code> instance is created. The
+ <code class="computeroutput">property-set</code> uses extensive caching for all operation,
+ so most work is avoided. The <code class="computeroutput">property-set.create</code> is the
+ factory function which should be used to create instances of the
+ <code class="computeroutput">property-set</code> class.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../arch.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../arch.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="tools.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/arch/targets.html b/doc/html/bbv2/arch/targets.html
new file mode 100644
index 0000000000..d5f3573288
--- /dev/null
+++ b/doc/html/bbv2/arch/targets.html
@@ -0,0 +1,396 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Targets</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../arch.html" title="Appendix B. Boost.Build v2 architecture">
+<link rel="prev" href="tools.html" title="The tools layer">
+<link rel="next" href="../../who_s_using_boost_.html" title="Who's Using Boost?">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tools.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../arch.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../who_s_using_boost_.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.arch.targets"></a>Targets</h2></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="targets.html#bbv2.arch.depends">Dependency scanning</a></span></dt></dl></div>
+<p>NOTE: THIS SECTION IS NOT EXPECTED TO BE READ!
+ There are two user-visible kinds of targets in Boost.Build.
+ First are "abstract" &#8212; they correspond to things declared
+ by user, for example, projects and executable files. The primary
+ thing about abstract target is that it's possible to request them
+ to be build with a particular values of some properties. Each
+ combination of properties may possible yield different set of
+ real file, so abstract target do not have a direct correspondence
+ with files.</p>
+<p>File targets, on the contary, are associated with concrete
+ files. Dependency graphs for abstract targets with specific
+ properties are constructed from file targets. User has no was to
+ create file targets, however it can specify rules that detect
+ file type for sources, and also rules for transforming between
+ file targets of different types. That information is used in
+ constructing dependency graph, as desribed in the "next section".
+ [ link? ] <span class="bold"><strong>Note:</strong></span>File targets are not
+ the same as targets in Jam sense; the latter are created from
+ file targets at the latest possible moment. <span class="bold"><strong>Note:</strong></span>"File
+ target" is a proposed name for what we call virtual targets. It
+ it more understandable by users, but has one problem: virtual
+ targets can potentially be "phony", and not correspond to any
+ file.</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.arch.depends"></a>Dependency scanning</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="targets.html#id2862570">Support for different scanning algorithms</a></span></dt>
+<dt><span class="section"><a href="targets.html#id2862579">Ability to scan the same file several times</a></span></dt>
+<dt><span class="section"><a href="targets.html#id2862640">Proper detection of dependencies on generated files.</a></span></dt>
+<dt><span class="section"><a href="targets.html#id2862819">Proper detection of dependencies from generated files</a></span></dt>
+</dl></div>
+<p>Dependency scanning is the process of finding implicit
+ dependencies, like "#include" statements in C++. The requirements
+ for right dependency scanning mechanism are:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Support for different scanning algorithms. C++ and XML have
+ quite different syntax for includes and rules for looking up
+ included files.
+ </li>
+<li>
+ Ability to scan the same file several times. For example,
+ single C++ file can be compiled with different include
+ paths.
+ </li>
+<li>
+ Proper detection of dependencies on generated files.
+ </li>
+<li>
+ Proper detection of dependencies from generated file.
+ </li>
+</ul></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2862570"></a>Support for different scanning algorithms</h4></div></div></div>
+<p>Different scanning algorithm are encapsulated by objects
+ called "scanners". Please see the documentation for "scanner"
+ module for more details.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2862579"></a>Ability to scan the same file several times</h4></div></div></div>
+<p>As said above, it's possible to compile a C++ file twice, with
+ different include paths. Therefore, include dependencies for
+ those compilations can be different. The problem is that bjam
+ does not allow several scans of the same target.</p>
+<p>The solution in Boost.Build is straigtforward. When a virtual
+ target is converted to bjam target (via
+ <code class="literal">virtual-target.actualize</code> method), we specify the scanner
+ object to be used. The actualize method will create different
+ bjam targets for different scanners.</p>
+<p>All targets with specific scanner are made dependent on target
+ without scanner, which target is always created. This is done in
+ case the target is updated. The updating action will be
+ associated with target without scanner, but if sources for that
+ action are touched, all targets &#8212; with scanner and without
+ should be considered outdated.</p>
+<p>For example, assume that "a.cpp" is compiled by two compilers
+ with different include path. It's also copied into some install
+ location. In turn, it's produced from "a.verbatim". The
+ dependency graph will look like:</p>
+<pre class="programlisting">
+a.o (&lt;toolset&gt;gcc) &lt;--(compile)-- a.cpp (scanner1) ----+
+a.o (&lt;toolset&gt;msvc) &lt;--(compile)-- a.cpp (scanner2) ----|
+a.cpp (installed copy) &lt;--(copy) ----------------------- a.cpp (no scanner)
+ ^
+ |
+ a.verbose --------------------------------+
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2862640"></a>Proper detection of dependencies on generated files.</h4></div></div></div>
+<p>This requirement breaks down to the following ones.</p>
+<div class="orderedlist"><ol type="1">
+<li>
+ If when compiling "a.cpp" there's include of "a.h", the
+ "dir" directory is in include path, and a target called "a.h"
+ will be generated to "dir", then bjam should discover the
+ include, and create "a.h" before compiling "a.cpp".
+ </li>
+<li>
+ Since almost always Boost.Build generates targets to a
+ "bin" directory, it should be supported as well. I.e. in the
+ scanario above, Jamfile in "dir" might create a main target,
+ which generates "a.h". The file will be generated to "dir/bin"
+ directory, but we still have to recornize the dependency.
+ </li>
+</ol></div>
+<p>The first requirement means that when determining what "a.h"
+ means, when found in "a.cpp", we have to iterate over all
+ directories in include paths, checking for each one:</p>
+<div class="orderedlist"><ol type="1">
+<li>
+ If there's file "a.h" in that directory, or
+ </li>
+<li>
+ If there's a target called "a.h", which will be generated
+ to that directory.
+ </li>
+</ol></div>
+<p>Classic Jam has built-in facilities for point (1) above, but
+ that's not enough. It's hard to implement the right semantic
+ without builtin support. For example, we could try to check if
+ there's targer called "a.h" somewhere in dependency graph, and
+ add a dependency to it. The problem is that without search in
+ include path, the semantic may be incorrect. For example, one can
+ have an action which generated some "dummy" header, for system
+ which don't have the native one. Naturally, we don't want to
+ depend on that generated header on platforms where native one is
+ included.</p>
+<p>There are two design choices for builtin support. Suppose we
+ have files a.cpp and b.cpp, and each one includes header.h,
+ generated by some action. Dependency graph created by classic jam
+ would look like:</p>
+<pre class="programlisting">
+a.cpp -----&gt; &lt;scanner1&gt;header.h [search path: d1, d2, d3]
+
+
+ &lt;d2&gt;header.h --------&gt; header.y
+ [generated in d2]
+
+b.cpp -----&gt; &lt;scanner2&gt;header.h [ search path: d1, d2, d4]
+</pre>
+<p>
+In this case, Jam thinks all header.h target are not
+realated. The right dependency graph might be:
+
+</p>
+<pre class="programlisting">
+a.cpp ----
+ \
+ \
+ &gt;----&gt; &lt;d2&gt;header.h --------&gt; header.y
+ / [generated in d2]
+ /
+b.cpp ----
+</pre>
+<p>
+
+or
+
+</p>
+<pre class="programlisting">
+a.cpp -----&gt; &lt;scanner1&gt;header.h [search path: d1, d2, d3]
+ |
+ (includes)
+ V
+ &lt;d2&gt;header.h --------&gt; header.y
+ [generated in d2]
+ ^
+ (includes)
+ |
+b.cpp -----&gt; &lt;scanner2&gt;header.h [ search path: d1, d2, d4]
+</pre>
+<p>
+The first alternative was used for some time. The problem
+however is: what include paths should be used when scanning
+header.h? The second alternative was suggested by Matt Armstrong.
+It has similiar effect: add targets which depend on
+&lt;scanner1&gt;header.h will also depend on &lt;d2&gt;header.h.
+But now we have two different target with two different scanners,
+and those targets can be scanned independently. The problem of
+first alternative is avoided, so the second alternative is
+implemented now.
+ </p>
+<p>The second sub-requirements is that targets generated to "bin"
+ directory are handled as well. Boost.Build implements
+ semi-automatic approach. When compiling C++ files the process
+ is:</p>
+<div class="orderedlist"><ol type="1">
+<li>
+ The main target to which compiled file belongs is found.
+ </li>
+<li>
+ All other main targets that the found one depends on are
+ found. Those include main target which are used as sources, or
+ present as values of "dependency" features.
+ </li>
+<li>
+ All directories where files belonging to those main target
+ will be generated are added to the include path.
+ </li>
+</ol></div>
+<p>After this is done, dependencies are found by the approach
+ explained previously.</p>
+<p>Note that if a target uses generated headers from other main
+ target, that main target should be explicitly specified as
+ dependency property. It would be better to lift this requirement,
+ but it seems not very problematic in practice.</p>
+<p>For target types other than C++, adding of include paths must
+ be implemented anew.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2862819"></a>Proper detection of dependencies from generated files</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="targets.html#id2862929">File targets</a></span></dt>
+<dt><span class="section"><a href="targets.html#id2862965">Target paths</a></span></dt>
+</dl></div>
+<p>Suppose file "a.cpp" includes "a.h" and both are generated by
+ some action. Note that classic jam has two stages. In first stage
+ dependency graph graph is build and actions which should be run
+ are determined. In second stage the actions are executed.
+ Initially, neither file exists, so the include is not found. As
+ the result, jam might attempt to compile a.cpp before creating
+ a.h, and compilation will fail.</p>
+<p>The solution in Boost.Jam is to perform additional dependency
+ scans after targets are updated. This break separation between
+ build stages in jam &#8212; which some people consider a good
+ thing &#8212; but I'm not aware of any better solution.</p>
+<p>In order to understand the rest of this section, you better
+ read some details about jam dependency scanning, available
+ <a href="http://public.perforce.com:8080/@md=d&amp;cd=//public/jam/src/&amp;ra=s&amp;c=kVu@//2614?ac=10" target="_top">
+ at this link</a>.</p>
+<p>Whenever a target is updated, Boost.Jam rescans it for
+ includes. Consider this graph, created before any actions are
+ run.</p>
+<pre class="programlisting">
+A -------&gt; C ----&gt; C.pro
+ /
+B --/ C-includes ---&gt; D
+</pre>
+<p>
+Both A and B have dependency on C and C-includes (the latter
+dependency is not shown). Say during building we've tried to create
+A, then tried to create C and successfully created C.
+ </p>
+<p>In that case, the set of includes in C might well have
+ changed. We do not bother to detect precisely which includes were
+ added or removed. Instead we create another internal node
+ C-includes-2. Then we determine what actions should be run to
+ update the target. In fact this mean that we perform logic of
+ first stage while already executing stage.</p>
+<p>After actions for C-includes-2 are determined, we add
+ C-includes-2 to the list of A's dependents, and stage 2 proceeds
+ as usual. Unfortunately, we can't do the same with target B,
+ since when it's not visited, C target does not know B depends on
+ it. So, we add a flag to C which tells and it was rescanned. When
+ visiting B target, the flag is notices and C-includes-2 will be
+ added to the list of B's dependencies.</p>
+<p>Note also that internal nodes are sometimes updated too.
+ Consider this dependency graph:</p>
+<pre class="programlisting">
+a.o ---&gt; a.cpp
+ a.cpp-includes --&gt; a.h (scanned)
+ a.h-includes ------&gt; a.h (generated)
+ |
+ |
+ a.pro &lt;-------------------------------------------+
+</pre>
+<p>Here, out handling of generated headers come into play. Say
+ that a.h exists but is out of date with respect to "a.pro", then
+ "a.h (generated)" and "a.h-includes" will be marking for
+ updating, but "a.h (scanned)" won't be marked. We have to rescan
+ "a.h" file after it's created, but since "a.h (generated)" has no
+ scanner associated with it, it's only possible to rescan "a.h"
+ after "a.h-includes" target was updated.</p>
+<p>Tbe above consideration lead to decision that we'll rescan a
+ target whenever it's updated, no matter if this target is
+ internal or not.</p>
+<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Warning</h3>
+<p>
+ The remainder of this document is not indended to be read at
+ all. This will be rearranged in future.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2862929"></a>File targets</h5></div></div></div>
+<p>
+ As described above, file targets corresponds
+ to files that Boost.Build manages. User's may be concerned about
+ file targets in three ways: when declaring file target types,
+ when declaring transformations between types, and when
+ determining where file target will be placed. File targets can
+ also be connected with actions, that determine how the target is
+ created. Both file targets and actions are implemented in the
+ <code class="literal">virtual-target</code> module.
+ </p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="id2862948"></a>Types</h6></div></div></div>
+<p>A file target can be given a file, which determines
+ what transformations can be applied to the file. The
+ <code class="literal">type.register</code> rule declares new types. File type can
+ also be assigned a scanner, which is used to find implicit
+ dependencies. See "dependency scanning" [ link? ] below.</p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2862965"></a>Target paths</h5></div></div></div>
+<p>To distinguish targets build with different properties, they
+ are put in different directories. Rules for determining target
+ paths are given below:</p>
+<div class="orderedlist"><ol type="1">
+<li>
+ All targets are placed under directory corresponding to the
+ project where they are defined.
+ </li>
+<li>
+ Each non free, non incidental property cause an additional
+ element to be added to the target path. That element has the
+ form <code class="literal">&lt;feature-name&gt;-&lt;feature-value&gt;</code> for
+ ordinary features and <code class="literal">&lt;feature-value&gt;</code> for
+ implicit ones. [Note about composite features].
+ </li>
+<li>
+ If the set of free, non incidental properties is different
+ from the set of free, non incidental properties for the project
+ in which the main target that uses the target is defined, a
+ part of the form <code class="literal">main_target-&lt;name&gt;</code> is added to
+ the target path. <span class="bold"><strong>Note:</strong></span>It would be nice to completely
+ track free features also, but this appears to be complex and
+ not extremely needed.
+ </li>
+</ol></div>
+<p>For example, we might have these paths:</p>
+<pre class="programlisting">
+debug/optimization-off
+debug/main-target-a
+</pre>
+</div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tools.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../arch.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../who_s_using_boost_.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/arch/tools.html b/doc/html/bbv2/arch/tools.html
new file mode 100644
index 0000000000..2d735b59f4
--- /dev/null
+++ b/doc/html/bbv2/arch/tools.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>The tools layer</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../arch.html" title="Appendix B. Boost.Build v2 architecture">
+<link rel="prev" href="build.html" title="The build layer">
+<link rel="next" href="targets.html" title="Targets">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="build.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../arch.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="targets.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.arch.tools"></a>The tools layer</h2></div></div></div>
+<p>Write me!</p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="build.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../arch.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="targets.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/extender.html b/doc/html/bbv2/extender.html
new file mode 100644
index 0000000000..d4a71e37a7
--- /dev/null
+++ b/doc/html/bbv2/extender.html
@@ -0,0 +1,139 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 25. Extender Manual</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../bbv2.html" title="Part III. Boost.Build v2 User Manual">
+<link rel="prev" href="advanced/differences_to_v1.html" title="Differences to Boost.Build V1">
+<link rel="next" href="extending/targets.html" title="Target types">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="advanced/differences_to_v1.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bbv2.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="extending/targets.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="bbv2.extender"></a>Chapter 25. Extender Manual</h2></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="extender.html#bbv2.extender.intro">Introduction</a></span></dt>
+<dt><span class="section"><a href="extending/targets.html">Target types</a></span></dt>
+<dd><dl><dt><span class="section"><a href="extending/targets.html#bbv2.extending.scanners">Scanners</a></span></dt></dl></dd>
+<dt><span class="section"><a href="extending/tools.html">Tools and generators</a></span></dt>
+<dt><span class="section"><a href="extending/features.html">Features</a></span></dt>
+<dt><span class="section"><a href="extending/rules.html">Main target rules</a></span></dt>
+<dt><span class="section"><a href="extending/toolset_modules.html">Toolset modules</a></span></dt>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.extender.intro"></a>Introduction</h2></div></div></div>
+<p>This document explains how to extend Boost.Build to accomodate
+ your local requirements. Let's start with a simple but
+ realistic example.</p>
+<p>Say you're writing an application that generates C++ code. If
+ you ever did this, you know that it's not nice. Embedding large
+ portions of C++ code in string literals is very awkward. A much
+ better solution is:</p>
+<div class="orderedlist"><ol type="1">
+<li>
+ Write the template of the code to be generated, leaving
+ placeholders at the points that will change
+ </li>
+<li>
+ Access the template in your application and replace
+ placeholders with appropriate text.
+ </li>
+<li>Write the result.</li>
+</ol></div>
+<p>It's quite easy to achieve. You write special verbatim files
+ that are just C++, except that the very first line of the file
+ contains the name of a variable that should be generated. A simple tool
+ is created that takes a verbatim file and creates a cpp file with
+ a single <code class="computeroutput">char*</code> variable whose name is taken from the first line
+ of the verbatim file and whose value is the file's properly quoted content.</p>
+<p>Let's see what Boost.Build can do.</p>
+<p>First off, Boost.Build has no idea about "verbatim files". So,
+ you must register a new target type. The following code does
+ it:</p>
+<pre class="programlisting">
+import type ;
+type.register VERBATIM : vrb ;
+</pre>
+<p>The first parameter to
+ <code class="computeroutput">type.register</code> gives the name of the
+ declared type. By convention, it's uppercase. The second parameter
+ is the suffix for files of this type. So, if Boost.Build sees
+ <code class="filename">code.vrb</code> in a list of sources, it knows that it's of type
+ <code class="computeroutput">VERBATIM</code>.</p>
+<p>Next, you tell Boost.Build that the verbatim files can be
+ transformed into C++ files in one build step. A
+ <em class="firstterm">generator</em> is a template for a build step that
+ transforms targets of one type (or set of types) into another. Our
+ generator will be called <code class="computeroutput">verbatim.inline-file</code>; it
+ transforms <code class="computeroutput">VERBATIM</code> files into <code class="computeroutput">CPP</code> files:
+
+</p>
+<pre class="programlisting">
+import generators ;
+generators.register-standard verbatim.inline-file : VERBATIM : CPP ;
+</pre>
+<p>Lastly, you have to inform Boost.Build about the shell
+ commands used to make that transformation. That's done with an
+ <code class="computeroutput">actions</code> declaration.
+
+</p>
+<pre class="programlisting">
+actions inline-file
+{
+ "./inline-file.py" $(&lt;) $(&gt;)
+}
+</pre>
+<p>Now, we're ready to tie it all together. Put all the code
+ above in file <code class="filename">verbatim.jam</code>, add <code class="computeroutput">import verbatim ;</code>
+ to <code class="filename">project-root.jam</code>, and it's possible to write
+ the following in Jamfile:</p>
+<pre class="programlisting">
+exe codegen : codegen.cpp class_template.verbatim usage.verbatim ;
+</pre>
+<p>
+The verbatim files will be automatically converted into C++
+and linked it.
+ </p>
+<p>In the subsequent sections, we will extend this example, and review
+ all the mechanisms in detail. The complete code is available in <code class="filename">example/customization</code>
+ directory.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="advanced/differences_to_v1.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bbv2.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="extending/targets.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/extending/features.html b/doc/html/bbv2/extending/features.html
new file mode 100644
index 0000000000..7b25ec8b23
--- /dev/null
+++ b/doc/html/bbv2/extending/features.html
@@ -0,0 +1,262 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Features</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../extender.html" title="Chapter 25. Extender Manual">
+<link rel="prev" href="tools.html" title="Tools and generators">
+<link rel="next" href="rules.html" title="Main target rules">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tools.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../extender.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="rules.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.extending.features"></a>Features</h2></div></div></div>
+<p>
+ Often, we need to control the options passed the invoked tools. This
+ is done with features. Consider an example:
+</p>
+<pre class="programlisting">
+# Declare a new free feature
+import feature : feature ;
+feature verbatim-options : : free ;
+
+# Cause the value of the 'verbatim-options' feature to be
+# available as 'OPTIONS' variable inside verbatim.inline-file
+import toolset : flags ;
+flags verbatim.inline-file OPTIONS &lt;verbatim-options&gt; ;
+
+# Use the "OPTIONS" variable
+actions inline-file
+{
+ "./inline-file.py" $(OPTIONS) $(&lt;) $(&gt;)
+}
+</pre>
+<p>
+ We first define a new feature. Then, the <code class="computeroutput">flags</code> invocation
+ says that whenever verbatin.inline-file action is run, the value of
+ the <code class="computeroutput">verbatim-options</code> feature will be added to the
+ <code class="computeroutput">OPTIONS</code> variable, an can be used inside the action body.
+ You'd need to consult online help (--help) to find all the features of
+ the <code class="computeroutput">toolset.flags</code> rule.
+ </p>
+<p>
+ Although you can define any set of features and interpret their values
+ in any way, Boost.Build suggests the following coding standard for
+ designing features.
+ </p>
+<p>Most features should have a fixed set of values that is portable
+ (tool neutral) across the class of tools they are designed to work
+ with. The user does not have to adjust the values for a exact tool. For
+ example, <code class="computeroutput">&lt;optimization&gt;speed</code> has the same meaning for
+ all C++ compilers and the user does not have to worry about the exact
+ options passed to the compiler's command line.
+ </p>
+<p>
+ Besides such portable features there are special 'raw' features that
+ allow the user to pass any value to the command line parameters for a
+ particular tool, if so desired. For example, the
+ <code class="computeroutput">&lt;cxxflags&gt;</code> feature allows you to pass any command line
+ options to a C++ compiler. The <code class="computeroutput">&lt;include&gt;</code> feature
+ allows you to pass any string preceded by <code class="computeroutput">-I</code> and the interpretation
+ is tool-specific. (See <a href="../faq/external.html" title="Can I get output of external program as a variable in a Jamfile?
+ ">the section called &#8220;Can I get output of external program as a variable in a Jamfile?
+ &#8221;</a> for an example of very smart usage of that
+ feature). Of course one should always strive to use portable
+ features, but these are still be provided as a backdoor just to make
+ sure Boost.Build does not take away any control from the user.
+ </p>
+<p>
+ Using portable features is a good idea because:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>When a portable feature is given a fixed set of
+ values, you can build your project with two different
+ settings of the feature and Boost.Build will automatically
+ use two different directories for generated files.
+ Boost.Build does not try to separate targets built with
+ different raw options.
+ </p></li>
+<li><p>Unlike with &#8220;raw&#8221; features, you don't need to use
+ specific command-line flags in your Jamfile, and it will be
+ more likely to work with other tools.
+ </p></li>
+</ul></div>
+<h3>
+<a name="id2859332"></a>Steps for adding a feauture</h3>
+<p>Adding a feature requires three steps:
+
+ </p>
+<div class="orderedlist"><ol type="1">
+<li>
+<p>Declaring a feature. For that, the "feature.feature"
+ rule is used. You have to decide on the set of <a href="../reference/definitions.html#bbv2.reference.features.attributes" title="Feature Attributes">feature
+ attributes</a>:
+
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>if a feature has several values and
+ significally affects the build, make it &#8220;propagated,&#8221; so that the
+ whole project is built with the same value by
+ default</p></li>
+<li><p>if a feature does not have a fixed
+ list of values, it must be &#8220;free.&#8221; For example, the
+ <code class="computeroutput">include</code> feature is a free
+ feature.</p></li>
+<li><p>if a feature is used to refer to a
+ path relative to the Jamfile, it must be a &#8220;path&#8221;
+ feature. <code class="computeroutput">include</code> is also a path
+ feature.</p></li>
+<li><p>if feature is used to refer to some target, it
+ must be a &#8220;dependency&#8221; feature. </p></li>
+</ul></div>
+</li>
+<li><p>Representing the feature value in a
+ target-specific variable. Build actions are command
+ templates modified by Boost.Jam variable expansions. The
+ <code class="computeroutput">toolset.flags</code> rule sets a target-specific
+ variable to the value of a feature.</p></li>
+<li><p>Using the variable. The variable set in step 2 can
+ be used in a build action to form command parameters or
+ files.</p></li>
+</ol></div>
+<h3>
+<a name="id2859422"></a>Another example</h3>
+<p>Here's another example.
+ Let's see how we can make a feature that refers to a target. For example,
+ when linking dynamic libraries on windows, one sometimes needs to specify
+ "DEF file", telling what functions should be exported. It would be nice to
+ use this file like this:
+</p>
+<pre class="programlisting">
+ lib a : a.cpp : &lt;def-file&gt;a.def ;
+</pre>
+<p>
+ Actually, this feature is already supported, but anyway...
+ </p>
+<div class="orderedlist"><ol type="1">
+<li>
+<p>Since the feature refers to a target, it must be "dependency".
+</p>
+<pre class="programlisting">
+feature def-file : : free dependency ;
+</pre>
+</li>
+<li>
+<p>One of the toolsets that cares about
+
+ DEF files is msvc. The following line should be added to it.
+ </p>
+<pre class="programlisting">
+flags msvc.link DEF_FILE &lt;def-file&gt; ;
+</pre>
+</li>
+<li>
+<p>Since the DEF_FILE variable is not used by the
+msvc.link action,
+
+we need to modify it to be:
+
+</p>
+<pre class="programlisting">
+actions link bind DEF_FILE
+{
+ $(.LD) .... /DEF:$(DEF_FILE) ....
+}
+</pre>
+<p> Note the <code class="computeroutput">bind DEF_FILE</code> part. It tells
+ bjam to translate the internal target name in
+ <code class="varname">DEF_FILE</code> to a corresponding filename in
+ the <code class="computeroutput">link</code> action. Without it the expansion of
+ <code class="computeroutput">$(DEF_FILE)</code> would be a strange symbol that is
+ not likely to make sense for the linker.
+ </p>
+<p>
+ We've almost done, but should stop for a small workaround. Add the following
+ code to msvc.jam
+
+</p>
+<pre class="programlisting">
+rule link
+{
+ DEPENDS $(&lt;) : [ on $(&lt;) return $(DEF_FILE) ] ;
+}
+</pre>
+<p>
+
+ This is needed to accomodate some bug in bjam, which hopefully
+ will be fixed one day.
+ </p>
+</li>
+</ol></div>
+<h3>
+<a name="id2859520"></a>Variants and composite features.</h3>
+<p>Sometimes you want to create a shorcut for some set of
+ features. For example, <code class="computeroutput">release</code> is a value of
+ <code class="computeroutput">&lt;variant&gt;</code> and is a shortcut for a set of features.
+ </p>
+<p>It is possible to define your own build variants. For example:
+</p>
+<pre class="programlisting">
+variant crazy : &lt;optimization&gt;speed &lt;inlining&gt;off
+ &lt;debug-symbols&gt;on &lt;profiling&gt;on ;
+</pre>
+<p>
+ will define a new variant with the specified set of properties. You
+ can also extend an existing variant:
+</p>
+<pre class="programlisting">
+variant super_release : release : &lt;define&gt;USE_ASM ;
+</pre>
+<p>
+ In this case, <code class="computeroutput">super_release</code> will expand to all properties
+ specified by <code class="computeroutput">release</code>, and the additional one you've specified.
+ </p>
+<p>You are not restricted to using the <code class="computeroutput">variant</code> feature
+ only.
+
+ Here's example that defines a brand new feature:
+</p>
+<pre class="programlisting">
+feature parallelism : mpi fake none : composite link-incompatible ;
+feature.compose &lt;parallelism&gt;mpi : &lt;library&gt;/mpi//mpi/&lt;parallelism&gt;none ;
+feature.compose &lt;parallelism&gt;fake : &lt;library&gt;/mpi//fake/&lt;parallelism&gt;none ;
+</pre>
+<p>
+ This will allow you to specify value of feature
+ <code class="computeroutput">parallelism</code>, which will expand to link to the necessary
+ library.
+ </p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tools.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../extender.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="rules.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/extending/rules.html b/doc/html/bbv2/extending/rules.html
new file mode 100644
index 0000000000..56e80df6c9
--- /dev/null
+++ b/doc/html/bbv2/extending/rules.html
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Main target rules</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../extender.html" title="Chapter 25. Extender Manual">
+<link rel="prev" href="features.html" title="Features">
+<link rel="next" href="toolset_modules.html" title="Toolset modules">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="features.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../extender.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="toolset_modules.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.extending.rules"></a>Main target rules</h2></div></div></div>
+<p>
+ A main target rule (e.g &#8220;<code class="computeroutput">exe</code>&#8221;
+ Or &#8220;<code class="computeroutput">lib</code>&#8221;) creates a top-level target. It's quite likely that you'll want to declare your own and
+ there are two ways to do that.
+ </p>
+<p><a name="bbv2.extending.rules.main-type"></a>The first way applies when
+
+ your target rule should just produce a target of specific type. In that case, a
+ rule is already defined for you! When you define a new type, Boost.Build
+ automatically defines a corresponding rule. The name of the rule is
+ obtained from the name of the type, by downcasing all letters and
+ replacing underscores with dashes.
+
+ For example, if you create a module
+ <code class="filename">obfuscate.jam</code> containing:
+
+</p>
+<pre class="programlisting">
+import type ;
+type.register OBFUSCATED_CPP : ocpp ;
+
+import generators ;
+generators.register-standard obfuscate.file : CPP : OBFUSCATED_CPP ;
+</pre>
+<p>
+ and import that module, you'll be able to use the rule "obfuscated-cpp"
+ in Jamfiles, which will convert source to the OBFUSCATED_CPP type.
+ </p>
+<p>The second way is to write a wrapper rule that calls
+ any of the existing rules. For example, suppose you have only one library per
+ directory and want all cpp files in the directory to be compiled into that library. You
+ can achieve this effect with:
+</p>
+<pre class="programlisting">
+lib codegen : [ glob *.cpp ] ;
+</pre>
+<p>
+ but if you want to make it even simpler, you could add the following
+ definition to the <code class="filename">project-root.jam</code> file:
+</p>
+<pre class="programlisting">
+rule glib ( name : extra-sources * : requirements * )
+{
+ lib $(name) : [ glob *.cpp ] $(extra-sources) : $(requirements) ;
+}
+</pre>
+<p>
+which would allow you to reduce the Jamfile to
+</p>
+<pre class="programlisting">
+glib codegen ;
+</pre>
+<p>
+ Note that because you can associate a custom generator with a target
+ type, the logic of building can be rather compiler.
+
+ For example, the
+ <code class="computeroutput">boostbook</code> module declares a target type
+ <code class="computeroutput">BOOSTBOOK_MAIN</code> and a custom generator for that
+ type. You can use that as example if your main target rule is
+ non-trivial.
+ </p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="features.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../extender.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="toolset_modules.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/extending/targets.html b/doc/html/bbv2/extending/targets.html
new file mode 100644
index 0000000000..904d13d356
--- /dev/null
+++ b/doc/html/bbv2/extending/targets.html
@@ -0,0 +1,148 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Target types</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../extender.html" title="Chapter 25. Extender Manual">
+<link rel="prev" href="../extender.html" title="Chapter 25. Extender Manual">
+<link rel="next" href="tools.html" title="Tools and generators">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../extender.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../extender.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="tools.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.extending.targets"></a>Target types</h2></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="targets.html#bbv2.extending.scanners">Scanners</a></span></dt></dl></div>
+<p>The first thing we did in the <a href="../extender.html#bbv2.extender.intro" title="Introduction">intruduction</a> was declaring a
+ new target type:
+</p>
+<pre class="programlisting">
+import type ;
+type.register VERBATIM : verbatim ;
+</pre>
+<p>
+ The type is the most important property of a target. Boost.Build can
+ automatically generate necessary build actions only because you
+ specify the desired type (using the different main target rules), and
+ because Boost.Build can guess the type of sources from their
+ extensions.
+ </p>
+<p>The first two parameters for the <code class="computeroutput">type.register</code> rule
+ are the name of new type and the list of extensions associated with
+ it. A file with an extension from the list will have the given target
+ type. In the case where a target of the declared type is generated
+ from other sources, the first specified extension will be used.
+ </p>
+<p>Sometimes you want to change the suffix used for generated targets
+ depending on build properties, such as toolset. For example, some compiler
+ uses extension <code class="literal">elf</code> for executable files. You can use the
+ <code class="computeroutput">type.set-generated-target-suffix</code> rule:
+</p>
+<pre class="programlisting">
+type.set-generated-target-suffix EXE : &lt;toolset&gt;elf : elf ;
+</pre>
+<p>A new target type can be inherited from an existing one.
+</p>
+<pre class="programlisting">
+type.register PLUGIN : : SHARED_LIB ;
+</pre>
+<p>
+ The above code defines a new type derived from
+ <code class="computeroutput">SHARED_LIB</code>. Initially, the new type inherits all the
+ properties of the base type - in particular generators and suffix.
+ Typically, you'll change the new type in some way. For example, using
+ <code class="computeroutput">type.set-generated-target-suffix</code> you can set the suffix for
+ the new type. Or you can write special generator for the new type. For
+ example, it can generate additional metainformation for plugin.
+ In either way, the <code class="computeroutput">PLUGIN</code> type can be used whenever
+ <code class="computeroutput">SHARED_LIB</code> can. For example, you can directly link plugins
+ to an application.
+ </p>
+<p>A type can be defined as "main", in which case Boost.Build will
+ automatically declare a main target rule for building targets of that
+ type. More details can be found <a href="rules.html#bbv2.extending.rules.main-type">later</a>.
+ </p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.extending.scanners"></a>Scanners</h3></div></div></div>
+<p>
+ Sometimes, a file can refer to other files via some include
+ mechanism. To make Boost.Build track dependencies to the included
+ files, you need to provide a scanner. The primary limitation is that
+ only one scanner can be assigned to a target type.
+ </p>
+<p>First, we need to declare a new class for the scanner:
+</p>
+<pre class="programlisting">
+class verbatim-scanner : common-scanner
+{
+ rule pattern ( )
+ {
+ return "//###include[ ]*\"([^\"]*)\"" ;
+ }
+}
+</pre>
+<p>
+ All the complex logic is in the <code class="computeroutput">common-scanner</code>
+ class, and you only need to override the method that returns
+ the regular expression to be used for scanning. The
+ paranthethis in the regular expression indicate which part
+ of the string is the name of the included file. Only the
+ first parenthesized group in the regular expression will be
+ recognized; if you can't express everything you want that
+ way, you can return multiple regular expressions, each of
+ which contains a parenthesized group to be matched.
+ </p>
+<p>After that, we need to register our scanner class:
+</p>
+<pre class="programlisting">
+scanner.register verbatim-scanner : include ;
+</pre>
+<p>
+ The value of the second parameter, in this case
+ <code class="computeroutput">include</code>, specifies the properties that contain the list
+ of paths that should be searched for the included files.
+ </p>
+<p>Finally, we assign the new scaner to the <code class="computeroutput">VERBATIM</code>
+ target type:
+</p>
+<pre class="programlisting">
+type.set-scanner VERBATIM : verbatim-scanner ;
+</pre>
+<p>
+ That's enough for scanning include dependencies.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../extender.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../extender.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="tools.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/extending/tools.html b/doc/html/bbv2/extending/tools.html
new file mode 100644
index 0000000000..eac5732a0e
--- /dev/null
+++ b/doc/html/bbv2/extending/tools.html
@@ -0,0 +1,247 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Tools and generators</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../extender.html" title="Chapter 25. Extender Manual">
+<link rel="prev" href="targets.html" title="Target types">
+<link rel="next" href="features.html" title="Features">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="targets.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../extender.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="features.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.extending.tools"></a>Tools and generators</h2></div></div></div>
+<p>
+ This section will describe how Boost.Build can be extended to support
+ new tools.
+ </p>
+<p>For each additional tool, a Boost.Build object called generator
+ must be created. That object has specific types of targets that it
+ accepts an produces. Using that information, Boost.Build is able
+ to automatically invoke the generator. For example, if you declare a
+ generator that takes a target of the type <code class="literal">D</code> and
+ produces a target of the type <code class="literal">OBJ</code>, when placing a
+ file with extention <code class="literal">.d</code> in a list of sources will
+ cause Boost.Build to invoke your generator, and then to link the
+ resulting object file into an application. (Of course, this requires
+ that you specify that the <code class="literal">.d</code> extension corresponds
+ to the <code class="literal">D</code> type.)
+ </p>
+<p>Each generator should be an instance of a class derived from the
+ <code class="computeroutput">generator</code> class. In the simplest case, you don't need to
+ create a derived class, but simply create an instance of the
+ <code class="computeroutput">generator</code> class. Let's review the example we've seen in the
+ <a href="../extender.html#bbv2.extender.intro" title="Introduction">introduction</a>.
+ </p>
+<pre class="programlisting">
+import generators ;
+generators.register-standard verbatim.inline-file : VERBATIM : CPP ;
+actions inline-file
+{
+ "./inline-file.py" $(&lt;) $(&gt;)
+}
+</pre>
+<p>We declare a standard generator, specifying its id, the source type
+ and the target type. When invoked, the generator will create a target
+ of type <code class="literal">CPP</code> with a source target of
+ type <code class="literal">VERBATIM</code> as the only source. But what command
+ will be used to actually generate the file? In bjam, actions are
+ specified using named "actions" blocks and the name of the action
+ block should be specified when creating targets. By convention,
+ generators use the same name of the action block as their own id. So,
+ in above example, the "inline-file" actions block will be use to
+ convert the source into the target.
+ </p>
+<p>
+ There are two primary kinds of generators: standard and composing,
+ which are registered with the
+ <code class="computeroutput">generators.register-standard</code> and the
+ <code class="computeroutput">generators.register-composing</code> rules, respectively. For
+ example:
+</p>
+<pre class="programlisting">
+generators.register-standard verbatim.inline-file : VERBATIM : CPP ;
+generators.register-composing mex.mex : CPP LIB : MEX ;
+</pre>
+<p>
+ Standard generators take a <span class="emphasis"><em>single</em></span> source of type
+ <code class="computeroutput">VERBATIM</code> and produces a result. The second generator
+ takes any number of sources, which can have either the
+ <code class="computeroutput">CPP</code> or the <code class="computeroutput">LIB</code> type. Composing generators
+ are typically used for generating top-level target type. For example,
+ the first generator invoked when building an <code class="computeroutput">exe</code> target
+ is a composing generator corresponding to the proper linker.
+ </p>
+<p>You should also know about two specific function for registering
+ generators: <code class="computeroutput">generators.register-c-compiler</code> and
+ <code class="computeroutput">generators.register-linker</code>. The first sets up header
+ dependecy scanning for C files, and the seconds handles various
+ complexities like searched libraries. For that reason, you should always
+ use those functions when adding support for compilers and linkers.
+ </p>
+<p>(Need a note about UNIX)</p>
+<h3>
+<a name="id2859013"></a>Custom generator classes</h3>
+<p>The standard generators allows you to specify source and target
+ types, action, and a set of flags. If you need anything more complex,
+
+ you need to create a new generator class with your own logic. Then,
+ you have to create an instance of that class and register it. Here's
+ an example how you can create your own generator class:
+</p>
+<pre class="programlisting">
+class custom-generator : generator
+{
+ rule __init__ ( * : * )
+ {
+ generator.__init__ $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
+ }
+
+}
+
+generators.register
+ [ new custom-generator verbatim.inline-file : VERBATIM : CPP ] ;
+</pre>
+<p>
+ This generator will work exactly like the
+ <code class="computeroutput">verbatim.inline-file</code> generator we've defined above, but
+ it's possible to customize the behaviour by overriding methods of the
+ <code class="computeroutput">generator</code> class.
+ </p>
+<p>There are two methods of interest. The <code class="computeroutput">run</code> method is
+ responsible for the overall process - it takes a number of source targets,
+ converts them the the right types, and creates the result. The
+ <code class="computeroutput">generated-targets</code> method is called when all sources are
+ converted to the right types to actually create the result.
+ </p>
+<p>The <code class="computeroutput">generated-target</code>
+ method can be overridden
+ when you want to add additional properties to the generated
+ targets or use additional sources. For a real-life example,
+ suppose you have a program analysis tool that should be given a
+ name of executable and the list of all sources. Naturally, you
+ don't want to list all source files manually. Here's how the
+ <code class="computeroutput">generated-target</code> method can find the list of
+ sources automatically:
+</p>
+<pre class="programlisting">
+class itrace-generator : generator {
+....
+ rule generated-targets ( sources + : property-set : project name ? )
+ {
+ local leaves ;
+ local temp = [ virtual-target.traverse $(sources[1]) : : include-sources ] ;
+ for local t in $(temp)
+ {
+ if ! [ $(t).action ]
+ {
+ leaves += $(t) ;
+ }
+ }
+ return [ generator.generated-targets $(sources) $(leafs)
+ : $(property-set) : $(project) $(name) ] ;
+ }
+}
+generators.register [ new itrace-generator nm.itrace : EXE : ITRACE ] ;
+</pre>
+<p>
+ The <code class="computeroutput">generated-targets</code> method will be called with a single
+ source target of type <code class="literal">EXE</code>. The call to
+ <code class="computeroutput">virtual-target.traverse</code> will return all targets the
+ executable depends on, and we further find files that are not
+ produced from anything.
+ The found targets are added to the sources.
+ </p>
+<p>The <code class="computeroutput">run</code> method can be overriden to completely
+ customize the way generator works. In particular, the conversion of
+ sources to the desired types can be completely customized. Here's
+ another real example. Tests for the Boost Python library usually
+ consist of two parts: a Python program and a C++ file. The C++ file is
+ compiled to Python extension that is loaded by the Python
+ program. But in the likely case that both files have the same name,
+ the created Python extension must be renamed. Otherwise, Python
+ program will import itself, not the extension. Here's how it can be
+ done:
+</p>
+<pre class="programlisting">
+rule run ( project name ? : property-set : sources * : multiple ? )
+{
+ local python ;
+ for local s in $(sources)
+ {
+ if [ $(s).type ] = PY
+ {
+ python = $(s) ;
+ }
+ }
+
+ local libs ;
+ for local s in $(sources)
+ {
+ if [ type.is-derived [ $(s).type ] LIB ]
+ {
+ libs += $(s) ;
+ }
+ }
+
+ local new-sources ;
+ for local s in $(sources)
+ {
+ if [ type.is-derived [ $(s).type ] CPP ]
+ {
+ local name = [ $(s).name ] ; # get the target's basename
+ if $(name) = [ $(python).name ]
+ {
+ name = $(name)_ext ; # rename the target
+ }
+ new-sources += [ generators.construct $(project) $(name) :
+ PYTHON_EXTENSION : $(property-set) : $(s) $(libs) ] ;
+ }
+ }
+
+ result = [ construct-result $(python) $(new-sources) : $(project) $(name)
+ : $(property-set) ] ;
+}
+</pre>
+<p>
+
+ First, we separate all source into python files, libraries and C++
+ sources. For each C++ source we create a separate Python extension by
+ calling <code class="computeroutput">generators.construct</code> and passing the C++ source
+ and the libraries. At this point, we also change the extension's name,
+ if necessary.
+ </p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="targets.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../extender.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="features.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/extending/toolset_modules.html b/doc/html/bbv2/extending/toolset_modules.html
new file mode 100644
index 0000000000..fa7cec0bc2
--- /dev/null
+++ b/doc/html/bbv2/extending/toolset_modules.html
@@ -0,0 +1,124 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Toolset modules</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../extender.html" title="Chapter 25. Extender Manual">
+<link rel="prev" href="rules.html" title="Main target rules">
+<link rel="next" href="../reference.html" title="Chapter 26. Detailed reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rules.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../extender.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../reference.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.extending.toolset_modules"></a>Toolset modules</h2></div></div></div>
+<p>If your extensions will be used only on one project, they can be
+ placed in a separate <code class="filename">.jam</code> file that will be
+ imported by your <code class="filename">project-root.jam</code>. If the
+ extensions will be used on many projects, users will thank you for
+ a finishing touch.
+ </p>
+<p>The <code class="computeroutput">using</code> rule provides a standard mechanism
+ for loading and configuring extensions. To make it work, your module
+
+ should provide an <code class="computeroutput">init</code> rule. The rule will be called
+ with the same parameters that were passed to the
+ <code class="computeroutput">using</code> rule. The set of allowed parameters is
+ determined by you. For example, you can allow the user to specify
+ paths, tool versions, and other options.
+ </p>
+<p>Here are some guidelines that help to make Boost.Build more
+ consistent:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>The <code class="computeroutput">init</code> rule should never fail. Even if
+ the user provided an incorrect path, you should emit a warning and go
+ on. Configuration may be shared between different machines, and
+ wrong values on one machine can be OK on another.
+ </p></li>
+<li>
+<p>Prefer specifying the command to be executed
+ to specifying the tool's installation path. First of all, this
+ gives more control: it's possible to specify
+</p>
+<pre class="programlisting">
+/usr/bin/g++-snapshot
+time g++
+</pre>
+<p>
+ as the command. Second, while some tools have a logical
+ "installation root", it's better if user doesn't have to remember whether
+ a specific tool requires a full command or a path.
+ </p>
+</li>
+<li>
+<p>Check for multiple initialization. A user can try to
+ initialize the module several times. You need to check for this
+ and decide what to do. Typically, unless you support several
+ versions of a tool, duplicate initialization is a user error.
+
+ If the
+ tool's version can be specified during initialization, make sure the
+ version is either always specified, or never specified (in which
+ case the tool is initialied only once). For example, if you allow:
+</p>
+<pre class="programlisting">
+using yfc ;
+using yfc : 3.3 ;
+using yfc : 3.4 ;
+</pre>
+<p>
+ Then it's not clear if the first initialization corresponds to
+ version 3.3 of the tool, version 3.4 of the tool, or some other
+ version. This can lead to building twice with the same version.
+ </p>
+</li>
+<li>
+<p>If possible, <code class="computeroutput">init</code> must be callable
+ with no parameters. In which case, it should try to autodetect all
+ the necessary information, for example, by looking for a tool in
+ <code class="envar">PATH</code> or in common installation locations. Often this
+ is possible and allows the user to simply write:
+</p>
+<pre class="programlisting">
+using yfc ;
+</pre>
+</li>
+<li><p>Consider using facilities in the
+ <code class="computeroutput">tools/common</code> module. You can take a look at how
+ <code class="computeroutput">tools/gcc.jam</code> uses that module in the <code class="computeroutput">init</code> rule.
+ </p></li>
+</ul></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rules.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../extender.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../reference.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/faq.html b/doc/html/bbv2/faq.html
new file mode 100644
index 0000000000..9c48e5a02a
--- /dev/null
+++ b/doc/html/bbv2/faq.html
@@ -0,0 +1,149 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 27. Frequently Asked Questions</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../bbv2.html" title="Part III. Boost.Build v2 User Manual">
+<link rel="prev" href="reference/generators.html" title="Generators">
+<link rel="next" href="faq/envar.html" title="
+ Accessing environment variables
+ ">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference/generators.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bbv2.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="faq/envar.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="bbv2.faq"></a>Chapter 27. Frequently Asked Questions</h2></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="faq.html#id2861593">
+ I'm getting "Duplicate name of actual target" error. What
+ does it mean?
+ </a></span></dt>
+<dt><span class="section"><a href="faq/envar.html">
+ Accessing environment variables
+ </a></span></dt>
+<dt><span class="section"><a href="faq/s03.html">
+ How to control properties order?
+ </a></span></dt>
+<dt><span class="section"><a href="faq/s04.html">
+ How to control the library order on Unix?
+ </a></span></dt>
+<dt><span class="section"><a href="faq/external.html">Can I get output of external program as a variable in a Jamfile?
+ </a></span></dt>
+<dt><span class="section"><a href="faq/s06.html">How to get the project-root location?
+ </a></span></dt>
+<dt><span class="section"><a href="faq/s07.html">How to change compilation flags for one file?
+ </a></span></dt>
+<dt><span class="section"><a href="faq/dll-path.html">Why are the <code class="computeroutput">dll-path</code> and
+ <code class="computeroutput">hardcode-dll-paths</code> properties useful?
+ </a></span></dt>
+<dt><span class="section"><a href="recipies/site-config.html">Targets in site-config.jam</a></span></dt>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id2861593"></a>
+ I'm getting "Duplicate name of actual target" error. What
+ does it mean?
+ </h2></div></div></div>
+<p>
+ The most likely case is that you're trying to
+ compile the same file twice, with almost the same,
+ but differing properties. For example:
+
+</p>
+<pre class="programlisting">
+exe a : a.cpp : &lt;include&gt;/usr/local/include ;
+exe b : a.cpp ;
+</pre>
+<p>
+ The above snippet requires two different compilations
+ of 'a.cpp', which differ only in 'include' property.
+ Since the 'include' property is free, Boost.Build
+ can't generate two objects files into different directories.
+ On the other hand, it's dangerous to compile the file only
+ once -- maybe you really want to compile with different
+ includes.
+ </p>
+<p>
+ To solve this issue, you need to decide if file should
+ be compiled once or twice.</p>
+<div class="orderedlist"><ol type="1">
+<li>
+<p>Two compile file only once, make sure that properties
+ are the same:
+
+</p>
+<pre class="programlisting">
+exe a : a.cpp : &lt;include&gt;/usr/local/include ;
+exe b : a.cpp : &lt;include&gt;/usr/local/include ;
+</pre>
+</li>
+<li>
+<p>
+ If changing the properties is not desirable, for example
+ if 'a' and 'b' target have other sources which need
+ specific properties, separate 'a.cpp' into it's own target:
+
+</p>
+<pre class="programlisting">
+obj a_obj : a.cpp : &lt;include&gt;/usr/local/include ;
+exe a : a_obj ;
+</pre>
+</li>
+<li>
+<p>
+ To compile file twice, you can make the object file local
+ to the main target:
+
+</p>
+<pre class="programlisting">
+ exe a : [ obj a_obj : a.cpp ] : &lt;include&gt;/usr/local/include ;
+ exe b : [ obj a_obj : a.cpp ] ;
+</pre>
+</li>
+</ol></div>
+<p>
+ A good question is why Boost.Build can't use some of the above
+ approaches automatically. The problem is that such magic would
+ require additional implementation complexities and would only
+ help in half of the cases, while in other half we'd be silently
+ doing the wrong thing. It's simpler and safe to ask user to
+ clarify his intention in such cases.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference/generators.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bbv2.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="faq/envar.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/faq/dll-path.html b/doc/html/bbv2/faq/dll-path.html
new file mode 100644
index 0000000000..2882f60f91
--- /dev/null
+++ b/doc/html/bbv2/faq/dll-path.html
@@ -0,0 +1,110 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Why are the dll-path and
+ hardcode-dll-paths properties useful?
+ </title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../faq.html" title="Chapter 27. Frequently Asked Questions">
+<link rel="prev" href="s07.html" title="How to change compilation flags for one file?
+ ">
+<link rel="next" href="../recipies/site-config.html" title="Targets in site-config.jam">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s07.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../faq.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../recipies/site-config.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.faq.dll-path"></a>Why are the <code class="computeroutput">dll-path</code> and
+ <code class="computeroutput">hardcode-dll-paths</code> properties useful?
+ </h2></div></div></div>
+<p>(This entry is specific to Unix system.)Before answering the
+ questions, let's recall a few points about shared libraries. Shared
+ libraries can be used by several applications, or other libraries,
+ without phisycally including the library in the application. This can
+ greatly decrease the total size of applications. It's also possible to
+ upgrade a shared library when the application is already
+ installed. Finally, shared linking can be faster.
+ </p>
+<p>However, the shared library must be found when the application is
+ started. The dynamic linker will search in a system-defined list of
+ paths, load the library and resolve the symbols. Which means that you
+ should either change the system-defined list, given by the
+ <code class="envar">LD_LIBRARY_PATH</code> environment variable, or install the
+ libraries to a system location. This can be inconvenient when
+ developing, since the libraries are not yet ready to be installed, and
+ cluttering system paths is undesirable. Luckily, on Unix there's another
+ way.
+ </p>
+<p>An executable can include a list of additional library paths, which
+ will be searched before system paths. This is excellent for development,
+ because the build system knows the paths to all libraries and can include
+ them in executables. That's done when the <code class="computeroutput">hardcode-dll-paths</code>
+ feature has the <code class="literal">true</code> value, which is the
+ default. When the executables should be installed, the story is
+ different.
+ </p>
+<p>
+ Obviously, installed executable should not hardcode paths to your
+ development tree. (The <code class="computeroutput">stage</code> rule explicitly disables the
+ <code class="computeroutput">hardcode-dll-paths</code> feature for that reason.) However, you
+ can use the <code class="computeroutput">dll-path</code> feature to add explicit paths
+ manually. For example:
+</p>
+<pre class="programlisting">
+stage installed : application : &lt;dll-path&gt;/usr/lib/snake
+ &lt;location&gt;/usr/bin ;
+</pre>
+<p>
+ will allow the application to find libraries placed to
+ <code class="filename">/usr/lib/snake</code>.
+ </p>
+<p>If you install libraries to a nonstandard location and add an
+ explicit path, you get more control over libraries which will be used. A
+ library of the same name in a system location will not be inadvertently
+ used. If you install libraries to a system location and do not add any
+ paths, the system administrator will have more control. Each library can
+ be individually upgraded, and all applications will use the new library.
+ </p>
+<p>Which approach is best depends on your situation. If the libraries
+ are relatively standalone and can be used by third party applications,
+ they should be installed in the system location. If you have lots of
+ libraries which can be used only by your application, it makes sense to
+ install it to a nonstandard directory and add an explicit path, like the
+ example above shows. Please also note that guidelines for different
+ systems differ in this respect. The Debian guidelines prohibit any
+ additional search paths, and Solaris guidelines suggest that they should
+ always be used.
+ </p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s07.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../faq.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../recipies/site-config.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/faq/envar.html b/doc/html/bbv2/faq/envar.html
new file mode 100644
index 0000000000..f0bedc992d
--- /dev/null
+++ b/doc/html/bbv2/faq/envar.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ Accessing environment variables
+ </title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../faq.html" title="Chapter 27. Frequently Asked Questions">
+<link rel="prev" href="../faq.html" title="Chapter 27. Frequently Asked Questions">
+<link rel="next" href="s03.html" title="
+ How to control properties order?
+ ">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../faq.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../faq.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="s03.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.faq.envar"></a>
+ Accessing environment variables
+ </h2></div></div></div>
+<p>
+ Many users would like to use environment variables in Jamfiles, for
+ example, to control location of external libraries. In many cases you
+ better declare those external libraries in the site-config.jam file, as
+ documented in the <a href="../recipies/site-config.html" title="Targets in site-config.jam">recipes
+ section</a>. However, if the users already have the environment variables set
+ up, it's not convenient to ask them to set up site-config.jam files as
+ well, and using environment variables might be reasonable.
+ </p>
+<p>In Boost.Build V2, each Jamfile is a separate namespace, and the
+ variables defined in environment is imported into the global
+ namespace. Therefore, to access environment variable from Jamfile, you'd
+ need the following code:
+</p>
+<pre class="programlisting">
+import modules ;
+local SOME_LIBRARY_PATH = [ modules.peek : SOME_LIBRARY_PATH ] ;
+exe a : a.cpp : &lt;include&gt;$(SOME_LIBRARY_PATH) ;
+</pre>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../faq.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../faq.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="s03.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/faq/external.html b/doc/html/bbv2/faq/external.html
new file mode 100644
index 0000000000..521cbd164e
--- /dev/null
+++ b/doc/html/bbv2/faq/external.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Can I get output of external program as a variable in a Jamfile?
+ </title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../faq.html" title="Chapter 27. Frequently Asked Questions">
+<link rel="prev" href="s04.html" title="
+ How to control the library order on Unix?
+ ">
+<link rel="next" href="s06.html" title="How to get the project-root location?
+ ">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s04.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../faq.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="s06.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.faq.external"></a>Can I get output of external program as a variable in a Jamfile?
+ </h2></div></div></div>
+<p>From time to time users ask how to run an external program and save
+ the result in Jamfile variable, something like:
+</p>
+<pre class="programlisting">
+local gtk_includes = [ RUN_COMMAND gtk-config ] ;
+</pre>
+<p>
+ Unfortunately, this is not possible at the moment. However, if the
+ result of command invocation is to be used in a command to some tool,
+ and you're working on Unix, the following workaround is possible.
+</p>
+<pre class="programlisting">
+ alias gtk+-2.0 : : : :
+ &lt;cflags&gt;"`pkg-config --cflags gtk+-2.0`"
+ &lt;inkflags&gt;"`pkg-config --libs gtk+-2.0`"
+ ;
+</pre>
+<p>
+ If you use the "gtk+-2.0" target in sources, then the properties
+ specified above will be added to the build properties and eventually
+ will appear in the command line. Unix command line shell processes
+ the backticks quoting by running the tool and using its output --
+ which is what's desired in that case. Thanks to Daniel James for
+ sharing this approach.
+ </p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s04.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../faq.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="s06.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/faq/s03.html b/doc/html/bbv2/faq/s03.html
new file mode 100644
index 0000000000..2a48487645
--- /dev/null
+++ b/doc/html/bbv2/faq/s03.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ How to control properties order?
+ </title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../faq.html" title="Chapter 27. Frequently Asked Questions">
+<link rel="prev" href="envar.html" title="
+ Accessing environment variables
+ ">
+<link rel="next" href="s04.html" title="
+ How to control the library order on Unix?
+ ">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="envar.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../faq.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="s04.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id2861716"></a>
+ How to control properties order?
+ </h2></div></div></div>
+<p>For internal reasons, Boost.Build sorts all the properties
+ alphabetically. This means that if you write:
+</p>
+<pre class="programlisting">
+exe a : a.cpp : &lt;include&gt;b &lt;include&gt;a ;
+</pre>
+<p>
+ then the command line with first mention the "a" include directory, and
+ then "b", even though they are specified in the opposite order. In most
+ cases, the user doesn't care. But sometimes the order of includes, or
+ other properties, is important. For example, if one uses both the C++
+ Boost library and the "boost-sandbox" (libraries in development), then
+ include path for boost-sandbox must come first, because some headers may
+ override ones in C++ Boost. For such cases, a special syntax is
+ provided:
+</p>
+<pre class="programlisting">
+exe a : a.cpp : &lt;include&gt;a&amp;&amp;b ;
+</pre>
+<p>The <code class="computeroutput">&amp;&amp;</code> symbols separate values of an
+ property, and specify that the order of the values should be preserved. You
+ are advised to use this feature only when the order of properties really
+ matters, and not as a convenient shortcut. Using it everywhere might
+ negatively affect performance.
+ </p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="envar.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../faq.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="s04.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/faq/s04.html b/doc/html/bbv2/faq/s04.html
new file mode 100644
index 0000000000..800e9a57d1
--- /dev/null
+++ b/doc/html/bbv2/faq/s04.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ How to control the library order on Unix?
+ </title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../faq.html" title="Chapter 27. Frequently Asked Questions">
+<link rel="prev" href="s03.html" title="
+ How to control properties order?
+ ">
+<link rel="next" href="external.html" title="Can I get output of external program as a variable in a Jamfile?
+ ">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s03.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../faq.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="external.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id2861760"></a>
+ How to control the library order on Unix?
+ </h2></div></div></div>
+<p>On the Unix-like operating systems, the order in which static
+ libraries are specified when invoking the linker is important, because by
+ default, the linker uses one pass though the libraries list. Passing the
+ libraries in the incorrect order will lead to a link error. Further, this
+ behaviour is often used to make one library override symbols from
+ another. So, sometimes it's necessary to force specific order of
+ libraries.
+ </p>
+<p>Boost.Build tries to automatically compute the right order. The
+ primary rule is that if library a "uses" library b, then library a will
+ appear on the command line before library b. Library a is considered to
+ use b is b is present either in the sources of a or in its
+ requirements. To explicitly specify the use relationship one can use the
+ &lt;use&gt; feature. For example, both of the following lines will cause
+ a to appear before b on the command line:
+</p>
+<pre class="programlisting">
+lib a : a.cpp b ;
+lib a : a.cpp : &lt;use&gt;b ;
+</pre>
+<p>
+ The same approach works for searched libraries, too:
+</p>
+<pre class="programlisting">
+lib z ;
+lib png : : &lt;use&gt;z ;
+exe viewer : viewer png z ;
+</pre>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s03.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../faq.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="external.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/faq/s06.html b/doc/html/bbv2/faq/s06.html
new file mode 100644
index 0000000000..b43f374758
--- /dev/null
+++ b/doc/html/bbv2/faq/s06.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>How to get the project-root location?
+ </title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../faq.html" title="Chapter 27. Frequently Asked Questions">
+<link rel="prev" href="external.html" title="Can I get output of external program as a variable in a Jamfile?
+ ">
+<link rel="next" href="s07.html" title="How to change compilation flags for one file?
+ ">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="external.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../faq.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="s07.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id2861845"></a>How to get the project-root location?
+ </h2></div></div></div>
+<p>You might want to use the location of the project-root in your
+ Jamfiles. To do it, you'd need to declare path constant in your
+ project-root.jam:
+</p>
+<pre class="programlisting">
+path-constant TOP : . ;
+</pre>
+<p>
+ After that, the <code class="computeroutput">TOP</code> variable can be used in every Jamfile.
+ </p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="external.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../faq.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="s07.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/faq/s07.html b/doc/html/bbv2/faq/s07.html
new file mode 100644
index 0000000000..5fff0df3f9
--- /dev/null
+++ b/doc/html/bbv2/faq/s07.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>How to change compilation flags for one file?
+ </title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../faq.html" title="Chapter 27. Frequently Asked Questions">
+<link rel="prev" href="s06.html" title="How to get the project-root location?
+ ">
+<link rel="next" href="dll-path.html" title="Why are the dll-path and
+ hardcode-dll-paths properties useful?
+ ">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s06.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../faq.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="dll-path.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id2861867"></a>How to change compilation flags for one file?
+ </h2></div></div></div>
+<p>If one file must be compiled with special options, you need to
+ explicitly declare an <code class="computeroutput">obj</code> target for that file and then use
+ that target in your <code class="computeroutput">exe</code> or <code class="computeroutput">lib</code> target:
+</p>
+<pre class="programlisting">
+exe a : a.cpp b ;
+obj b : b.cpp : &lt;optimization&gt;off ;
+</pre>
+<p>
+ Of course you can use other properties, for example to specify specific
+ compiler options:
+</p>
+<pre class="programlisting">
+exe a : a.cpp b ;
+obj b : b.cpp : &lt;cflags&gt;-g ;
+</pre>
+<p>
+ You can also use <a href="../tutorial/conditions.html" title="Conditions and alternatives">conditional
+ properties</a> for finer control:
+</p>
+<pre class="programlisting">
+exe a : a.cpp b ;
+obj b : b.cpp : &lt;variant&gt;release:&lt;optimization&gt;off ;
+</pre>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s06.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../faq.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="dll-path.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/howto.html b/doc/html/bbv2/howto.html
new file mode 100644
index 0000000000..fd5183b733
--- /dev/null
+++ b/doc/html/bbv2/howto.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 21. How to use this document</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../bbv2.html" title="Part III. Boost.Build v2 User Manual">
+<link rel="prev" href="../bbv2.html" title="Part III. Boost.Build v2 User Manual">
+<link rel="next" href="installation.html" title="Chapter 22. Installation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bbv2.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bbv2.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="installation.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="bbv2.howto"></a>Chapter 21. How to use this document</h2></div></div></div>
+<p>
+ If you've just found out about Boost.Build V2 and want to know
+ if it will work for you, start with <a href="tutorial.html" title="Chapter 23. Tutorial">Chapter 23, <i>Tutorial</i></a>. You can continue with the <a href="advanced.html" title="Chapter 24. User documentation">Chapter 24, <i>User documentation</i></a>. When you're ready to try Boost.Build
+ in practice, go to <a href="installation.html" title="Chapter 22. Installation">Chapter 22, <i>Installation</i></a>.
+ </p>
+<p>
+ If you are about to use Boost.Build on your project, or already
+ using it and have a problem, look at <a href="advanced.html" title="Chapter 24. User documentation">Chapter 24, <i>User documentation</i></a>.
+ </p>
+<p>
+ If you're trying to build a project which uses Boost.Build,
+ look at <a href="installation.html" title="Chapter 22. Installation">Chapter 22, <i>Installation</i></a> and then read about
+ <a href="reference.html#bbv2.reference.commandline" title="Command line">the section called &#8220;Command line&#8221;</a>.
+ </p>
+<p>
+ If you have questions, please post them to our <a href="http://boost.org/more/mailing_lists.htm#jamboost" target="_top">mailing
+ list</a>, and be sure to indicate in the subject line that
+ you're asking about Boost.Build <span class="bold"><strong>V2</strong></span>.
+ </p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bbv2.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bbv2.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="installation.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/installation.html b/doc/html/bbv2/installation.html
new file mode 100644
index 0000000000..832e4d2cd0
--- /dev/null
+++ b/doc/html/bbv2/installation.html
@@ -0,0 +1,170 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 22. Installation</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../bbv2.html" title="Part III. Boost.Build v2 User Manual">
+<link rel="prev" href="howto.html" title="Chapter 21. How to use this document">
+<link rel="next" href="tutorial.html" title="Chapter 23. Tutorial">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="howto.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bbv2.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="tutorial.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="bbv2.installation"></a>Chapter 22. Installation</h2></div></div></div>
+<p>
+ This section describes how to install Boost.Build from a
+ released <a href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041" target="_top">Boost
+ source distribution</a>
+ or <a href="http://sourceforge.net/cvs/?group_id=7586" target="_top">CVS
+ image</a>.
+ <sup>[<a name="id2853505" href="#ftn.id2853505">2</a>]</sup>
+All paths are given relative to
+ the <em class="firstterm">Boost.Build v2 root directory</em>, which is
+
+
+
+ located in the <code class="filename">tools/build/v2</code> subdirectory
+ of a full Boost <a href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041" target="_top">distribution</a>.
+ <sup>[<a name="id2853545" href="#ftn.id2853545">3</a>]</sup></p>
+<div class="orderedlist"><ol type="1">
+<li>
+ Boost.Build uses <a href="../../../tools/build/jam_src/index.html" target="_top">Boost.Jam</a>, an
+ extension of the <a href="http://www.perforce.com/jam/jam.html" target="_top">Perforce
+ Jam</a> portable <span><strong class="command">make</strong></span> replacement. The
+ recommended way to get Boost.Jam is to <span class="bold"><strong><a href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=72941" target="_top">download
+ a prebuilt executable</a></strong></span> from SourceForge.
+ If a prebuilt executable is not provided for your platform
+ or you are using Boost's sources in an unreleased state, it
+ may be necessary to <a href="../../../tools/build/jam_src/index.html#building_bjam" target="_top">build <span><strong class="command">bjam</strong></span>
+ from sources</a> included in the Boost source tree.
+ </li>
+<li>
+<p>
+
+ To install Boost.Jam, copy the executable,
+ called <span><strong class="command">bjam</strong></span>
+ or <span><strong class="command">bjam.exe</strong></span> to a location accessible in
+ your <code class="envar">PATH</code>. Go to the Boost.Build root
+ directory and
+ run <span><strong class="command">bjam <code class="option">--version</code></strong></span>. You
+ should see:
+
+ </p>
+<pre class="screen">
+ Boost.Build V2 (Milestone N)
+ Boost.Jam xx.xx.xx
+ </pre>
+<p>
+
+ where N is the version of Boost.Build you're using.
+ </p>
+</li>
+<li>
+ Configure Boost.Build to recognize the build resources (such
+ as compilers and libraries) you have installed on your
+ system. Open the
+ <code class="filename">user-config.jam</code> file in the Boost.Build
+ root directory and follow the instructions there to describe
+ your toolsets and libraries, and, if necessary, where they
+ are located.
+ </li>
+<li>
+ You should now be able to go to the
+ <code class="filename">example/hello/</code> directory and run
+ <span><strong class="command">bjam</strong></span> there. A simple application will be
+ built. You can also play with other projects in the
+ <code class="filename">example/</code> directory.
+ </li>
+</ol></div>
+<p>
+ If you are using Boost's CVS state, be sure to
+ rebuild <span><strong class="command">bjam</strong></span> even if you have a previous
+ version. The CVS version of Boost.Build requires the CVS
+ version of Boost.Jam.
+ </p>
+<p>
+ When <span><strong class="command">bjam</strong></span> is invoked, it always needs to be
+ able to find the Boost.Build root directory, where the
+ interpreted source code of Boost.Build is located. There are
+ two ways to tell <span><strong class="command">bjam</strong></span> about the root directory:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Set the environment variable <code class="envar">BOOST_BUILD_PATH</code>
+ to the absolute path of the Boost.Build root directory.
+ </li>
+<li>
+<p>
+ At the root directory of your project or in any of its
+ parent directories, create a file called
+ <code class="filename">boost-build.jam</code>, with a single line:
+
+</p>
+<pre class="programlisting">
+boost-build <em class="replaceable"><code>/path/to/boost.build</code></em> ;
+</pre>
+</li>
+</ul></div>
+<p><span class="bold"><strong>N.B.</strong></span>
+ When <span><strong class="command">bjam</strong></span> is invoked from anywhere in the Boost
+ directory tree <span class="emphasis"><em>other than</em></span> the Boost.Build root
+ and its subdirectories, <a href="../../../tools/build/index.html" target="_top">Boost.Build
+ v1</a> is used by default. To override the default and use
+ Boost.Build v2, you have to add the <code class="option">--v2</code> command
+ line option to all <span><strong class="command">bjam</strong></span> invocations.</p>
+<div class="footnotes">
+<br><hr width="100" align="left">
+<div class="footnote"><p><sup>[<a name="ftn.id2853505" href="#id2853505">2</a>] </sup>Note that packages prepared for
+ Unix/Linux systems usually make their own choices about where to
+ put things and even which parts of Boost to include. When we
+ say &#8220;released source distribution&#8221; we mean a
+ distribution of Boost as released on its SourceForge
+ <a href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041" target="_top">project
+ page</a>.
+ </p></div>
+<div class="footnote"><p><sup>[<a name="ftn.id2853545" href="#id2853545">3</a>] </sup>The Boost.Build subset of boost is also distributed
+ separately, for those who are only interested in getting a
+ build tool. The top-level directory of a <a href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=80982" target="_top">Boost.Build
+ distribution</a> contains all the subdirectories of the
+ <code class="filename">tools/build/v2</code> subdirectory from a full
+ Boost distribution, so it is itself a valid Boost.Build root
+ directory. It also contains the
+ <code class="filename">tools/build/jam_src</code> subdirectory of a
+ full Boost distribution, so you can rebuild Boost.Jam from
+ source.
+ </p></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="howto.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bbv2.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="tutorial.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/recipies/site-config.html b/doc/html/bbv2/recipies/site-config.html
new file mode 100644
index 0000000000..c23d6327ce
--- /dev/null
+++ b/doc/html/bbv2/recipies/site-config.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Targets in site-config.jam</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../faq.html" title="Chapter 27. Frequently Asked Questions">
+<link rel="prev" href="../faq/dll-path.html" title="Why are the dll-path and
+ hardcode-dll-paths properties useful?
+ ">
+<link rel="next" href="../arch.html" title="Appendix B. Boost.Build v2 architecture">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../faq/dll-path.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../faq.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../arch.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.recipies.site-config"></a>Targets in site-config.jam</h2></div></div></div>
+<p>It is desirable to declare standard libraries available on a
+ given system. Putting target declaration in Jamfile is not really
+ good, since locations of the libraries can vary. The solution is
+ to put the following to site-config.jam.</p>
+<pre class="programlisting">
+import project ;
+project.initialize $(__name__) ;
+project site-config ;
+lib zlib : : &lt;name&gt;z ;
+</pre>
+<p>The second line allows this module to act as project. The
+ third line gives id to this project &#8212; it really has no location
+ and cannot be used otherwise. The fourth line just declares a
+ target. Now, one can write:
+</p>
+<pre class="programlisting">
+exe hello : hello.cpp /site-config//zlib ;
+</pre>
+<p>
+ in any Jamfile.</p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../faq/dll-path.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../faq.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../arch.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/reference.html b/doc/html/bbv2/reference.html
new file mode 100644
index 0000000000..540f0174fd
--- /dev/null
+++ b/doc/html/bbv2/reference.html
@@ -0,0 +1,337 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 26. Detailed reference</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../bbv2.html" title="Part III. Boost.Build v2 User Manual">
+<link rel="prev" href="extending/toolset_modules.html" title="Toolset modules">
+<link rel="next" href="reference/jamfiles.html" title="Writing Jamfiles">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="extending/toolset_modules.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bbv2.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference/jamfiles.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="bbv2.reference"></a>Chapter 26. Detailed reference</h2></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="reference.html#bbv2.reference.general">General information</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="reference.html#bbv2.reference.init">Initialization</a></span></dt>
+<dt><span class="section"><a href="reference.html#bbv2.reference.commandline">Command line</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="reference/jamfiles.html">Writing Jamfiles</a></span></dt>
+<dd><dl><dt><span class="section"><a href="reference/jamfiles.html#bbv2.reference.headers">Generated headers</a></span></dt></dl></dd>
+<dt><span class="section"><a href="reference/buildprocess.html">Build process</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="reference/buildprocess.html#bbv2.reference.buildprocess.alternatives">Alternative selection</a></span></dt>
+<dt><span class="section"><a href="reference/buildprocess.html#bbv2.reference.buildprocess.common">Determining common properties</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="reference/definitions.html">Definitions</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="reference/definitions.html#bbv2.reference.features">Features and properties</a></span></dt>
+<dt><span class="section"><a href="reference/definitions.html#bbv2.reference.variants">Build Variants</a></span></dt>
+<dt><span class="section"><a href="reference/definitions.html#bbv2.reference.variants.proprefine">Property refinement</a></span></dt>
+<dt><span class="section"><a href="reference/definitions.html#bbv2.reference.variants.propcond">Conditional properties</a></span></dt>
+<dt><span class="section"><a href="reference/definitions.html#bbv2.reference.ids">Target identifiers and references</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="reference/generators.html">Generators</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="reference/generators.html#id2861414">Selecting and ranking viable generators</a></span></dt>
+<dt><span class="section"><a href="reference/generators.html#id2861462">Running generators</a></span></dt>
+<dt><span class="section"><a href="reference/generators.html#id2861501">Selecting dependency graph</a></span></dt>
+<dt><span class="section"><a href="reference/generators.html#id2861512">Property adjustment</a></span></dt>
+<dt><span class="section"><a href="reference/generators.html#id2861573">Transformations cache</a></span></dt>
+</dl></dd>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.reference.general"></a>General information</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="reference.html#bbv2.reference.init">Initialization</a></span></dt>
+<dt><span class="section"><a href="reference.html#bbv2.reference.commandline">Command line</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.reference.init"></a>Initialization</h3></div></div></div>
+<p>bjam's first job upon startup is to load the Jam code that
+ implements the build system. To do this, it searches for a file
+ called <code class="filename">boost-build.jam</code>, first in the invocation directory, then
+ in its parent and so forth up to the filesystem root, and finally
+ in the directories specified by the environment variable
+ BOOST_BUILD_PATH. When found, the file is interpreted, and should
+ specify the build system location by calling the boost-build
+ rule:</p>
+<pre class="programlisting">
+rule boost-build ( location ? )
+</pre>
+<p>
+ If location is a relative path, it is treated as relative to
+ the directory of <code class="filename">boost-build.jam</code>. The directory specified by
+ that location and the directories in BOOST_BUILD_PATH are then searched for
+ a file called <code class="filename">bootstrap.jam</code>, which is expected to
+ bootstrap the build system. This arrangement allows the build
+ system to work without any command-line or environment variable
+ settings. For example, if the build system files were located in a
+ directory "build-system/" at your project root, you might place a
+ <code class="filename">boost-build.jam</code> at the project root containing:
+
+</p>
+<pre class="programlisting">
+boost-build build-system ;
+</pre>
+<p>
+
+ In this case, running bjam anywhere in the project tree will
+ automatically find the build system.</p>
+<p>The default <code class="filename">bootstrap.jam</code>, after loading some standard
+ definitions, loads two files, which can be provided/customised by
+ user: <code class="filename">site-config.jam</code> and <code class="filename">user-config.jam</code>.</p>
+<p>Locations where those files a search are summarized below:</p>
+<div class="table">
+<a name="bbv2.reference.init.config"></a><p class="title"><b>Table 26.1. Search paths for configuration files</b></p>
+<table class="table" summary="Search paths for configuration files">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th> </th>
+<th>site-config.jam</th>
+<th>user-config.jam</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>Linux</td>
+<td>
+<p><code class="computeroutput">/etc</code></p>
+<p><code class="computeroutput">$HOME</code></p>
+<p><code class="computeroutput">$BOOST_BUILD_PATH</code></p>
+</td>
+<td>
+<p><code class="computeroutput">$HOME</code></p>
+<p><code class="computeroutput">$BOOST_BUILD_PATH</code></p>
+</td>
+</tr>
+<tr>
+<td>Windows</td>
+<td>
+<p><code class="computeroutput">%SystemRoot%</code></p>
+<p><code class="computeroutput">%HOMEDRIVE%%HOMEPATH%</code></p>
+<p><code class="computeroutput">%HOME%</code></p>
+<p><code class="computeroutput">%BOOST_BUILD_PATH%</code></p>
+</td>
+<td>
+<p><code class="computeroutput">%HOMEDRIVE%%HOMEPATH%</code></p>
+<p><code class="computeroutput">%HOME%</code></p>
+<p><code class="computeroutput">%BOOST_BUILD_PATH%</code></p>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<p>
+ Boost.Build comes with default versions of those files,
+
+ which can serve as templates for customized versions.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.reference.commandline"></a>Command line</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="reference.html#bbv2.reference.init.args">Command line arguments</a></span></dt>
+<dt><span class="section"><a href="reference.html#bbv2.reference.init.options">Command line options</a></span></dt>
+</dl></div>
+<p>The command line may contain:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>Jam options,</li>
+<li>Boost.Build <a href="reference.html#bbv2.reference.init.options" title="Command line options">options</a>,</li>
+<li>Command line arguments</li>
+</ul></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="bbv2.reference.init.args"></a>Command line arguments</h4></div></div></div>
+<p>
+ Command line arguments specify targets and build
+ request using the following rules.
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ An argument that does not contain slashes or the <code class="computeroutput">=</code>
+ symbol is either a value of an implicit feature or of a target to
+ be built. It is taken to be value of a feature if an appropriate
+ feature exists. Otherwise, it is considered a <a href="reference/definitions.html#bbv2.reference.ids" title="Target identifiers and references">target id</a>. Building the
+ special target name &#8220;clean&#8221; has the same effect as
+ using the <code class="computeroutput">--clean</code> option.
+ </li>
+<li>
+<p>
+ An argument containing either slashes or
+ the <code class="computeroutput">=</code> symbol specifies a number of build
+ request elements (see ???). In its simplest
+ form, it's just a set of properties, separated by
+ slashes, which become a single build request element,
+ for example:
+
+</p>
+<pre class="programlisting">
+borland/&lt;runtime-link&gt;static
+</pre>
+<p>
+
+ A more complex form can be used to save typing. For example,
+ instead of
+
+</p>
+<pre class="programlisting">
+borland/runtime-link=static borland/runtime-link=dynamic
+</pre>
+<p>
+
+ one can use
+
+</p>
+<pre class="programlisting">
+borland/runtime-link=static,dynamic
+</pre>
+<p>
+
+ Exactly, the conversion from argument to build request
+ elements is performed by (1) splitting the argument at each slash,
+ (2) converting each split part into a set of properties and (3)
+ taking all possible combinations
+
+ of the property sets. Each split
+ part should have the either the form
+
+</p>
+<pre class="programlisting"><span class="emphasis"><em>feature-name</em></span>=<span class="emphasis"><em>feature-value1</em></span>[","<span class="emphasis"><em>feature-valueN</em></span>]*
+</pre>
+<p>
+
+ or, in case of implicit features
+
+</p>
+<pre class="programlisting"><span class="emphasis"><em>feature-value1</em></span>[","<span class="emphasis"><em>feature-valueN</em></span>;]*
+</pre>
+<p>
+
+ will be converted into the property set
+
+</p>
+<pre class="programlisting">
+&lt;feature-name&gt;feature-value1 .... &lt;feature-name&gt;feature-valueN
+</pre>
+</li>
+</ul></div>
+<p>
+ For example, the command line
+
+</p>
+<pre class="programlisting">
+target1 debug gcc/runtime-link=dynamic,static
+</pre>
+<p>
+
+ would cause target called <code class="literal">target1</code> to be rebuilt in
+ debug mode, except that for gcc, both dynamically and statically
+ linked binaries would be created.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="bbv2.reference.init.options"></a>Command line options</h4></div></div></div>
+<p>All of the Boost.Build options start with the "--" prefix.
+ They are described in the following table.</p>
+<div class="table">
+<a name="id2860280"></a><p class="title"><b>Table 26.2. Command line options</b></p>
+<table class="table" summary="Command line options">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Option</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="literal">--version</code></td>
+<td>Prints information on Boost.Build and Boost.Jam
+ versions.</td>
+</tr>
+<tr>
+<td>
+<a name="bbv2.reference.init.options.help"></a><code class="literal">--help</code>
+</td>
+<td>Access to the online help system. This prints general
+ information on how to use the help system with additional
+ --help* options.</td>
+</tr>
+<tr>
+<td><code class="literal">--clean</code></td>
+<td>Removes everything instead of building. Unlike
+ <code class="literal">clean</code> target in make, it is possible to clean only
+ some targets.</td>
+</tr>
+<tr>
+<td><code class="literal">--debug</code></td>
+<td>Enables internal checks.</td>
+</tr>
+<tr>
+<td><code class="literal">--dump-projects</code></td>
+<td>Cause the project structure to be output.</td>
+</tr>
+<tr>
+<td><code class="literal">--no-error-backtrace</code></td>
+<td>Don't print backtrace on errors. Primary useful for
+ testing.</td>
+</tr>
+<tr>
+<td><code class="literal">--ignore-config</code></td>
+<td>Do not load <code class="literal">site-config.jam</code> and
+ <code class="literal">user-config.jam</code>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="extending/toolset_modules.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bbv2.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference/jamfiles.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/reference/buildprocess.html b/doc/html/bbv2/reference/buildprocess.html
new file mode 100644
index 0000000000..620f2a9e9d
--- /dev/null
+++ b/doc/html/bbv2/reference/buildprocess.html
@@ -0,0 +1,141 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Build process</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../reference.html" title="Chapter 26. Detailed reference">
+<link rel="prev" href="jamfiles.html" title="Writing Jamfiles">
+<link rel="next" href="definitions.html" title="Definitions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jamfiles.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="definitions.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.reference.buildprocess"></a>Build process</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="buildprocess.html#bbv2.reference.buildprocess.alternatives">Alternative selection</a></span></dt>
+<dt><span class="section"><a href="buildprocess.html#bbv2.reference.buildprocess.common">Determining common properties</a></span></dt>
+</dl></div>
+<p>The general overview of the build process was given in the
+ <a href="../advanced/build_process.html" title="The Build Process">user documentation</a>.
+ This section provides additional details, and some specific rules.
+ </p>
+<p>To recap, building a target with specific properties includes the
+ following steps:
+ </p>
+<div class="orderedlist"><ol type="1">
+<li><p>applying default build,</p></li>
+<li><p>selecting the main target alternative to use,
+ </p></li>
+<li><p>determining "common" properties</p></li>
+<li><p>building targets referred by the sources list and
+ dependency properties</p></li>
+<li><p>adding the usage requirements produces when building
+ dependencies to the "common" properties</p></li>
+<li><p>building the target using generators</p></li>
+<li><p>computing the usage requirements to be returned</p></li>
+</ol></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.reference.buildprocess.alternatives"></a>Alternative selection</h3></div></div></div>
+<p>When there are several alternatives, one of them must be
+ selected. The process is as follows:</p>
+<div class="orderedlist"><ol type="1">
+<li>
+ For each alternative <span class="emphasis"><em>condition</em></span> is defined
+ as the set of base properies in requirements. [Note: it might be
+ better to specify the condition explicitly, as in
+ conditional requirements].
+ </li>
+<li>
+ An alternative is viable only if all properties in condition
+ are present in build request.
+ </li>
+<li>
+ If there's one viable alternative, it's choosen. Otherwise,
+ an attempt is made to find one best alternative. An alternative
+ a is better than another alternative b, iff set of properties
+ in b's condition is strict subset of the set of properities of
+ 'a's condition. If there's one viable alternative, which is
+ better than all other, it's selected. Otherwise, an error is
+ reported.
+ </li>
+</ol></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.reference.buildprocess.common"></a>Determining common properties</h3></div></div></div>
+<p>The "common" properties is a somewhat artificial term. Those are
+ the intermediate property set from which both the build request for
+ dependencies and properties for building the target are derived.
+ </p>
+<p>Since default build and alternatives are already handled, we have
+ only two inputs: build requests and requirements. Here are the rules
+ about common properties.
+ </p>
+<div class="orderedlist"><ol type="1">
+<li><p>Non-free feature can have only one
+ value</p></li>
+<li><p>A non-conditional property in requirement in always
+ present in common properties.</p></li>
+<li><p>A property in build request is present in
+ common properties, unless (2) tells otherwise.</p></li>
+<li><p>If either build request, or requirements (non-conditional
+ or conditional) include an expandable property (either composite,
+ or property with specified subfeature value), the behaviour is
+ equivalent to explicitly adding all expanded properties to build
+ request or requirements.</p></li>
+<li><p>If requirements include a conditional property, and
+ condiiton of this property is true in context of common
+ properties, then the conditional property should be in common
+ properties as well.</p></li>
+<li><p>If no value for a feature is given by other rules
+ here, it has default value in common properties.</p></li>
+</ol></div>
+<p>Those rules are declarative, they don't specify how to compute the
+ common properties. However, they provide enough information for the
+ user. The important point is the handling of conditional
+ requirements. The condition can be satisfied either by property in
+ build request, by non-conditional requirements, or even by another
+ conditional property. For example, the following example works as
+ expected:
+</p>
+<pre class="programlisting">
+exe a : a.cpp
+ : &lt;toolset&gt;gcc:&lt;variant&gt;release
+ &lt;variant&gt;release:&lt;define&gt;FOO ;
+</pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jamfiles.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="definitions.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/reference/definitions.html b/doc/html/bbv2/reference/definitions.html
new file mode 100644
index 0000000000..d56f65c528
--- /dev/null
+++ b/doc/html/bbv2/reference/definitions.html
@@ -0,0 +1,379 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Definitions</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../reference.html" title="Chapter 26. Detailed reference">
+<link rel="prev" href="buildprocess.html" title="Build process">
+<link rel="next" href="generators.html" title="Generators">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="buildprocess.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="generators.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.reference.definitions"></a>Definitions</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="definitions.html#bbv2.reference.features">Features and properties</a></span></dt>
+<dt><span class="section"><a href="definitions.html#bbv2.reference.variants">Build Variants</a></span></dt>
+<dt><span class="section"><a href="definitions.html#bbv2.reference.variants.proprefine">Property refinement</a></span></dt>
+<dt><span class="section"><a href="definitions.html#bbv2.reference.variants.propcond">Conditional properties</a></span></dt>
+<dt><span class="section"><a href="definitions.html#bbv2.reference.ids">Target identifiers and references</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.reference.features"></a>Features and properties</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="definitions.html#bbv2.reference.features.validity">Property Validity</a></span></dt>
+<dt><span class="section"><a href="definitions.html#bbv2.reference.features.attributes">Feature Attributes</a></span></dt>
+<dt><span class="section"><a href="definitions.html#bbv2.reference.features.declaration">Feature Declaration</a></span></dt>
+</dl></div>
+<p>A <span class="emphasis"><em>feature</em></span> is a normalized (toolset-independent)
+ aspect of a build configuration, such as whether inlining is
+ enabled. Feature names may not contain the '<code class="literal">&gt;</code>'
+ character.</p>
+<p>Each feature in a build configuration has one or more
+ associated <span class="emphasis"><em>value</em></span>s. Feature values for non-free features
+ may not contain the '<code class="literal">&lt;</code>', '<code class="literal">:</code>', or
+ '<code class="literal">=</code>' characters. Feature values for free features may not
+ contain the '<code class="literal">&lt;</code>' character.</p>
+<p>A <span class="emphasis"><em>property</em></span> is a (feature,value) pair, expressed as
+ &lt;feature&gt;value.</p>
+<p>A <span class="emphasis"><em>subfeature</em></span> is a feature that only exists in the
+ presence of its parent feature, and whose identity can be derived
+ (in the context of its parent) from its value. A subfeature's
+ parent can never be another subfeature. Thus, features and their
+ subfeatures form a two-level hierarchy.</p>
+<p>A <span class="emphasis"><em>value-string</em></span> for a feature <span class="bold"><strong>F</strong></span> is a string of
+ the form
+ <code class="literal">value-subvalue1-subvalue2</code>...<code class="literal">-subvalueN</code>, where
+ <code class="literal">value</code> is a legal value for <span class="bold"><strong>F</strong></span> and
+ <code class="literal">subvalue1</code>...<code class="literal">subvalueN</code> are legal values of some
+ of <span class="bold"><strong>F</strong></span>'s subfeatures. For example, the properties
+ <code class="literal">&lt;toolset&gt;gcc &lt;toolset-version&gt;3.0.1</code> can be
+ expressed more conscisely using a value-string, as
+ <code class="literal">&lt;toolset&gt;gcc-3.0.1</code>.</p>
+<p>A <span class="emphasis"><em>property set</em></span> is a set of properties (i.e. a
+ collection without duplicates), for instance:
+ <code class="literal">&lt;toolset&gt;gcc &lt;runtime-link&gt;static</code>.</p>
+<p>A <span class="emphasis"><em>property path</em></span> is a property set whose elements have
+ been joined into a single string separated by slashes. A property
+ path representation of the previous example would be
+ <code class="literal">&lt;toolset&gt;gcc/&lt;runtime-link&gt;static</code>.</p>
+<p>A <span class="emphasis"><em>build specification</em></span> is a property set that fully
+ describes the set of features used to build a target.</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="bbv2.reference.features.validity"></a>Property Validity</h4></div></div></div>
+<p>
+ For <a href="definitions.html#bbv2.reference.features.attributes.free">free</a>
+ features, all values are valid. For all other features,
+ the valid values are explicitly specified, and the build
+ system will report an error for the use of an invalid
+ feature-value. Subproperty validity may be restricted so
+ that certain values are valid only in the presence of
+ certain other subproperties. For example, it is possible
+ to specify that the <code class="computeroutput">&lt;gcc-target&gt;mingw</code>
+ property is only valid in the presence of
+ <code class="computeroutput">&lt;gcc-version&gt;2.95.2</code>.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="bbv2.reference.features.attributes"></a>Feature Attributes</h4></div></div></div>
+<p>Each feature has a collection of zero or more of the following
+ attributes. Feature attributes are low-level descriptions of how the
+ build system should interpret a feature's values when they appear in
+ a build request. We also refer to the attributes of properties, so
+ that an <span class="emphasis"><em>incidental</em></span> property, for example, is
+ one whose feature has the <span class="emphasis"><em>incidental</em></span>
+ attribute.</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<p><span class="emphasis"><em>incidental</em></span></p>
+<p>Incidental features are assumed not to affect build
+ products at all. As a consequence, the build system may use
+ the same file for targets whose build specification differs
+ only in incidental features. A feature that controls a
+ compiler's warning level is one example of a likely
+ incidental feature.</p>
+<p>Non-incidental features are assumed to affect build
+ products, so the files for targets whose build specification
+ differs in non-incidental features are placed in different
+ directories as described in "target paths" below. [ where? ]
+ </p>
+</li>
+<li>
+<p><a name="bbv2.reference.features.attributes.propagated"></a><span class="emphasis"><em>propagated</em></span></p>
+<p>Features of this kind are
+ propagated to dependencies. That is, if a <a href="../advanced/jamfiles.html#bbv2.advanced.targets.main">main target</a> is built using a
+ propagated
+ property, the build systems attempts to use the same property
+ when building any of its dependencies as part of that main
+ target. For instance, when an optimized exectuable is
+ requested, one usually wants it to be linked with optimized
+ libraries. Thus, the <code class="literal">&lt;optimization&gt;</code> feature is
+ propagated.</p>
+</li>
+<li>
+<p><a name="bbv2.reference.features.attributes.free"></a><span class="emphasis"><em>free</em></span></p>
+<p>Most features have a finite set of allowed values, and can
+ only take on a single value from that set in a given build
+ specification. Free features, on the other hand, can have
+ several values at a time and each value can be an arbitrary
+ string. For example, it is possible to have several
+ preprocessor symbols defined simultaneously:</p>
+<pre class="programlisting">
+&lt;define&gt;NDEBUG=1 &lt;define&gt;HAS_CONFIG_H=1
+</pre>
+</li>
+<li>
+<p><span class="emphasis"><em>optional</em></span></p>
+<p>An optional feature is a feature that is not required to
+ appear in a build specification. Every non-optional non-free
+ feature has a default value that is used when a value for
+ the feature is not otherwise specified, either in a target's
+ requirements or in the user's build request. [A feature's
+ default value is given by the first value listed in the
+ feature's declaration. -- move this elsewhere - dwa]</p>
+</li>
+<li>
+<p><span class="emphasis"><em>symmetric</em></span></p>
+<p>A symmetric feature's default value is not automatically
+ included in <a href="definitions.html#bbv2.reference.variants" title="Build Variants">build variants</a>. Normally
+ a feature only generates a subvariant directory when its
+ value differs from the value specified by the build variant,
+ leading to an assymmetric subvariant directory structure for
+ certain values of the feature. A symmetric feature, when
+ relevant to the toolset, always generates a corresponding
+ subvariant directory.</p>
+</li>
+<li>
+<p><span class="emphasis"><em>path</em></span></p>
+<p>The value of a path feature specifies a path. The path is
+ treated as relative to the directory of Jamfile where path
+ feature is used and is translated appropriately by the build
+ system when the build is invoked from a different
+ directory</p>
+</li>
+<li>
+<p><span class="emphasis"><em>implicit</em></span></p>
+<p>Values of implicit features alone identify the feature.
+ For example, a user is not required to write
+ "&lt;toolset&gt;gcc", but can simply write "gcc". Implicit
+ feature names also don't appear in variant paths, although
+ the values do. Thus: bin/gcc/... as opposed to
+ bin/toolset-gcc/.... There should typically be only a few
+ such features, to avoid possible name clashes.</p>
+</li>
+<li>
+<p><span class="emphasis"><em>composite</em></span></p>
+<p>Composite features actually correspond to groups of
+ properties. For example, a build variant is a composite
+ feature. When generating targets from a set of build
+ properties, composite features are recursively expanded and
+ <span class="emphasis"><em>added</em></span> to the build property set, so rules can find
+ them if necessary. Non-composite non-free features override
+ components of composite features in a build property set.</p>
+</li>
+<li>
+<p><span class="emphasis"><em>dependency</em></span></p>
+<p>The value of dependency feature if a target reference.
+ When used for building of a main target, the value of
+ dependency feature is treated as additional dependency.</p>
+<p>For example, dependency features allow to state that
+ library A depends on library B. As the result, whenever an
+ application will link to A, it will also link to B.
+ Specifying B as dependency of A is different from adding B to
+ the sources of A. </p>
+</li>
+</ul></div>
+<p>Features that are neither free nor incidental are called
+ <span class="emphasis"><em>base</em></span> features.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="bbv2.reference.features.declaration"></a>Feature Declaration</h4></div></div></div>
+<p>The low-level feature declaration interface is the
+ <code class="literal">feature</code> rule from the
+ <code class="literal">feature</code> module:
+
+</p>
+<pre class="programlisting">
+rule feature ( name : allowed-values * : attributes * )
+</pre>
+<p>
+
+ A feature's allowed-values may be extended with the
+ <code class="computeroutput">feature.extend</code> rule.
+ </p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.reference.variants"></a>Build Variants</h3></div></div></div>
+<p>
+ A build variant, or (simply variant) is a special kind of composite
+ feature that automatically incorporates the default values of
+ features that . Typically you'll want at least two separate
+ variants: one for debugging, and one for your release code. [
+ Volodya says: "Yea, we'd need to mention that it's a composite
+ feature and describe how they are declared, in pacticular that
+ default values of non-optional features are incorporated into
+ build variant automagically. Also, do we wan't some variant
+ inheritance/extension/templates. I don't remember how it works in
+ V1, so can't document this for V2.". Will clean up soon -DWA ]
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.reference.variants.proprefine"></a>Property refinement</h3></div></div></div>
+<p>When a target with certain properties is requested, and that
+ target requires some set of properties, it is needed to find the
+ set of properties to use for building. This process is called
+ <span class="emphasis"><em>property refinement</em></span> and is performed by these rules</p>
+<div class="orderedlist"><ol type="1">
+<li>
+ Each property in the required set is added to the original
+ property set
+ </li>
+<li>
+ If the original property set includes property with a different
+ value of non free feature, that property is removed.
+ </li>
+</ol></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.reference.variants.propcond"></a>Conditional properties</h3></div></div></div>
+<p>Sometime it's desirable to apply certain requirements only for
+ a specific combination of other properties. For example, one of
+ compilers that you use issues a pointless warning that you want to
+ suppress by passing a command line option to it. You would not
+ want to pass that option to other compilers. Conditional
+ properties allow you to do just that. Their syntax is:</p>
+<pre class="programlisting">
+ property ( "," property ) * ":" property
+ </pre>
+<p>
+ For example, the problem above would be solved by:
+
+</p>
+<pre class="programlisting">
+exe hello : hello.cpp : &lt;toolset&gt;yfc:&lt;cxxflags&gt;-disable-pointless-warning ;
+</pre>
+<p>The syntax also allows several properties in the condition, for
+ example:
+</p>
+<pre class="programlisting">
+exe hello : hello.cpp : &lt;os&gt;NT,&lt;toolset&gt;gcc:&lt;link&gt;static ;
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.reference.ids"></a>Target identifiers and references</h3></div></div></div>
+<p><span class="emphasis"><em>Target identifier</em></span> is used to denote a
+ target. The syntax is:</p>
+<pre class="programlisting">
+target-id -&gt; (project-id | target-name | file-name )
+ | (project-id | directory-name) "//" target-name
+project-id -&gt; path
+target-name -&gt; path
+file-name -&gt; path
+directory-name -&gt; path
+</pre>
+<p>
+ This grammar allows some elements to be recognized as either
+
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ project id (at this point, all project ids start with slash).
+ </li>
+<li>
+ name of target declared in current Jamfile (note that target
+ names may include slash).
+ </li>
+<li>
+ a regular file, denoted by absolute name or name relative to
+ project's sources location.
+ </li>
+</ul></div>
+<p>
+
+ To determine the real meaning a check is made if project-id
+ by the specified name exists, and then if main target of that
+ name exists. For example, valid target ids might be:
+
+</p>
+<pre class="screen">
+a -- target in current project
+lib/b.cpp -- regular file
+/boost/thread -- project "/boost/thread"
+/home/ghost/build/lr_library//parser -- target in specific project
+</pre>
+<p><span class="bold"><strong>Rationale:</strong></span>Target is separated from project by special
+ separator (not just slash), because:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ It emphasises that projects and targets are different things.
+ </li>
+<li>
+ It allows to have main target names with slashes.
+
+ </li>
+</ul></div>
+<p><a name="bbv2.reference.targets.references"></a><span class="emphasis"><em>Target reference</em></span> is used to
+ specify a source target, and may additionally specify desired
+ properties for that target. It has this syntax:</p>
+<pre class="programlisting">
+target-reference -&gt; target-id [ "/" requested-properties ]
+requested-properties -&gt; property-path
+</pre>
+<p>
+ For example,
+
+ </p>
+<pre class="programlisting">
+ exe compiler : compiler.cpp libs/cmdline/&lt;optimization&gt;space ;
+ </pre>
+<p>
+
+ would cause the version of <code class="literal">cmdline</code> library,
+ optimized for space, to be linked in even if the
+ <code class="literal">compiler</code> executable is build with optimization for
+ speed.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="buildprocess.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="generators.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/reference/generators.html b/doc/html/bbv2/reference/generators.html
new file mode 100644
index 0000000000..df5f8a6705
--- /dev/null
+++ b/doc/html/bbv2/reference/generators.html
@@ -0,0 +1,196 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generators</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../reference.html" title="Chapter 26. Detailed reference">
+<link rel="prev" href="definitions.html" title="Definitions">
+<link rel="next" href="../faq.html" title="Chapter 27. Frequently Asked Questions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="definitions.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../faq.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.reference.generators"></a>Generators</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="generators.html#id2861414">Selecting and ranking viable generators</a></span></dt>
+<dt><span class="section"><a href="generators.html#id2861462">Running generators</a></span></dt>
+<dt><span class="section"><a href="generators.html#id2861501">Selecting dependency graph</a></span></dt>
+<dt><span class="section"><a href="generators.html#id2861512">Property adjustment</a></span></dt>
+<dt><span class="section"><a href="generators.html#id2861573">Transformations cache</a></span></dt>
+</dl></div>
+<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Warning</h3>
+<p>The information is this section is likely to be outdated
+ and misleading.
+ </p>
+</div>
+<p>To construct a main target with given properties from sources,
+ it is required to create a dependency graph for that main target,
+ which will also include actions to be run. The algorithm for
+ creating the dependency graph is described here.</p>
+<p>The fundamental concept is <span class="emphasis"><em>generator</em></span>. If encapsulates
+ the notion of build tool and is capable to converting a set of
+ input targets into a set of output targets, with some properties.
+ Generator matches a build tool as closely as possible: it works
+ only when the tool can work with requested properties (for
+ example, msvc compiler can't work when requested toolset is gcc),
+ and should produce exactly the same targets as the tool (for
+ example, if Borland's linker produces additional files with debug
+ information, generator should also).</p>
+<p>Given a set of generators, the fundamental operation is to
+ construct a target of a given type, with given properties, from a
+ set of targets. That operation is performed by rule
+ <code class="literal">generators.construct</code> and the used algorithm is described
+ below.</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2861414"></a>Selecting and ranking viable generators</h3></div></div></div>
+<p>Each generator, in addition to target types that it can
+ produce, have attribute that affects its applicability in
+ particular sitiation. Those attributes are:</p>
+<div class="orderedlist"><ol type="1">
+<li>
+ Required properties, which are properties absolutely
+ necessary for the generator to work. For example, generator
+ encapsulating the gcc compiler would have &lt;toolset&gt;gcc as
+ required property.
+ </li>
+<li>
+ Optional properties, which increase the generators
+ suitability for a particual build.
+ </li>
+</ol></div>
+<p>
+ Generator's required and optional properties may not include
+ either free or incidental properties. (Allowing this would
+ greatly complicate caching targets).
+ </p>
+<p>When trying to construct a target, the first step is to select
+ all possible generators for the requested target type, which
+ required properties are a subset of requested properties.
+ Generators that were already selected up the call stack are
+ excluded. In addition, if any composing generators were selected
+ up the call stack, all other composing generators are ignored
+ (TODO: define composing generators). The found generators
+ are assigned a rank, which is the number of optional properties
+ present in requested properties. Finally, generators with highest
+ rank are selected for futher processing.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2861462"></a>Running generators</h3></div></div></div>
+<p>When generators are selected, each is run to produce a list of
+ created targets. This list might include targets that are not of
+ requested types, because generators create the same targets as
+ some tool, and tool's behaviour is fixed. (Note: should specify
+ that in some cases we actually want extra targets). If generator
+ fails, it returns an empty list. Generator is free to call
+ 'construct' again, to convert sources to the types it can handle.
+ It also can pass modified properties to 'construct'. However, a
+ generator is not allowed to modify any propagated properties,
+ otherwise when actually consuming properties we might discover
+ that the set of propagated properties is different from what was
+ used for building sources.</p>
+<p>For all targets that are not of requested types, we try to
+ convert them to requested type, using a second call to
+ <code class="literal">construct</code>. This is done in order to support
+ transformation sequences where single source file expands to
+ several later. See <a href="http://groups.yahoo.com/group/jamboost/message/1667" target="_top">this
+ message</a> for details.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2861501"></a>Selecting dependency graph</h3></div></div></div>
+<p>
+ After all generators are run,
+ it is necessary to decide which of successfull invocation will be
+ taken as final result. At the moment, this is not done. Instead,
+ it is checked whether all successfull generator invocation
+ returned the same target list. Error is issued otherwise.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2861512"></a>Property adjustment</h3></div></div></div>
+<p>Because target location is determined by the build system, it
+ is sometimes necessary to adjust properties, in order to not
+ break actions. For example, if there's an action that generates
+ a header, say "a_parser.h", and a source file "a.cpp" which
+ includes that file, we must make everything work as if a_parser.h
+ is generated in the same directory where it would be generated
+ without any subvariants.</p>
+<p>Correct property adjustment can be done only after all targets
+ are created, so the approach taken is:</p>
+<div class="orderedlist"><ol type="1">
+<li><p>
+ When dependency graph is constructed, each action can be
+ assigned a rule for property adjustment.
+ </p></li>
+<li><p>
+ When virtual target is actualized, that rule is run and
+ return the final set of properties. At this stage it can use
+ information of all created virtual targets.
+ </p></li>
+</ol></div>
+<p>In case of quoted includes, no adjustment can give 100% correct
+ results. If target dirs are not changed by build system, quoted
+ includes are searched in "." and then in include path, while angle
+ includes are searched only in include path. When target dirs are
+ changed, we'd want to make quoted includes to be search in "." then in
+ additional dirs and then in the include path and make angle includes
+ be searched in include path, probably with additional paths added at
+ some position. Unless, include path already has "." as the first
+ element, this is not possible. So, either generated headers should not
+ be included with quotes, or first element of include path should be
+ ".", which essentially erases the difference between quoted and angle
+ includes. <span class="bold"><strong>Note:</strong></span> the only way to get
+ "." as include path into compiler command line is via verbatim
+ compiler option. In all other case, Boost.Build will convert "." into
+ directory where it occurs.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2861573"></a>Transformations cache</h3></div></div></div>
+<p>
+ Under certain conditions, an
+ attempt is made to cache results of transformation search. First,
+ the sources are replaced with targets with special name and the
+ found target list is stored. Later, when properties, requested
+ type, and source type are the same, the store target list is
+ retrieved and cloned, with appropriate change in names.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="definitions.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../faq.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/reference/jamfiles.html b/doc/html/bbv2/reference/jamfiles.html
new file mode 100644
index 0000000000..7a6b4150f4
--- /dev/null
+++ b/doc/html/bbv2/reference/jamfiles.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Writing Jamfiles</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../reference.html" title="Chapter 26. Detailed reference">
+<link rel="prev" href="../reference.html" title="Chapter 26. Detailed reference">
+<link rel="next" href="buildprocess.html" title="Build process">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../reference.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="buildprocess.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.reference.jamfiles"></a>Writing Jamfiles</h2></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="jamfiles.html#bbv2.reference.headers">Generated headers</a></span></dt></dl></div>
+<p>This section describes specific information about writing Jamfiles.</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.reference.headers"></a>Generated headers</h3></div></div></div>
+<p>Usually, Boost.Build handles implicit dependendies completely
+ automatically. For example, for C++ files, all <code class="literal">#include</code>
+ statements are found and handled. The only aspect where user help
+ might be needed is implicit dependency on generated files.</p>
+<p>By default, Boost.Build handles such dependencies within one
+ main target. For example, assume that main target "app" has two
+ sources, "app.cpp" and "parser.y". The latter source is converted
+ into "parser.c" and "parser.h". Then, if "app.cpp" includes
+ "parser.h", Boost.Build will detect this dependency. Moreover,
+ since "parser.h" will be generated into a build directory, the
+ path to that directory will automatically added to include
+ path.</p>
+<p>Making this mechanism work across main target boundaries is
+ possible, but imposes certain overhead. For that reason, if
+ there's implicit dependency on files from other main targets, the
+ <code class="literal">&lt;implicit-dependency&gt;</code> [ link ] feature must
+ be used, for example:</p>
+<pre class="programlisting">
+lib parser : parser.y ;
+exe app : app.cpp : &lt;implicit-dependency&gt;parser ;
+</pre>
+<p>
+ The above example tells the build system that when scanning
+ all sources of "app" for implicit-dependencies, it should consider
+ targets from "parser" as potential dependencies.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../reference.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="buildprocess.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/tutorial.html b/doc/html/bbv2/tutorial.html
new file mode 100644
index 0000000000..23573746ce
--- /dev/null
+++ b/doc/html/bbv2/tutorial.html
@@ -0,0 +1,135 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 23. Tutorial</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../bbv2.html" title="Part III. Boost.Build v2 User Manual">
+<link rel="prev" href="installation.html" title="Chapter 22. Installation">
+<link rel="next" href="tutorial/properties.html" title="Properties">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="installation.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bbv2.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="tutorial/properties.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="bbv2.tutorial"></a>Chapter 23. Tutorial</h2></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="tutorial.html#bbv2.tutorial.hello">Hello, world</a></span></dt>
+<dt><span class="section"><a href="tutorial/properties.html">Properties</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="tutorial/properties.html#bbv2.tutorial.properties.requirements">Build Requests and Target Requirements</a></span></dt>
+<dt><span class="section"><a href="tutorial/properties.html#bbv2.tutorial.properties.project_attributes">Project Attributes</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="tutorial/hierarchy.html">Project Hierarchies</a></span></dt>
+<dt><span class="section"><a href="tutorial/libs.html">Dependent Targets</a></span></dt>
+<dt><span class="section"><a href="tutorial/linkage.html">Static and shared libaries</a></span></dt>
+<dt><span class="section"><a href="tutorial/conditions.html">Conditions and alternatives</a></span></dt>
+<dt><span class="section"><a href="tutorial/prebuilt.html">Prebuilt targets</a></span></dt>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.tutorial.hello"></a>Hello, world</h2></div></div></div>
+<p>The simplest project that Boost.Build can construct is
+ stored in <code class="filename">example/hello/</code> directory. The
+ project is described by a file
+ called <code class="filename">Jamroot</code> that contains:
+
+</p>
+<pre class="programlisting">
+exe hello : hello.cpp ;
+</pre>
+<p>
+
+ Even with this simple setup, you can do some interesting
+ things. First of all, just invoking <span><strong class="command">bjam</strong></span> will
+ build the <code class="filename">hello</code>
+ executable by compiling and
+ linking <code class="filename">hello.cpp</code>. By default, debug variant
+ is built. Now, to build the
+ release variant of <code class="filename">hello</code>, invoke
+
+</p>
+<pre class="screen">
+bjam release
+</pre>
+<p>
+
+ Note that debug and release variants are created in different
+ directories, so you can switch between variants or even build
+ multiple variants at once, without any unnecessary
+ recompilation. Let's extend the example by adding another line
+ to our project's <code class="filename">Jamroot</code>:
+
+</p>
+<pre class="programlisting">
+exe hello2 : hello.cpp ;
+</pre>
+<p>
+
+ Now let us build both the debug and release variants of our project
+ again:
+
+</p>
+<pre class="screen">
+bjam debug release
+</pre>
+<p>
+
+ Note that two variants of <code class="filename">hello2</code> are linked.
+ Since we have already built both variants
+ of <code class="filename">hello</code>, hello.cpp won't be recompiled;
+ instead the existing object files will just be linked into the
+ corresponding variants of <code class="filename">hello2</code>. Now
+ let's remove all the built products:
+
+</p>
+<pre class="screen">
+bjam --clean debug release
+</pre>
+<p>
+
+ It's also possible to build or clean specific targets. The
+ following two commands, respectively, build or clean only the
+ debug version of <code class="filename">hello2</code>.
+
+</p>
+<pre class="screen">
+bjam hello2
+bjam --clean hello2
+</pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="installation.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bbv2.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="tutorial/properties.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/tutorial/conditions.html b/doc/html/bbv2/tutorial/conditions.html
new file mode 100644
index 0000000000..fb2373da99
--- /dev/null
+++ b/doc/html/bbv2/tutorial/conditions.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Conditions and alternatives</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../tutorial.html" title="Chapter 23. Tutorial">
+<link rel="prev" href="linkage.html" title="Static and shared libaries">
+<link rel="next" href="prebuilt.html" title="Prebuilt targets">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="linkage.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="prebuilt.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.tutorial.conditions"></a>Conditions and alternatives</h2></div></div></div>
+<p>Sometimes, particular relationships need to be maintained
+ among a target's build properties. This can be achieved with
+ <em class="firstterm">conditional
+ requirement</em>. For example, you might want to set
+ specific <code class="computeroutput">#defines</code> when a library is built as shared,
+ or when a target's <code class="computeroutput">release</code> variant is built in
+ release mode.
+ </p>
+<pre class="programlisting">
+lib network : network.cpp
+ : <span class="bold"><strong>&lt;link&gt;shared:&lt;define&gt;NEWORK_LIB_SHARED</strong></span>
+ &lt;variant&gt;release:&lt;define&gt;EXTRA_FAST
+ ;
+</pre>
+<p>
+
+ In the example above, whenever <code class="filename">network</code> is
+ built with <code class="computeroutput">&lt;link&gt;shared</code>,
+ <code class="computeroutput">&lt;define&gt;NEWORK_LIB_SHARED</code> will be in its
+ properties, too.
+ </p>
+<p>
+ Sometimes the ways a target is built are so different that
+ describing them using conditional requirements would be
+ hard. For example, imagine that a library actually uses
+ different source files depending on the toolset used to build
+ it. We can express this situation using <em class="firstterm">target
+ alternatives</em>:
+</p>
+<pre class="programlisting">
+lib demangler : dummy_demangler.cpp ; # alternative 1
+lib demangler : demangler_gcc.cpp : &lt;toolset&gt;gcc ; # alternative 2
+lib demangler : demangler_msvc.cpp : &lt;toolset&gt;msvc ; # alternative 3
+</pre>
+<p>
+ In the example above, when built with <code class="literal">gcc</code>
+ or <code class="literal">msvc</code>, <code class="filename">demangler</code>
+ will use a source file specific to the toolset. Otherwise, it
+ will use a generic source file,
+ <code class="filename">dummy_demangler.cpp</code>.
+ </p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="linkage.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="prebuilt.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/tutorial/hierarchy.html b/doc/html/bbv2/tutorial/hierarchy.html
new file mode 100644
index 0000000000..7b56e01a59
--- /dev/null
+++ b/doc/html/bbv2/tutorial/hierarchy.html
@@ -0,0 +1,144 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Project Hierarchies</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../tutorial.html" title="Chapter 23. Tutorial">
+<link rel="prev" href="properties.html" title="Properties">
+<link rel="next" href="libs.html" title="Dependent Targets">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="properties.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="libs.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.tutorial.hierarchy"></a>Project Hierarchies</h2></div></div></div>
+<p>So far we've only considered examples with one project
+ (i.e. with one user-written Boost.Jam file,
+ <code class="filename">Jamroot</code>). A typical large codebase would be
+ composed of many projects organized into a tree. The top of the
+ tree is called the <em class="firstterm">project root</em>. Every
+ subproject is defined by a file called
+ <code class="filename">Jamfile</code> in a descendant directory of the
+ project root. The parent project of a subproject is defined by
+ the nearest <code class="filename">Jamfile</code> or
+ <code class="filename">Jamroot</code> file in an ancestor directory. For
+ example, in the following directory layout:
+
+</p>
+<pre class="screen">
+top/
+ |
+ +-- Jamroot
+ |
+ +-- app/
+ | |
+ | +-- Jamfile
+ | `-- app.cpp
+ |
+ `-- util/
+ |
+ +-- foo/
+ . |
+ . +-- Jamfile
+ . `-- bar.cpp
+</pre>
+<p>
+
+ the project root is <code class="filename">top/</code>. Because there is
+ no <code class="filename">Jamfile</code> in
+ <code class="filename">top/util/</code>, the projects in
+ <code class="filename">top/app/</code> and
+ <code class="filename">top/util/foo/</code> are immediate children of the
+ root project.
+
+ </p>
+<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Note</h3>
+<p>
+ When we refer to a &#8220;Jamfile,&#8221; set in normal
+ type, we mean a file called either
+ <code class="filename">Jamfile</code> or
+ <code class="filename">Jamroot</code>. When we need to be more
+ specific, the filename will be set as
+ &#8220;<code class="filename">Jamfile</code>&#8221; or
+ &#8220;<code class="filename">Jamroot</code>.&#8221;
+ </p>
+</div>
+<p>
+ Projects inherit all attributes (such as requirements)
+ from their parents. Inherited requirements are combined with
+ any requirements specified by the sub-project.
+ For example, if <code class="filename">top/Jamroot</code> has
+
+</p>
+<pre class="programlisting">
+&lt;include&gt;/home/ghost/local
+</pre>
+<p>
+
+ in its requirements, then all of its sub-projects will have it
+ in their requirements, too. Of course, any project can add
+ include paths to those specified by its parents. <sup>[<a name="id2854392" href="#ftn.id2854392">5</a>]</sup>
+ More details can be found in
+ <a href="../advanced/jamfiles.html#bbv2.advanced.projects" title="Projects">the section called &#8220;Projects&#8221;</a>.
+ </p>
+<p>
+ Invoking <span><strong class="command">bjam</strong></span> without explicitly specifying
+ any targets on the command-line builds the project rooted in the
+ current directory. Building a project does not automatically
+ cause its sub-projects to be built unless the parent project's
+ Jamfile explicitly requests it. In our example,
+ <code class="filename">top/Jamroot</code> might contain:
+
+</p>
+<pre class="programlisting">
+build-project app ;
+</pre>
+<p>
+
+ which would cause the project in <code class="filename">top/app/</code>
+ to be built whenever the project in <code class="filename">top/</code> is
+ built. However, targets in <code class="filename">top/util/foo/</code>
+ will be built only if they are needed by targets in
+ <code class="filename">top/</code> or <code class="filename">top/app/</code>.
+ </p>
+<div class="footnotes">
+<br><hr width="100" align="left">
+<div class="footnote"><p><sup>[<a name="ftn.id2854392" href="#id2854392">5</a>] </sup>Many
+ features will be overridden,
+ rather than added-to, in sub-projects. See <a href="../reference/definitions.html#bbv2.reference.features.attributes" title="Feature Attributes">the section called &#8220;Feature Attributes&#8221;</a> for more
+ information</p></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="properties.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="libs.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/tutorial/libs.html b/doc/html/bbv2/tutorial/libs.html
new file mode 100644
index 0000000000..7b26620b88
--- /dev/null
+++ b/doc/html/bbv2/tutorial/libs.html
@@ -0,0 +1,170 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Dependent Targets</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../tutorial.html" title="Chapter 23. Tutorial">
+<link rel="prev" href="hierarchy.html" title="Project Hierarchies">
+<link rel="next" href="linkage.html" title="Static and shared libaries">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hierarchy.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="linkage.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.tutorial.libs"></a>Dependent Targets</h2></div></div></div>
+<p>
+ Targets that are &#8220;needed&#8221; by other targets are called
+ <em class="firstterm">dependencies</em> of those other targets. The
+ targets that need the other targets are called
+ <em class="firstterm">dependent</em> targets.
+ </p>
+<p>To get a feeling of target dependencies, let's continue the
+ above example and see how <code class="filename">top/app/Jamfile</code> can
+ use libraries from <code class="filename">top/util/foo</code>. If
+ <code class="filename">top/util/foo/Jamfile</code> contains
+
+</p>
+<pre class="programlisting">
+lib bar : bar.cpp ;
+</pre>
+<p>
+
+ then to use this library in <code class="filename">top/app/Jamfile</code>, we can
+ write:
+
+</p>
+<pre class="programlisting">
+exe app : app.cpp ../util/foo//bar ;
+</pre>
+<p>
+
+ While <code class="computeroutput">app.cpp</code> refers to a regular source file,
+ <code class="computeroutput">../util/foo//bar</code> is a reference to another target:
+ a library <code class="filename">bar</code> declared in the Jamfile at
+ <code class="filename">../util/foo</code>.
+ </p>
+<div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Tip</h3>
+<p>Some other build system have special syntax for listing dependent
+ libraries, for example <code class="varname">LIBS</code> variable. In Boost.Build,
+ you just add the library to the list of sources.
+ </p>
+</div>
+<p>Suppose we build <code class="filename">app</code> with:
+ </p>
+<pre class="screen">
+bjam app optimization=full define=USE_ASM
+ </pre>
+<p>
+ Which properties will be used to build <code class="computeroutput">foo</code>? The answer is
+ that some features are
+ <em class="firstterm">propagated</em>&#8212;Boost.Build attempts to use
+ dependencies with the same value of propagated features. The
+ <code class="varname">&lt;optimization&gt;</code> feature is propagated, so both
+ <code class="filename">app</code> and <code class="filename">foo</code> will be compiled
+ with full optimization. But <code class="varname">&lt;define&gt;</code> is not
+ propagated: its value will be added as-is to the compiler flags for
+ <code class="filename">a.cpp</code>, but won't affect <code class="filename">foo</code>.
+ </p>
+<p>Let's improve this project further.
+ The library
+ probably has some headers that must be used when compiling
+ <code class="filename">app.cpp</code>. We could manually add the necessary
+ <code class="computeroutput">#include</code> paths to <code class="filename">app</code>'s
+ requirements as values of the
+ <code class="varname">&lt;include&gt;</code> feature, but then this work will
+ be repeated for all programs
+ that use <code class="filename">foo</code>. A better solution is to modify
+ <code class="filename">util/foo/Jamfile</code> in this way:
+
+</p>
+<pre class="programlisting">
+project
+ : usage-requirements &lt;include&gt;.
+ ;
+
+lib foo : foo.cpp ;
+</pre>
+<p>
+
+ Usage requirements are applied not to the target being declared
+ but to its
+ dependents. In this case, <code class="literal">&lt;include&gt;.</code> will be applied to all
+ targets that directly depend on <code class="filename">foo</code>.
+ </p>
+<p>Another improvement is using symbolic identifiers to refer to
+ the library, as opposed to <code class="filename">Jamfile</code> location.
+ In a large project, a library can be used by many targets, and if
+ they all use <code class="filename">Jamfile</code> location,
+ a change in directory organization entails much work.
+ The solution is to use project ids&#8212;symbolic names
+ not tied to directory layout. First, we need to assign a project id by
+ adding this code to
+ <code class="filename">Jamroot</code>:</p>
+<pre class="programlisting">
+use-project /library-example/foo : util/foo ;
+ </pre>
+<p>Second, we modify <code class="filename">app/Jamfile</code> to use the
+ project id:
+
+</p>
+<pre class="programlisting">
+exe app : app.cpp /library-example/foo//bar ;
+</pre>
+<p>
+The <code class="filename">/library-example/foo//bar</code> syntax is used
+ to refer to the target <code class="filename">bar</code> in
+ the project with id <code class="filename">/library-example/foo</code>.
+ We've achieved our goal&#8212;if the library is moved to a different
+ directory, only <code class="filename">Jamroot</code> must be modified.
+ Note that project ids are global&#8212;two Jamfiles are not
+ allowed to assign the same project id to different directories.
+
+ </p>
+<div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Tip</h3>
+<p>If you want all applications in some project to link
+ to a certain library, you can avoid having to specify it directly the sources of every
+ target by using the
+ <code class="varname">&lt;source&gt;</code> property. For example, if <code class="filename">/boost/filesystem//fs</code>
+ should be linked to all applications in your project, you can add
+ <code class="computeroutput">&lt;source&gt;/boost/filesystem//fs</code> to the project's requirements, like this:</p>
+<pre class="programlisting">
+project
+ : requirements &lt;source&gt;/boost/filesystem//fs
+ ;
+ </pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hierarchy.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="linkage.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/tutorial/linkage.html b/doc/html/bbv2/tutorial/linkage.html
new file mode 100644
index 0000000000..12b70850c7
--- /dev/null
+++ b/doc/html/bbv2/tutorial/linkage.html
@@ -0,0 +1,149 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Static and shared libaries</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../tutorial.html" title="Chapter 23. Tutorial">
+<link rel="prev" href="libs.html" title="Dependent Targets">
+<link rel="next" href="conditions.html" title="Conditions and alternatives">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="libs.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="conditions.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.tutorial.linkage"></a>Static and shared libaries</h2></div></div></div>
+<p>Libraries can be either
+ <span class="emphasis"><em>static</em></span>, which means they are included in executable
+ files that use them, or <span class="emphasis"><em>shared</em></span> (a.k.a.
+ <span class="emphasis"><em>dynamic</em></span>), which are only referred to from executables,
+ and must be available at run time. Boost.Build can create and use both kinds.
+ </p>
+<p>The kind of library produced from a <code class="computeroutput">lib</code> target is
+ determined by the value of the <code class="varname">link</code> feature. Default
+ value is <code class="literal">shared</code>, and to build static library, the value
+ should be <code class="literal">static</code>. You can either requiest static build
+ on the command line:
+ </p>
+<pre class="screen">
+bjam link=static
+ </pre>
+<p>
+ or in the library's requirements:
+ </p>
+<pre class="programlisting">
+lib l : l.cpp : &lt;link&gt;static ;
+ </pre>
+<p>
+ We can also use the <code class="varname">&lt;link&gt;</code> property
+ to express linking requirements on a per-target basis.
+ For example, if a particular executable can be correctly built
+ only with the static version of a library, we can qualify the
+ executable's <a href="../reference/definitions.html#bbv2.reference.targets.references">target
+ reference</a> to the library as follows:
+
+</p>
+<pre class="programlisting">
+exe important : main.cpp helpers/&lt;link&gt;static ;</pre>
+<p>
+
+ No matter what arguments are specified on the <span><strong class="command">bjam</strong></span>
+ command-line, <code class="filename">important</code> will only be linked with
+ the static version of <code class="filename">helpers</code>.
+ </p>
+<p>
+ Specifying properties in target references is especially useful if you
+ use a library defined in some other project (one you can't
+ change) but you still want static (or dynamic) linking to that library
+ in all cases. If that library is used by many targets,
+ you <span class="emphasis"><em>could</em></span> use target references
+ everywhere:
+
+ </p>
+<pre class="programlisting">
+exe e1 : e1.cpp /other_project//bar/&lt;link&gt;static ;
+exe e10 : e10.cpp /other_project//bar/&lt;link&gt;static ;</pre>
+<p>
+
+ but that's far from being convenient. A better approach is
+ to introduce a level of indirection. Create a local
+ <span class="type">alias</span> target that refers to the static (or
+ dynamic) version of <code class="filename">foo</code>:
+
+ </p>
+<pre class="programlisting">
+alias foo : /other_project//bar/&lt;link&gt;static ;
+exe e1 : e1.cpp foo ;
+exe e10 : e10.cpp foo ;</pre>
+<p>
+
+ The <a href="../advanced/builtins/targets.html#bbv2.builtins.alias" title="Alias"><code class="computeroutput">alias</code></a>
+ rule is specifically used to rename a reference to a target and possibly
+ change the properties.
+
+ </p>
+<div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Tip</h3>
+<p>
+ When one library uses another, you put the second library is
+ the source list of the first. For example:
+ </p>
+<pre class="programlisting">
+lib utils : utils.cpp /boost/filesystem//fs ;
+lib core : core.cpp utils ;
+exe app : app.cpp core ;</pre>
+<p>
+ This works no matter what kind of linking is used. When
+ <code class="filename">core</code> is built as a shared library, it is linked
+ directly into <code class="filename">utils</code>. Static libraries can't
+ link to other libraries, so when <code class="filename">core</code> is built
+ as a static library, its dependency on <code class="filename">utils</code> is passed along to
+ <code class="filename">core</code>'s dependents, causing
+ <code class="filename">app</code> to be linked with both
+ <code class="filename">core</code> and <code class="filename">utils</code>."
+ </p>
+</div>
+<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Note</h3>
+<p>(Note for non-UNIX system). Typically, shared libraries must be
+ installed to a directory in the dynamic linker's search
+ path. Otherwise, applications that use shared libraries can't be
+ started. On Windows, the dynamic linker's search path is given by the
+ <code class="envar">PATH</code> environment variable. This restriction is lifted
+ when you use Boost.Build testing facilities&#8212;the
+ <code class="envar">PATH</code> variable will be automatically adjusted before
+ running executable.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="libs.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="conditions.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/tutorial/prebuilt.html b/doc/html/bbv2/tutorial/prebuilt.html
new file mode 100644
index 0000000000..39b12dadde
--- /dev/null
+++ b/doc/html/bbv2/tutorial/prebuilt.html
@@ -0,0 +1,124 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Prebuilt targets</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../tutorial.html" title="Chapter 23. Tutorial">
+<link rel="prev" href="conditions.html" title="Conditions and alternatives">
+<link rel="next" href="../advanced.html" title="Chapter 24. User documentation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="conditions.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../advanced.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.tutorial.prebuilt"></a>Prebuilt targets</h2></div></div></div>
+<p>
+ To link to libraries whose build instructions aren't given in a Jamfile,
+ you need to create <code class="computeroutput">lib</code> targets with an appropriate
+ <code class="varname">file</code> property. Target alternatives can be used to
+ associate multiple library files with a single conceptual target. For
+ example:
+</p>
+<pre class="programlisting">
+# util/lib2/Jamfile
+lib lib2
+ :
+ : &lt;file&gt;lib2_release.a &lt;variant&gt;release
+ ;
+
+lib lib2
+ :
+ : &lt;file&gt;lib2_debug.a &lt;variant&gt;debug
+ ;
+</pre>
+<p>
+
+ This example defines two alternatives for <code class="filename">lib2</code>, and
+ for each one names a prebuilt file. Naturally, there are no sources.
+ Instead, the <code class="varname">&lt;file&gt;</code> feature is used to specify
+ the file name.
+ </p>
+<p>
+ Once a prebuilt target has been declared, it can be used just like any other target:
+
+</p>
+<pre class="programlisting">
+exe app : app.cpp ../util/lib2//lib2 ;
+</pre>
+<p>
+
+ As with any target, the alternative selected depends on the
+ properties propagated from <code class="filename">lib2</code>'s dependents.
+ If we build the the release and debug versions of <code class="filename">app</code> will be linked
+ with <code class="filename">lib2_release.a</code> and <code class="filename">lib2_debug.a</code>, respectively.
+
+ </p>
+<p>
+ System libraries&#8212;those that are automatically found by
+ the toolset by searching through some set of predetermined
+ paths&#8212;should be declared almost like regular ones:
+
+</p>
+<pre class="programlisting">
+lib pythonlib : : &lt;name&gt;python22 ;
+</pre>
+<p>
+
+ We again don't specify any sources, but give a
+ <code class="varname">name</code> that should be passed to the
+ compiler. If the gcc toolset were used to link an executable
+ target to <code class="filename">pythonlib</code>, <code class="option">-lpython22</code>
+ would appear in the command line (other compilers may use
+ different options).
+ </p>
+<p>
+ We can also specify where the toolset should look for the library:
+
+</p>
+<pre class="programlisting">
+lib pythonlib : : &lt;name&gt;python22 &lt;search&gt;/opt/lib ;
+</pre>
+<p>
+
+ And, of course, target alternatives can be used in the usual way:
+
+</p>
+<pre class="programlisting">
+lib pythonlib : : &lt;name&gt;python22 &lt;variant&gt;release ;
+lib pythonlib : : &lt;name&gt;python22_d &lt;variant&gt;debug ;
+</pre>
+<p>A more advanced use of prebuilt targets is described in <a href="../recipies/site-config.html" title="Targets in site-config.jam">the section called &#8220;Targets in site-config.jam&#8221;</a>.
+ </p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="conditions.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../advanced.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bbv2/tutorial/properties.html b/doc/html/bbv2/tutorial/properties.html
new file mode 100644
index 0000000000..c3776aec52
--- /dev/null
+++ b/doc/html/bbv2/tutorial/properties.html
@@ -0,0 +1,173 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Properties</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<style type="text/css">
+body { background-image: url('http://docbook.sourceforge.net/release/images/draft.png');
+ background-repeat: no-repeat;
+ background-position: top left;
+ /* The following properties make the watermark "fixed" on the page. */
+ /* I think that's just a bit too distracting for the reader... */
+ /* background-attachment: fixed; */
+ /* background-position: center center; */
+ }</style>
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../tutorial.html" title="Chapter 23. Tutorial">
+<link rel="prev" href="../tutorial.html" title="Chapter 23. Tutorial">
+<link rel="next" href="hierarchy.html" title="Project Hierarchies">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tutorial.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="hierarchy.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bbv2.tutorial.properties"></a>Properties</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="properties.html#bbv2.tutorial.properties.requirements">Build Requests and Target Requirements</a></span></dt>
+<dt><span class="section"><a href="properties.html#bbv2.tutorial.properties.project_attributes">Project Attributes</a></span></dt>
+</dl></div>
+<p>
+ To portably represent aspects of target configuration such as
+ debug and release variants, or single- and multi-threaded
+ builds, Boost.Build uses <em class="firstterm">features</em> with
+ associated <em class="firstterm">values</em>. For
+ example, the <code class="computeroutput">debug-symbols</code> feature can have a value of <code class="computeroutput">on</code> or
+ <code class="computeroutput">off</code>. A <em class="firstterm">property</em> is just a (feature,
+ value) pair. When a user initiates a build, Boost.Build
+ automatically translates the requested properties into appropriate
+ command-line flags for invoking toolset components like compilers
+ and linkers.</p>
+<p>There are many built-in features that can be combined to
+ produce arbitrary build configurations. The following command
+ builds the project's <code class="computeroutput">release</code> variant with inlining
+ disabled and debug symbols enabled:
+
+</p>
+<pre class="screen">
+bjam release inlining=off debug-symbols=on
+</pre>
+<p>Properties on the command-line are specified with the syntax:
+
+</p>
+<pre class="screen"><em class="replaceable"><code>feature-name</code></em>=<em class="replaceable"><code>feature-value</code></em></pre>
+<p>The <code class="option">release</code> and <code class="option">debug</code> that we've seen
+ in <span><strong class="command">bjam</strong></span> invocations are just a shorthand way to
+ specify values of the <code class="varname">variant</code> feature. For example, the command
+ above could also have been written this way:
+
+ </p>
+<pre class="screen">
+bjam variant=release inlining=off debug-symbols=on
+ </pre>
+<p><code class="varname">variant</code> is so commonly-used that it has
+ been given special status as an <em class="firstterm">implicit</em>
+ feature&#8212;Boost.Build will deduce the its identity just
+ from the name of one of its values.
+ </p>
+<p>
+ A complete description of features can be found in <a href="../reference/definitions.html#bbv2.reference.features" title="Features and properties">the section called &#8220;Features and properties&#8221;</a>.
+ </p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.tutorial.properties.requirements"></a>Build Requests and Target Requirements</h3></div></div></div>
+<p>
+ The set of properties specified on the command line constitute
+ a <em class="firstterm">build request</em>&#8212;a description of
+ the desired properties for building the requested targets (or,
+ if no targets were explicitly requested, the project in the
+ current directory). The <span class="emphasis"><em>actual</em></span>
+ properties used for building targets are typically a
+ combination of the build request and properties derived from
+ the project's <code class="filename">Jamroot</code> (and its other
+ Jamfiles, as described in <a href="hierarchy.html" title="Project Hierarchies">the section called &#8220;Project Hierarchies&#8221;</a>). For example, the
+ locations of <code class="computeroutput">#include</code>d header files are normally
+ not specified on the command-line, but described in
+ Jamfiles as <em class="firstterm">target
+ requirements</em> and automatically combined with the
+ build request for those targets. Multithread-enabled
+ compilation is another example of a typical target
+ requirement. The Jamfile fragment below
+ illustrates how these requirements might be specified.
+ </p>
+<pre class="programlisting">
+exe hello
+ : hello.cpp
+ : &lt;include&gt;boost &lt;threading&gt;multi
+ ;
+</pre>
+<p>
+ When <code class="filename">hello</code> is built, the two
+ requirements specified above will always be present.
+ If the build request given on the <span><strong class="command">bjam</strong></span>
+ command-line explictly contradicts a target's requirements,
+ the target requirements usually override (or, in the case of
+ &#8220;free&#8221;&#8221; features like
+ <code class="varname">&lt;include&gt;</code>,
+ <sup>[<a name="id2854170" href="#ftn.id2854170">4</a>]</sup>
+ augments) the build request.
+
+ </p>
+<div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Tip</h3>
+<p>The value of the <code class="varname">&lt;include&gt;</code> feature is
+ relative to the location of <code class="filename">Jamroot</code> where it's
+ used.
+ </p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bbv2.tutorial.properties.project_attributes"></a>Project Attributes</h3></div></div></div>
+<p>
+ If we want the same requirements for our other
+ target, <code class="filename">hello2</code>, we could simply duplicate
+ them. However, as projects grow, that approach leads to a great
+ deal of repeated boilerplate in Jamfiles.
+
+ Fortunately, there's a better way. Each project can specify a
+ set of <em class="firstterm">attributes</em>, including
+ requirements:
+
+</p>
+<pre class="programlisting">
+project
+ : requirements &lt;include&gt;/home/ghost/Work/boost &lt;threading&gt;multi
+ ;
+
+exe hello : hello.cpp ;
+exe hello2 : hello.cpp ;
+</pre>
+<p>
+
+ The effect would be as if we specified the same requirement for
+ both <code class="filename">hello</code> and <code class="filename">hello2</code>.
+ </p>
+</div>
+<div class="footnotes">
+<br><hr width="100" align="left">
+<div class="footnote"><p><sup>[<a name="ftn.id2854170" href="#id2854170">4</a>] </sup>
+See <a href="../reference/definitions.html#bbv2.reference.features.attributes" title="Feature Attributes">the section called &#8220;Feature Attributes&#8221;</a></p></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tutorial.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="hierarchy.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/bool_switch.html b/doc/html/bool_switch.html
new file mode 100644
index 0000000000..58a75e9457
--- /dev/null
+++ b/doc/html/bool_switch.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function bool_switch</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2379391" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="wvalue.html" title="Function wvalue">
+<link rel="next" href="variable_value.html" title="Class variable_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="wvalue.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2379391"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="variable_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="bool_switch"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function bool_switch</span></h2>
+<p>boost::program_options::bool_switch &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL <a href="typed_value.html" title="Class template typed_value">typed_value</a>&lt; <span class="bold"><strong>bool</strong></span> &gt; *</span> bool_switch();
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL <a href="typed_value.html" title="Class template typed_value">typed_value</a>&lt; <span class="bold"><strong>bool</strong></span> &gt; *</span> bool_switch(<span class="bold"><strong>bool</strong></span> * v);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2728092"></a><h2>Description</h2>
+<p>Works the same way as the 'value&lt;bool&gt;' function, but the created value_semantic won't accept any explicit value. So, if the option is present on the command line, the value will be 'true'. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="wvalue.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2379391"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="variable_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost/any.html b/doc/html/boost/any.html
new file mode 100644
index 0000000000..ee837ae508
--- /dev/null
+++ b/doc/html/boost/any.html
@@ -0,0 +1,186 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class any</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../any/reference.html#header.boost.any.hpp" title="Header &lt;boost/any.hpp&gt;">
+<link rel="prev" href="../bad_any_cast.html" title="Class bad_any_cast">
+<link rel="next" href="../any_cast.html" title="Function any_cast">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bad_any_cast.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../any/reference.html#header.boost.any.hpp"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../any_cast.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.any"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class any</span></h2>
+<p>boost::any &#8212; A class whose instances can hold instances of any
+ type that satisfies <a href="../any/reference.html#any.ValueType" title="ValueType requirements">ValueType</a>
+ requirements.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> any {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="any.html#boost.anyconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="any.html#id2335348-bb">any</a>();
+  <a href="any.html#id2335362-bb">any</a>(<span class="bold"><strong>const</strong></span> <a href="any.html" title="Class any">any</a> &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ValueType&gt; <a href="any.html#id2335410-bb">any</a>(<span class="bold"><strong>const</strong></span> ValueType &amp;);
+  <span class="type"><a href="any.html" title="Class any">any</a> &amp;</span> <a href="any.html#id2335472-bb"><span class="bold"><strong>operator</strong></span>=</a>(<span class="bold"><strong>const</strong></span> <a href="any.html" title="Class any">any</a> &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ValueType&gt; <span class="type"><a href="any.html" title="Class any">any</a> &amp;</span> <a href="any.html#id2336475-bb"><span class="bold"><strong>operator</strong></span>=</a>(<span class="bold"><strong>const</strong></span> ValueType &amp;);
+  <a href="any.html#id2335457-bb">~any</a>();
+
+  <span class="emphasis"><em>// <a href="any.html#id2336530-bb">modifiers</a></em></span>
+  <span class="type"><a href="any.html" title="Class any">any</a> &amp;</span> <a href="any.html#id2336535-bb">swap</a>(<a href="any.html" title="Class any">any</a> &amp;);
+
+  <span class="emphasis"><em>// <a href="any.html#id2336585-bb">queries</a></em></span>
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="any.html#id2336590-bb">empty</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> std::type_info &amp;</span> <a href="any.html#id2336618-bb">type</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2571408"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2571411"></a><h3>
+<a name="boost.anyconstruct-copy-destruct"></a><code class="computeroutput">any</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2335348-bb"></a>any();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">this-&gt;<a href="any.html#id2336590-bb">empty</a>()</code></p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2335362-bb"></a>any(<span class="bold"><strong>const</strong></span> <a href="any.html" title="Class any">any</a> &amp; other);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Copy constructor that copies content of
+ <code class="computeroutput">other</code> into new instance, so that any content
+ is equivalent in both type and value to the content of
+ <code class="computeroutput">other</code>, or empty if <code class="computeroutput">other</code> is
+ empty. <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ May fail with a
+ <code class="computeroutput">std::bad_alloc</code>
+ exception or any exceptions arising from the copy
+ constructor of the contained type.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ValueType&gt; <a name="id2335410-bb"></a>any(<span class="bold"><strong>const</strong></span> ValueType &amp; value);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Makes a copy of <code class="computeroutput">value</code>, so
+ that the initial content of the new instance is equivalent
+ in both type and value to
+ <code class="computeroutput">value</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ <code class="computeroutput">std::bad_alloc</code>
+ or any exceptions arising from the copy constructor of the
+ contained type.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a href="any.html" title="Class any">any</a> &amp;</span> <a name="id2335472-bb"></a><span class="bold"><strong>operator</strong></span>=(<span class="bold"><strong>const</strong></span> <a href="any.html" title="Class any">any</a> &amp; rhs);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Copies content of <code class="computeroutput">rhs</code> into
+ current instance, discarding previous content, so that the
+ new content is equivalent in both type and value to the
+ content of <code class="computeroutput">rhs</code>, or empty if
+ <code class="computeroutput">rhs.<a href="any.html#id2336590-bb">empty</a>()</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ <code class="computeroutput">std::bad_alloc</code>
+ or any exceptions arising from the copy constructor of the
+ contained type. Assignment satisfies the strong guarantee
+ of exception safety.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ValueType&gt; <span class="type"><a href="any.html" title="Class any">any</a> &amp;</span> <a name="id2336475-bb"></a><span class="bold"><strong>operator</strong></span>=(<span class="bold"><strong>const</strong></span> ValueType &amp; rhs);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Makes a copy of <code class="computeroutput">rhs</code>,
+ discarding previous content, so that the new content of is
+ equivalent in both type and value to
+ <code class="computeroutput">rhs</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ <code class="computeroutput">std::bad_alloc</code>
+ or any exceptions arising from the copy constructor of the
+ contained type. Assignment satisfies the strong guarantee
+ of exception safety.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2335457-bb"></a>~any();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Releases any and all resources used in
+ management of instance.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Nothing.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2571814"></a><h3>
+<a name="id2336530-bb"></a><code class="computeroutput">any</code> modifiers</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type"><a href="any.html" title="Class any">any</a> &amp;</span> <a name="id2336535-bb"></a>swap(<a href="any.html" title="Class any">any</a> &amp; rhs);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Exchange of the contents of
+ <code class="computeroutput">*this</code> and
+ <code class="computeroutput">rhs</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">*this</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Nothing.</p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2571901"></a><h3>
+<a name="id2336585-bb"></a><code class="computeroutput">any</code> queries</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2336590-bb"></a>empty() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">true</code> if instance is
+ empty, otherwise <code class="computeroutput">false</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> std::type_info &amp;</span> <a name="id2336618-bb"></a>type() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the <code class="computeroutput">typeid</code> of the
+ contained value if instance is non-empty, otherwise
+ <code class="computeroutput">typeid(void)</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Useful for querying against types known
+ either at compile time or only at
+ runtime.</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001 Kevlin Henney</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bad_any_cast.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../any/reference.html#header.boost.any.hpp"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../any_cast.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost/array.html b/doc/html/boost/array.html
new file mode 100644
index 0000000000..d129e8f040
--- /dev/null
+++ b/doc/html/boost/array.html
@@ -0,0 +1,351 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template array</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../array/reference.html#header.boost.array.hpp" title="Header &lt;boost/array.hpp&gt;">
+<link rel="prev" href="../array/reference.html" title="Reference">
+<link rel="next" href="../array/rationale.html" title="Design Rationale">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../array/reference.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../array/reference.html#header.boost.array.hpp"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../array/rationale.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.array"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template array</span></h2>
+<p>boost::array &#8212; <p>STL compliant container wrapper for arrays of constant size</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt;
+<span class="bold"><strong>class</strong></span> array {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> T                                     value_type;            
+  <span class="bold"><strong>typedef</strong></span> T*                                    iterator;              
+  <span class="bold"><strong>typedef</strong></span> <span class="bold"><strong>const</strong></span> T*                              const_iterator;        
+  <span class="bold"><strong>typedef</strong></span> std::reverse_iterator&lt;iterator&gt;       reverse_iterator;      
+  <span class="bold"><strong>typedef</strong></span> std::reverse_iterator&lt;const_iterator&gt; const_reverse_iterator;
+  <span class="bold"><strong>typedef</strong></span> T&amp;                                    reference;             
+  <span class="bold"><strong>typedef</strong></span> <span class="bold"><strong>const</strong></span> T&amp;                              const_reference;       
+  <span class="bold"><strong>typedef</strong></span> std::size_t                           size_type;             
+  <span class="bold"><strong>typedef</strong></span> std::ptrdiff_t                        difference_type;       
+
+  <span class="emphasis"><em>// static constants</em></span>
+  <span class="bold"><strong>static</strong></span> <span class="bold"><strong>const</strong></span> size_type static_size = N;
+
+  <span class="emphasis"><em>// <a href="array.html#boost.arrayconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U&gt; array&amp; <a href="array.html#id2355560-bb"><span class="bold"><strong>operator</strong></span>=</a>(<span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;U, N&gt;&amp;);
+
+  <span class="emphasis"><em>// <a href="array.html#id2355603-bb">iterator support</a></em></span>
+  <span class="type">iterator</span> <a href="array.html#id2355613-bb">begin</a>();
+  <span class="type">const_iterator</span> <a href="array.html#id2355621-bb">begin</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">iterator</span> <a href="array.html#id2355647-bb">end</a>();
+  <span class="type">const_iterator</span> <a href="array.html#id2355655-bb">end</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="array.html#id2355679-bb">reverse iterator support</a></em></span>
+  <span class="type">reverse_iterator</span> <a href="array.html#id2355688-bb">rbegin</a>();
+  <span class="type">const_reverse_iterator</span> <a href="array.html#id2355696-bb">rbegin</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">reverse_iterator</span> <a href="array.html#id2355718-bb">rend</a>();
+  <span class="type">const_reverse_iterator</span> <a href="array.html#id2355726-bb">rend</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="array.html#id2355745-bb">capacity</a></em></span>
+  <span class="type">size_type</span> <a href="array.html#id2355750-bb">size</a>();
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="array.html#id2355766-bb">empty</a>();
+  <span class="type">size_type</span> <a href="array.html#id2365607-bb">max_size</a>();
+
+  <span class="emphasis"><em>// <a href="array.html#id2365630-bb">element access</a></em></span>
+  <span class="type">reference</span> <a href="array.html#id2365639-bb"><span class="bold"><strong>operator</strong></span>[]</a>(size_type);
+  <span class="type">const_reference</span> <a href="array.html#id2365657-bb"><span class="bold"><strong>operator</strong></span>[]</a>(size_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type">reference</span> <a href="array.html#id2365702-bb">at</a>(size_type);
+  <span class="type">const_reference</span> <a href="array.html#id2365720-bb">at</a>(size_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type">reference</span> <a href="array.html#id2365766-bb">front</a>();
+  <span class="type">const_reference</span> <a href="array.html#id2365773-bb">front</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">reference</span> <a href="array.html#id2365806-bb">back</a>();
+  <span class="type">const_reference</span> <a href="array.html#id2365814-bb">back</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> T*</span> <a href="array.html#id2365842-bb">data</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">T*</span> <a href="array.html#id2365865-bb">c_array</a>();
+
+  <span class="emphasis"><em>// <a href="array.html#id2382978-bb">modifiers</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="array.html#id2382982-bb">swap</a>(<a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;);
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="array.html#id2383022-bb">assign</a>(<span class="bold"><strong>const</strong></span> T&amp;);
+
+  T elems[N];
+};
+
+<span class="emphasis"><em>// <a href="array.html#id2383061-bb">specialized algorithms</a></em></span>
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="array.html#id2383066">swap</a>(<a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;, <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;);
+
+<span class="emphasis"><em>// <a href="array.html#id2383136-bb">comparisons</a></em></span>
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="array.html#id2383141"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;, <span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="array.html#id2383217"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;, <span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="array.html#id2383281"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;, <span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="array.html#id2383361"><span class="bold"><strong>operator</strong></span>&gt;</a>(<span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;, <span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="array.html#id2383424"><span class="bold"><strong>operator</strong></span>&lt;=</a>(<span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;, <span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="array.html#id2383487"><span class="bold"><strong>operator</strong></span>&gt;=</a>(<span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;, <span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp;);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2573974"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2573978"></a><h3>
+<a name="boost.arrayconstruct-copy-destruct"></a><code class="computeroutput">array</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U&gt; array&amp; <a name="id2355560-bb"></a><span class="bold"><strong>operator</strong></span>=(<span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;U, N&gt;&amp; other);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ <code class="computeroutput">std::copy(rhs.<a href="array.html#id2355608-bb">begin</a>(),rhs.<a href="array.html#id2355642-bb">end</a>(), <a href="array.html#id2355608-bb">begin</a>())</code></p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2574078"></a><h3>
+<a name="id2355603-bb"></a><code class="computeroutput">array</code> iterator support</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<p><a name="id2355608-bb"></a></p>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2355613-bb"></a>begin();
+<span class="type">const_iterator</span> <a name="id2355621-bb"></a>begin() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ iterator for the first element<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ will not throw</p>
+</li>
+<li>
+<p><a name="id2355642-bb"></a></p>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2355647-bb"></a>end();
+<span class="type">const_iterator</span> <a name="id2355655-bb"></a>end() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ iterator for position after the last element<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ will not throw</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2574203"></a><h3>
+<a name="id2355679-bb"></a><code class="computeroutput">array</code> reverse iterator support</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<p><a name="id2355683-bb"></a></p>
+<pre class="literallayout"><span class="type">reverse_iterator</span> <a name="id2355688-bb"></a>rbegin();
+<span class="type">const_reverse_iterator</span> <a name="id2355696-bb"></a>rbegin() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ reverse iterator for the first element of reverse iteration</p>
+</li>
+<li>
+<p><a name="id2355713-bb"></a></p>
+<pre class="literallayout"><span class="type">reverse_iterator</span> <a name="id2355718-bb"></a>rend();
+<span class="type">const_reverse_iterator</span> <a name="id2355726-bb"></a>rend() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ reverse iterator for position after the last element in reverse iteration</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2574317"></a><h3>
+<a name="id2355745-bb"></a><code class="computeroutput">array</code> capacity</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type">size_type</span> <a name="id2355750-bb"></a>size();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">N</code></p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2355766-bb"></a>empty();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">N==0</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ will not throw</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">size_type</span> <a name="id2365607-bb"></a>max_size();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">N</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ will not throw</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2574443"></a><h3>
+<a name="id2365630-bb"></a><code class="computeroutput">array</code> element access</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<p><a name="id2365634-bb"></a></p>
+<pre class="literallayout"><span class="type">reference</span> <a name="id2365639-bb"></a><span class="bold"><strong>operator</strong></span>[](size_type i);
+<span class="type">const_reference</span> <a name="id2365657-bb"></a><span class="bold"><strong>operator</strong></span>[](size_type i) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">i &lt; N</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ element with index <code class="computeroutput">i</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ will not throw.</p>
+</li>
+<li>
+<p><a name="id2365698-bb"></a></p>
+<pre class="literallayout"><span class="type">reference</span> <a name="id2365702-bb"></a>at(size_type i);
+<span class="type">const_reference</span> <a name="id2365720-bb"></a>at(size_type i) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ element with index <code class="computeroutput">i</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ <code class="computeroutput">std::range_error</code> if <code class="computeroutput">i &gt;= N</code></p>
+</li>
+<li>
+<p><a name="id2365761-bb"></a></p>
+<pre class="literallayout"><span class="type">reference</span> <a name="id2365766-bb"></a>front();
+<span class="type">const_reference</span> <a name="id2365773-bb"></a>front() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">N &gt; 0</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the first element<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ will not throw</p>
+</li>
+<li>
+<p><a name="id2365801-bb"></a></p>
+<pre class="literallayout"><span class="type">reference</span> <a name="id2365806-bb"></a>back();
+<span class="type">const_reference</span> <a name="id2365814-bb"></a>back() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">N &gt; 0</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the last element<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ will not throw</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> T*</span> <a name="id2365842-bb"></a>data() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">elems</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ will not throw</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">T*</span> <a name="id2365865-bb"></a>c_array();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">elems</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ will not throw</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2574819"></a><h3>
+<a name="id2382978-bb"></a><code class="computeroutput">array</code> modifiers</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2382982-bb"></a>swap(<a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp; other);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ <code class="computeroutput">std::swap_ranges(<a href="array.html#id2355608-bb">begin</a>(), <a href="array.html#id2355642-bb">end</a>(), other.<a href="array.html#id2355608-bb">begin</a>())</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Complexity</span></b>:
+
+ linear in <code class="computeroutput">N</code></p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2383022-bb"></a>assign(<span class="bold"><strong>const</strong></span> T&amp; value);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ <code class="computeroutput">std::fill_n(<a href="array.html#id2355608-bb">begin</a>(), N, value)</code></p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2574960"></a><h3>
+<a name="id2383061-bb"></a><code class="computeroutput">array</code> specialized algorithms</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2383066"></a>swap(<a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp; x, <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp; y);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ <code class="computeroutput">x.<a href="array.html#id2382982-bb">swap</a>(y)</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ will not throw.</p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2575053"></a><h3>
+<a name="id2383136-bb"></a><code class="computeroutput">array</code> comparisons</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2383141"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp; x, <span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp; y);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">std::equal(x.<a href="array.html#id2355608-bb">begin</a>(), x.<a href="array.html#id2355642-bb">end</a>(), y.<a href="array.html#id2355608-bb">begin</a>())</code></p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2383217"></a><span class="bold"><strong>operator</strong></span>!=(<span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp; x, <span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp; y);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">!(x == y)</code></p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2383281"></a><span class="bold"><strong>operator</strong></span>&lt;(<span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp; x, <span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp; y);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">std::lexicographical_compare(x.<a href="array.html#id2355608-bb">begin</a>(), x.<a href="array.html#id2355642-bb">end</a>(), y.<a href="array.html#id2355608-bb">begin</a>(), y.<a href="array.html#id2355642-bb">end</a>())</code></p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2383361"></a><span class="bold"><strong>operator</strong></span>&gt;(<span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp; x, <span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp; y);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">y &lt; x</code></p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2383424"></a><span class="bold"><strong>operator</strong></span>&lt;=(<span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp; x, <span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp; y);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">!(y &lt; x)</code></p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, std::size_t N&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2383487"></a><span class="bold"><strong>operator</strong></span>&gt;=(<span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp; x, <span class="bold"><strong>const</strong></span> <a href="array.html" title="Class template array">array</a>&lt;T, N&gt;&amp; y);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">!(x &lt; y)</code></p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Nicolai M. Josuttis</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../array/reference.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../array/reference.html#header.boost.array.hpp"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../array/rationale.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost/date_time/date.html b/doc/html/boost/date_time/date.html
new file mode 100644
index 0000000000..26872b6cd0
--- /dev/null
+++ b/doc/html/boost/date_time/date.html
@@ -0,0 +1,137 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template date</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../date_time/doxy.html#id2499320" title="Header &lt;boost/date_time/date.hpp&gt;">
+<link rel="prev" href="../../simple_exception_policy.html" title="Class template simple_exception_policy">
+<link rel="next" href="../../day_clock.html" title="Class template day_clock">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../simple_exception_policy.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../date_time/doxy.html#id2499320"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../day_clock.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.date_time.date"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template date</span></h2>
+<p>boost::date_time::date &#8212; Representation of timepoint at the one day level resolution. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> calendar, <span class="bold"><strong>typename</strong></span> duration_type_&gt;
+<span class="bold"><strong>class</strong></span> date {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> T                          date_type;       
+  <span class="bold"><strong>typedef</strong></span> calendar                   calendar_type;   
+  <span class="bold"><strong>typedef</strong></span> calendar::date_traits_type traits_type;     
+  <span class="bold"><strong>typedef</strong></span> duration_type_             duration_type;   
+  <span class="bold"><strong>typedef</strong></span> calendar::year_type        year_type;       
+  <span class="bold"><strong>typedef</strong></span> calendar::month_type       month_type;      
+  <span class="bold"><strong>typedef</strong></span> calendar::day_type         day_type;        
+  <span class="bold"><strong>typedef</strong></span> calendar::ymd_type         ymd_type;        
+  <span class="bold"><strong>typedef</strong></span> calendar::date_rep_type    date_rep_type;   
+  <span class="bold"><strong>typedef</strong></span> calendar::date_int_type    date_int_type;   
+  <span class="bold"><strong>typedef</strong></span> calendar::day_of_week_type day_of_week_type;
+
+  <span class="emphasis"><em>// <a href="date.html#boost.date_time.dateconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="date.html#id2424492-bb">date</a>(year_type, month_type, day_type);
+  <a href="date.html#id2495630-bb">date</a>(<span class="bold"><strong>const</strong></span> ymd_type &amp;);
+  <a href="date.html#id2410846-bb">date</a>(date_int_type);
+  <a href="date.html#id2467942-bb">date</a>(date_rep_type);
+
+  <span class="emphasis"><em>// <a href="date.html#id2525222-bb">public member functions</a></em></span>
+  <span class="type">year_type</span> <a href="date.html#id2429338-bb">year</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">month_type</span> <a href="date.html#id2484410-bb">month</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">day_type</span> <a href="date.html#id2463590-bb">day</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">day_of_week_type</span> <a href="date.html#id2512874-bb">day_of_week</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">ymd_type</span> <a href="date.html#id2528573-bb">year_month_day</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="date.html#id2427916-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="date.html#id2441023-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="date.html#id2395505-bb">is_special</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="date.html#id2516636-bb">is_not_a_date</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="date.html#id2393647-bb">is_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="date.html#id2502505-bb">is_pos_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="date.html#id2464297-bb">is_neg_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">special_values</span> <a href="date.html#id2398434-bb">as_special</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="date.html#id2512442-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">date_type</span> <a href="date.html#id2528465-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">date_type</span> <a href="date.html#id2495729-bb"><span class="bold"><strong>operator</strong></span>-=</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) ;
+  <span class="type">date_rep_type</span> <a href="date.html#id2397878-bb">day_count</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">date_type</span> <a href="date.html#id2481050-bb"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">date_type</span> <a href="date.html#id2498360-bb"><span class="bold"><strong>operator</strong></span>+=</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) ;
+
+  <span class="emphasis"><em>// <a href="date.html#id2410842-bb">protected member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2608453"></a><h2>Description</h2>
+<p>The date template represents an interface shell for a date class that is based on a year-month-day system such as the gregorian or iso systems. It provides basic operations to enable calculation and comparisons.</p>
+<p><span class="bold"><strong>Theory</strong></span></p>
+<p>This date representation fundamentally departs from the C tm struct approach. The goal for this type is to provide efficient date operations (add, subtract) and storage (minimize space to represent) in a concrete class. Thus, the date uses a count internally to represent a particular date. The calendar parameter defines the policies for converting the the year-month-day and internal counted form here. Applications that need to perform heavy formatting of the same date repeatedly will perform better by using the year-month-day representation.</p>
+<p>Internally the date uses a day number to represent the date. This is a monotonic time representation. This representation allows for fast comparison as well as simplifying the creation of writing numeric operations. Essentially, the internal day number is like adjusted julian day. The adjustment is determined by the Epoch date which is represented as day 1 of the calendar. Day 0 is reserved for negative infinity so that any actual date is automatically greater than negative infinity. When a date is constructed from a date or formatted for output, the appropriate conversions are applied to create the year, month, day representations. </p>
+<div class="refsect2" lang="en">
+<a name="id2608492"></a><h3>
+<a name="boost.date_time.dateconstruct-copy-destruct"></a><code class="computeroutput">date</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2424492-bb"></a>date(year_type y, month_type m, day_type d);</pre></li>
+<li><pre class="literallayout"><a name="id2495630-bb"></a>date(<span class="bold"><strong>const</strong></span> ymd_type &amp; ymd);</pre></li>
+<li>
+<pre class="literallayout"><a name="id2410846-bb"></a>date(date_int_type days);</pre>
+<p>This is a private constructor which allows for the creation of new dates. It is not exposed to users since that would require class users to understand the inner workings of the date class. </p>
+</li>
+<li><pre class="literallayout"><a name="id2467942-bb"></a>date(date_rep_type days);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2608582"></a><h3>
+<a name="id2525222-bb"></a><code class="computeroutput">date</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">year_type</span> <a name="id2429338-bb"></a>year() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">month_type</span> <a name="id2484410-bb"></a>month() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">day_type</span> <a name="id2463590-bb"></a>day() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">day_of_week_type</span> <a name="id2512874-bb"></a>day_of_week() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">ymd_type</span> <a name="id2528573-bb"></a>year_month_day() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2427916-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<span class="bold"><strong>const</strong></span> date_type &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2441023-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> date_type &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2395505-bb"></a>is_special() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2516636-bb"></a>is_not_a_date() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2393647-bb"></a>is_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2502505-bb"></a>is_pos_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2464297-bb"></a>is_neg_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">special_values</span> <a name="id2398434-bb"></a>as_special() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2512442-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> date_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2528465-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> duration_type &amp; dd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2495729-bb"></a><span class="bold"><strong>operator</strong></span>-=(<span class="bold"><strong>const</strong></span> duration_type &amp; dd) ;</pre></li>
+<li><pre class="literallayout"><span class="type">date_rep_type</span> <a name="id2397878-bb"></a>day_count() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2481050-bb"></a><span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> duration_type &amp; dd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2498360-bb"></a><span class="bold"><strong>operator</strong></span>+=(<span class="bold"><strong>const</strong></span> duration_type &amp; dd) ;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2609130"></a><h3>
+<a name="id2410842-bb"></a><code class="computeroutput">date</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../simple_exception_policy.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../date_time/doxy.html#id2499320"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../day_clock.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost/function.html b/doc/html/boost/function.html
new file mode 100644
index 0000000000..6783275ea8
--- /dev/null
+++ b/doc/html/boost/function.html
@@ -0,0 +1,402 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template function</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../function/reference.html#header.boost.function.hpp" title="Header &lt;boost/function.hpp&gt;">
+<link rel="prev" href="../functionN.html" title="Class template functionN">
+<link rel="next" href="../function_equal.html" title="Function template function_equal">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../functionN.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../function/reference.html#header.boost.function.hpp"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../function_equal.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.function"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template function</span></h2>
+<p>boost::function &#8212; A generalized function pointer that can be used for
+ callbacks or wrapping function objects.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="emphasis"><em> // Function type R (T1, T2, ..., TN)</em></span>
+         <span class="bold"><strong>typename</strong></span> Allocator = std::allocator&lt;<span class="bold"><strong>void</strong></span>&gt; &gt;
+<span class="bold"><strong>class</strong></span> function : <span class="bold"><strong>public</strong></span> <a href="../functionN.html" title="Class template functionN">functionN</a>&lt;R, T1, T2, ..., TN, Allocator&gt; {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> R         result_type;         
+  <span class="bold"><strong>typedef</strong></span> Allocator allocator_type;      
+  <span class="bold"><strong>typedef</strong></span> T1        argument_type;        <span class="emphasis"><em>// If N == 1</em></span>
+  <span class="bold"><strong>typedef</strong></span> T1        first_argument_type;  <span class="emphasis"><em>// If N == 2</em></span>
+  <span class="bold"><strong>typedef</strong></span> T2        second_argument_type; <span class="emphasis"><em>// If N == 2</em></span>
+  <span class="bold"><strong>typedef</strong></span> T1        arg1_type;           
+  <span class="bold"><strong>typedef</strong></span> T2        arg2_type;           
+     .
+     .
+     .
+  <span class="bold"><strong>typedef</strong></span> TN        argN_type;           
+
+  <span class="emphasis"><em>// static constants</em></span>
+  <span class="bold"><strong>static</strong></span> <span class="bold"><strong>const</strong></span> <span class="bold"><strong>int</strong></span> arity = N;
+
+  <span class="emphasis"><em>// <a href="../lambda.html" title="Chapter 6. Boost.Lambda">Lambda</a> library support</em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Args&gt;
+  <span class="bold"><strong>struct</strong></span> sig {
+    <span class="emphasis"><em>// types</em></span>
+    <span class="bold"><strong>typedef</strong></span> result_type type;
+  };
+
+  <span class="emphasis"><em>// <a href="function.html#boost.functionconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="function.html#id2349250-bb">function</a>();
+  <a href="function.html#id2369646-bb">function</a>(<span class="bold"><strong>const</strong></span> <a href="../functionN.html" title="Class template functionN">functionN</a>&amp;);
+  <a href="function.html#id2339094-bb">function</a>(<span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> F&gt; <a href="function.html#id2380764-bb">function</a>(F);
+  function&amp; <a href="function.html#id2350723-bb"><span class="bold"><strong>operator</strong></span>=</a>(<span class="bold"><strong>const</strong></span> <a href="../functionN.html" title="Class template functionN">functionN</a>&amp;);
+  function&amp; <a href="function.html#id2406303-bb"><span class="bold"><strong>operator</strong></span>=</a>(<span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&amp;);
+  <a href="function.html#id2360840-bb">~function</a>();
+
+  <span class="emphasis"><em>// <a href="function.html#id2342120-bb">modifiers</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="function.html#id2342124-bb">swap</a>(<span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&amp;);
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="function.html#id2434373-bb">clear</a>();
+
+  <span class="emphasis"><em>// <a href="function.html#id2396338-bb">capacity</a></em></span>
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="function.html#id2396343-bb">empty</a>() <span class="bold"><strong>const</strong></span>;
+  <a href="function.html#id2336149-bb"><span class="bold"><strong>operator</strong></span> safe_bool</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="function.html#id2371599-bb"><span class="bold"><strong>operator</strong></span>!</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="function.html#id2378753-bb">target access</a></em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Functor&gt; <span class="type">Functor*</span> <a href="function.html#id2378762-bb">target</a>();
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Functor&gt; <span class="type"><span class="bold"><strong>const</strong></span> Functor*</span> <a href="function.html#id2376534-bb">target</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Functor&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="function.html#id2426358-bb">contains</a>(<span class="bold"><strong>const</strong></span> Functor&amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="function.html#id2404064-bb">invocation</a></em></span>
+  <span class="type">result_type</span> <a href="function.html#id2404069-bb"><span class="bold"><strong>operator</strong></span>()</a>(arg1_type, arg2_type, ..., argN_type) <span class="bold"><strong>const</strong></span>;
+};
+
+<span class="emphasis"><em>// <a href="function.html#id2408546-bb">specialized algorithms</a></em></span>
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="function.html#id2408551">swap</a>(<a href="function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp;, <a href="function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp;);
+
+<span class="emphasis"><em>// <a href="function.html#id2420066-bb">comparison operators</a></em></span>
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="function.html#id2341297-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp;, Functor);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="function.html#id2399796-bb"><span class="bold"><strong>operator</strong></span>==</a>(Functor, <span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp;);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="function.html#id2444136-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp;,
+                  <a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="function.html#id2477463-bb"><span class="bold"><strong>operator</strong></span>==</a>(<a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;,
+                  <span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp;);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature1, <span class="bold"><strong>typename</strong></span> Allocator1, <span class="bold"><strong>typename</strong></span> Signature2,
+         <span class="bold"><strong>typename</strong></span> Allocator2&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="function.html#id2378044-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature1, Allocator1&gt;&amp;,
+                  <span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature2, Allocator2&gt;&amp;);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="function.html#id2336228-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp;, Functor);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="function.html#id2337224-bb"><span class="bold"><strong>operator</strong></span>!=</a>(Functor, <span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp;);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="function.html#id2508816-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp;,
+                  <a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="function.html#id2407103-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;,
+                  <span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp;);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature1, <span class="bold"><strong>typename</strong></span> Allocator1, <span class="bold"><strong>typename</strong></span> Signature2,
+         <span class="bold"><strong>typename</strong></span> Allocator2&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="function.html#id2469309-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature1, Allocator1&gt;&amp;,
+                  <span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature2, Allocator2&gt;&amp;);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2696608"></a><h2>Description</h2>
+<p>Class template <a href="function.html" title="Class template function">function</a> is a thin
+ wrapper around the numbered class templates <a href="../functionN.html" title="Class template functionN">function0</a>, <a href="../functionN.html" title="Class template functionN">function1</a>, etc. It accepts a
+ function type with N arguments and will will derive from
+ <a href="../functionN.html" title="Class template functionN">functionN</a> instantiated with the arguments
+ it receives.</p>
+<p>The semantics of all operations in class template
+ <a href="function.html" title="Class template function">function</a> are equivalent to that of the
+ underlying <a href="../functionN.html" title="Class template functionN">functionN</a> object, although
+ additional member functions are required to allow proper copy
+ construction and copy assignment of function objects.</p>
+<div class="refsect2" lang="en">
+<a name="id2696664"></a><h3>
+<a name="boost.functionconstruct-copy-destruct"></a><code class="computeroutput">function</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2349250-bb"></a>function();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">this-&gt;<a href="function.html#id2396343-bb">empty</a>()</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2369646-bb"></a>function(<span class="bold"><strong>const</strong></span> <a href="../functionN.html" title="Class template functionN">functionN</a>&amp; f);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ Contains a copy of the <code class="computeroutput">f</code>'s target, if it has one, or is empty if <code class="computeroutput">f.<a href="function.html#id2396343-bb">empty</a>()</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw unless copying the target of <code class="computeroutput">f</code> throws.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2339094-bb"></a>function(<span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&amp; f);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ Contains a copy of the <code class="computeroutput">f</code>'s target, if it has one, or is empty if <code class="computeroutput">f.<a href="function.html#id2396343-bb">empty</a>()</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw unless copying the target of <code class="computeroutput">f</code> throws.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> F&gt; <a name="id2380764-bb"></a>function(F f);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ F is a function object Callable from <code class="computeroutput">this</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">*this</code> targets a copy of <code class="computeroutput">f</code> if <code class="computeroutput">f</code> is nonempty, or <code class="computeroutput">this-&gt;<a href="function.html#id2396343-bb">empty</a>()</code> if <code class="computeroutput">f</code> is empty.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw when <code class="computeroutput">f</code> is a stateless function object.</p>
+</li>
+<li>
+<pre class="literallayout">function&amp; <a name="id2350723-bb"></a><span class="bold"><strong>operator</strong></span>=(<span class="bold"><strong>const</strong></span> <a href="../functionN.html" title="Class template functionN">functionN</a>&amp; f);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">*this</code> targets a copy of <code class="computeroutput">f</code>'s target, if it has one, or is empty if <code class="computeroutput">f.<a href="function.html#id2396343-bb">empty</a>()</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw when the target of <code class="computeroutput">f</code> is a stateless function object or a reference to the function object.</p>
+</li>
+<li>
+<pre class="literallayout">function&amp; <a name="id2406303-bb"></a><span class="bold"><strong>operator</strong></span>=(<span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&amp; f);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">*this</code> targets a copy of <code class="computeroutput">f</code>'s target, if it has one, or is empty if <code class="computeroutput">f.<a href="function.html#id2396343-bb">empty</a>()</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw when the target of <code class="computeroutput">f</code> is a stateless function object or a reference to the function object.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2360840-bb"></a>~function();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ If <code class="computeroutput">!this-&gt;<a href="function.html#id2396343-bb">empty</a>()</code>, destroys the target of <code class="computeroutput">this</code>.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2697164"></a><h3>
+<a name="id2342120-bb"></a><code class="computeroutput">function</code> modifiers</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2342124-bb"></a>swap(<span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&amp; f);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Interchanges the targets of <code class="computeroutput">*this</code> and <code class="computeroutput">f</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2434373-bb"></a>clear();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">this-&gt;<a href="function.html#id2396343-bb">empty</a>()</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2697294"></a><h3>
+<a name="id2396338-bb"></a><code class="computeroutput">function</code> capacity</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2396343-bb"></a>empty() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">false</code> if <code class="computeroutput">this</code> has a target, and <code class="computeroutput">true</code> otherwise.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2336149-bb"></a><span class="bold"><strong>operator</strong></span> safe_bool() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ A <code class="computeroutput">safe_bool</code> that evaluates <code class="computeroutput">false</code> in a boolean context when <code class="computeroutput">this-&gt;<a href="function.html#id2396343-bb">empty</a>()</code>, and <code class="computeroutput">true</code> otherwise.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2371599-bb"></a><span class="bold"><strong>operator</strong></span>!() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">this-&gt;<a href="function.html#id2396343-bb">empty</a>()</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2697505"></a><h3>
+<a name="id2378753-bb"></a><code class="computeroutput">function</code> target access</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<p><a name="id2378757-bb"></a></p>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Functor&gt; <span class="type">Functor*</span> <a name="id2378762-bb"></a>target();
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Functor&gt; <span class="type"><span class="bold"><strong>const</strong></span> Functor*</span> <a name="id2376534-bb"></a>target() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ If <code class="computeroutput">this</code> stores a target of type
+ <code class="computeroutput">Functor</code>, returns the address of the
+ target. Otherwise, returns the NULL
+ pointer.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Functor&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2426358-bb"></a>contains(<span class="bold"><strong>const</strong></span> Functor&amp; f) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">true</code> if <code class="computeroutput">this-&gt;<a href="function.html#id2378757-bb">target</a>&lt;Functor&gt;()</code> is non-NULL and <code class="computeroutput"><a href="../function_equal.html" title="Function template function_equal">function_equal</a>(*(this-&gt;target&lt;Functor&gt;()), f)</code></p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2697705"></a><h3>
+<a name="id2404064-bb"></a><code class="computeroutput">function</code> invocation</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type">result_type</span> <a name="id2404069-bb"></a><span class="bold"><strong>operator</strong></span>()(arg1_type a1, arg2_type a2, ... , argN_type aN) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ <code class="computeroutput">f(a1, a2, ..., aN)</code>, where <code class="computeroutput">f</code> is the target of <code class="computeroutput">*this</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ if <code class="computeroutput">R</code> is <code class="computeroutput">void</code>, nothing is returned; otherwise, the return value of the call to <code class="computeroutput">f</code> is returned.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ <code class="computeroutput"><a href="../bad_function_call.html" title="Class bad_function_call">bad_function_call</a></code> if <code class="computeroutput">this-&gt;<a href="function.html#id2396343-bb">empty</a>()</code>. Otherwise, may through any exception thrown by the target function <code class="computeroutput">f</code>.</p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2697840"></a><h3>
+<a name="id2408546-bb"></a><code class="computeroutput">function</code> specialized algorithms</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2408551"></a>swap(<a href="function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp; f1,
+            <a href="function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp; f2);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ <code class="computeroutput">f1.<a href="function.html#id2342124-bb">swap</a>(f2)</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2697942"></a><h3>
+<a name="id2420066-bb"></a><code class="computeroutput">function</code> comparison operators</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<p><a name="id2341292"></a></p>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2341297-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp; f, Functor g);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2399796-bb"></a><span class="bold"><strong>operator</strong></span>==(Functor g, <span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp; f);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2444136-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp; f,
+                  <a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt; g);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2477463-bb"></a><span class="bold"><strong>operator</strong></span>==(<a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt; g,
+                  <span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp; f);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature1, <span class="bold"><strong>typename</strong></span> Allocator1, <span class="bold"><strong>typename</strong></span> Signature2,
+         <span class="bold"><strong>typename</strong></span> Allocator2&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2378044-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature1, Allocator1&gt;&amp; f1,
+                  <span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature2, Allocator2&gt;&amp; f2);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ True when <code class="computeroutput">f</code> stores an object of
+ type <code class="computeroutput">Functor</code> and one of the following conditions applies:
+ <div class="itemizedlist"><ul type="disc">
+<li>
+<code class="computeroutput">g</code> is of type
+ <code class="computeroutput"><a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;</code>
+ and <code class="computeroutput">f.target&lt;Functor&gt;() == g.<a href="../reference_wrapper.html#id2490294-bb">get_pointer</a>()</code>.</li>
+<li>
+<code class="computeroutput">g</code> is not of type
+ <code class="computeroutput"><a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;</code>
+ and <code class="computeroutput">function_equals(*(f.target&lt;Functor&gt;()), g)</code>.</li>
+</ul></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ <code class="computeroutput"><a href="function.html" title="Class template function">function</a></code>
+ objects are not
+ <a href="../EqualityComparable.html" title="Concept EqualityComparable">EqualityComparable</a>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Rationale</span></b>:
+
+ The <code class="computeroutput">safe_bool</code> conversion
+ opens a loophole whereby two <code class="computeroutput">function</code>
+ instances can be compared via <code class="computeroutput">==</code>, although this
+ is not feasible to implement. The undefined <code class="computeroutput">void
+ operator==</code> closes the loophole and ensures a
+ compile-time or link-time error.</p>
+</li>
+<li>
+<p><a name="id2352115"></a></p>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2336228-bb"></a><span class="bold"><strong>operator</strong></span>!=(<span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp; f, Functor g);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2337224-bb"></a><span class="bold"><strong>operator</strong></span>!=(Functor g, <span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp; f);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2508816-bb"></a><span class="bold"><strong>operator</strong></span>!=(<span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp; f,
+                  <a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt; g);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2407103-bb"></a><span class="bold"><strong>operator</strong></span>!=(<a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt; g,
+                  <span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp; f);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature1, <span class="bold"><strong>typename</strong></span> Allocator1, <span class="bold"><strong>typename</strong></span> Signature2,
+         <span class="bold"><strong>typename</strong></span> Allocator2&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2469309-bb"></a><span class="bold"><strong>operator</strong></span>!=(<span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature1, Allocator1&gt;&amp; f1,
+                  <span class="bold"><strong>const</strong></span> <a href="function.html" title="Class template function">function</a>&lt;Signature2, Allocator2&gt;&amp; f2);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ True when <code class="computeroutput">f</code> does not store an
+ object of type <code class="computeroutput">Functor</code> or it stores an object of
+ type <code class="computeroutput">Functor</code> and one of the following conditions
+ applies:
+ <div class="itemizedlist"><ul type="disc">
+<li>
+<code class="computeroutput">g</code> is of type
+ <code class="computeroutput"><a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;</code>
+ and <code class="computeroutput">f.target&lt;Functor&gt;() != g.<a href="../reference_wrapper.html#id2490294-bb">get_pointer</a>()</code>.</li>
+<li>
+<code class="computeroutput">g</code> is not of type
+ <code class="computeroutput"><a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;</code>
+ and <code class="computeroutput">!function_equals(*(f.target&lt;Functor&gt;()), g)</code>.</li>
+</ul></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ <code class="computeroutput"><a href="function.html" title="Class template function">function</a></code>
+ objects are not
+ <a href="../EqualityComparable.html" title="Concept EqualityComparable">EqualityComparable</a>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Rationale</span></b>:
+
+ The <code class="computeroutput">safe_bool</code> conversion
+ opens a loophole whereby two <code class="computeroutput">function</code>
+ instances can be compared via <code class="computeroutput">!=</code>, although this
+ is not feasible to implement. The undefined <code class="computeroutput">void
+ operator!=</code> closes the loophole and ensures a
+ compile-time or link-time error.</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../functionN.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../function/reference.html#header.boost.function.hpp"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../function_equal.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost/gregorian/date.html b/doc/html/boost/gregorian/date.html
new file mode 100644
index 0000000000..a709b3a725
--- /dev/null
+++ b/doc/html/boost/gregorian/date.html
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class date</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../date_time/doxy.html#id2482201" title="Header &lt;boost/date_time/gregorian/greg_date.hpp&gt;">
+<link rel="prev" href="../../gregorian_calendar.html" title="Class gregorian_calendar">
+<link rel="next" href="../../bad_day_of_month.html" title="Struct bad_day_of_month">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../gregorian_calendar.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../date_time/doxy.html#id2482201"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../bad_day_of_month.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.gregorian.date"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class date</span></h2>
+<p>boost::gregorian::date &#8212; A date type based on gregorian_calendar. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> date {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> gregorian_calendar::year_type        year_type;       
+  <span class="bold"><strong>typedef</strong></span> gregorian_calendar::month_type       month_type;      
+  <span class="bold"><strong>typedef</strong></span> gregorian_calendar::day_type         day_type;        
+  <span class="bold"><strong>typedef</strong></span> gregorian_calendar::day_of_year_type day_of_year_type;
+  <span class="bold"><strong>typedef</strong></span> gregorian_calendar::ymd_type         ymd_type;        
+  <span class="bold"><strong>typedef</strong></span> gregorian_calendar::date_rep_type    date_rep_type;   
+  <span class="bold"><strong>typedef</strong></span> gregorian_calendar::date_int_type    date_int_type;   
+  <span class="bold"><strong>typedef</strong></span> date_duration                        duration_type;   
+
+  <span class="emphasis"><em>// <a href="date.html#boost.gregorian.dateconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="date.html#id2452509-bb">date</a>();
+  <a href="date.html#id2452517-bb">date</a>(year_type, month_type, day_type);
+  <a href="date.html#id2452555-bb">date</a>(<span class="bold"><strong>const</strong></span> ymd_type &amp;);
+  <a href="date.html#id2452573-bb">date</a>(<span class="bold"><strong>const</strong></span> date_int_type &amp;);
+  <a href="date.html#id2452590-bb">date</a>(date_rep_type);
+  <a href="date.html#id2452608-bb">date</a>(special_values);
+
+  <span class="emphasis"><em>// <a href="date.html#id2482311-bb">public member functions</a></em></span>
+  <span class="type">date_int_type</span> <a href="date.html#id2482315-bb">julian_day</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">day_of_year_type</span> <a href="date.html#id2482331-bb">day_of_year</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>long</strong></span></span> <a href="date.html#id2482348-bb">modjulian_day</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>int</strong></span></span> <a href="date.html#id2482366-bb">week_number</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">date_int_type</span> <a href="date.html#id2482382-bb">day_number</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="date.html" title="Class date">date</a></span> <a href="date.html#id2452488-bb">end_of_month</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2668757"></a><h2>Description</h2>
+<p>This class is the primary interface for programming with greogorian dates. The is a lightweight type that can be freely passed by value. All comparison operators are supported. </p>
+<div class="refsect2" lang="en">
+<a name="id2668765"></a><h3>
+<a name="boost.gregorian.dateconstruct-copy-destruct"></a><code class="computeroutput">date</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2452509-bb"></a>date();</pre></li>
+<li><pre class="literallayout"><a name="id2452517-bb"></a>date(year_type y, month_type m, day_type d);</pre></li>
+<li><pre class="literallayout"><a name="id2452555-bb"></a>date(<span class="bold"><strong>const</strong></span> ymd_type &amp; ymd);</pre></li>
+<li><pre class="literallayout"><a name="id2452573-bb"></a>date(<span class="bold"><strong>const</strong></span> date_int_type &amp; rhs);</pre></li>
+<li><pre class="literallayout"><a name="id2452590-bb"></a>date(date_rep_type rhs);</pre></li>
+<li><pre class="literallayout"><a name="id2452608-bb"></a>date(special_values sv);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2668883"></a><h3>
+<a name="id2482311-bb"></a><code class="computeroutput">date</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">date_int_type</span> <a name="id2482315-bb"></a>julian_day() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">day_of_year_type</span> <a name="id2482331-bb"></a>day_of_year() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>long</strong></span></span> <a name="id2482348-bb"></a>modjulian_day() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="id2482366-bb"></a>week_number() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">date_int_type</span> <a name="id2482382-bb"></a>day_number() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="date.html" title="Class date">date</a></span> <a name="id2452488-bb"></a>end_of_month() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../gregorian_calendar.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../date_time/doxy.html#id2482201"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../bad_day_of_month.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost/hash.html b/doc/html/boost/hash.html
new file mode 100644
index 0000000000..af0dcbc832
--- /dev/null
+++ b/doc/html/boost/hash.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct template hash</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../hash/reference_.html#id2350414" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="../hash/reference_.html" title=" Reference">
+<link rel="next" href="../hash_combine.html" title="Function template hash_combine">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../hash/reference_.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../hash/reference_.html#id2350414"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../hash_combine.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.hash"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template hash</span></h2>
+<p>boost::hash &#8212; An STL compliant hash function object.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+<span class="bold"><strong>struct</strong></span> hash : <span class="bold"><strong>public</strong></span> std::unary_function&lt;T, std::size_t&gt; {
+  <span class="type">std::size_t</span> <a href="hash.html#id2284865-bb"><span class="bold"><strong>operator</strong></span>()</a>(T <span class="bold"><strong>const</strong></span>&amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2704573"></a><h2>Description</h2>
+<pre class="literallayout"><span class="type">std::size_t</span> <a name="id2284865-bb"></a><span class="bold"><strong>operator</strong></span>()(T <span class="bold"><strong>const</strong></span>&amp; val) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <pre class="programlisting"><a href="../id2510242.html" title="Function hash_value">hash_value</a>(val)</pre><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+
+ The call to <code class="computeroutput"><a href="../id2510242.html" title="Function hash_value">hash_value</a></code>
+ is unqualified, so that custom overloads can be
+ found via argument dependent lookup.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if
+ <code class="computeroutput"><a href="../id2510242.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../hash/reference_.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../hash/reference_.html#id2350414"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../hash_combine.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost/logic/tribool.html b/doc/html/boost/logic/tribool.html
new file mode 100644
index 0000000000..3297d3b28b
--- /dev/null
+++ b/doc/html/boost/logic/tribool.html
@@ -0,0 +1,103 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class tribool</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../tribool/reference.html#id2426531" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="../../tribool/reference.html" title="Reference">
+<link rel="next" href="../../indeterminate.html" title="Function indeterminate">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../tribool/reference.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../tribool/reference.html#id2426531"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../indeterminate.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.logic.tribool"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class tribool</span></h2>
+<p>boost::logic::tribool &#8212; A 3-state boolean type. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> tribool {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="tribool.html#boost.logic.triboolconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="tribool.html#id2426787-bb">tribool</a>();
+  <a href="tribool.html#id2403718-bb">tribool</a>(<span class="bold"><strong>bool</strong></span>);
+  <a href="tribool.html#id2409784-bb">tribool</a>(indeterminate_keyword_t);
+
+  <span class="emphasis"><em>// <a href="tribool.html#id2547009-bb">public member functions</a></em></span>
+  <a href="tribool.html#id2547005-bb"><span class="bold"><strong>operator</strong></span> safe_bool</a>() <span class="bold"><strong>const</strong></span>;
+
+  enum boost::logic::tribool::value_t value;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2790621"></a><h2>Description</h2>
+<p>3-state boolean values are either true, false, or indeterminate. </p>
+<div class="refsect2" lang="en">
+<a name="id2790628"></a><h3>
+<a name="boost.logic.triboolconstruct-copy-destruct"></a><code class="computeroutput">tribool</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2426787-bb"></a>tribool();</pre>
+<p>Construct a new 3-state boolean value with the value 'false'.</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2403718-bb"></a>tribool(<span class="bold"><strong>bool</strong></span> value);</pre>
+<p>Construct a new 3-state boolean value with the given boolean value, which may be <code class="computeroutput">true</code> or <code class="computeroutput">false</code> .</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2409784-bb"></a>tribool(indeterminate_keyword_t );</pre>
+<p>Construct a new 3-state boolean value with an indeterminate value.</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2790752"></a><h3>
+<a name="id2547009-bb"></a><code class="computeroutput">tribool</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><a name="id2547005-bb"></a><span class="bold"><strong>operator</strong></span> safe_bool() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Use a 3-state boolean in a boolean context. Will evaluate true in a boolean context only when the 3-state boolean is definitely true.</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ true if the 3-state boolean is true, false otherwise <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../tribool/reference.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../tribool/reference.html#id2426531"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../indeterminate.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost/variant.html b/doc/html/boost/variant.html
new file mode 100644
index 0000000000..f12ba13b68
--- /dev/null
+++ b/doc/html/boost/variant.html
@@ -0,0 +1,397 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template variant</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../variant/reference.html#id2540137" title="Header &lt;boost/variant/variant.hpp&gt;">
+<link rel="prev" href="../id2404411.html" title="Macro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT">
+<link rel="next" href="../id2629621.html" title="Function template swap">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../id2404411.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../variant/reference.html#id2540137"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../id2629621.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.variant"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template variant</span></h2>
+<p>boost::variant &#8212; Safe, generic, stack-based discriminated union container.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2 = <span class="emphasis"><em>unspecified</em></span>, ...,
+         <span class="bold"><strong>typename</strong></span> TN = <span class="emphasis"><em>unspecified</em></span>&gt;
+<span class="bold"><strong>class</strong></span> variant {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> types;
+
+  <span class="emphasis"><em>// <a href="variant.html#boost.variantconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="variant.html#id2669768-bb">variant</a>();
+  <a href="variant.html#id2558506-bb">variant</a>(<span class="bold"><strong>const</strong></span> variant &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <a href="variant.html#id2655492-bb">variant</a>(T &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <a href="variant.html#id2667505-bb">variant</a>(<span class="bold"><strong>const</strong></span> T &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U1, <span class="bold"><strong>typename</strong></span> U2, ..., <span class="bold"><strong>typename</strong></span> UN&gt;
+    <a href="variant.html#id2651596-bb">variant</a>(variant&lt;U1, U2, ..., UN&gt; &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U1, <span class="bold"><strong>typename</strong></span> U2, ..., <span class="bold"><strong>typename</strong></span> UN&gt;
+    <a href="variant.html#id2343764-bb">variant</a>(<span class="bold"><strong>const</strong></span> variant&lt;U1, U2, ..., UN&gt; &amp;);
+  <a href="variant.html#id2643506-bb">~variant</a>();
+
+  <span class="emphasis"><em>// <a href="variant.html#id2649848-bb">modifiers</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="variant.html#id2641473-bb">swap</a>(variant &amp;);
+  <span class="type">variant &amp;</span> <a href="variant.html#id2394797-bb"><span class="bold"><strong>operator</strong></span>=</a>(<span class="bold"><strong>const</strong></span> variant &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">variant &amp;</span> <a href="variant.html#id2630357-bb"><span class="bold"><strong>operator</strong></span>=</a>(<span class="bold"><strong>const</strong></span> T &amp;);
+
+  <span class="emphasis"><em>// <a href="variant.html#id2632746-bb">queries</a></em></span>
+  <span class="type"><span class="bold"><strong>int</strong></span></span> <a href="variant.html#id2632967-bb">which</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="variant.html#id2632549-bb">empty</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> std::type_info &amp;</span> <a href="variant.html#id2632986-bb">type</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="variant.html#id2630380-bb">relational</a></em></span>
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="variant.html#id2607215-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> variant &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="variant.html#id2633638-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> U &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="variant.html#id2653100-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> variant &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="variant.html#id2667559-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> U &amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2833563"></a><h2>Description</h2>
+<p>The <code class="computeroutput">variant</code> class template (inspired by Andrei
+ Alexandrescu's class of the same name
+ [<a href="../variant/refs.html#variant.refs.ale01a">Ale01A</a>]) is an efficient,
+ <a href="../variant/tutorial.html#variant.tutorial.recursive" title="Recursive variant types">recursive-capable</a>,
+ bounded discriminated union value type capable of containing any value
+ type (either POD or non-POD). It supports construction from any type
+ convertible to one of its bounded types or from a source
+ <code class="computeroutput">variant</code> whose bounded types are each convertible to one
+ of the destination <code class="computeroutput">variant</code>'s bounded types. As well,
+ through <code class="computeroutput"><a href="../apply_visitor.html" title="Function apply_visitor">apply_visitor</a></code>,
+ <code class="computeroutput">variant</code> supports compile-time checked, type-safe
+ visitation; and through <code class="computeroutput"><a href="../get.html" title="Function get">get</a></code>,
+ <code class="computeroutput">variant</code> supports run-time checked, type-safe value
+ retrieval.</p>
+<p><span class="bold"><strong>Notes</strong></span>:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>The bounded types of the <code class="computeroutput">variant</code> are exposed
+ via the nested typedef <code class="computeroutput">types</code>, which is an
+ <a href="../../../libs/mpl/index.html" target="_top">MPL</a>-compatible Sequence containing the
+ set of types that must be handled by any
+ <a href="../variant/reference.html#variant.concepts.static-visitor" title="StaticVisitor">visitor</a> to
+ the <code class="computeroutput">variant</code>.</li>
+<li>All members of <code class="computeroutput">variant</code> satisfy at least the
+ basic guarantee of exception-safety. That is, all operations on
+ a <code class="computeroutput">variant</code> remain defined even after previous
+ operations have failed.</li>
+<li>Each type specified as a template argument to
+ <code class="computeroutput">variant</code> must meet the requirements of the
+ <span class="emphasis"><em><a href="../variant/reference.html#variant.concepts.bounded-type" title="BoundedType">BoundedType</a></em></span>
+ concept.</li>
+<li>Each type specified as a template argument to
+ <code class="computeroutput">variant</code> must be distinct after removal of qualifiers.
+ Thus, for instance, both <code class="computeroutput">variant&lt;int, int&gt;</code> and
+ <code class="computeroutput">variant&lt;int, const int&gt;</code> have undefined
+ behavior.</li>
+<li>Conforming implementations of <code class="computeroutput">variant</code> must
+ allow at least ten types as template arguments. The exact number
+ of allowed arguments is exposed by the preprocessor macro
+ <code class="computeroutput"><a href="../BOOST_VARIANT_LIMIT_TYPES.html" title="Macro BOOST_VARIANT_LIMIT_TYPES">BOOST_VARIANT_LIMIT_TYPES</a></code>.
+ (See <code class="computeroutput"><a href="../make_variant_over.html" title="Class template make_variant_over">make_variant_over</a></code> for a
+ means to specify the bounded types of a <code class="computeroutput">variant</code> by
+ the elements of an <a href="../../../libs/mpl/index.html" target="_top">MPL</a> or compatible
+ Sequence, thus overcoming this limitation.)</li>
+</ul></div>
+<div class="refsect2" lang="en">
+<a name="id2833797"></a><h3>
+<a name="boost.variantconstruct-copy-destruct"></a><code class="computeroutput">variant</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2669768-bb"></a>variant();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ The first bounded type of the <code class="computeroutput">variant</code> (i.e.,
+ <code class="computeroutput">T1</code>) must fulfill the requirements of the
+ <span class="emphasis"><em>DefaultConstructible</em></span> [20.1.4]
+ concept.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ Content of <code class="computeroutput">*this</code> is the default value of the
+ first bounded type (i.e, <code class="computeroutput">T1</code>).<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ May fail with any exceptions arising from the default
+ constructor of <code class="computeroutput">T1</code>.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2558506-bb"></a>variant(<span class="bold"><strong>const</strong></span> variant &amp; other);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ Content of <code class="computeroutput">*this</code> is a copy of the content of
+ <code class="computeroutput">other</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ May fail with any exceptions arising from the
+ copy constructor of <code class="computeroutput">other</code>'s contained type.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <a name="id2655492-bb"></a>variant(T &amp; operand);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">T</code> must be unambiguously convertible to one of
+ the bounded types (i.e., <code class="computeroutput">T1</code>, <code class="computeroutput">T2</code>,
+ etc.).<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ Content of <code class="computeroutput">*this</code> is the best conversion of
+ <code class="computeroutput">operand</code> to one of the bounded types, as determined
+ by standard overload resolution rules.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ May fail with any exceptions arising from the conversion of
+ <code class="computeroutput">operand</code> to one of the bounded types.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <a name="id2667505-bb"></a>variant(<span class="bold"><strong>const</strong></span> T &amp; operand);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Same semantics as previous constructor, but allows
+ construction from temporaries.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U1, <span class="bold"><strong>typename</strong></span> U2, ..., <span class="bold"><strong>typename</strong></span> UN&gt;
+  <a name="id2651596-bb"></a>variant(variant&lt;U1, U2, ..., UN&gt; &amp; operand);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <span class="emphasis"><em>Every</em></span> one of <code class="computeroutput">U1</code>,
+ <code class="computeroutput">U2</code>, ..., <code class="computeroutput">UN</code> must have an unambiguous
+ conversion to one of the bounded types (i.e., <code class="computeroutput">T1</code>,
+ <code class="computeroutput">T2</code>, ..., <code class="computeroutput">TN</code>).<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ If <code class="computeroutput">variant&lt;U1, U2, ..., UN&gt;</code> is itself
+ one of the bounded types, then content of <code class="computeroutput">*this</code> is a
+ copy of <code class="computeroutput">operand</code>. Otherwise, content of
+ <code class="computeroutput">*this</code> is the best conversion of the content of
+ <code class="computeroutput">operand</code> to one of the bounded types, as determined
+ by standard overload resolution rules.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ If <code class="computeroutput">variant&lt;U1, U2, ..., UN&gt;</code> is itself
+ one of the bounded types, then may fail with any exceptions arising
+ from the copy constructor of
+ <code class="computeroutput">variant&lt;U1, U2, ..., UN&gt;</code>. Otherwise, may fail
+ with any exceptions arising from the conversion of the content of
+ <code class="computeroutput">operand</code> to one of the bounded types.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U1, <span class="bold"><strong>typename</strong></span> U2, ..., <span class="bold"><strong>typename</strong></span> UN&gt;
+  <a name="id2343764-bb"></a>variant(<span class="bold"><strong>const</strong></span> variant&lt;U1, U2, ..., UN&gt; &amp; operand);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Same semantics as previous constructor, but allows
+ construction from temporaries.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2643506-bb"></a>~variant();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Destroys the content of <code class="computeroutput">*this</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2834336"></a><h3>
+<a name="id2649848-bb"></a><code class="computeroutput">variant</code> modifiers</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2641473-bb"></a>swap(variant &amp; other);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ Every bounded type must fulfill the requirements of the
+ <a href="../Assignable.html" title="Concept Assignable">Assignable</a>
+ concept.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Interchanges the content of <code class="computeroutput">*this</code> and
+ <code class="computeroutput">other</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ If the contained type of <code class="computeroutput">other</code> is the same as
+ the contained type of <code class="computeroutput">*this</code>, then may fail with any
+ exceptions arising from the <code class="computeroutput">swap</code> of the contents of
+ <code class="computeroutput">*this</code> and <code class="computeroutput">other</code>. Otherwise, may fail
+ with any exceptions arising from either of the copy constructors
+ of the contained types. Also, in the event of insufficient
+ memory, may fail with <code class="computeroutput">std::bad_alloc</code>
+ (<a href="../variant/design.html#variant.design.never-empty.problem" title="The Implementation Problem">why?</a>).</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">variant &amp;</span> <a name="id2394797-bb"></a><span class="bold"><strong>operator</strong></span>=(<span class="bold"><strong>const</strong></span> variant &amp; rhs);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ Every bounded type must fulfill the requirements of the
+ <a href="../Assignable.html" title="Concept Assignable">Assignable</a>
+ concept.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ If the contained type of <code class="computeroutput">rhs</code> is the same as
+ the contained type of <code class="computeroutput">*this</code>, then assigns the
+ content of <code class="computeroutput">rhs</code> into the content of
+ <code class="computeroutput">*this</code>. Otherwise, makes the content of
+ <code class="computeroutput">*this</code> a copy of the content of <code class="computeroutput">rhs</code>,
+ destroying the previous content of <code class="computeroutput">*this</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ If the contained type of <code class="computeroutput">rhs</code> is the same as
+ the contained type of <code class="computeroutput">*this</code>, then may fail with any
+ exceptions arising from the assignment of the content of
+ <code class="computeroutput">rhs</code> into the content <code class="computeroutput">*this</code>. Otherwise,
+ may fail with any exceptions arising from the copy constructor
+ of the contained type of <code class="computeroutput">rhs</code>. Also, in the event of
+ insufficient memory, may fail with <code class="computeroutput">std::bad_alloc</code>
+ (<a href="../variant/design.html#variant.design.never-empty.problem" title="The Implementation Problem">why?</a>).</p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">variant &amp;</span> <a name="id2630357-bb"></a><span class="bold"><strong>operator</strong></span>=(<span class="bold"><strong>const</strong></span> T &amp; rhs);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <div class="itemizedlist"><ul type="disc">
+<li>
+<code class="computeroutput">T</code> must be unambiguously convertible to
+ one of the bounded types (i.e., <code class="computeroutput">T1</code>,
+ <code class="computeroutput">T2</code>, etc.).</li>
+<li>Every bounded type must fulfill the requirements of the
+ <a href="../Assignable.html" title="Concept Assignable">Assignable</a>
+ concept.</li>
+</ul></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ If the contained type of <code class="computeroutput">*this</code> is
+ <code class="computeroutput">T</code>, then assigns <code class="computeroutput">rhs</code> into the content
+ of <code class="computeroutput">*this</code>. Otherwise, makes the content of
+ <code class="computeroutput">*this</code> the best conversion of <code class="computeroutput">rhs</code> to
+ one of the bounded types, as determined by standard overload
+ resolution rules, destroying the previous content of
+ <code class="computeroutput">*this</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ If the contained type of <code class="computeroutput">*this</code> is
+ <code class="computeroutput">T</code>, then may fail with any exceptions arising from
+ the assignment of <code class="computeroutput">rhs</code> into the content
+ <code class="computeroutput">*this</code>. Otherwise, may fail with any exceptions
+ arising from the conversion of <code class="computeroutput">rhs</code> to one of the
+ bounded types. Also, in the event of insufficient memory, may
+ fail with <code class="computeroutput">std::bad_alloc</code>
+ (<a href="../variant/design.html#variant.design.never-empty.problem" title="The Implementation Problem">why?</a>).</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2834814"></a><h3>
+<a name="id2632746-bb"></a><code class="computeroutput">variant</code> queries</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="id2632967-bb"></a>which() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ The zero-based index into the set of bounded types
+ of the contained type of <code class="computeroutput">*this</code>. (For instance, if
+ called on a <code class="computeroutput">variant&lt;int, std::string&gt;</code> object
+ containing a <code class="computeroutput">std::string</code>, <code class="computeroutput">which()</code>
+ would return <code class="computeroutput">1</code>.)<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2632549-bb"></a>empty() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">false</code>: <code class="computeroutput">variant</code> always contains
+ exactly one of its bounded types. (See
+ <a href="../variant/design.html#variant.design.never-empty" title='"Never-Empty" Guarantee'>the section called &#8220;"Never-Empty" Guarantee&#8221;</a>
+ for more information.)<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Rationale</span></b>:
+
+ Facilitates generic compatibility with
+ <a href="any.html" title="Class any">boost::any</a>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> std::type_info &amp;</span> <a name="id2632986-bb"></a>type() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">typeid(x)</code>, where <code class="computeroutput">x</code> is the the
+ content of <code class="computeroutput">*this</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2835044"></a><h3>
+<a name="id2630380-bb"></a><code class="computeroutput">variant</code> relational</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<p><a name="id2535038-bb"></a></p>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2607215-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> variant &amp; rhs) <span class="bold"><strong>const</strong></span>;
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2633638-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> U &amp; ) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The overload returning <code class="computeroutput">void</code> exists only to
+ prohibit implicit conversion of the operator's right-hand side
+ to <code class="computeroutput">variant</code>; thus, its use will (purposefully)
+ result in a compile-time error.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ Every bounded type of the <code class="computeroutput">variant</code> must
+ fulfill the requirements of the
+ <a href="../EqualityComparable.html" title="Concept EqualityComparable">EqualityComparable</a>
+ concept.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">true</code> iff <code class="computeroutput">which() == rhs.which()</code><span class="emphasis"><em>and</em></span><code class="computeroutput">content_this == content_rhs</code>, where
+ <code class="computeroutput">content_this</code> is the content of <code class="computeroutput">*this</code>
+ and <code class="computeroutput">content_rhs</code> is the content of
+ <code class="computeroutput">rhs</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ If <code class="computeroutput">which() == rhs.which()</code> then may fail with
+ any exceptions arising from <code class="computeroutput">operator==(T,T)</code>, where
+ <code class="computeroutput">T</code> is the contained type of
+ <code class="computeroutput">*this</code>.</p>
+</li>
+<li>
+<p><a name="id2576152-bb"></a></p>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2653100-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<span class="bold"><strong>const</strong></span> variant &amp; rhs) <span class="bold"><strong>const</strong></span>;
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2667559-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<span class="bold"><strong>const</strong></span> U &amp; ) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The overload returning <code class="computeroutput">void</code> exists only to
+ prohibit implicit conversion of the operator's right-hand side
+ to <code class="computeroutput">variant</code>; thus, its use will (purposefully)
+ result in a compile-time error.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ Every bounded type of the <code class="computeroutput">variant</code> must
+ fulfill the requirements of the
+ <a href="../LessThanComparable.html" title="Concept LessThanComparable">LessThanComparable</a>
+ concept.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ If <code class="computeroutput">which() == rhs.which()</code> then:
+ <code class="computeroutput">content_this &lt; content_rhs</code>, where
+ <code class="computeroutput">content_this</code> is the content of <code class="computeroutput">*this</code>
+ and <code class="computeroutput">content_rhs</code> is the content of <code class="computeroutput">rhs</code>.
+ Otherwise: <code class="computeroutput">which() &lt; rhs.which()</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ If <code class="computeroutput">which() == rhs.which()</code> then may fail with
+ any exceptions arising from <code class="computeroutput">operator&lt;(T,T)</code>,
+ where <code class="computeroutput">T</code> is the contained type of
+ <code class="computeroutput">*this</code>.</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../id2404411.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../variant/reference.html#id2540137"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../id2629621.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_staticassert.html b/doc/html/boost_staticassert.html
new file mode 100644
index 0000000000..79300e7332
--- /dev/null
+++ b/doc/html/boost_staticassert.html
@@ -0,0 +1,226 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 10. Boost.StaticAssert</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries">
+<link rel="prev" href="signals/tests.html" title="Testsuite">
+<link rel="next" href="boost_staticassert/how.html" title=" How it works">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="signals/tests.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost_staticassert/how.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="boost_staticassert"></a>Chapter 10. Boost.StaticAssert</h2></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">John</span> <span class="surname">Maddock</span>
+</h3></div></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Steve</span> <span class="surname">Cleary</span>
+</h3></div></div>
+<div><p class="copyright">Copyright © 2000, 2005 Steve Cleary and John Maddock</p></div>
+<div><div class="legalnotice">
+<a name="id2740482"></a><p>
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">
+ http://www.boost.org/LICENSE_1_0.txt
+ </a>)
+
+ </p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.intro"> Overview and Tutorial</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.namespace"> Use at namespace scope.</a></span></dt>
+<dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.function"> Use at function scope</a></span></dt>
+<dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.class"> Use at class scope</a></span></dt>
+<dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.templates"> Use in templates</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="boost_staticassert/how.html"> How it works</a></span></dt>
+<dt><span class="section"><a href="boost_staticassert/test.html"> Test Programs</a></span></dt>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_staticassert.intro"></a> Overview and Tutorial</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.namespace"> Use at namespace scope.</a></span></dt>
+<dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.function"> Use at function scope</a></span></dt>
+<dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.class"> Use at class scope</a></span></dt>
+<dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.templates"> Use in templates</a></span></dt>
+</dl></div>
+<p>
+The header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">static_assert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> supplies a single macro <code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>,
+which generates a compile time error message if the integral-constant-expression <code class="computeroutput"><span class="identifier">x</span></code>
+is not true. In other words it is the compile time equivalent of the assert macro;
+this is sometimes known as a "compile-time-assertion", but will be called a
+"static assertion" throughout these docs. Note that if the condition is <code class="computeroutput"><span class="keyword">true</span></code>,
+then the macro will generate neither code nor data - and the macro can also
+be used at either namespace, class or function scope. When used in a template,
+the static assertion will be evaluated at the time the template is instantiated;
+this is particularly useful for validating template parameters.</p>
+<p>
+One of the aims of <code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code> is to generate readable error messages.
+These immediately tell the user that a library is being used in a manner that
+is not supported. While error messages obviously differ from compiler to compiler,
+but you should see something like:</p>
+<pre class="programlisting"><code class="literal"><span class="identifier">Illegal</span><span class="identifier"> use</span><span class="identifier"> of</span><span class="identifier"> STATIC_ASSERTION_FAILURE</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;</span></code></pre>
+<p>
+Which is intended to at least catch the eye!</p>
+<p>
+You can use <code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code> at any place where you can place a declaration,
+that is at class, function or namespace scope, this is illustrated by the
+following examples:</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_staticassert.namespace"></a> Use at namespace scope.</h4></div></div></div>
+<p>
+The macro can be used at namespace scope, if there is some requirement must
+always be true; generally this means some platform specific requirement.
+Suppose we require that <code class="computeroutput"><span class="keyword">int</span></code> be at least a 32-bit integral type, and that <code class="computeroutput"><span class="keyword">wchar_t</span></code>
+be an unsigned type. We can verify this at compile time as follows:</p>
+<pre class="programlisting"><code class="literal"><span class="preprocessor">#include</span><span class="special"> &lt;</span><span class="identifier">climits</span><span class="special">&gt;</span><span class="preprocessor">
+#include</span><span class="special"> &lt;</span><span class="identifier">cwchar</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">static_assert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span><span class="keyword">
+
+namespace</span><span class="identifier"> my_conditions</span><span class="special"> {</span><span class="identifier">
+
+ BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="keyword">sizeof</span><span class="special">(</span><span class="keyword">int</span><span class="special">)</span><span class="special"> *</span><span class="identifier"> CHAR_BIT</span><span class="special"> &gt;=</span><span class="number"> 32</span><span class="special">);</span><span class="identifier">
+ BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="identifier">WCHAR_MIN</span><span class="special"> &gt;=</span><span class="number"> 0</span><span class="special">);</span><span class="special">
+
+}</span><span class="comment"> // namespace my_conditions
+</span></code></pre>
+<p>
+The use of the namespace my_conditions here requires some comment.
+The macro <code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code> works by generating an typedef declaration,
+and since the typedef must have a name, the macro generates one automatically by
+mangling a stub name with the value of <span class="underline">_LINE</span>_. When <code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code> is
+used at either class or function scope then each use of <code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code>
+is guaranteed to produce a name unique to that scope (provided you only use
+the macro once on each line). However when used in a header at namespace
+scope, that namespace can be continued over multiple headers, each of which
+may have their own static assertions, and on the "same" lines, thereby generating
+duplicate declarations. In theory the compiler should silently ignore duplicate
+typedef declarations, however many do not do so (and even if they do they are
+entitled to emit warnings in such cases). To avoid potential problems, if you
+use <code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code> in a header and at namespace scope, then enclose
+them in a namespace unique to that header.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_staticassert.function"></a> Use at function scope</h4></div></div></div>
+<p>
+The macro is typically used at function scope inside template functions,
+when the template arguments need checking. Imagine that we have an
+iterator-based algorithm that requires random access iterators.
+If the algorithm is instantiated with iterators that do not meet our
+requirements then an error will be generated eventually, but this may
+be nested deep inside several templates, making it hard for the user to
+determine what went wrong. One option is to add a static assertion at
+the top level of the template, in that case if the condition is not met,
+then an error will be generated in a way that makes it reasonably obvious to
+the user that the template is being misused.</p>
+<pre class="programlisting"><code class="literal"><span class="preprocessor">#include</span><span class="special"> &lt;</span><span class="identifier">iterator</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">static_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">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> RandomAccessIterator</span><span class="special"> &gt;</span><span class="identifier">
+RandomAccessIterator</span><span class="identifier"> foo</span><span class="special">(</span><span class="identifier">RandomAccessIterator</span><span class="identifier"> from</span><span class="special">,</span><span class="identifier"> RandomAccessIterator</span><span class="identifier"> to</span><span class="special">)</span><span class="special">
+{</span><span class="comment">
+ // this template can only be used with
+ // random access iterators...
+</span><span class="keyword"> typedef</span><span class="keyword"> typename</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier"> RandomAccessIterator</span><span class="special"> &gt;::</span><span class="identifier">iterator_category</span><span class="identifier"> cat</span><span class="special">;</span><span class="identifier">
+ BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_convertible</span><span class="special">&lt;</span><span class="identifier">cat</span><span class="special">,</span><span class="keyword"> const</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">random_access_iterator_tag</span><span class="special">&amp;&gt;::</span><span class="identifier">value</span><span class="special">));</span><span class="comment">
+ //
+ // detail goes here...
+</span><span class="keyword"> return</span><span class="identifier"> from</span><span class="special">;</span><span class="special">
+}</span></code></pre>
+<p>
+A couple of footnotes are in order here: the extra set of parenthesis around the
+assert, is to prevent the comma inside the <code class="computeroutput"><span class="identifier">is_convertible</span></code> template being
+interpreted by the preprocessor as a macro argument separator; the target type
+for <code class="computeroutput"><span class="identifier">is_convertible</span></code> is a reference type, as some compilers have problems
+using <code class="computeroutput"><span class="identifier">is_convertible</span></code> when the conversion is via a user defined constructor
+(in any case there is no guarantee that the iterator tag classes are
+copy-constructible).</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_staticassert.class"></a> Use at class scope</h4></div></div></div>
+<p>
+The macro is typically used inside classes that are templates.
+Suppose we have a template-class that requires an unsigned integral type with
+at least 16-bits of precision as a template argument, we can achieve this
+using something like this:</p>
+<pre class="programlisting"><code class="literal"><span class="preprocessor">#include</span><span class="special"> &lt;</span><span class="identifier">climits</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">static_assert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> UnsignedInt</span><span class="special">&gt;</span><span class="keyword">
+class</span><span class="identifier"> myclass</span><span class="special">
+{</span><span class="keyword">
+private</span><span class="special">:</span><span class="identifier">
+ BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">UnsignedInt</span><span class="special">)</span><span class="special"> *</span><span class="identifier"> CHAR_BIT</span><span class="special"> &gt;=</span><span class="number"> 16</span><span class="special">);</span><span class="identifier">
+ BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">UnsignedInt</span><span class="special">&gt;::</span><span class="identifier">is_specialized</span><span class="special">
+ &amp;&amp;</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">UnsignedInt</span><span class="special">&gt;::</span><span class="identifier">is_integer</span><span class="special">
+ &amp;&amp;</span><span class="special"> !</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">UnsignedInt</span><span class="special">&gt;::</span><span class="identifier">is_signed</span><span class="special">);</span><span class="keyword">
+public</span><span class="special">:</span><span class="comment">
+ /* details here */</span><span class="special">
+};</span></code></pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_staticassert.templates"></a> Use in templates</h4></div></div></div>
+<p>
+Normally static assertions when used inside a class or function template,
+will not be instantiated until the template in which it is used is instantiated.
+However, there is one potential problem to watch out for: if the static assertion
+is not dependent upon one or more template parameters, then the compiler is
+permitted to evaluate the static assertion at the point it is first seen,
+irrespective of whether the template is ever instantiated, for example:</p>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> must_not_be_instantiated</span><span class="special">
+{</span><span class="identifier">
+ BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="keyword">false</span><span class="special">);</span><span class="special">
+};</span></code></pre>
+<p>
+Will produce a compiler error with some compilers (for example Intel 8.1
+or gcc 3.4), regardless of whether the template is ever instantiated. A
+workaround in cases like this is to force the assertion to be dependent
+upon a template parameter:</p>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> must_not_be_instantiated</span><span class="special">
+{</span><span class="comment">
+ // this will be triggered if this type is instantiated
+</span><span class="identifier"> BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span><span class="special"> ==</span><span class="number"> 0</span><span class="special">);</span><span class="special">
+};</span></code></pre>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: April 17, 2005 at 10:45:13 GMT</p></small></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="signals/tests.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost_staticassert/how.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_staticassert/how.html b/doc/html/boost_staticassert/how.html
new file mode 100644
index 0000000000..33b29e7a97
--- /dev/null
+++ b/doc/html/boost_staticassert/how.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> How it works</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../boost_staticassert.html" title="Chapter 10. Boost.StaticAssert">
+<link rel="prev" href="../boost_staticassert.html" title="Chapter 10. Boost.StaticAssert">
+<link rel="next" href="test.html" title=" Test Programs">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../boost_staticassert.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_staticassert.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="test.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_staticassert.how"></a> How it works</h3></div></div></div>
+<p><code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code> works as follows. There is class <code class="computeroutput"><span class="identifier">STATIC_ASSERTION_FAILURE</span></code>
+ which is defined as:</p>
+<pre class="programlisting"><code class="literal"><span class="keyword">namespace</span><span class="identifier"> boost</span><span class="special">{</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">bool</span><span class="special">&gt;</span><span class="keyword"> struct</span><span class="identifier"> STATIC_ASSERTION_FAILURE</span><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;&gt;</span><span class="keyword"> struct</span><span class="identifier"> STATIC_ASSERTION_FAILURE</span><span class="special">&lt;</span><span class="keyword">true</span><span class="special">&gt;{};</span><span class="special">
+
+}</span></code></pre>
+<p>
+The key feature is that the error message triggered by the undefined
+expression <code class="computeroutput"><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">STATIC_ASSERTION_FAILURE</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;)</span></code>, tends to be consistent
+across a wide variety of compilers. The rest of the machinery of
+<code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code> is just a way to feed the <code class="computeroutput"><span class="keyword">sizeof</span></code> expression into a <code class="computeroutput"><span class="keyword">typedef</span></code>.
+The use of a macro here is somewhat ugly; however boost members have spent
+considerable effort trying to invent a static assert that avoided macros,
+all to no avail. The general conclusion was that the good of a static assert
+working at namespace, function, and class scope outweighed the ugliness of a macro.</p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2000, 2005 Steve Cleary and John Maddock</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../boost_staticassert.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_staticassert.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="test.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_staticassert/test.html b/doc/html/boost_staticassert/test.html
new file mode 100644
index 0000000000..21c65f4c04
--- /dev/null
+++ b/doc/html/boost_staticassert/test.html
@@ -0,0 +1,122 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Test Programs</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../boost_staticassert.html" title="Chapter 10. Boost.StaticAssert">
+<link rel="prev" href="how.html" title=" How it works">
+<link rel="next" href="../string_algo.html" title="Chapter 11. Boost String Algorithms Library">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="how.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_staticassert.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../string_algo.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_staticassert.test"></a> Test Programs</h3></div></div></div>
+<div class="informaltable">
+<h4>
+<a name="id2742029"></a><span class="table-title">Test programs provided with static_assert</span>
+</h4>
+<table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Test Program</th>
+<th>Expected to Compile</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><a href="../../../libs/static_assert/static_assert_test.cpp" target="_top">static_assert_test.cpp</a></td>
+<td>Yes</td>
+<td>Illustrates usage, and should always compile, really just tests compiler compatibility.</td>
+</tr>
+<tr>
+<td><a href="../../../libs/static_assert/static_assert_example_1.cpp" target="_top">static_assert_example_1.cpp</a></td>
+<td>Platform dependent.</td>
+<td>Namespace scope test program, may compile depending upon the platform. </td>
+</tr>
+<tr>
+<td><a href="../../../libs/static_assert/static_assert_example_2.cpp" target="_top">static_assert_example_2.cpp</a></td>
+<td>Yes</td>
+<td>Function scope test program. </td>
+</tr>
+<tr>
+<td><a href="../../../libs/static_assert/static_assert_example_3.cpp" target="_top">static_assert_example_3.cpp</a></td>
+<td>Yes</td>
+<td>Class scope test program. </td>
+</tr>
+<tr>
+<td><a href="../../../libs/static_assert/static_assert_test_fail_1.cpp" target="_top">static_assert_test_fail_1.cpp</a></td>
+<td>No</td>
+<td>Illustrates failure at namespace scope. </td>
+</tr>
+<tr>
+<td><a href="../../../libs/static_assert/static_assert_test_fail_2.cpp" target="_top">static_assert_test_fail_2.cpp</a></td>
+<td>No</td>
+<td>Illustrates failure at non-template function scope. </td>
+</tr>
+<tr>
+<td><a href="../../../libs/static_assert/static_assert_test_fail_3.cpp" target="_top">static_assert_test_fail_3.cpp</a></td>
+<td>No</td>
+<td>Illustrates failure at non-template class scope. </td>
+</tr>
+<tr>
+<td><a href="../../../libs/static_assert/static_assert_test_fail_4.cpp" target="_top">static_assert_test_fail_4.cpp</a></td>
+<td>No</td>
+<td>Illustrates failure at non-template class scope. </td>
+</tr>
+<tr>
+<td><a href="../../../libs/static_assert/static_assert_test_fail_5.cpp" target="_top">static_assert_test_fail_5.cpp</a></td>
+<td>No</td>
+<td>Illustrates failure at template class scope. </td>
+</tr>
+<tr>
+<td><a href="../../../libs/static_assert/static_assert_test_fail_6.cpp" target="_top">static_assert_test_fail_6.cpp</a></td>
+<td>No</td>
+<td>Illustrates failure at template class member function scope. </td>
+</tr>
+<tr>
+<td><a href="../../../libs/static_assert/static_assert_test_fail_7.cpp" target="_top">static_assert_test_fail_7.cpp</a></td>
+<td>No</td>
+<td>Illustrates failure of class scope example. </td>
+</tr>
+<tr>
+<td><a href="../../../libs/static_assert/static_assert_test_fail_8.cpp" target="_top">static_assert_test_fail_8.cpp</a></td>
+<td>No</td>
+<td>Illustrates failure of function scope example. </td>
+</tr>
+<tr>
+<td><a href="../../../libs/static_assert/static_assert_test_fail_9.cpp" target="_top">static_assert_test_fail_9.cpp</a></td>
+<td>No</td>
+<td>Illustrates failure of function scope example (part 2). </td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2000, 2005 Steve Cleary and John Maddock</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="how.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_staticassert.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../string_algo.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_typetraits.html b/doc/html/boost_typetraits.html
new file mode 100644
index 0000000000..ec11a52513
--- /dev/null
+++ b/doc/html/boost_typetraits.html
@@ -0,0 +1,158 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 14. Boost.TypeTraits</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries">
+<link rel="prev" href="tribool/tests.html" title="Testsuite">
+<link rel="next" href="boost_typetraits/background.html" title=" Background and Tutorial">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tribool/tests.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost_typetraits/background.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="boost_typetraits"></a>Chapter 14. Boost.TypeTraits</h2></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">various</span> <span class="surname">authors</span>
+</h3></div></div>
+<div><p class="copyright">Copyright © 2000, 2005 Adobe Systems Inc, David Abrahams, Steve Cleary,
+ Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus,
+ Itay Maman, John Maddock, Thorsten Ottosen, Robert Ramey and Jeremy Siek</p></div>
+<div><div class="legalnotice">
+<a name="id2793553"></a><p>
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">
+ http://www.boost.org/LICENSE_1_0.txt
+ </a>)
+
+ </p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="boost_typetraits.html#boost_typetraits.intro"> Introduction</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/background.html"> Background and Tutorial</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/category.html"> Type Traits by Category</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="boost_typetraits/category.html#boost_typetraits.value_traits"> Type Traits that Describe the Properties of a Type</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/category.html#boost_typetraits.transform"> Type Traits that Transform One Type to Another</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/category.html#boost_typetraits.alignment"> Synthesizing Types with Specific Alignments</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/category.html#boost_typetraits.function"> Decomposing Function Types</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="boost_typetraits/user_defined.html"> User Defined Specializations</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/intrinsics.html"> Support for Compiler Intrinsics</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/mpl.html"> MPL Interoperability</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/examples.html"> Examples</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="boost_typetraits/examples.html#boost_typetraits.copy"> An Optimized Version of std::copy</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/examples.html#boost_typetraits.fill"> An Optimised Version of std::fill</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/examples.html#boost_typetraits.destruct"> An Example that Omits Destructor Calls For Types with Trivial Destructors</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/examples.html#boost_typetraits.iter"> An improved Version of std::iter_swap</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="boost_typetraits/reference.html"> Alphabetical Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.add_const"> add_const</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.add_cv"> add_cv</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.add_pointer"> add_pointer</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.add_reference"> add_reference</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.add_volatile"> add_volatile</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.aligned_storage"> aligned_storage</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.alignment_of"> alignment_of</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.extent"> extent</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.function_traits"> function_traits</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.has_nothrow_assign"> has_nothrow_assign</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.has_nothrow_constructor"> has_nothrow_constructor</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.has_nothrow_copy"> has_nothrow_copy</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.has_trivial_assign"> has_trivial_assign</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.has_trivial_constructor"> has_trivial_constructor</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.has_trivial_copy"> has_trivial_copy</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.has_trivial_destructor"> has_trivial_destructor</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.has_virtual_destructor"> has_virtual_destructor</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.integral_constant"> integral_constant</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_abstract"> is_abstract</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_arithmetic"> is_arithmetic</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_array"> is_array</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_base_of"> is_base_of</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_class"> is_class</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_compound"> is_compound</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_const"> is_const</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_convertible"> is_convertible</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_empty"> is_empty</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_enum"> is_enum</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_floating_point"> is_floating_point</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_function"> is_function</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_fundamental"> is_fundamental</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_integral"> is_integral</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_member_function_pointer"> is_member_function_pointer</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_member_object_pointer"> is_member_object_pointer</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_member_pointer"> is_member_pointer</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_object"> is_object</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_pod"> is_pod</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_pointer"> is_pointer</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_polymorphic"> is_polymorphic</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_same"> is_same</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_scalar"> is_scalar</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_stateless"> is_stateless</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_reference"> is_reference</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_union"> is_union</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_void"> is_void</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.is_volatile"> is_volatile</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.rank"> rank</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.remove_all_extents"> remove_all_extents</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.remove_const"> remove_const</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.remove_cv"> remove_cv</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.remove_extent"> remove_extent</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.remove_pointer"> remove_pointer</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.remove_reference"> remove_reference</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.remove_volatile"> remove_volatile</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html#boost_typetraits.type_with_alignment"> type_with_alignment</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="boost_typetraits/credits.html"> Credits</a></span></dt>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_typetraits.intro"></a> Introduction</h3></div></div></div>
+<p>
+The Boost type-traits library contains a
+set of very specific traits classes, each of which encapsulate a single trait
+from the C++ type system; for example, is a type a pointer or a reference type?
+Or does a type have a trivial constructor, or a const-qualifier?</p>
+<p>
+The type-traits classes share a unified design: each class inherits from a
+the type <a href="boost_typetraits/reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a> if the type has the specified property and inherits from
+<a href="boost_typetraits/reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a> otherwise.</p>
+<p>
+The type-traits library also contains a set of classes that perform a
+specific transformation on a type; for example, they can remove a
+top-level const or volatile qualifier from a type. Each class that
+performs a transformation defines a single typedef-member <code class="computeroutput"><span class="identifier">type</span></code>
+that is the result of the transformation.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: August 24, 2005 at 16:49:32 GMT</p></small></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tribool/tests.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost_typetraits/background.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_typetraits/background.html b/doc/html/boost_typetraits/background.html
new file mode 100644
index 0000000000..65b986840f
--- /dev/null
+++ b/doc/html/boost_typetraits/background.html
@@ -0,0 +1,462 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Background and Tutorial</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../boost_typetraits.html" title="Chapter 14. Boost.TypeTraits">
+<link rel="prev" href="../boost_typetraits.html" title="Chapter 14. Boost.TypeTraits">
+<link rel="next" href="category.html" title=" Type Traits by Category">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../boost_typetraits.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typetraits.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="category.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_typetraits.background"></a> Background and Tutorial</h3></div></div></div>
+<p>
+The following is an updated version of the article "C++ Type traits"
+by John Maddock and Steve Cleary that appeared in the October 2000
+issue of <a href="http://www.ddj.com" target="_top">Dr Dobb's Journal</a>.</p>
+<p>
+Generic programming (writing code which works with any data type meeting a
+set of requirements) has become the method of choice for providing reusable code.
+However, there are times in generic programming when "generic" just isn't
+good enough - sometimes the differences between types are too large for an
+efficient generic implementation. This is when the traits technique
+becomes important - by encapsulating those properties that need to be
+considered on a type by type basis inside a traits class, we can
+minimize the amount of code that has to differ from one type to another,
+and maximize the amount of generic code.</p>
+<p>
+Consider an example: when working with character strings, one common operation is
+to determine the length of a null terminated string. Clearly it's possible to
+write generic code that can do this, but it turns out that there are much more
+efficient methods available: for example, the C library functions <code class="computeroutput"><span class="identifier">strlen</span></code> and
+<code class="computeroutput"><span class="identifier">wcslen</span></code> are usually written in assembler, and with suitable hardware support
+can be considerably faster than a generic version written in C++.
+The authors of the C++ standard library realized this, and abstracted the
+properties of <code class="computeroutput"><span class="keyword">char</span></code> and <code class="computeroutput"><span class="keyword">wchar_t</span></code> into the class <code class="computeroutput"><span class="identifier">char_traits</span></code>. Generic code
+that works with character strings can simply use <code class="computeroutput"><span class="identifier">char_traits</span><span class="special">&lt;&gt;::</span><span class="identifier">length</span></code> to
+determine the length of a null terminated string, safe in the knowledge
+that specializations of <code class="computeroutput"><span class="identifier">char_traits</span></code> will use the most appropriate method
+available to them.</p>
+<a name="background.type_traits"></a><h4>
+<a name="id2793747"></a>Type Traits</h4>
+<p>
+Class <code class="computeroutput"><span class="identifier">char_traits</span></code> is a classic example of a collection of type specific
+properties wrapped up in a single class - what Nathan Myers termed a
+<span class="emphasis"><em>baggage class</em></span><a href="background.html#background.references">[1]</a>. In the Boost type-traits library, we<a href="background.html#background.references">[2]</a> have written a
+set of very specific traits classes, each of which encapsulate a single trait
+from the C++ type system; for example, is a type a pointer or a reference type?
+Or does a type have a trivial constructor, or a const-qualifier?
+The type-traits classes share a unified design: each class inherits from a
+the type <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a> if the type has the specified property and inherits from
+<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a> otherwise. As we will show, these classes can be used in
+generic programming to determine the properties of a given type and introduce
+optimizations that are appropriate for that case.</p>
+<p>
+The type-traits library also contains a set of classes that perform a
+specific transformation on a type; for example, they can remove a
+top-level const or volatile qualifier from a type. Each class that
+performs a transformation defines a single typedef-member <code class="computeroutput"><span class="identifier">type</span></code>
+that is the result of the transformation. All of the type-traits
+classes are defined inside namespace <code class="computeroutput"><span class="identifier">boost</span></code>; for brevity, namespace-qualification
+is omitted in most of the code samples given.</p>
+<a name="background.implementation"></a><h4>
+<a name="id2793849"></a>Implementation</h4>
+<p>
+There are far too many separate classes contained in the type-traits library
+to give a full implementation here - see the source code in the Boost library
+for the full details - however, most of the implementation is fairly repetitive
+anyway, so here we will just give you a flavor for how some of the classes are
+implemented. Beginning with possibly the simplest class in the library,
+<code class="computeroutput"><span class="identifier">is_void</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code> only if <code class="computeroutput"><span class="identifier">T</span></code> is <code class="computeroutput"><span class="keyword">void</span></code>.</p>
+<pre class="programlisting"><code class="literal"><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> <a href="reference.html#boost_typetraits.is_void" title=" is_void">is_void</a><span class="special"> :</span><span class="keyword"> public</span> <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a><span class="special">{};</span><span class="keyword">
+
+template</span><span class="special"> &lt;&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_void" title=" is_void">is_void</a><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;</span><span class="special"> :</span><span class="keyword"> public</span> <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a><span class="special">{};</span></code></pre>
+<p>
+Here we define a primary version of the template class <code class="computeroutput"><a href="reference.html#boost_typetraits.is_void" title=" is_void">is_void</a></code>, and
+provide a full-specialization when <code class="computeroutput"><span class="identifier">T</span></code> is <code class="computeroutput"><span class="keyword">void</span></code>. While full specialization
+of a template class is an important technique, sometimes we need a
+solution that is halfway between a fully generic solution, and a full
+specialization. This is exactly the situation for which the standards committee
+defined partial template-class specialization. As an example, consider the
+class <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_pointer</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>: here we needed a primary version that handles
+all the cases where T is not a pointer, and a partial specialization to
+handle all the cases where T is a pointer:</p>
+<pre class="programlisting"><code class="literal"><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> <a href="reference.html#boost_typetraits.is_pointer" title=" is_pointer">is_pointer</a><span class="special"> :</span><span class="keyword"> public</span> <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a><span class="special">{};</span><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> <a href="reference.html#boost_typetraits.is_pointer" title=" is_pointer">is_pointer</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">*&gt;</span><span class="special"> :</span><span class="keyword"> public</span> <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a><span class="special">{};</span></code></pre>
+<p>
+The syntax for partial specialization is somewhat arcane and could easily
+occupy an article in its own right; like full specialization, in order to
+write a partial specialization for a class, you must first declare the
+primary template. The partial specialization contains an extra &lt;...&gt; after the
+class name that contains the partial specialization parameters; these define
+the types that will bind to that partial specialization rather than the
+default template. The rules for what can appear in a partial specialization
+are somewhat convoluted, but as a rule of thumb if you can legally write two
+function overloads of the form:</p>
+<pre class="programlisting"><code class="literal"><span class="keyword">void</span><span class="identifier"> foo</span><span class="special">(</span><span class="identifier">T</span><span class="special">);</span><span class="keyword">
+void</span><span class="identifier"> foo</span><span class="special">(</span><span class="identifier">U</span><span class="special">);</span></code></pre>
+<p>
+Then you can also write a partial specialization of the form:</p>
+<pre class="programlisting"><code class="literal"><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">
+class</span><span class="identifier"> c</span><span class="special">{</span><span class="comment"> /*details*/</span><span class="special"> };</span><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">
+class</span><span class="identifier"> c</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">&gt;{</span><span class="comment"> /*details*/</span><span class="special"> };</span></code></pre>
+<p>
+This rule is by no means foolproof, but it is reasonably simple to remember
+and close enough to the actual rule to be useful for everyday use.</p>
+<p>
+As a more complex example of partial specialization consider the class
+<code class="computeroutput"><span class="identifier">remove_extent</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>. This class defines a single typedef-member <code class="computeroutput"><span class="identifier">type</span></code> that
+is the same type as T but with any top-level array bounds removed;
+this is an example of a traits class that performs a transformation on a type:</p>
+<pre class="programlisting"><code class="literal"><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> <a href="reference.html#boost_typetraits.remove_extent" title=" remove_extent">remove_extent</a><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"> T</span><span class="special">,</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> N</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.remove_extent" title=" remove_extent">remove_extent</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">[</span><span class="identifier">N</span><span class="special">]&gt;</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></code></pre>
+<p>
+The aim of <code class="computeroutput"><a href="reference.html#boost_typetraits.remove_extent" title=" remove_extent">remove_extent</a></code> is this: imagine a generic algorithm that is
+passed an array type as a template parameter, <code class="computeroutput"><a href="reference.html#boost_typetraits.remove_extent" title=" remove_extent">remove_extent</a></code> provides a
+means of determining the underlying type of the array. For example
+<code class="computeroutput"><span class="identifier">remove_extent</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">[</span><span class="number">4</span><span class="special">][</span><span class="number">5</span><span class="special">]&gt;::</span><span class="identifier">type</span></code> would evaluate to the type <code class="computeroutput"><span class="keyword">int</span><span class="special">[</span><span class="number">5</span><span class="special">]</span></code>.
+This example also shows that the number of template parameters in a
+partial specialization does not have to match the number in the
+default template. However, the number of parameters that appear after the
+class name do have to match the number and type of the parameters in the
+default template.</p>
+<a name="background.optimized_copy"></a><h4>
+<a name="id2794767"></a>Optimized copy</h4>
+<p>
+As an example of how the type traits classes can be used, consider the
+standard library algorithm copy:</p>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="identifier"> Iter1</span><span class="special">,</span><span class="keyword"> typename</span><span class="identifier"> Iter2</span><span class="special">&gt;</span><span class="identifier">
+Iter2</span><span class="identifier"> copy</span><span class="special">(</span><span class="identifier">Iter1</span><span class="identifier"> first</span><span class="special">,</span><span class="identifier"> Iter1</span><span class="identifier"> last</span><span class="special">,</span><span class="identifier"> Iter2</span><span class="identifier"> out</span><span class="special">);</span></code></pre>
+<p>
+Obviously, there's no problem writing a generic version of copy that works
+for all iterator types <code class="computeroutput"><span class="identifier">Iter1</span></code> and <code class="computeroutput"><span class="identifier">Iter2</span></code>; however, there are some
+circumstances when the copy operation can best be performed by a call to
+<code class="computeroutput"><span class="identifier">memcpy</span></code>. In order to implement copy in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code> all of the
+following conditions need to be met:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+Both of the iterator types <code class="computeroutput"><span class="identifier">Iter1</span></code> and <code class="computeroutput"><span class="identifier">Iter2</span></code> must be pointers.
+</li>
+<li>
+Both <code class="computeroutput"><span class="identifier">Iter1</span></code> and <code class="computeroutput"><span class="identifier">Iter2</span></code> must point to the same type - excluding const and
+volatile-qualifiers.
+</li>
+<li>
+The type pointed to by <code class="computeroutput"><span class="identifier">Iter1</span></code> must have a trivial assignment operator.
+</li>
+</ul></div>
+<p>
+By trivial assignment operator we mean that the type is either a scalar type<a href="background.html#background.references">[3]</a> or:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+The type has no user defined assignment operator.
+</li>
+<li>
+The type does not have any data members that are references.
+</li>
+<li>
+All base classes, and all data member objects must have trivial assignment operators.
+</li>
+</ul></div>
+<p>
+If all these conditions are met then a type can be copied using <code class="computeroutput"><span class="identifier">memcpy</span></code>
+rather than using a compiler generated assignment operator. The type-traits
+library provides a class <code class="computeroutput"><a href="reference.html#boost_typetraits.has_trivial_assign" title=" has_trivial_assign">has_trivial_assign</a></code>, such that
+<code class="computeroutput"><span class="identifier">has_trivial_assign</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is true only if T has a trivial assignment operator.
+This class "just works" for scalar types, but has to be explicitly
+specialised for class/struct types that also happen to have a trivial assignment
+operator. In other words if <a href="reference.html#boost_typetraits.has_trivial_assign" title=" has_trivial_assign">has_trivial_assign</a> gives the wrong answer,
+it will give the "safe" wrong answer - that trivial assignment is not allowable.</p>
+<p>
+The code for an optimized version of copy that uses <code class="computeroutput"><span class="identifier">memcpy</span></code> where appropriate is
+given in <a href="examples.html#boost_typetraits.copy" title=" An Optimized Version of std::copy">the examples</a>. The code begins by defining a template
+function <code class="computeroutput"><span class="identifier">do_copy</span></code> that performs a "slow but safe" copy. The last parameter passed
+to this function may be either a <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code> or a <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code>. Following that
+there is an overload of do_copy that uses <code class="computeroutput"><span class="identifier">memcpy</span></code>: this time the iterators are required
+to actually be pointers to the same type, and the final parameter must be a
+<code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>. Finally, the version of <code class="computeroutput"><span class="identifier">copy</span></code> calls <code class="computeroutput"><span class="identifier">do_copy</span></code>, passing
+<code class="computeroutput"><a href="reference.html#boost_typetraits.has_trivial_assign" title=" has_trivial_assign">has_trivial_assign</a><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">&gt;()</span></code> as the final parameter: this will dispatch
+to the optimized version where appropriate, otherwise it will call the
+"slow but safe version".</p>
+<a name="background.was_it_worth_it_"></a><h4>
+<a name="id2795198"></a>Was it worth it?</h4>
+<p>
+It has often been repeated in these columns that "premature optimization is the
+root of all evil" <a href="background.html#background.references">[4]</a>. So the question must be asked: was our optimization
+premature? To put this in perspective the timings for our version of copy
+compared a conventional generic copy<a href="background.html#background.references">[5]</a> are shown in table 1.</p>
+<p>
+Clearly the optimization makes a difference in this case; but, to be fair,
+the timings are loaded to exclude cache miss effects - without this
+accurate comparison between algorithms becomes difficult. However, perhaps
+we can add a couple of caveats to the premature optimization rule:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+If you use the right algorithm for the job in the first place then optimization
+will not be required; in some cases, memcpy is the right algorithm.
+</li>
+<li>
+If a component is going to be reused in many places by many people then
+optimizations may well be worthwhile where they would not be so for a single
+case - in other words, the likelihood that the optimization will be
+absolutely necessary somewhere, sometime is that much higher.
+Just as importantly the perceived value of the stock implementation will be
+higher: there is no point standardizing an algorithm if users reject it on
+the grounds that there are better, more heavily optimized versions available.
+</li>
+</ul></div>
+<div class="informaltable">
+<h4>
+<a name="id2795251"></a><span class="table-title">Time taken to copy 1000 elements using `copy&lt;const T*, T*&gt;` (times in micro-seconds)</span>
+</h4>
+<table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Version</th>
+<th>T</th>
+<th>Time</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>"Optimized" copy</td>
+<td>char</td>
+<td>0.99</td>
+</tr>
+<tr>
+<td>Conventional copy</td>
+<td>char</td>
+<td>8.07</td>
+</tr>
+<tr>
+<td>"Optimized" copy</td>
+<td>int</td>
+<td>2.52</td>
+</tr>
+<tr>
+<td>Conventional copy</td>
+<td>int</td>
+<td>8.02</td>
+</tr>
+</tbody>
+</table>
+</div>
+<a name="background.pair_of_references"></a><h4>
+<a name="id2795312"></a>Pair of References</h4>
+<p>
+The optimized copy example shows how type traits may be used to perform
+optimization decisions at compile-time. Another important usage of type traits
+is to allow code to compile that otherwise would not do so unless excessive
+partial specialization is used. This is possible by delegating partial
+specialization to the type traits classes. Our example for this form of
+usage is a pair that can hold references <a href="background.html#background.references">[6]</a>.</p>
+<p>
+First, let us examine the definition of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>, omitting the
+comparison operators, default constructor, and template copy constructor for
+simplicity:</p>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">typename</span><span class="identifier"> T1</span><span class="special">,</span><span class="keyword"> typename</span><span class="identifier"> T2</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> pair</span><span class="special">
+{</span><span class="keyword">
+typedef</span><span class="identifier"> T1</span><span class="identifier"> first_type</span><span class="special">;</span><span class="keyword">
+typedef</span><span class="identifier"> T2</span><span class="identifier"> second_type</span><span class="special">;</span><span class="identifier">
+
+T1</span><span class="identifier"> first</span><span class="special">;</span><span class="identifier">
+T2</span><span class="identifier"> second</span><span class="special">;</span><span class="identifier">
+
+pair</span><span class="special">(</span><span class="keyword">const</span><span class="identifier"> T1</span><span class="special"> &amp;</span><span class="identifier"> nfirst</span><span class="special">,</span><span class="keyword"> const</span><span class="identifier"> T2</span><span class="special"> &amp;</span><span class="identifier"> nsecond</span><span class="special">)</span><span class="special">
+:</span><span class="identifier">first</span><span class="special">(</span><span class="identifier">nfirst</span><span class="special">),</span><span class="identifier"> second</span><span class="special">(</span><span class="identifier">nsecond</span><span class="special">)</span><span class="special"> {</span><span class="special"> }</span><span class="special">
+};</span></code></pre>
+<p>
+Now, this "pair" cannot hold references as it currently stands, because the
+constructor would require taking a reference to a reference, which is
+currently illegal <a href="background.html#background.references">[7]</a>. Let us consider what the constructor's parameters
+would have to be in order to allow "pair" to hold non-reference types,
+references, and constant references:</p>
+<div class="informaltable">
+<h4>
+<a name="id2795604"></a><span class="table-title">Required Constructor Argument Types</span>
+</h4>
+<table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Type of <code class="computeroutput"><span class="identifier">T1</span></code>
+</th>
+<th>Type of parameter to initializing constructor</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>T</td>
+<td>const T &amp;</td>
+</tr>
+<tr>
+<td>T &amp;</td>
+<td>T &amp;</td>
+</tr>
+<tr>
+<td>const T &amp;</td>
+<td>const T &amp;</td>
+</tr>
+</tbody>
+</table>
+</div>
+<p>
+A little familiarity with the type traits classes allows us to construct a
+single mapping that allows us to determine the type of parameter from the
+type of the contained class. The type traits classes provide a
+transformation <a href="reference.html#boost_typetraits.add_reference" title=" add_reference">add_reference</a>, which adds a reference to its type,
+unless it is already a reference.</p>
+<div class="informaltable">
+<h4>
+<a name="id2795669"></a><span class="table-title">Using add_reference to synthesize the correct constructor type</span>
+</h4>
+<table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Type of <code class="computeroutput"><span class="identifier">T1</span></code>
+</th>
+<th>Type of <code class="computeroutput"><span class="keyword">const</span><span class="identifier"> T1</span></code>
+</th>
+<th>Type of <code class="computeroutput"><span class="identifier">add_reference</span><span class="special">&lt;</span><span class="keyword">const</span><span class="identifier"> T1</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>T</td>
+<td>const T</td>
+<td>const T &amp;</td>
+</tr>
+<tr>
+<td>T &amp;</td>
+<td>T &amp; [8]</td>
+<td>T &amp;</td>
+</tr>
+<tr>
+<td>const T &amp;</td>
+<td>const T &amp;</td>
+<td>const T &amp;</td>
+</tr>
+</tbody>
+</table>
+</div>
+<p>
+This allows us to build a primary template definition for <code class="computeroutput"><span class="identifier">pair</span></code> that can
+contain non-reference types, reference types, and constant reference types:</p>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">typename</span><span class="identifier"> T1</span><span class="special">,</span><span class="keyword"> typename</span><span class="identifier"> T2</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> pair</span><span class="special">
+{</span><span class="keyword">
+typedef</span><span class="identifier"> T1</span><span class="identifier"> first_type</span><span class="special">;</span><span class="keyword">
+typedef</span><span class="identifier"> T2</span><span class="identifier"> second_type</span><span class="special">;</span><span class="identifier">
+
+T1</span><span class="identifier"> first</span><span class="special">;</span><span class="identifier">
+T2</span><span class="identifier"> second</span><span class="special">;</span><span class="identifier">
+
+pair</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><a href="reference.html#boost_typetraits.add_reference" title=" add_reference">add_reference</a><span class="special">&lt;</span><span class="keyword">const</span><span class="identifier"> T1</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="identifier"> nfirst</span><span class="special">,</span><span class="identifier">
+ boost</span><span class="special">::</span><a href="reference.html#boost_typetraits.add_reference" title=" add_reference">add_reference</a><span class="special">&lt;</span><span class="keyword">const</span><span class="identifier"> T2</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="identifier"> nsecond</span><span class="special">)</span><span class="special">
+:</span><span class="identifier">first</span><span class="special">(</span><span class="identifier">nfirst</span><span class="special">),</span><span class="identifier"> second</span><span class="special">(</span><span class="identifier">nsecond</span><span class="special">)</span><span class="special"> {</span><span class="special"> }</span><span class="special">
+};</span></code></pre>
+<p>
+Add back in the standard comparison operators, default constructor,
+and template copy constructor (which are all the same), and you have a
+<code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code> that can hold reference types!</p>
+<p>
+This same extension could have been done using partial template specialization
+of <code class="computeroutput"><span class="identifier">pair</span></code>, but to specialize <code class="computeroutput"><span class="identifier">pair</span></code> in this way would require three partial
+specializations, plus the primary template. Type traits allows us to
+define a single primary template that adjusts itself auto-magically to
+any of these partial specializations, instead of a brute-force partial
+specialization approach. Using type traits in this fashion allows
+programmers to delegate partial specialization to the type traits classes,
+resulting in code that is easier to maintain and easier to understand.</p>
+<a name="background.conclusion"></a><h4>
+<a name="id2796119"></a>Conclusion</h4>
+<p>
+We hope that in this article we have been able to give you some idea of
+what type-traits are all about. A more complete listing of the available
+classes are in the boost documentation, along with further examples using
+type traits. Templates have enabled C++ uses to take the advantage of the
+code reuse that generic programming brings; hopefully this article has
+shown that generic programming does not have to sink to the lowest common
+denominator, and that templates can be optimal as well as generic.</p>
+<a name="background.acknowledgements"></a><h4>
+<a name="id2796140"></a>Acknowledgements</h4>
+<p>
+The authors would like to thank Beman Dawes and Howard Hinnant for their
+helpful comments when preparing this article.</p>
+<a name="background.references"></a><h4>
+<a name="id2796154"></a>References</h4>
+<div class="orderedlist"><ol type="1">
+<li>
+Nathan C. Myers, C++ Report, June 1995.
+</li>
+<li>
+The type traits library is based upon contributions by Steve Cleary, Beman Dawes, Howard Hinnant and John Maddock: it can be found at www.boost.org.
+</li>
+<li>
+A scalar type is an arithmetic type (i.e. a built-in integer or floating point type), an enumeration type, a pointer, a pointer to member, or a const- or volatile-qualified version of one of these types.
+</li>
+<li>
+This quote is from Donald Knuth, ACM Computing Surveys, December 1974, pg 268.
+</li>
+<li>
+The test code is available as part of the boost utility library (see algo_opt_examples.cpp), the code was compiled with gcc 2.95 with all optimisations turned on, tests were conducted on a 400MHz Pentium II machine running Microsoft Windows 98.
+</li>
+<li>
+John Maddock and Howard Hinnant have submitted a "compressed_pair" library to Boost, which uses a technique similar to the one described here to hold references. Their pair also uses type traits to determine if any of the types are empty, and will derive instead of contain to conserve space -- hence the name "compressed".
+</li>
+<li>
+This is actually an issue with the C++ Core Language Working Group (issue #106), submitted by Bjarne Stroustrup. The tentative resolution is to allow a "reference to a reference to T" to mean the same thing as a "reference to T", but only in template instantiation, in a method similar to multiple cv-qualifiers.
+</li>
+<li>
+For those of you who are wondering why this shouldn't be const-qualified, remember that references are always implicitly constant (for example, you can't re-assign a reference). Remember also that "const T &amp;" is something completely different. For this reason, cv-qualifiers on template type arguments that are references are ignored.
+</li>
+</ol></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2000, 2005 Adobe Systems Inc, David Abrahams, Steve Cleary,
+ Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus,
+ Itay Maman, John Maddock, Thorsten Ottosen, Robert Ramey and Jeremy Siek</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../boost_typetraits.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typetraits.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="category.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_typetraits/category.html b/doc/html/boost_typetraits/category.html
new file mode 100644
index 0000000000..c05632ff31
--- /dev/null
+++ b/doc/html/boost_typetraits/category.html
@@ -0,0 +1,327 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Type Traits by Category</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../boost_typetraits.html" title="Chapter 14. Boost.TypeTraits">
+<link rel="prev" href="background.html" title=" Background and Tutorial">
+<link rel="next" href="user_defined.html" title=" User Defined Specializations">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="background.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typetraits.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="user_defined.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_typetraits.category"></a> Type Traits by Category</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="category.html#boost_typetraits.value_traits"> Type Traits that Describe the Properties of a Type</a></span></dt>
+<dt><span class="section"><a href="category.html#boost_typetraits.transform"> Type Traits that Transform One Type to Another</a></span></dt>
+<dt><span class="section"><a href="category.html#boost_typetraits.alignment"> Synthesizing Types with Specific Alignments</a></span></dt>
+<dt><span class="section"><a href="category.html#boost_typetraits.function"> Decomposing Function Types</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.value_traits"></a> Type Traits that Describe the Properties of a Type</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="category.html#boost_typetraits.primary"> Categorizing a Type</a></span></dt>
+<dt><span class="section"><a href="category.html#boost_typetraits.properties"> General Type Properties</a></span></dt>
+<dt><span class="section"><a href="category.html#boost_typetraits.relate"> Relationships Between Two Types</a></span></dt>
+</dl></div>
+<p>
+These traits are all <span class="emphasis"><em>value traits</em></span>, which is to say the traits classes all
+inherit from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">integral_constant</a>, and are used to access some numerical
+property of a type. Often this is a simple true or false Boolean value,
+but in a few cases may be some other integer value (for example when dealing
+with type alignments, or array bounds: see <code class="computeroutput"><a href="reference.html#boost_typetraits.alignment_of" title=" alignment_of">alignment_of</a></code>, <code class="computeroutput"><a href="reference.html#boost_typetraits.rank" title=" rank">rank</a></code> and <code class="computeroutput"><a href="reference.html#boost_typetraits.extent" title=" extent">extent</a></code>).</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_typetraits.primary"></a> Categorizing a Type</h5></div></div></div>
+<p>
+These traits identify what "kind" of type some type <code class="computeroutput"><span class="identifier">T</span></code> is. These are split into
+two groups: primary traits which are all mutually exclusive, and composite traits
+that are compositions of one or more primary traits.</p>
+<p>
+For any given type, exactly one primary type trait will inherit from
+<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>, and all the others will inherit from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>, in other
+words these traits are mutually exclusive.</p>
+<p>
+This means that <code class="computeroutput"><a href="reference.html#boost_typetraits.is_integral" title=" is_integral">is_integral</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span></code> and <code class="computeroutput"><a href="reference.html#boost_typetraits.is_floating_point" title=" is_floating_point">is_floating_point</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span></code>
+will only ever be true for built-in types; if you want to check for a
+user-defined class type that behaves "as if" it is an integral or floating point type,
+then use the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="keyword"> template</span></code> instead.</p>
+<p><span class="bold"><strong>Synopsis:</strong></span></p>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_array" title=" is_array">is_array</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_class" title=" is_class">is_class</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_enum" title=" is_enum">is_enum</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_floating_point" title=" is_floating_point">is_floating_point</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_function" title=" is_function">is_function</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_integral" title=" is_integral">is_integral</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_member_function_pointer" title=" is_member_function_pointer">is_member_function_pointer</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_member_object_pointer" title=" is_member_object_pointer">is_member_object_pointer</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_pointer" title=" is_pointer">is_pointer</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_reference" title=" is_reference">is_reference</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_union" title=" is_union">is_union</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_void" title=" is_void">is_void</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;;</span></code></pre>
+<p>
+The following traits are made up of the union of one or more type
+categorizations. A type may belong to more than one of these categories,
+in addition to one of the primary categories.</p>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_arithmetic" title=" is_arithmetic">is_arithmetic</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_compound" title=" is_compound">is_compound</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_fundamental" title=" is_fundamental">is_fundamental</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_member_pointer" title=" is_member_pointer">is_member_pointer</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_object" title=" is_object">is_object</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_scalar" title=" is_scalar">is_scalar</a><span class="special">;</span></code></pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_typetraits.properties"></a> General Type Properties</h5></div></div></div>
+<p>
+The following templates describe the general properties of a type.</p>
+<p><span class="bold"><strong>Synopsis:</strong></span></p>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.alignment_of" title=" alignment_of">alignment_of</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.has_nothrow_assign" title=" has_nothrow_assign">has_nothrow_assign</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.has_nothrow_constructor" title=" has_nothrow_constructor">has_nothrow_constructor</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.has_nothrow_copy" title=" has_nothrow_copy">has_nothrow_copy</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.has_trivial_assign" title=" has_trivial_assign">has_trivial_assign</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.has_trivial_constructor" title=" has_trivial_constructor">has_trivial_constructor</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.has_trivial_copy" title=" has_trivial_copy">has_trivial_copy</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.has_trivial_destructor" title=" has_trivial_destructor">has_trivial_destructor</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.has_virtual_destructor" title=" has_virtual_destructor">has_virtual_destructor</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_abstract" title=" is_abstract">is_abstract</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_const" title=" is_const">is_const</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_empty" title=" is_empty">is_empty</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_stateless" title=" is_stateless">is_stateless</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_pod" title=" is_pod">is_pod</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_polymorphic" title=" is_polymorphic">is_polymorphic</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_volatile" title=" is_volatile">is_volatile</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">,</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> N</span><span class="special"> =</span><span class="number"> 0</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.extent" title=" extent">extent</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.rank" title=" rank">rank</a><span class="special">;</span></code></pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_typetraits.relate"></a> Relationships Between Two Types</h5></div></div></div>
+<p>
+These templates determine the whether there is a relationship
+between two types:</p>
+<p><span class="bold"><strong>Synopsis:</strong></span></p>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> Base</span><span class="special">,</span><span class="keyword"> class</span><span class="identifier"> Derived</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_base_of" title=" is_base_of">is_base_of</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> From</span><span class="special">,</span><span class="keyword"> class</span><span class="identifier"> To</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_convertible" title=" is_convertible">is_convertible</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">,</span><span class="keyword"> class</span><span class="identifier"> U</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.is_same" title=" is_same">is_same</a><span class="special">;</span></code></pre>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.transform"></a> Type Traits that Transform One Type to Another</h4></div></div></div>
+<p>
+The following templates transform one type to another,
+based upon some well-defined rule.
+Each template has a single member called <code class="computeroutput"><span class="identifier">type</span></code> that is the
+result of applying the transformation to the template argument <code class="computeroutput"><span class="identifier">T</span></code>.</p>
+<p><span class="bold"><strong>Synopsis:</strong></span></p>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.add_const" title=" add_const">add_const</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.add_cv" title=" add_cv">add_cv</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.add_pointer" title=" add_pointer">add_pointer</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.add_reference" title=" add_reference">add_reference</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.add_volatile" title=" add_volatile">add_volatile</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.remove_all_extents" title=" remove_all_extents">remove_all_extents</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.remove_const" title=" remove_const">remove_const</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.remove_cv" title=" remove_cv">remove_cv</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.remove_extent" title=" remove_extent">remove_extent</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.remove_pointer" title=" remove_pointer">remove_pointer</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.remove_reference" title=" remove_reference">remove_reference</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.remove_volatile" title=" remove_volatile">remove_volatile</a><span class="special">;</span></code></pre>
+<a name="transform.broken_compiler_workarounds_"></a><h4>
+<a name="id2798818"></a>Broken Compiler Workarounds:</h4>
+<p>
+For all of these templates support for partial specialization of class templates is
+required to correctly implement the transformation.
+On the other hand, practice shows that many of the templates from this
+category are very useful, and often essential for implementing some
+generic libraries. Lack of these templates is often one of the major
+limiting factors in porting those libraries to compilers that do not yet
+support this language feature. As some of these compilers are going to be
+around for a while, and at least one of them is very wide-spread,
+it was decided that the library should provide workarounds where possible.</p>
+<p>
+The basic idea behind the workaround is to manually define full
+specializations of all type transformation templates for all fundamental types,
+and all their 1st and 2nd rank cv-[un]qualified derivative pointer types, and to
+provide a user-level macro that will define all the explicit specializations needed
+for any user-defined type T.</p>
+<p>
+The first part guarantees the successful compilation of something like this:</p>
+<pre class="programlisting"><code class="literal"><span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span><span class="identifier"> remove_reference</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">));</span><span class="identifier">
+BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="keyword">char</span><span class="keyword"> const</span><span class="special">,</span><span class="identifier"> remove_reference</span><span class="special">&lt;</span><span class="keyword">char</span><span class="keyword"> const</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">));</span><span class="identifier">
+BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="keyword">char</span><span class="keyword"> volatile</span><span class="special">,</span><span class="identifier"> remove_reference</span><span class="special">&lt;</span><span class="keyword">char</span><span class="keyword"> volatile</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">));</span><span class="identifier">
+BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="keyword">char</span><span class="keyword"> const</span><span class="keyword"> volatile</span><span class="special">,</span><span class="identifier"> remove_reference</span><span class="special">&lt;</span><span class="keyword">char</span><span class="keyword"> const</span><span class="keyword"> volatile</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">));</span><span class="identifier">
+BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">*,</span><span class="identifier"> remove_reference</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">*&amp;&gt;::</span><span class="identifier">type</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">));</span><span class="identifier">
+BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="keyword">char</span><span class="keyword"> const</span><span class="special">*,</span><span class="identifier"> remove_reference</span><span class="special">&lt;</span><span class="keyword">char</span><span class="keyword"> const</span><span class="special">*&amp;&gt;::</span><span class="identifier">type</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">));</span><span class="special">
+...</span><span class="identifier">
+BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="keyword">char</span><span class="keyword"> const</span><span class="keyword"> volatile</span><span class="special">*</span><span class="keyword"> const</span><span class="keyword"> volatile</span><span class="special">*</span><span class="keyword"> const</span><span class="keyword"> volatile</span><span class="special">,</span><span class="identifier"> remove_reference</span><span class="special">&lt;</span><span class="keyword">char</span><span class="keyword"> const</span><span class="keyword"> volatile</span><span class="special">*</span><span class="keyword"> const</span><span class="keyword"> volatile</span><span class="special">*</span><span class="keyword"> const</span><span class="keyword"> volatile</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">));</span></code></pre>
+<p>
+and the second part provides the library's users with a mechanism to make the
+above code work not only for <code class="computeroutput"><span class="keyword">char</span></code>, <code class="computeroutput"><span class="keyword">int</span></code> or other built-in type,
+but for they own types as well:</p>
+<pre class="programlisting"><code class="literal"><span class="keyword">namespace</span><span class="identifier"> myspace</span><span class="special">{</span><span class="keyword">
+ struct</span><span class="identifier"> MyClass</span><span class="special"> {};</span><span class="special">
+}</span><span class="comment">
+// declare this at global scope:
+</span><span class="identifier">BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION</span><span class="special">(</span><span class="identifier">myspace</span><span class="special">::</span><span class="identifier">MyClass</span><span class="special">)</span><span class="comment">
+// transformations on myspace::MyClass now work:
+</span><span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">myspace</span><span class="special">::</span><span class="identifier">MyClass</span><span class="special">,</span><span class="identifier"> remove_reference</span><span class="special">&lt;</span><span class="identifier">myspace</span><span class="special">::</span><span class="identifier">MyClass</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">));</span><span class="identifier">
+BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">myspace</span><span class="special">::</span><span class="identifier">MyClass</span><span class="special">,</span><span class="identifier"> remove_const</span><span class="special">&lt;</span><span class="identifier">myspace</span><span class="special">::</span><span class="identifier">MyClass</span><span class="keyword"> const</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">));</span><span class="comment">
+// etc.
+</span></code></pre>
+<p>
+Note that the macro BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION evaluates
+to nothing on those compilers that <span class="bold"><strong>do</strong></span> support partial specialization.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.alignment"></a> Synthesizing Types with Specific Alignments</h4></div></div></div>
+<p>
+Some low level memory management routines need to synthesize a POD type with
+specific alignment properties. The template <code class="computeroutput"><a href="reference.html#boost_typetraits.type_with_alignment" title=" type_with_alignment">type_with_alignment</a></code> finds the smallest
+type with a specified alignment, while template <code class="computeroutput"><a href="reference.html#boost_typetraits.aligned_storage" title=" aligned_storage">aligned_storage</a></code> creates a type
+with a specific size and alignment.</p>
+<p><span class="bold"><strong>Synopsis</strong></span></p>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> Align</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.type_with_alignment" title=" type_with_alignment">type_with_alignment</a><span class="special">;</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> Size</span><span class="special">,</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> Align</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.aligned_storage" title=" aligned_storage">aligned_storage</a><span class="special">;</span></code></pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.function"></a> Decomposing Function Types</h4></div></div></div>
+<p>
+The class template <a href="reference.html#boost_typetraits.function_traits" title=" function_traits">function_traits</a> extracts information from function types
+(see also <a href="reference.html#boost_typetraits.is_function" title=" is_function">is_function</a>). This traits class allows you to tell how many arguments
+a function takes, what those argument types are, and what the return type is.</p>
+<p><span class="bold"><strong>Synopsis</strong></span></p>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> Align</span><span class="special">&gt;</span><span class="keyword">
+struct</span> <a href="reference.html#boost_typetraits.function_traits" title=" function_traits">function_traits</a><span class="special">;</span></code></pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2000, 2005 Adobe Systems Inc, David Abrahams, Steve Cleary,
+ Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus,
+ Itay Maman, John Maddock, Thorsten Ottosen, Robert Ramey and Jeremy Siek</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="background.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typetraits.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="user_defined.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_typetraits/credits.html b/doc/html/boost_typetraits/credits.html
new file mode 100644
index 0000000000..8d9544efbd
--- /dev/null
+++ b/doc/html/boost_typetraits/credits.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Credits</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../boost_typetraits.html" title="Chapter 14. Boost.TypeTraits">
+<link rel="prev" href="reference.html" title=" Alphabetical Reference">
+<link rel="next" href="../variant.html" title="Chapter 15. Boost.Variant">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typetraits.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../variant.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_typetraits.credits"></a> Credits</h3></div></div></div>
+<p>
+This documentation was pulled together by John Maddock, using
+<a href="../../../tools/quickbook/doc/html/index.html" target="_top">Boost.Quickbook</a>
+and <a href="../boostbook.html" target="_top">Boost.DocBook</a>.</p>
+<p>
+The original version of this library was created by Steve Cleary,
+Beman Dawes, Howard Hinnant, and John Maddock. John Maddock is the
+current maintainer of the library.</p>
+<p>
+This version of type traits library is based on contributions by
+Adobe Systems Inc, David Abrahams, Steve Cleary,
+Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus,
+Itay Maman, John Maddock, Thorsten Ottosen, Robert Ramey and Jeremy Siek.</p>
+<p>
+Mat Marcus and Jesse Jones invented, and
+<a href="http://opensource.adobe.com/project4/project.shtml" target="_top">published a paper describing</a>,
+the partial specialization workarounds used in this library.</p>
+<p>
+Aleksey Gurtovoy added MPL integration to the library.</p>
+<p>
+The <a href="reference.html#boost_typetraits.is_convertible" title=" is_convertible">is_convertible</a> template is based on code originally devised by
+Andrei Alexandrescu, see
+"<a href="http://www.cuj.com/experts/1810/alexandr.htm?topic=experts" target="_top">Generic&lt;Programming&gt;: Mappings between Types and Values</a>".</p>
+<p>
+The latest version of this library and documentation can be found at
+<a href="http://www.boost.org" target="_top">www.boost.org</a>. Bugs, suggestions and discussion
+should be directed to boost@lists.boost.org
+(see <a href="http://www.boost.org/more/mailing_lists.htm#main" target="_top">www.boost.org/more/mailing_lists.htm#main</a> for subscription details).</p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2000, 2005 Adobe Systems Inc, David Abrahams, Steve Cleary,
+ Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus,
+ Itay Maman, John Maddock, Thorsten Ottosen, Robert Ramey and Jeremy Siek</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typetraits.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../variant.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_typetraits/examples.html b/doc/html/boost_typetraits/examples.html
new file mode 100644
index 0000000000..3de5f54587
--- /dev/null
+++ b/doc/html/boost_typetraits/examples.html
@@ -0,0 +1,231 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Examples</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../boost_typetraits.html" title="Chapter 14. Boost.TypeTraits">
+<link rel="prev" href="mpl.html" title=" MPL Interoperability">
+<link rel="next" href="reference.html" title=" Alphabetical Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mpl.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typetraits.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_typetraits.examples"></a> Examples</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="examples.html#boost_typetraits.copy"> An Optimized Version of std::copy</a></span></dt>
+<dt><span class="section"><a href="examples.html#boost_typetraits.fill"> An Optimised Version of std::fill</a></span></dt>
+<dt><span class="section"><a href="examples.html#boost_typetraits.destruct"> An Example that Omits Destructor Calls For Types with Trivial Destructors</a></span></dt>
+<dt><span class="section"><a href="examples.html#boost_typetraits.iter"> An improved Version of std::iter_swap</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.copy"></a> An Optimized Version of std::copy</h4></div></div></div>
+<p>
+Demonstrates a version of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">copy</span></code> that uses <code class="computeroutput"><a href="reference.html#boost_typetraits.has_trivial_assign" title=" has_trivial_assign">has_trivial_assign</a></code> to
+determine whether to use <code class="computeroutput"><span class="identifier">memcpy</span></code> to optimise the copy operation
+(see <a href="../../../libs/type_traits/examples/copy_example.cpp" target="_top">copy_example.cpp</a>):</p>
+<pre class="programlisting"><code class="literal"><span class="comment">//
+// opt::copy
+// same semantics as std::copy
+// calls memcpy where appropriate.
+//
+</span><span class="keyword">
+namespace</span><span class="identifier"> detail</span><span class="special">{</span><span class="keyword">
+
+template</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="identifier"> I1</span><span class="special">,</span><span class="keyword"> typename</span><span class="identifier"> I2</span><span class="special">,</span><span class="keyword"> bool</span><span class="identifier"> b</span><span class="special">&gt;</span><span class="identifier">
+I2</span><span class="identifier"> copy_imp</span><span class="special">(</span><span class="identifier">I1</span><span class="identifier"> first</span><span class="special">,</span><span class="identifier"> I1</span><span class="identifier"> last</span><span class="special">,</span><span class="identifier"> I2</span><span class="identifier"> out</span><span class="special">,</span><span class="keyword"> const</span><span class="identifier"> boost</span><span class="special">::</span><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">integral_constant</a><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span><span class="identifier"> b</span><span class="special">&gt;&amp;)</span><span class="special">
+{</span><span class="keyword">
+ while</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="special">
+ {</span><span class="special">
+ *</span><span class="identifier">out</span><span class="special"> =</span><span class="special"> *</span><span class="identifier">first</span><span class="special">;</span><span class="special">
+ ++</span><span class="identifier">out</span><span class="special">;</span><span class="special">
+ ++</span><span class="identifier">first</span><span class="special">;</span><span class="special">
+ }</span><span class="keyword">
+ return</span><span class="identifier"> out</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"> T</span><span class="special">&gt;</span><span class="identifier">
+T</span><span class="special">*</span><span class="identifier"> copy_imp</span><span class="special">(</span><span class="keyword">const</span><span class="identifier"> T</span><span class="special">*</span><span class="identifier"> first</span><span class="special">,</span><span class="keyword"> const</span><span class="identifier"> T</span><span class="special">*</span><span class="identifier"> last</span><span class="special">,</span><span class="identifier"> T</span><span class="special">*</span><span class="identifier"> out</span><span class="special">,</span><span class="keyword"> const</span><span class="identifier"> boost</span><span class="special">::</span><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a><span class="special">&amp;)</span><span class="special">
+{</span><span class="identifier">
+ memcpy</span><span class="special">(</span><span class="identifier">out</span><span class="special">,</span><span class="identifier"> first</span><span class="special">,</span><span class="special"> (</span><span class="identifier">last</span><span class="special">-</span><span class="identifier">first</span><span class="special">)*</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">T</span><span class="special">));</span><span class="keyword">
+ return</span><span class="identifier"> out</span><span class="special">+(</span><span class="identifier">last</span><span class="special">-</span><span class="identifier">first</span><span class="special">);</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"> I1</span><span class="special">,</span><span class="keyword"> typename</span><span class="identifier"> I2</span><span class="special">&gt;</span><span class="keyword">
+inline</span><span class="identifier"> I2</span><span class="identifier"> copy</span><span class="special">(</span><span class="identifier">I1</span><span class="identifier"> first</span><span class="special">,</span><span class="identifier"> I1</span><span class="identifier"> last</span><span class="special">,</span><span class="identifier"> I2</span><span class="identifier"> out</span><span class="special">)</span><span class="special">
+{</span><span class="comment">
+ //
+ // We can copy with memcpy if T has a trivial assignment operator,
+ // and if the iterator arguments are actually pointers (this last
+ // requirement we detect with overload resolution):
+ //
+</span><span class="keyword"> typedef</span><span class="keyword"> typename</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">I1</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="identifier"> value_type</span><span class="special">;</span><span class="keyword">
+ return</span><span class="identifier"> detail</span><span class="special">::</span><span class="identifier">copy_imp</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"> out</span><span class="special">,</span><span class="identifier"> boost</span><span class="special">::</span><a href="reference.html#boost_typetraits.has_trivial_assign" title=" has_trivial_assign">has_trivial_assign</a><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">&gt;());</span><span class="special">
+}</span></code></pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.fill"></a> An Optimised Version of std::fill</h4></div></div></div>
+<p>
+Demonstrates a version of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">fill</span></code> that uses <code class="computeroutput"><a href="reference.html#boost_typetraits.has_trivial_assign" title=" has_trivial_assign">has_trivial_assign</a></code> to
+determine whether to use <code class="computeroutput"><span class="identifier">memset</span></code> to optimise the fill operation
+(see <a href="../../../libs/type_traits/examples/fill_example.cpp" target="_top">fill_example.cpp</a>):</p>
+<pre class="programlisting"><code class="literal"><span class="comment">//
+// fill
+// same as std::fill, but uses memset where appropriate
+//
+</span><span class="keyword">namespace</span><span class="identifier"> detail</span><span class="special">{</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">typename</span><span class="identifier"> I</span><span class="special">,</span><span class="keyword"> typename</span><span class="identifier"> T</span><span class="special">,</span><span class="keyword"> bool</span><span class="identifier"> b</span><span class="special">&gt;</span><span class="keyword">
+void</span><span class="identifier"> do_fill</span><span class="special">(</span><span class="identifier">I</span><span class="identifier"> first</span><span class="special">,</span><span class="identifier"> I</span><span class="identifier"> last</span><span class="special">,</span><span class="keyword"> const</span><span class="identifier"> T</span><span class="special">&amp;</span><span class="identifier"> val</span><span class="special">,</span><span class="keyword"> const</span><span class="identifier"> boost</span><span class="special">::</span><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">integral_constant</a><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span><span class="identifier"> b</span><span class="special">&gt;&amp;)</span><span class="special">
+{</span><span class="keyword">
+ while</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="special">
+ {</span><span class="special">
+ *</span><span class="identifier">first</span><span class="special"> =</span><span class="identifier"> val</span><span class="special">;</span><span class="special">
+ ++</span><span class="identifier">first</span><span class="special">;</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"> T</span><span class="special">&gt;</span><span class="keyword">
+void</span><span class="identifier"> do_fill</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span><span class="identifier"> first</span><span class="special">,</span><span class="identifier"> T</span><span class="special">*</span><span class="identifier"> last</span><span class="special">,</span><span class="keyword"> const</span><span class="identifier"> T</span><span class="special">&amp;</span><span class="identifier"> val</span><span class="special">,</span><span class="keyword"> const</span><span class="identifier"> boost</span><span class="special">::</span><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a><span class="special">&amp;)</span><span class="special">
+{</span><span class="identifier">
+ std</span><span class="special">::</span><span class="identifier">memset</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span><span class="identifier"> val</span><span class="special">,</span><span class="identifier"> last</span><span class="special">-</span><span class="identifier">first</span><span class="special">);</span><span class="special">
+}</span><span class="special">
+
+}</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> I</span><span class="special">,</span><span class="keyword"> class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+inline</span><span class="keyword"> void</span><span class="identifier"> fill</span><span class="special">(</span><span class="identifier">I</span><span class="identifier"> first</span><span class="special">,</span><span class="identifier"> I</span><span class="identifier"> last</span><span class="special">,</span><span class="keyword"> const</span><span class="identifier"> T</span><span class="special">&amp;</span><span class="identifier"> val</span><span class="special">)</span><span class="special">
+{</span><span class="comment">
+ //
+ // We can do an optimised fill if T has a trivial assignment
+ // operator and if it's size is one:
+ //
+</span><span class="keyword"> typedef</span><span class="identifier"> boost</span><span class="special">::</span><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">integral_constant</a><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span><span class="special">
+ ::</span><span class="identifier">boost</span><span class="special">::</span><a href="reference.html#boost_typetraits.has_trivial_assign" title=" has_trivial_assign">has_trivial_assign</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special"> &amp;&amp;</span><span class="special"> (</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span><span class="special"> ==</span><span class="number"> 1</span><span class="special">)&gt;</span><span class="identifier"> truth_type</span><span class="special">;</span><span class="identifier">
+ detail</span><span class="special">::</span><span class="identifier">do_fill</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"> val</span><span class="special">,</span><span class="identifier"> truth_type</span><span class="special">());</span><span class="special">
+}</span></code></pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.destruct"></a> An Example that Omits Destructor Calls For Types with Trivial Destructors</h4></div></div></div>
+<p>
+Demonstrates a simple algorithm that uses <code class="computeroutput"><span class="identifier">__has_trivial_destruct</span></code> to
+determine whether to destructors need to be called
+(see <a href="../../../libs/type_traits/examples/trivial_destructor_example.cpp" target="_top">trivial_destructor_example.cpp</a>):</p>
+<pre class="programlisting"><code class="literal"><span class="comment">//
+// algorithm destroy_array:
+// The reverse of std::unitialized_copy, takes a block of
+// initialized memory and calls destructors on all objects therein.
+//
+</span><span class="keyword">
+namespace</span><span class="identifier"> detail</span><span class="special">{</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+void</span><span class="identifier"> do_destroy_array</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span><span class="identifier"> first</span><span class="special">,</span><span class="identifier"> T</span><span class="special">*</span><span class="identifier"> last</span><span class="special">,</span><span class="keyword"> const</span><span class="identifier"> boost</span><span class="special">::</span><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a><span class="special">&amp;)</span><span class="special">
+{</span><span class="keyword">
+ while</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="special">
+ {</span><span class="identifier">
+ first</span><span class="special">-&gt;~</span><span class="identifier">T</span><span class="special">();</span><span class="special">
+ ++</span><span class="identifier">first</span><span class="special">;</span><span class="special">
+ }</span><span class="special">
+}</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+inline</span><span class="keyword"> void</span><span class="identifier"> do_destroy_array</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span><span class="identifier"> first</span><span class="special">,</span><span class="identifier"> T</span><span class="special">*</span><span class="identifier"> last</span><span class="special">,</span><span class="keyword"> const</span><span class="identifier"> boost</span><span class="special">::</span><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a><span class="special">&amp;)</span><span class="special">
+{</span><span class="special">
+}</span><span class="special">
+
+}</span><span class="comment"> // namespace detail
+</span><span class="keyword">
+template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+inline</span><span class="keyword"> void</span><span class="identifier"> destroy_array</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span><span class="identifier"> p1</span><span class="special">,</span><span class="identifier"> T</span><span class="special">*</span><span class="identifier"> p2</span><span class="special">)</span><span class="special">
+{</span><span class="identifier">
+ detail</span><span class="special">::</span><span class="identifier">do_destroy_array</span><span class="special">(</span><span class="identifier">p1</span><span class="special">,</span><span class="identifier"> p2</span><span class="special">,</span><span class="special"> ::</span><span class="identifier">boost</span><span class="special">::</span><a href="reference.html#boost_typetraits.has_trivial_destructor" title=" has_trivial_destructor">has_trivial_destructor</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;());</span><span class="special">
+}</span></code></pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.iter"></a> An improved Version of std::iter_swap</h4></div></div></div>
+<p>
+Demonstrates a version of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iter_swap</span></code> that use type traits to
+determine whether an it's arguments are proxying iterators or not,
+if they're not then it just does a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">swap</span></code> of it's dereferenced
+arguments (the
+same as <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iter_swap</span></code> does), however if they are proxying iterators
+then takes special care over the swap to ensure that the algorithm
+works correctly for both proxying iterators, and even iterators of
+different types
+(see <a href="../../../libs/type_traits/examples/iter_swap_example.cpp" target="_top">iter_swap_example.cpp</a>):</p>
+<pre class="programlisting"><code class="literal"><span class="comment">//
+// iter_swap:
+// tests whether iterator is a proxying iterator or not, and
+// uses optimal form accordingly:
+//
+</span><span class="keyword">namespace</span><span class="identifier"> detail</span><span class="special">{</span><span class="keyword">
+
+template</span><span class="special"> &lt;</span><span class="keyword">typename</span><span class="identifier"> I</span><span class="special">&gt;</span><span class="keyword">
+static</span><span class="keyword"> void</span><span class="identifier"> do_swap</span><span class="special">(</span><span class="identifier">I</span><span class="identifier"> one</span><span class="special">,</span><span class="identifier"> I</span><span class="identifier"> two</span><span class="special">,</span><span class="keyword"> const</span><span class="identifier"> boost</span><span class="special">::</span><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a><span class="special">&amp;)</span><span class="special">
+{</span><span class="keyword">
+ typedef</span><span class="keyword"> typename</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="identifier"> v_t</span><span class="special">;</span><span class="identifier">
+ v_t</span><span class="identifier"> v</span><span class="special"> =</span><span class="special"> *</span><span class="identifier">one</span><span class="special">;</span><span class="special">
+ *</span><span class="identifier">one</span><span class="special"> =</span><span class="special"> *</span><span class="identifier">two</span><span class="special">;</span><span class="special">
+ *</span><span class="identifier">two</span><span class="special"> =</span><span class="identifier"> v</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"> I</span><span class="special">&gt;</span><span class="keyword">
+static</span><span class="keyword"> void</span><span class="identifier"> do_swap</span><span class="special">(</span><span class="identifier">I</span><span class="identifier"> one</span><span class="special">,</span><span class="identifier"> I</span><span class="identifier"> two</span><span class="special">,</span><span class="keyword"> const</span><span class="identifier"> boost</span><span class="special">::</span><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a><span class="special">&amp;)</span><span class="special">
+{</span><span class="keyword">
+ using</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">swap</span><span class="special">;</span><span class="identifier">
+ swap</span><span class="special">(*</span><span class="identifier">one</span><span class="special">,</span><span class="special"> *</span><span class="identifier">two</span><span class="special">);</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"> I1</span><span class="special">,</span><span class="keyword"> typename</span><span class="identifier"> I2</span><span class="special">&gt;</span><span class="keyword">
+inline</span><span class="keyword"> void</span><span class="identifier"> iter_swap</span><span class="special">(</span><span class="identifier">I1</span><span class="identifier"> one</span><span class="special">,</span><span class="identifier"> I2</span><span class="identifier"> two</span><span class="special">)</span><span class="special">
+{</span><span class="comment">
+ //
+ // See is both arguments are non-proxying iterators,
+ // and if both iterator the same type:
+ //
+</span><span class="keyword"> typedef</span><span class="keyword"> typename</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">I1</span><span class="special">&gt;::</span><span class="identifier">reference</span><span class="identifier"> r1_t</span><span class="special">;</span><span class="keyword">
+ typedef</span><span class="keyword"> typename</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">I2</span><span class="special">&gt;::</span><span class="identifier">reference</span><span class="identifier"> r2_t</span><span class="special">;</span><span class="keyword">
+
+ typedef</span><span class="identifier"> boost</span><span class="special">::</span><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">integral_constant</a><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span><span class="special">
+ ::</span><span class="identifier">boost</span><span class="special">::</span><a href="reference.html#boost_typetraits.is_reference" title=" is_reference">is_reference</a><span class="special">&lt;</span><span class="identifier">r1_t</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">
+ &amp;&amp;</span><span class="special"> ::</span><span class="identifier">boost</span><span class="special">::</span><a href="reference.html#boost_typetraits.is_reference" title=" is_reference">is_reference</a><span class="special">&lt;</span><span class="identifier">r2_t</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">
+ &amp;&amp;</span><span class="special"> ::</span><span class="identifier">boost</span><span class="special">::</span><a href="reference.html#boost_typetraits.is_same" title=" is_same">is_same</a><span class="special">&lt;</span><span class="identifier">r1_t</span><span class="special">,</span><span class="identifier"> r2_t</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">&gt;</span><span class="identifier"> truth_type</span><span class="special">;</span><span class="identifier">
+
+ detail</span><span class="special">::</span><span class="identifier">do_swap</span><span class="special">(</span><span class="identifier">one</span><span class="special">,</span><span class="identifier"> two</span><span class="special">,</span><span class="identifier"> truth_type</span><span class="special">());</span><span class="special">
+}</span></code></pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2000, 2005 Adobe Systems Inc, David Abrahams, Steve Cleary,
+ Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus,
+ Itay Maman, John Maddock, Thorsten Ottosen, Robert Ramey and Jeremy Siek</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mpl.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typetraits.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_typetraits/intrinsics.html b/doc/html/boost_typetraits/intrinsics.html
new file mode 100644
index 0000000000..74f783f85d
--- /dev/null
+++ b/doc/html/boost_typetraits/intrinsics.html
@@ -0,0 +1,137 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Support for Compiler Intrinsics</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../boost_typetraits.html" title="Chapter 14. Boost.TypeTraits">
+<link rel="prev" href="user_defined.html" title=" User Defined Specializations">
+<link rel="next" href="mpl.html" title=" MPL Interoperability">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="user_defined.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typetraits.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="mpl.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_typetraits.intrinsics"></a> Support for Compiler Intrinsics</h3></div></div></div>
+<p>
+There are some traits that can not be implemented within the current C++ language:
+to make these traits "just work" with user defined types, some kind of additional
+help from the compiler is required. Currently (May 2005) MWCW 9 and Visual C++ 8
+provide the necessary intrinsics, and other compilers will no doubt follow in due
+course.</p>
+<p>
+The Following traits classes always need compiler support to do the right thing
+for all types
+(but all have safe fallback positions if this support is unavailable):</p>
+<div class="itemizedlist"><ul type="disc">
+<li><a href="reference.html#boost_typetraits.is_union" title=" is_union">is_union</a></li>
+<li><a href="reference.html#boost_typetraits.is_pod" title=" is_pod">is_pod</a></li>
+<li><a href="reference.html#boost_typetraits.has_trivial_constructor" title=" has_trivial_constructor">has_trivial_constructor</a></li>
+<li><a href="reference.html#boost_typetraits.has_trivial_copy" title=" has_trivial_copy">has_trivial_copy</a></li>
+<li><a href="reference.html#boost_typetraits.has_trivial_assign" title=" has_trivial_assign">has_trivial_assign</a></li>
+<li><a href="reference.html#boost_typetraits.has_trivial_destructor" title=" has_trivial_destructor">has_trivial_destructor</a></li>
+<li><a href="reference.html#boost_typetraits.has_nothrow_constructor" title=" has_nothrow_constructor">has_nothrow_constructor</a></li>
+<li><a href="reference.html#boost_typetraits.has_nothrow_copy" title=" has_nothrow_copy">has_nothrow_copy</a></li>
+<li><a href="reference.html#boost_typetraits.has_nothrow_assign" title=" has_nothrow_assign">has_nothrow_assign</a></li>
+<li><a href="reference.html#boost_typetraits.has_virtual_destructor" title=" has_virtual_destructor">has_virtual_destructor</a></li>
+</ul></div>
+<p>
+The following traits classes can't be portably implemented in the C++ language,
+although in practice, the implementations do in fact do the right thing on all
+the compilers we know about:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><a href="reference.html#boost_typetraits.is_empty" title=" is_empty">is_empty</a></li>
+<li><a href="reference.html#boost_typetraits.is_polymorphic" title=" is_polymorphic">is_polymorphic</a></li>
+</ul></div>
+<p>
+The following traits classes are dependent on one or more of the above:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><a href="reference.html#boost_typetraits.is_class" title=" is_class">is_class</a></li>
+<li><a href="reference.html#boost_typetraits.is_stateless" title=" is_stateless">is_stateless</a></li>
+</ul></div>
+<p>
+The hooks for compiler-intrinsic support are defined in
+<a href="../../../boost/type_traits/intrinsics.hpp" target="_top">boost/type_traits/intrinsics.hpp</a>, adding support for new compilers is simply
+a matter of defining one of more of the following macros:</p>
+<div class="informaltable">
+<h4>
+<a name="id2800618"></a><span class="table-title">Macros for Compiler Intrinsics</span>
+</h4>
+<table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>BOOST_IS_UNION(T)</th>
+<th>Should evaluate to true if T is a union type</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>BOOST_IS_POD(T)</td>
+<td>Should evaluate to true if T is a POD type</td>
+</tr>
+<tr>
+<td>BOOST_IS_EMPTY(T)</td>
+<td>Should evaluate to true if T is an empty struct or union</td>
+</tr>
+<tr>
+<td>BOOST_HAS_TRIVIAL_CONSTRUCTOR(T)</td>
+<td>Should evaluate to true if the default constructor for T is trivial (i.e. has no effect)</td>
+</tr>
+<tr>
+<td>BOOST_HAS_TRIVIAL_COPY(T)</td>
+<td>Should evaluate to true if T has a trivial copy constructor (and can therefore be replaced by a call to memcpy)</td>
+</tr>
+<tr>
+<td>BOOST_HAS_TRIVIAL_ASSIGN(T)</td>
+<td>Should evaluate to true if T has a trivial assignment operator (and can therefore be replaced by a call to memcpy)</td>
+</tr>
+<tr>
+<td>BOOST_HAS_TRIVIAL_DESTRUCTOR(T)</td>
+<td>Should evaluate to true if T has a trivial destructor (i.e. ~T() has no effect)</td>
+</tr>
+<tr>
+<td>BOOST_HAS_NOTHROW_CONSTRUCTOR(T)</td>
+<td>Should evaluate to true if <code class="computeroutput"><span class="identifier">T</span><span class="identifier"> x</span><span class="special">;</span></code> can not throw</td>
+</tr>
+<tr>
+<td>BOOST_HAS_NOTHROW_COPY(T)</td>
+<td>Should evaluate to true if <code class="computeroutput"><span class="identifier">T</span><span class="special">(</span><span class="identifier">t</span><span class="special">)</span></code> can not throw</td>
+</tr>
+<tr>
+<td>BOOST_HAS_NOTHROW_ASSIGN(T)</td>
+<td>Should evaluate to true if <code class="computeroutput"><span class="identifier">T</span><span class="identifier"> t</span><span class="special">,</span><span class="identifier"> u</span><span class="special">;</span><span class="identifier"> t</span><span class="special"> =</span><span class="identifier"> u</span></code> can not throw</td>
+</tr>
+<tr>
+<td>BOOST_HAS_VIRTUAL_DESTRUCTOR(T)</td>
+<td>Should evaluate to true T has a virtual destructor</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2000, 2005 Adobe Systems Inc, David Abrahams, Steve Cleary,
+ Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus,
+ Itay Maman, John Maddock, Thorsten Ottosen, Robert Ramey and Jeremy Siek</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="user_defined.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typetraits.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="mpl.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_typetraits/mpl.html b/doc/html/boost_typetraits/mpl.html
new file mode 100644
index 0000000000..b097702b9e
--- /dev/null
+++ b/doc/html/boost_typetraits/mpl.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> MPL Interoperability</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../boost_typetraits.html" title="Chapter 14. Boost.TypeTraits">
+<link rel="prev" href="intrinsics.html" title=" Support for Compiler Intrinsics">
+<link rel="next" href="examples.html" title=" Examples">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="intrinsics.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typetraits.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_typetraits.mpl"></a> MPL Interoperability</h3></div></div></div>
+<p>
+All the value based traits in this library conform to MPL's requirements
+for an <a href="../../../libs/mpl/doc/refmanual/integral-constant.html" target="_top">Integral Constant type</a>: that includes a number of rather intrusive
+workarounds for broken compilers.</p>
+<p>
+Purely as an implementation detail, this
+means that <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code> inherits from <a href="../../../libs/mpl/doc/refmanual/bool.html" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code></a>, <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code> inherits
+from <a href="../../../libs/mpl/doc/refmanual/bool.html" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code></a>, and <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">integral_constant</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier"> v</span><span class="special">&gt;</span></code> inherits from
+<a href="../../../libs/mpl/doc/refmanual/integral-c.html" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">integral_c</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">v</span><span class="special">&gt;</span></code></a> (provided <code class="computeroutput"><span class="identifier">T</span></code> is not <code class="computeroutput"><span class="keyword">bool</span></code>)</p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2000, 2005 Adobe Systems Inc, David Abrahams, Steve Cleary,
+ Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus,
+ Itay Maman, John Maddock, Thorsten Ottosen, Robert Ramey and Jeremy Siek</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="intrinsics.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typetraits.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_typetraits/reference.html b/doc/html/boost_typetraits/reference.html
new file mode 100644
index 0000000000..ab2c8bf67b
--- /dev/null
+++ b/doc/html/boost_typetraits/reference.html
@@ -0,0 +1,1768 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Alphabetical Reference</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../boost_typetraits.html" title="Chapter 14. Boost.TypeTraits">
+<link rel="prev" href="examples.html" title=" Examples">
+<link rel="next" href="credits.html" title=" Credits">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="examples.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typetraits.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="credits.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_typetraits.reference"></a> Alphabetical Reference</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="reference.html#boost_typetraits.add_const"> add_const</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.add_cv"> add_cv</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.add_pointer"> add_pointer</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.add_reference"> add_reference</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.add_volatile"> add_volatile</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.aligned_storage"> aligned_storage</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.alignment_of"> alignment_of</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.extent"> extent</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.function_traits"> function_traits</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.has_nothrow_assign"> has_nothrow_assign</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.has_nothrow_constructor"> has_nothrow_constructor</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.has_nothrow_copy"> has_nothrow_copy</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.has_trivial_assign"> has_trivial_assign</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.has_trivial_constructor"> has_trivial_constructor</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.has_trivial_copy"> has_trivial_copy</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.has_trivial_destructor"> has_trivial_destructor</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.has_virtual_destructor"> has_virtual_destructor</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.integral_constant"> integral_constant</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_abstract"> is_abstract</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_arithmetic"> is_arithmetic</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_array"> is_array</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_base_of"> is_base_of</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_class"> is_class</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_compound"> is_compound</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_const"> is_const</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_convertible"> is_convertible</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_empty"> is_empty</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_enum"> is_enum</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_floating_point"> is_floating_point</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_function"> is_function</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_fundamental"> is_fundamental</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_integral"> is_integral</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_member_function_pointer"> is_member_function_pointer</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_member_object_pointer"> is_member_object_pointer</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_member_pointer"> is_member_pointer</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_object"> is_object</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_pod"> is_pod</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_pointer"> is_pointer</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_polymorphic"> is_polymorphic</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_same"> is_same</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_scalar"> is_scalar</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_stateless"> is_stateless</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_reference"> is_reference</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_union"> is_union</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_void"> is_void</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.is_volatile"> is_volatile</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.rank"> rank</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.remove_all_extents"> remove_all_extents</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.remove_const"> remove_const</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.remove_cv"> remove_cv</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.remove_extent"> remove_extent</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.remove_pointer"> remove_pointer</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.remove_reference"> remove_reference</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.remove_volatile"> remove_volatile</a></span></dt>
+<dt><span class="section"><a href="reference.html#boost_typetraits.type_with_alignment"> type_with_alignment</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.add_const"></a> add_const</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> add_const</span><span class="special">
+{</span><span class="keyword">
+ typedef</span> <em class="replaceable"><code>see-below</code></em><span class="identifier"> type</span><span class="special">;</span><span class="special">
+};</span></code></pre>
+<p><span class="bold"><strong>type:</strong></span> The same type as <code class="computeroutput"><span class="identifier">T</span><span class="keyword"> const</span></code> for all <code class="computeroutput"><span class="identifier">T</span></code>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial specialization of class-templates
+then this template will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code> will always be the same as
+type <code class="computeroutput"><span class="identifier">T</span></code> except where <a href="category.html#transform.broken_compiler_workarounds_">compiler workarounds</a> have been applied.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">add_const</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<div class="informaltable">
+<h4>
+<a name="id2804331"></a><span class="table-title">Examples</span>
+</h4>
+<table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Result Type</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput"><span class="identifier">add_const</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">add_const</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="special">&amp;</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">add_const</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="special">*</span><span class="keyword"> const</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">add_const</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span></code></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.add_cv"></a> add_cv</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> add_cv</span><span class="special">
+{</span><span class="keyword">
+ typedef</span> <em class="replaceable"><code>see-below</code></em><span class="identifier"> type</span><span class="special">;</span><span class="special">
+};</span></code></pre>
+<p><span class="bold"><strong>type:</strong></span> The same type as <code class="computeroutput"><span class="identifier">T</span><span class="keyword"> const</span><span class="keyword"> volatile</span></code> for all <code class="computeroutput"><span class="identifier">T</span></code>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial specialization of class-templates
+then this template will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code> will always be the same as
+type <code class="computeroutput"><span class="identifier">T</span></code> except where <a href="category.html#transform.broken_compiler_workarounds_">compiler workarounds</a> have been applied.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">add_cv</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<div class="informaltable">
+<h4>
+<a name="id2804778"></a><span class="table-title">Examples</span>
+</h4>
+<table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Result Type</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput"><span class="identifier">add_cv</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span><span class="keyword"> volatile</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">add_cv</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="special">&amp;</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">add_cv</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="special">*</span><span class="keyword"> const</span><span class="keyword"> volatile</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">add_cv</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span><span class="keyword"> volatile</span></code></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.add_pointer"></a> add_pointer</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> add_pointer</span><span class="special">
+{</span><span class="keyword">
+ typedef</span> <em class="replaceable"><code>see-below</code></em><span class="identifier"> type</span><span class="special">;</span><span class="special">
+};</span></code></pre>
+<p><span class="bold"><strong>type:</strong></span> The same type as <code class="computeroutput"><span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">*</span></code>.</p>
+<p>
+The rationale for this template
+is that it produces the same type as <code class="computeroutput"><span class="identifier">TYPEOF</span><span class="special">(&amp;</span><span class="identifier">t</span><span class="special">)</span></code>,
+where <code class="computeroutput"><span class="identifier">t</span></code> is an object of type <code class="computeroutput"><span class="identifier">T</span></code>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 8.3.1.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial specialization of class-templates
+then this template will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code> will always be the same as
+type <code class="computeroutput"><span class="identifier">T</span></code> except where <a href="category.html#transform.broken_compiler_workarounds_">compiler workarounds</a> have been applied.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">add_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<div class="informaltable">
+<h4>
+<a name="id2805288"></a><span class="table-title">Examples</span>
+</h4>
+<table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Result Type</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput"><span class="identifier">add_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="special">*</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">add_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span><span class="special">*</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">add_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="special">**</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">add_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*&amp;&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="special">**</span></code></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.add_reference"></a> add_reference</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> add_reference</span><span class="special">
+{</span><span class="keyword">
+ typedef</span> <em class="replaceable"><code>see-below</code></em><span class="identifier"> type</span><span class="special">;</span><span class="special">
+};</span></code></pre>
+<p><span class="bold"><strong>type:</strong></span> If <code class="computeroutput"><span class="identifier">T</span></code> is not a reference type then <code class="computeroutput"><span class="identifier">T</span><span class="special">&amp;</span></code>, otherwise <code class="computeroutput"><span class="identifier">T</span></code>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 8.3.2.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial specialization of class-templates
+then this template will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code> will always be the same as
+type <code class="computeroutput"><span class="identifier">T</span></code> except where <a href="category.html#transform.broken_compiler_workarounds_">compiler workarounds</a> have been applied.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">add_reference</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<div class="informaltable">
+<h4>
+<a name="id2805740"></a><span class="table-title">Examples</span>
+</h4>
+<table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Result Type</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput"><span class="identifier">add_reference</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="special">&amp;</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">add_reference</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span><span class="special">&amp;</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">add_reference</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="special">*&amp;</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">add_reference</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*&amp;&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="special">*&amp;</span></code></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.add_volatile"></a> add_volatile</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> add_volatile</span><span class="special">
+{</span><span class="keyword">
+ typedef</span> <em class="replaceable"><code>see-below</code></em><span class="identifier"> type</span><span class="special">;</span><span class="special">
+};</span></code></pre>
+<p><span class="bold"><strong>type:</strong></span> The same type as <code class="computeroutput"><span class="identifier">T</span><span class="keyword"> volatile</span></code> for all <code class="computeroutput"><span class="identifier">T</span></code>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial specialization of class-templates
+then this template will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code> will always be the same as
+type <code class="computeroutput"><span class="identifier">T</span></code> except where <a href="category.html#transform.broken_compiler_workarounds_">compiler workarounds</a> have been applied.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">add_volatile</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<div class="informaltable">
+<h4>
+<a name="id2806184"></a><span class="table-title">Examples</span>
+</h4>
+<table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Result Type</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput"><span class="identifier">add_volatile</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> volatile</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">add_volatile</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="special">&amp;</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">add_volatile</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="special">*</span><span class="keyword"> volatile</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">add_volatile</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span><span class="keyword"> volatile</span></code></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.aligned_storage"></a> aligned_storage</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> Size</span><span class="special">,</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> Align</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> aligned_storage</span><span class="special">
+{</span><span class="keyword">
+ typedef</span> <em class="replaceable"><code>see-below</code></em><span class="identifier"> type</span><span class="special">;</span><span class="special">
+};</span></code></pre>
+<p><span class="bold"><strong>type:</strong></span> a built-in or POD type with size <code class="computeroutput"><span class="identifier">Size</span></code> and an alignment
+that is a multiple of <code class="computeroutput"><span class="identifier">Align</span></code>.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">aligned_storage</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.alignment_of"></a> alignment_of</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> alignment_of</span><span class="special"> :</span><span class="keyword"> public</span> <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">integral_constant</a><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span><span class="identifier"> ALIGNOF</span><span class="special">(</span><span class="identifier">T</span><span class="special">)&gt;</span><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> Class template alignment_of inherits from
+<code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">integral_constant</a><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span><span class="identifier"> ALIGNOF</span><span class="special">(</span><span class="identifier">T</span><span class="special">)&gt;</span></code>, where <code class="computeroutput"><span class="identifier">ALIGNOF</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code> is the
+alignment of type T.</p>
+<p><span class="emphasis"><em>Note: strictly speaking you should only rely on
+the value of <code class="computeroutput"><span class="identifier">ALIGNOF</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code> being a multiple of the true alignment of T, although
+in practice it does compute the correct value in all the cases we know about.</em></span></p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">alignment_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">alignment_of</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">integral_constant</a><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span><span class="identifier"> ALIGNOF</span><span class="special">(</span><span class="keyword">int</span><span class="special">)&gt;</span></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">alignment_of</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">integral_constant</a><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span><span class="identifier"> ALIGNOF</span><span class="special">(</span><span class="keyword">char</span><span class="special">)&gt;</span></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">alignment_of</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression with value <code class="computeroutput"><span class="identifier">ALIGNOF</span><span class="special">(</span><span class="keyword">double</span><span class="special">)</span></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">alignment_of</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.extent"></a> extent</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">,</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> N</span><span class="special"> =</span><span class="number"> 0</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> extent</span><span class="special"> :</span><span class="keyword"> public</span> <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">integral_constant</a><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span><span class="identifier"> EXTENT</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">)&gt;</span><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> Class template extent inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">integral_constant</a><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span><span class="identifier"> EXTENT</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">)&gt;</span></code>,
+where <code class="computeroutput"><span class="identifier">EXTENT</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">)</span></code> is the number of elements in the N'th array dimention of type <code class="computeroutput"><span class="identifier">T</span></code>.</p>
+<p>
+If <code class="computeroutput"><span class="identifier">T</span></code> is not an array type, or if <code class="computeroutput"><span class="identifier">N</span><span class="special"> &gt;</span> <a href="reference.html#boost_typetraits.rank" title=" rank">rank</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span></code>, or if the N'th array bound
+is incomplete, then <code class="computeroutput"><span class="identifier">EXTENT</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">)</span></code> is zero.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">extent</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">extent</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">[</span><span class="number">1</span><span class="special">]&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">integral_constant</a><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span><span class="number"> 0</span><span class="special">&gt;</span></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">extent</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">[</span><span class="number">2</span><span class="special">][</span><span class="number">3</span><span class="special">][</span><span class="number">4</span><span class="special">],</span><span class="number"> 1</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">integral_constant</a><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span><span class="number"> 3</span><span class="special">&gt;</span></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">extent</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">[</span><span class="number">4</span><span class="special">]&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>4</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">extent</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">[][</span><span class="number">2</span><span class="special">]&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>0</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">extent</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">[][</span><span class="number">2</span><span class="special">],</span><span class="number"> 1</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>2</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">extent</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>0</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">extent</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.function_traits"></a> function_traits</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> function_traits</span><span class="special">
+{</span><span class="keyword">
+ static</span><span class="keyword"> const</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> arity</span><span class="special"> =</span> <em class="replaceable"><code>see-below</code></em><span class="special">;</span><span class="keyword">
+ typedef</span> <em class="replaceable"><code>see-below</code></em><span class="identifier"> result_type</span><span class="special">;</span><span class="keyword">
+ typedef</span> <em class="replaceable"><code>see-below</code></em>           arg<em class="replaceable"><code>N</code></em>_type<span class="special">;</span><span class="special">
+};</span></code></pre>
+<p>
+The class template function_traits will only compile if:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+The compiler supports partial specialization of class templates.
+</li>
+<li>
+The template argument <code class="computeroutput"><span class="identifier">T</span></code> is a <span class="emphasis"><em>function type</em></span>, note that this <span class="emphasis"><em><span class="bold"><strong>is not</strong></span></em></span>
+the same thing as a <span class="emphasis"><em>pointer to a function</em></span>.
+</li>
+</ul></div>
+<div class="informaltable">
+<h4>
+<a name="id2808213"></a><span class="table-title">Function Traits Members</span>
+</h4>
+<table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Member</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput"><span class="identifier">function_traits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">arity</span></code></td>
+<td>An integral constant expression that gives the number of arguments accepted by the function type <code class="computeroutput"><span class="identifier">F</span></code>.</td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">function_traits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">result_type</span></code></td>
+<td>The type returned by function type <code class="computeroutput"><span class="identifier">F</span></code>.</td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">function_traits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span>arg<em class="replaceable"><code>N</code></em>_type</code></td>
+<td>The <em class="replaceable"><code>N</code></em>th argument type of function type <code class="computeroutput"><span class="identifier">F</span></code>, where <code class="computeroutput"><span class="number">1</span><span class="special"> &lt;=</span><span class="identifier"> N</span><span class="special"> &lt;=</span><span class="identifier"> arity</span></code> of <code class="computeroutput"><span class="identifier">F</span></code>.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="informaltable">
+<h4>
+<a name="id2808397"></a><span class="table-title">Examples</span>
+</h4>
+<table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Result</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput"><span class="identifier">function_traits</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special"> (</span><span class="keyword">void</span><span class="special">)&gt;::</span><span class="identifier">arity</span></code></td>
+<td>An integral constant expression that has the value 0.</td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">function_traits</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special"> (</span><span class="keyword">int</span><span class="special">)&gt;::</span><span class="identifier">arity</span></code></td>
+<td>An integral constant expression that has the value 1.</td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">function_traits</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special"> (</span><span class="keyword">int</span><span class="special">,</span><span class="keyword"> long</span><span class="special">,</span><span class="keyword"> double</span><span class="special">,</span><span class="keyword"> void</span><span class="special">*)&gt;::</span><span class="identifier">arity</span></code></td>
+<td>An integral constant expression that has the value 4.</td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">function_traits</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special"> (</span><span class="keyword">void</span><span class="special">)&gt;::</span><span class="identifier">result_type</span></code></td>
+<td>The type <code class="computeroutput"><span class="keyword">void</span></code>.</td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">function_traits</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special"> (</span><span class="keyword">int</span><span class="special">)&gt;::</span><span class="identifier">result_type</span></code></td>
+<td>The type <code class="computeroutput"><span class="keyword">long</span></code>.</td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">function_traits</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special"> (</span><span class="keyword">int</span><span class="special">)&gt;::</span><span class="identifier">arg0_type</span></code></td>
+<td>The type <code class="computeroutput"><span class="keyword">int</span></code>.</td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">function_traits</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special"> (</span><span class="keyword">int</span><span class="special">,</span><span class="keyword"> long</span><span class="special">,</span><span class="keyword"> double</span><span class="special">,</span><span class="keyword"> void</span><span class="special">*)&gt;::</span><span class="identifier">arg3_type</span></code></td>
+<td>The type <code class="computeroutput"><span class="keyword">void</span><span class="special">*</span></code>.</td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">function_traits</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special"> (</span><span class="keyword">int</span><span class="special">,</span><span class="keyword"> long</span><span class="special">,</span><span class="keyword"> double</span><span class="special">,</span><span class="keyword"> void</span><span class="special">*)&gt;::</span><span class="identifier">arg4_type</span></code></td>
+<td>A compiler error: there is no <code class="computeroutput"><span class="identifier">arg4_type</span></code> since there are only three arguments.</td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">function_traits</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special"> (*)(</span><span class="keyword">void</span><span class="special">)&gt;::</span><span class="identifier">arity</span></code></td>
+<td>A compiler error: argument type is a <span class="emphasis"><em>function pointer</em></span>, and not a <span class="emphasis"><em>function type</em></span>.</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.has_nothrow_assign"></a> has_nothrow_assign</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> has_nothrow_assign</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) type with a non-throwing assignment-operator
+then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>, otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>. Type <code class="computeroutput"><span class="identifier">T</span></code>
+must be a complete type.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial-specialization of class
+templates, then this template can not be used with function types.</p>
+<p>
+Without some (as yet unspecified) help from the compiler,
+<code class="computeroutput"><span class="identifier">has_nothrow_assign</span></code> will never report that a class or struct has a
+non-throwing assignment-operator; this is always safe, if possibly sub-optimal.
+Currently (May 2005) only Visual C++ 8 has the necessary compiler support to ensure that this
+trait "just works".</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_nothrow_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.has_nothrow_constructor"></a> has_nothrow_constructor</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> has_nothrow_constructor</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) type with a non-throwing default-constructor
+then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>, otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>. Type <code class="computeroutput"><span class="identifier">T</span></code>
+must be a complete type.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial-specialization of class
+templates, then this template can not be used with function types.</p>
+<p>
+Without some (as yet unspecified) help from the compiler,
+<code class="computeroutput"><span class="identifier">has_nothrow_constructor</span></code> will never report that a class or struct has a
+non-throwing default-constructor; this is always safe, if possibly sub-optimal.
+Currently (May 2005) only Visual C++ 8 has the necessary compiler <a href="intrinsics.html" title=" Support for Compiler Intrinsics">intrinsics</a> to ensure that this
+trait "just works".</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_nothrow_constructor</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.has_nothrow_copy"></a> has_nothrow_copy</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> has_nothrow_copy</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) type with a non-throwing copy-constructor
+then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>, otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>. Type <code class="computeroutput"><span class="identifier">T</span></code>
+must be a complete type.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial-specialization of class
+templates, then this template can not be used with function types.</p>
+<p>
+Without some (as yet unspecified) help from the compiler,
+<code class="computeroutput"><span class="identifier">has_nothrow_copy</span></code> will never report that a class or struct has a
+non-throwing copy-constructor; this is always safe, if possibly sub-optimal.
+Currently (May 2005) only Visual C++ 8 has the necessary compiler <a href="intrinsics.html" title=" Support for Compiler Intrinsics">intrinsics</a> to ensure that this
+trait "just works".</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_nothrow_copy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.has_trivial_assign"></a> has_trivial_assign</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> has_trivial_assign</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) type with a trivial assignment-operator
+then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>, otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p>
+If a type has a trivial assignment-operator then the operator has the same effect
+as copying the bits of one object to the other:
+calls to the operator can be safely replaced with a call to <code class="computeroutput"><span class="identifier">memcpy</span></code>.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial-specialization of class
+templates, then this template can not be used with function types.</p>
+<p>
+Without some (as yet unspecified) help from the compiler,
+has_trivial_assign will never report that a user-defined class or struct has a
+trivial constructor; this is always safe, if possibly sub-optimal. Currently
+(May 2005) only MWCW 9 and Visual C++ 8 have the necessary compiler <a href="intrinsics.html" title=" Support for Compiler Intrinsics">intrinsics</a> to detect
+user-defined classes with trivial constructors.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 12.8p11.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_trivial_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">has_trivial_assign</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">has_trivial_assign</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">*&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">has_trivial_assign</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (*)(</span><span class="keyword">long</span><span class="special">)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">has_trivial_assign</span><span class="special">&lt;</span><span class="identifier">MyClass</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">has_trivial_assign</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.has_trivial_constructor"></a> has_trivial_constructor</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> has_trivial_constructor</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) type with a trivial default-constructor
+then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>, otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p>
+If a type has a trivial default-constructor then the constructor have no effect:
+calls to the constructor can be safely omitted. Note that using meta-programming
+to omit a call to a single trivial-constructor call is of no benefit whatsoever.
+However, if loops and/or exception handling code can also be omitted, then some
+benefit in terms of code size and speed can be obtained.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial-specialization of class
+templates, then this template can not be used with function types.</p>
+<p>
+Without some (as yet unspecified) help from the compiler,
+has_trivial_constructor will never report that a user-defined class or struct has a
+trivial constructor; this is always safe, if possibly sub-optimal. Currently
+(May 2005) only MWCW 9 and Visual C++ 8 have the necessary compiler <a href="intrinsics.html" title=" Support for Compiler Intrinsics">intrinsics</a> to detect
+user-defined classes with trivial constructors.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 12.1p6.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_trivial_constructor</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">has_trivial_constructor</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">has_trivial_constructor</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">*&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">has_trivial_constructor</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (*)(</span><span class="keyword">long</span><span class="special">)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">has_trivial_constructor</span><span class="special">&lt;</span><span class="identifier">MyClass</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">has_trivial_constructor</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.has_trivial_copy"></a> has_trivial_copy</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> has_trivial_copy</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) type with a trivial copy-constructor
+then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>, otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p>
+If a type has a trivial copy-constructor then the constructor has the same effect
+as copying the bits of one object to the other:
+calls to the constructor can be safely replaced with a call to <code class="computeroutput"><span class="identifier">memcpy</span></code>.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial-specialization of class
+templates, then this template can not be used with function types.</p>
+<p>
+Without some (as yet unspecified) help from the compiler,
+has_trivial_copy will never report that a user-defined class or struct has a
+trivial constructor; this is always safe, if possibly sub-optimal. Currently
+(May 2005) only MWCW 9 and Visual C++ 8 have the necessary compiler <a href="intrinsics.html" title=" Support for Compiler Intrinsics">intrinsics</a> to detect
+user-defined classes with trivial constructors.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 12.8p6.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_trivial_copy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">has_trivial_copy</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">has_trivial_copy</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">*&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">has_trivial_copy</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (*)(</span><span class="keyword">long</span><span class="special">)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">has_trivial_copy</span><span class="special">&lt;</span><span class="identifier">MyClass</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">has_trivial_copy</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.has_trivial_destructor"></a> has_trivial_destructor</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> has_trivial_destructor</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) type with a trivial destructor
+then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>, otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p>
+If a type has a trivial destructor then the destructor has no effect:
+calls to the destructor can be safely omitted. Note that using meta-programming
+to omit a call to a single trivial-constructor call is of no benefit whatsoever.
+However, if loops and/or exception handling code can also be omitted, then some
+benefit in terms of code size and speed can be obtained.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial-specialization of class
+templates, then this template can not be used with function types.</p>
+<p>
+Without some (as yet unspecified) help from the compiler,
+has_trivial_destructor will never report that a user-defined class or struct has a
+trivial destructor; this is always safe, if possibly sub-optimal. Currently
+(May 2005) only MWCW 9 and Visual C++ 8 have the necessary compiler <a href="intrinsics.html" title=" Support for Compiler Intrinsics">intrinsics</a> to detect
+user-defined classes with trivial constructors.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 12.4p3.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_trivial_destructor</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">has_trivial_destructor</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">has_trivial_destructor</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">*&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">has_trivial_destructor</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (*)(</span><span class="keyword">long</span><span class="special">)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">has_trivial_destructor</span><span class="special">&lt;</span><span class="identifier">MyClass</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">has_trivial_destructor</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.has_virtual_destructor"></a> has_virtual_destructor</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> has_virtual_destructor</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) type with a virtual destructor
+then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>, otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> This trait is provided for completeness, since it's part of the
+Technical Report on C++ Library Extensions. However, there is currently no
+way to portably implement this trait. The default version provided
+always inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>, and has to be explicitly specialized for
+types with virtual destructors unless the compiler used has compiler <a href="intrinsics.html" title=" Support for Compiler Intrinsics">intrinsics</a>
+that enable the trait to do the right thing: currently (May 2005) only Visual C++
+8 has the necessary <a href="intrinsics.html" title=" Support for Compiler Intrinsics">intrinsics</a>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 12.4.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_virtual_destructor</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.integral_constant"></a> integral_constant</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">,</span><span class="identifier"> T</span><span class="identifier"> val</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> integral_constant</span><span class="special">
+{</span><span class="keyword">
+ typedef</span><span class="identifier"> integral_constant</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier"> val</span><span class="special">&gt;</span><span class="identifier"> type</span><span class="special">;</span><span class="keyword">
+ typedef</span><span class="identifier"> T</span><span class="identifier"> value_type</span><span class="special">;</span><span class="keyword">
+ static</span><span class="keyword"> const</span><span class="identifier"> T</span><span class="identifier"> value</span><span class="special"> =</span><span class="identifier"> val</span><span class="special">;</span><span class="special">
+};</span><span class="keyword">
+
+typedef</span><span class="identifier"> integral_constant</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span><span class="keyword"> true</span><span class="special">&gt;</span><span class="identifier"> true_type</span><span class="special">;</span><span class="keyword">
+typedef</span><span class="identifier"> integral_constant</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span><span class="keyword"> false</span><span class="special">&gt;</span><span class="identifier"> false_type</span><span class="special">;</span></code></pre>
+<p>
+Class template <code class="computeroutput"><span class="identifier">integral_constant</span></code> is the common base class for all the value-based
+type traits. The two typedef's <code class="computeroutput"><span class="identifier">true_type</span></code> and <code class="computeroutput"><span class="identifier">false_type</span></code> are provided for
+convenience: most of the value traits are Boolean properties and so will inherit from
+one of these.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_abstract"></a> is_abstract</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_abstract</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) abstract type then inherits from
+<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>, otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 10.3.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_abstract</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> The compiler must support DR337 (as of April 2005: GCC 3.4, VC++ 7.1 (and later),
+ Intel C++ 7 (and later), and Comeau 4.3.2).
+Otherwise behaves the same as <a href="reference.html#boost_typetraits.is_polymorphic" title=" is_polymorphic">is_polymorphic</a>;
+this is the "safe fallback position" for which polymorphic types are always
+regarded as potentially abstract. The macro BOOST_NO_IS_ABSTRACT is used to
+signify that the implementation is buggy, users should check for this in their
+own code if the "safe fallback" is not suitable for their particular use-case.</p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p>Given: <code class="computeroutput"><span class="keyword">class</span><span class="identifier"> abc</span><span class="special">{</span><span class="keyword"> virtual</span><span class="special"> ~</span><span class="identifier">abc</span><span class="special">()</span><span class="special"> =</span><span class="number"> 0</span><span class="special">;</span><span class="special"> };</span></code></p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_abstract</span><span class="special">&lt;</span><span class="identifier">abc</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_abstract</span><span class="special">&lt;</span><span class="identifier">abc</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_abstract</span><span class="special">&lt;</span><span class="identifier">abc</span><span class="keyword"> const</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_abstract</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_arithmetic"></a> is_arithmetic</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_arithmetic</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) arithmetic type then inherits from
+<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>, otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>. Arithmetic types include
+integral and floating point types (see also <a href="reference.html#boost_typetraits.is_integral" title=" is_integral">is_integral</a> and <a href="reference.html#boost_typetraits.is_floating_point" title=" is_floating_point">is_floating_point</a>).</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1p8.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_arithmetic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_arithmetic</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_arithmetic</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_arithmetic</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_arithmetic</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_array"></a> is_array</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_array</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) array type then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.4.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support
+partial-specialization of class templates, then this template
+can give the wrong result with function types.</p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_array</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">[</span><span class="number">2</span><span class="special">]&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">[</span><span class="number">2</span><span class="special">][</span><span class="number">3</span><span class="special">]&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_array</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">[]&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_base_of"></a> is_base_of</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> Base</span><span class="special">,</span><span class="keyword"> class</span><span class="identifier"> Derived</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_base_of</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If Base is base class of type Derived then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p>
+This template will detect non-public base classes, and ambiguous base classes.</p>
+<p>
+Note that a class is not considered to be it's own base class,
+likewise, if either <code class="computeroutput"><span class="identifier">Base</span></code> or <code class="computeroutput"><span class="identifier">Derived</span></code> are non-class types,
+then the class will always inherit from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p>
+Types <code class="computeroutput"><span class="identifier">Base</span></code> and <code class="computeroutput"><span class="identifier">Derived</span></code> must not be incomplete types.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 10.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_base_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial-specialization of class templates,
+then this template can not be used with function types. There are some older compilers
+which will produce compiler errors if <code class="computeroutput"><span class="identifier">Base</span></code> is a private base class of <code class="computeroutput"><span class="identifier">Derived</span></code>, or if
+<code class="computeroutput"><span class="identifier">Base</span></code> is an ambiguous base of <code class="computeroutput"><span class="identifier">Derived</span></code>. These compilers include Borland C++, older
+versions of Sun Forte C++, Digital Mars C++, and older versions of EDG based compilers.</p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p>Given: <code class="computeroutput"><span class="keyword"> class</span><span class="identifier"> Base</span><span class="special">{};</span><span class="keyword"> class</span><span class="identifier"> Derived</span><span class="special"> :</span><span class="keyword"> public</span><span class="identifier"> Base</span><span class="special">{};</span></code></p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_base_of</span><span class="special">&lt;</span><span class="identifier">Base</span><span class="special">,</span><span class="identifier"> Derived</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_base_of</span><span class="special">&lt;</span><span class="identifier">Base</span><span class="special">,</span><span class="identifier"> Derived</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_base_of</span><span class="special">&lt;</span><span class="identifier">Base</span><span class="special">,</span><span class="identifier"> Derived</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_base_of</span><span class="special">&lt;</span><span class="identifier">Base</span><span class="special">,</span><span class="identifier"> Base</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>: a class is not it's own base.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_base_of</span><span class="special">&lt;</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier"> Base</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>: the arguments are the wrong way round.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_base_of</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_class"></a> is_class</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_class</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) class type then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 9.2.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_class</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> Without (some as yet unspecified) help from the compiler,
+we cannot distinguish between union and class types, as a result this type
+will erroneously inherit from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a> for union types. See also <a href="reference.html#boost_typetraits.is_union" title=" is_union">is_union</a>.
+Currently (May 2005) only Visual C++ 8 has the necessary compiler <a href="intrinsics.html" title=" Support for Compiler Intrinsics">intrinsics</a> to
+correctly identify union types, and therefore make is_class function correctly.</p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p>Given: <code class="computeroutput"><span class="keyword">class</span><span class="identifier"> MyClass</span><span class="special">;</span></code> then:</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_class</span><span class="special">&lt;</span><span class="identifier">MyClass</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_class</span><span class="special">&lt;</span><span class="identifier">MyClass</span><span class="keyword"> const</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_class</span><span class="special">&lt;</span><span class="identifier">MyClass</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_class</span><span class="special">&lt;</span><span class="identifier">MyClass</span><span class="special">&amp;&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_class</span><span class="special">&lt;</span><span class="identifier">MyClass</span><span class="special">*&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_class</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_compound"></a> is_compound</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_compound</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) compound type then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>. Any type that is not a fundamental type is
+a compound type (see also <a href="reference.html#boost_typetraits.is_fundamental" title=" is_fundamental">is_fundamental</a>).</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_compound</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_compound</span><span class="special">&lt;</span><span class="identifier">MyClass</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_compound</span><span class="special">&lt;</span><span class="identifier">MyEnum</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_compound</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_compound</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&amp;&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_compound</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_compound</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_const"></a> is_const</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_const</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (top level) const-qualified type then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_const</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_const</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_const</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="keyword"> volatile</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_const</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*</span><span class="keyword"> const</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_const</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">*&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>: the const-qualifier is not
+at the top level in this case.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_const</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">&amp;&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>: the const-qualifier is not
+at the top level in this case.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_const</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_const</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_convertible"></a> is_convertible</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> From</span><span class="special">,</span><span class="keyword"> class</span><span class="identifier"> To</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_convertible</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If an imaginary lvalue of type <code class="computeroutput"><span class="identifier">From</span></code> is convertible to type <code class="computeroutput"><span class="identifier">To</span></code> then
+inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>, otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p>
+Type From must not be an incomplete type.</p>
+<p>
+Type To must not be an incomplete, or function type.</p>
+<p>
+No types are considered to be convertible to array types or abstract-class types.</p>
+<p>
+This template can not detect whether a converting-constructor is <code class="computeroutput"><span class="keyword">public</span></code> or not: if
+type <code class="computeroutput"><span class="identifier">To</span></code> has a <code class="computeroutput"><span class="keyword">private</span></code> converting constructor from type <code class="computeroutput"><span class="identifier">From</span></code> then instantiating
+<code class="computeroutput"><span class="identifier">is_convertible</span><span class="special">&lt;</span><span class="identifier">From</span><span class="special">,</span><span class="identifier"> To</span><span class="special">&gt;</span></code> will produce a compiler error. For this reason <code class="computeroutput"><span class="identifier">is_convertible</span></code>
+can not be used to determine whether a type has a <code class="computeroutput"><span class="keyword">public</span></code> copy-constructor or not.</p>
+<p>
+This template will also produce compiler errors if the conversion is ambiguous,
+for example:</p>
+<pre class="programlisting"><code class="literal"><span class="keyword">struct</span><span class="identifier"> A</span><span class="special"> {};</span><span class="keyword">
+struct</span><span class="identifier"> B</span><span class="special"> :</span><span class="identifier"> A</span><span class="special"> {};</span><span class="keyword">
+struct</span><span class="identifier"> C</span><span class="special"> :</span><span class="identifier"> A</span><span class="special"> {};</span><span class="keyword">
+struct</span><span class="identifier"> D</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="comment">
+// This produces a compiler error, the conversion is ambiguous:
+</span><span class="keyword">bool</span><span class="keyword"> const</span><span class="identifier"> y</span><span class="special"> =</span><span class="identifier"> boost</span><span class="special">::</span><span class="identifier">is_convertible</span><span class="special">&lt;</span><span class="identifier">D</span><span class="special">*,</span><span class="identifier">A</span><span class="special">*&gt;::</span><span class="identifier">value</span><span class="special">;</span></code></pre>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 4 and 8.5.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> This template is currently broken with Borland C++ Builder 5 (and earlier),
+for constructor-based conversions, and for the Metrowerks 7 (and earlier)
+compiler in all cases. If the compiler does not support <code class="computeroutput"><a href="reference.html#boost_typetraits.is_abstract" title=" is_abstract">is_abstract</a></code>, then the
+template parameter <code class="computeroutput"><span class="identifier">To</span></code> must not be an abstract type.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_convertible</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_convertible</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword"> double</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_convertible</span><span class="special">&lt;</span><span class="keyword">const</span><span class="keyword"> int</span><span class="special">,</span><span class="keyword"> double</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_convertible</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*</span><span class="keyword"> const</span><span class="special">,</span><span class="keyword"> int</span><span class="special">*&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_convertible</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">*,</span><span class="keyword"> int</span><span class="special">*&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>: the conversion would require a <code class="computeroutput"><span class="keyword">const_cast</span></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_convertible</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">&amp;,</span><span class="keyword"> long</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_convertible</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_convertible</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_empty"></a> is_empty</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_empty</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is an empty class type then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 10p5.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_empty</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> In order to correctly detect empty classes this trait relies on either:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+the compiler implementing zero sized empty base classes, or
+</li>
+<li>
+the compiler providing <a href="intrinsics.html" title=" Support for Compiler Intrinsics">intrinsics</a> to detect empty classes.
+</li>
+</ul></div>
+<p>
+Can not be used with incomplete types.</p>
+<p>
+Can not be used with union types, until is_union can be made to work.</p>
+<p>
+If the compiler does not support partial-specialization of class templates,
+then this template can not be used with abstract types.</p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p>Given: <code class="computeroutput"><span class="keyword">struct</span><span class="identifier"> empty_class</span><span class="special"> {};</span></code></p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_empty</span><span class="special">&lt;</span><span class="identifier">empty_class</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_empty</span><span class="special">&lt;</span><span class="identifier">empty_class</span><span class="keyword"> const</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_empty</span><span class="special">&lt;</span><span class="identifier">empty_class</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_empty</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_enum"></a> is_enum</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_enum</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) enum type then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 7.2.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_enum</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> Requires a correctly functioning <a href="reference.html#boost_typetraits.is_convertible" title=" is_convertible">is_convertible</a> template;
+ this means that is_enum is currently broken under Borland C++ Builder 5,
+ and for the Metrowerks compiler prior to version 8, other compilers
+ should handle this template just fine.</p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p>Given: <code class="computeroutput"><span class="keyword">enum</span><span class="identifier"> my_enum</span><span class="special"> {</span><span class="identifier"> one</span><span class="special">,</span><span class="identifier"> two</span><span class="special"> };</span></code></p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_enum</span><span class="special">&lt;</span><span class="identifier">my_enum</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_enum</span><span class="special">&lt;</span><span class="identifier">my_enum</span><span class="keyword"> const</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_enum</span><span class="special">&lt;</span><span class="identifier">my_enum</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_enum</span><span class="special">&lt;</span><span class="identifier">my_enum</span><span class="special">&amp;&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_enum</span><span class="special">&lt;</span><span class="identifier">my_enum</span><span class="special">*&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_enum</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_floating_point"></a> is_floating_point</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_floating_point</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) floating point type then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1p8.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_floating_point</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_floating_point</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_floating_point</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_floating_point</span><span class="special">&lt;</span><span class="keyword">long</span><span class="keyword"> double</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_floating_point</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_function"></a> is_function</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_function</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) function type then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>. Note that this template does not detect /pointers
+to functions<span class="emphasis"><em>, or /references to functions</em></span>, these are detected by <a href="reference.html#boost_typetraits.is_pointer" title=" is_pointer">is_pointer</a> and
+<a href="reference.html#boost_typetraits.is_reference" title=" is_reference">is_reference</a> respectively:</p>
+<pre class="programlisting"><code class="literal"><span class="keyword">typedef</span><span class="keyword"> int</span><span class="identifier"> f1</span><span class="special">();</span><span class="comment"> // f1 is of function type.
+</span><span class="keyword">typedef</span><span class="keyword"> int</span><span class="special"> (</span><span class="identifier">f2</span><span class="special">*)();</span><span class="comment"> // f2 is a pointer to a function.
+</span><span class="keyword">typedef</span><span class="keyword"> int</span><span class="special"> (</span><span class="identifier">f3</span><span class="special">&amp;)();</span><span class="comment"> // f3 is a reference to a function.
+</span></code></pre>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2p1 and 8.3.5.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_function</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (</span><span class="keyword">void</span><span class="special">)&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_function</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special"> (</span><span class="keyword">double</span><span class="special">,</span><span class="keyword"> int</span><span class="special">)&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_function</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special"> (</span><span class="keyword">double</span><span class="special">,</span><span class="keyword"> int</span><span class="special">)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_function</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special"> (*)(</span><span class="keyword">double</span><span class="special">,</span><span class="keyword"> int</span><span class="special">)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>: the argument in this case is a pointer type,
+not a function type.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_function</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special"> (&amp;)(</span><span class="keyword">double</span><span class="special">,</span><span class="keyword"> int</span><span class="special">)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>: the argument in this case is a
+reference to a function, not a function type.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_function</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special"> (</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">double</span><span class="special">,</span><span class="keyword"> int</span><span class="special">)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>: the argument in this case is a pointer
+to a member function.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_function</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_fundamental"></a> is_fundamental</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_fundamental</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) fundamental type then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>. Fundamental types include integral, floating
+point and void types (see also <a href="reference.html#boost_typetraits.is_integral" title=" is_integral">is_integral</a>, <a href="reference.html#boost_typetraits.is_floating_point" title=" is_floating_point">is_floating_point</a> and <a href="reference.html#boost_typetraits.is_void" title=" is_void">is_void</a>)</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_fundamental</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_fundamental</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">)&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_fundamental</span><span class="special">&lt;</span><span class="keyword">double</span><span class="keyword"> const</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_fundamental</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_fundamental</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_integral"></a> is_integral</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_integral</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) integral type then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1p7.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_integral</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_integral</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_integral</span><span class="special">&lt;</span><span class="keyword">const</span><span class="keyword"> char</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_integral</span><span class="special">&lt;</span><span class="keyword">long</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_integral</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_member_function_pointer"></a> is_member_function_pointer</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_member_function_pointer</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) pointer to a member function
+then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.3.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_member_function_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_member_function_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">void</span><span class="special">)&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_member_function_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">char</span><span class="special">)&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_member_function_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">void</span><span class="special">)</span><span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_member_function_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (</span><span class="identifier">MyClass</span><span class="special">::*)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>: the argument in this case is a pointer to
+a data member and not a member function, see <a href="reference.html#boost_typetraits.is_member_object_pointer" title=" is_member_object_pointer">is_member_object_pointer</a>
+and <a href="reference.html#boost_typetraits.is_member_pointer" title=" is_member_pointer">is_member_pointer</a></p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_member_function_pointer</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_member_object_pointer"></a> is_member_object_pointer</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_member_object_pointer</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) pointer to a member object (a data member)
+then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.3.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_member_object_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_member_object_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (</span><span class="identifier">MyClass</span><span class="special">::*)&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_member_object_pointer</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special"> (</span><span class="identifier">MyClass</span><span class="special">::*)&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_member_object_pointer</span><span class="special">&lt;</span><span class="keyword">const</span><span class="keyword"> int</span><span class="special"> (</span><span class="identifier">MyClass</span><span class="special">::*)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_member_object_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">void</span><span class="special">)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>: the argument in this case is a pointer to
+a member function and not a member object, see <a href="reference.html#boost_typetraits.is_member_function_pointer" title=" is_member_function_pointer">is_member_function_pointer</a>
+and <a href="reference.html#boost_typetraits.is_member_pointer" title=" is_member_pointer">is_member_pointer</a></p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_member_object_pointer</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_member_pointer"></a> is_member_pointer</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_member_pointer</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) pointer to a member (either a function
+or a data member)
+then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.3.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_member_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_member_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (</span><span class="identifier">MyClass</span><span class="special">::*)&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_member_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">char</span><span class="special">)&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_member_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">void</span><span class="special">)</span><span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_member_pointer</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_object"></a> is_object</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_object</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) object type
+then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>. All types are object types except
+references, void, and function types.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9p9.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_object</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_object</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_object</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (*)(</span><span class="keyword">void</span><span class="special">)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_object</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">void</span><span class="special">)</span><span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_object</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> &amp;&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>: reference types are not objects</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_object</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (</span><span class="keyword">double</span><span class="special">)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>: function types are not objects</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_object</span><span class="special">&lt;</span><span class="keyword">const</span><span class="keyword"> void</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>: void is not an object type</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_object</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_pod"></a> is_pod</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_pod</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) POD type then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9p10 and 9p4.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial-specialization
+of class templates, then this template can not be used with function types.</p>
+<p>
+Without some (as yet unspecified) help from the compiler, is_pod will
+never report that a class or struct is a POD; this is always safe,
+if possibly sub-optimal. Currently (May 2005) only MWCW 9 and Visual C++ 8 have the
+necessary compiler-<a href="intrinsics.html" title=" Support for Compiler Intrinsics">intrinsics</a>.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_pod</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_pod</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_pod</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">*&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_pod</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (*)(</span><span class="keyword">long</span><span class="special">)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_pod</span><span class="special">&lt;</span><span class="identifier">MyClass</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_pod</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_pointer"></a> is_pointer</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_pointer</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) pointer type (includes function pointers,
+but excludes pointers to members) then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2p2 and 8.3.1.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_pointer</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">*</span><span class="keyword"> const</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (*)(</span><span class="keyword">long</span><span class="special">)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">long</span><span class="special">)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (</span><span class="identifier">MyClass</span><span class="special">::*)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_pointer</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_polymorphic"></a> is_polymorphic</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_polymorphic</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) polymorphic type
+then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>. Type <code class="computeroutput"><span class="identifier">T</span></code> must be a complete type.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 10.3.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> The implementation requires some knowledge of the compilers ABI,
+it does actually seem to work with the majority of compilers though.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_polymorphic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p>Given: <code class="computeroutput"><span class="keyword">class</span><span class="identifier"> poly</span><span class="special">{</span><span class="keyword"> virtual</span><span class="special"> ~</span><span class="identifier">poly</span><span class="special">();</span><span class="special"> };</span></code></p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_polymorphic</span><span class="special">&lt;</span><span class="identifier">poly</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_polymorphic</span><span class="special">&lt;</span><span class="identifier">poly</span><span class="keyword"> const</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_polymorphic</span><span class="special">&lt;</span><span class="identifier">poly</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_polymorphic</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_same"></a> is_same</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">,</span><span class="keyword"> class</span><span class="identifier"> U</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_same</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T and U are the same types then inherits from
+<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>, otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_same</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial-specialization of class templates,
+then this template can not be used with abstract, incomplete or function types.</p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_same</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword"> int</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_same</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword"> int</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_same</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword"> int</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_same</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">,</span><span class="keyword"> int</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_same</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&amp;,</span><span class="keyword"> int</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_scalar"></a> is_scalar</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_scalar</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) scalar type then inherits from
+<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>, otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>. Scalar types include
+integral, floating point, enumeration, pointer, and pointer-to-member types.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9p10.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_scalar</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial-specialization of class templates,
+then this template can not be used with function types.</p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_scalar</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_scalar</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_scalar</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_scalar</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (*)(</span><span class="keyword">long</span><span class="special">)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_scalar</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">long</span><span class="special">)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_scalar</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (</span><span class="identifier">MyClass</span><span class="special">::*)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_scalar</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_stateless"></a> is_stateless</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_stateless</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> Ff T is a stateless type then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>, otherwise
+from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p>
+Type T must be a complete type.</p>
+<p>
+A stateless type is a type that has no storage and whose constructors and
+destructors are trivial. That means that <code class="computeroutput"><span class="identifier">is_stateless</span></code> only inherits from
+<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a> if the following expression is <code class="computeroutput"><span class="keyword">true</span></code>:</p>
+<pre class="programlisting"><code class="literal"><span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_trivial_constructor</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">
+&amp;&amp;</span><span class="special"> ::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_trivial_copy</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">
+&amp;&amp;</span><span class="special"> ::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_trivial_destructor</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">
+&amp;&amp;</span><span class="special"> ::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_class</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">
+&amp;&amp;</span><span class="special"> ::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_empty</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span></code></pre>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9p10.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_stateless</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial-specialization of class templates,
+then this template can not be used with function types.</p>
+<p>
+Without some (as yet unspecified) help from the compiler, is_stateless will never
+report that a class or struct is stateless; this is always safe,
+if possibly sub-optimal. Currently (May 2005) only MWCW 9 and Visual C++ 8 have the necessary
+compiler <a href="intrinsics.html" title=" Support for Compiler Intrinsics">intrinsics</a> to make this template work automatically.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_reference"></a> is_reference</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_reference</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a reference pointer type then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.2.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not
+support partial-specialization of class templates,
+then this template may report the wrong result for function types,
+and for types that are both const and volatile qualified.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_reference</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_reference</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&amp;&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_reference</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_reference</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special"> (&amp;)(</span><span class="keyword">long</span><span class="special">)&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span> (the argument in this case is
+a reference to a function).</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_reference</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_union"></a> is_union</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_union</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) union type then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>. Currently requires some kind of compiler
+support, otherwise unions are identified as classes.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 9.5.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> Without (some as yet unspecified) help from the
+compiler, we cannot distinguish between union and class types using only standard C++,
+as a result this type will never inherit from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>, unless the user explicitly
+specializes the template for their user-defined union types, or unless the compiler
+supplies some unspecified intrinsic that implements this functionality. Currently
+(May 2005) only Visual C++ 8 has the necessary compiler <a href="intrinsics.html" title=" Support for Compiler Intrinsics">intrinsics</a> to make this
+trait "just work" without user intervention.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_union</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_union</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_union</span><span class="special">&lt;</span><span class="keyword">const</span><span class="keyword"> void</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_union</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_union</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_union</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_void"></a> is_void</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_void</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified) void type then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1p9.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_void</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_void</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_void</span><span class="special">&lt;</span><span class="keyword">const</span><span class="keyword"> void</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_void</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_void</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_void</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.is_volatile"></a> is_volatile</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> is_volatile</span><span class="special"> :</span><span class="keyword"> public</span> <em class="replaceable"><code><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>-or-<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a></code></em><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> If T is a (top level) volatile-qualified type then inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a>,
+otherwise inherits from <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_volatile</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_volatile</span><span class="special">&lt;</span><span class="keyword">volatile</span><span class="keyword"> int</span><span class="special">&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_volatile</span><span class="special">&lt;</span><span class="keyword">const</span><span class="keyword"> volatile</span><span class="keyword"> int</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_volatile</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*</span><span class="keyword"> volatile</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>true</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_volatile</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> volatile</span><span class="special">*&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>false</em></span>: the volatile qualifier is not
+at the top level in this case.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">is_volatile</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.rank"></a> rank</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> rank</span><span class="special"> :</span><span class="keyword"> public</span> <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">integral_constant</a><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span><span class="identifier"> RANK</span><span class="special">(</span><span class="identifier">T</span><span class="special">)&gt;</span><span class="special"> {};</span></code></pre>
+<p><span class="bold"><strong>Inherits:</strong></span> Class template rank inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">integral_constant</a><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span><span class="identifier"> RANK</span><span class="special">(</span><span class="identifier">T</span><span class="special">)&gt;</span></code>,
+where <code class="computeroutput"><span class="identifier">RANK</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code> is the number of array dimensions in type <code class="computeroutput"><span class="identifier">T</span></code>.</p>
+<p>
+If <code class="computeroutput"><span class="identifier">T</span></code> is not an array type, then <code class="computeroutput"><span class="identifier">RANK</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code> is zero.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">rank</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<p><span class="bold"><strong>Examples:</strong></span></p>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">rank</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">[]&gt;</span></code> inherits from <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">integral_constant</a><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span><span class="number"> 1</span><span class="special">&gt;</span></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">rank</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">[</span><span class="number">2</span><span class="special">][</span><span class="number">3</span><span class="special">][</span><span class="number">4</span><span class="special">]&gt;::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">integral_constant</a><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span><span class="number"> 3</span><span class="special">&gt;</span></code>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">rank</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">[</span><span class="number">1</span><span class="special">]&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>1</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">rank</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">[][</span><span class="number">2</span><span class="special">]&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>2</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">rank</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*&gt;::</span><span class="identifier">value</span></code> is an integral constant
+expression that evaluates to <span class="emphasis"><em>0</em></span>.</p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p><code class="computeroutput"><span class="identifier">rank</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code>.</p></blockquote></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.remove_all_extents"></a> remove_all_extents</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> remove_all_extents</span><span class="special">
+{</span><span class="keyword">
+ typedef</span> <em class="replaceable"><code>see-below</code></em><span class="identifier"> type</span><span class="special">;</span><span class="special">
+};</span></code></pre>
+<p><span class="bold"><strong>type:</strong></span> If <code class="computeroutput"><span class="identifier">T</span></code> is an array type, then removes all of the array bounds on <code class="computeroutput"><span class="identifier">T</span></code>, otherwise
+leaves <code class="computeroutput"><span class="identifier">T</span></code> unchanged.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 8.3.4.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial specialization of class-templates
+then this template will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code> will always be the same as
+type <code class="computeroutput"><span class="identifier">T</span></code> except where <a href="category.html#transform.broken_compiler_workarounds_">compiler workarounds</a> have been applied.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">remove_all_extents</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<div class="informaltable">
+<h4>
+<a name="id2826109"></a><span class="table-title">Examples</span>
+</h4>
+<table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Result Type</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_all_extents</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_all_extents</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">[</span><span class="number">2</span><span class="special">]&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_all_extents</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">[][</span><span class="number">2</span><span class="special">]&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_all_extents</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">[</span><span class="number">2</span><span class="special">][</span><span class="number">3</span><span class="special">][</span><span class="number">4</span><span class="special">]&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_all_extents</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">*&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span><span class="special">*</span></code></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.remove_const"></a> remove_const</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> remove_const</span><span class="special">
+{</span><span class="keyword">
+ typedef</span> <em class="replaceable"><code>see-below</code></em><span class="identifier"> type</span><span class="special">;</span><span class="special">
+};</span></code></pre>
+<p><span class="bold"><strong>type:</strong></span> The same type as <code class="computeroutput"><span class="identifier">T</span></code>, but with any <span class="emphasis"><em>top level</em></span> const-qualifier removed.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial specialization of class-templates
+then this template will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code> will always be the same as
+type <code class="computeroutput"><span class="identifier">T</span></code> except where <a href="category.html#transform.broken_compiler_workarounds_">compiler workarounds</a> have been applied.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">remove_const</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<div class="informaltable">
+<h4>
+<a name="id2826619"></a><span class="table-title">Examples</span>
+</h4>
+<table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Result Type</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_const</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_const</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_const</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="keyword"> volatile</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> volatile</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_const</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span><span class="special">&amp;</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_const</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">*&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span><span class="special">*</span></code></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.remove_cv"></a> remove_cv</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> remove_cv</span><span class="special">
+{</span><span class="keyword">
+ typedef</span> <em class="replaceable"><code>see-below</code></em><span class="identifier"> type</span><span class="special">;</span><span class="special">
+};</span></code></pre>
+<p><span class="bold"><strong>type:</strong></span> The same type as <code class="computeroutput"><span class="identifier">T</span></code>, but with any <span class="emphasis"><em>top level</em></span> cv-qualifiers removed.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial specialization of class-templates
+then this template will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code> will always be the same as
+type <code class="computeroutput"><span class="identifier">T</span></code> except where <a href="category.html#transform.broken_compiler_workarounds_">compiler workarounds</a> have been applied.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">remove_cv</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<div class="informaltable">
+<h4>
+<a name="id2827109"></a><span class="table-title">Examples</span>
+</h4>
+<table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Result Type</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_cv</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_cv</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_cv</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="keyword"> volatile</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_cv</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span><span class="special">&amp;</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_cv</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">*&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span><span class="special">*</span></code></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.remove_extent"></a> remove_extent</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> remove_extent</span><span class="special">
+{</span><span class="keyword">
+ typedef</span> <em class="replaceable"><code>see-below</code></em><span class="identifier"> type</span><span class="special">;</span><span class="special">
+};</span></code></pre>
+<p><span class="bold"><strong>type:</strong></span> If <code class="computeroutput"><span class="identifier">T</span></code> is an array type, then removes the topmost array bound,
+otherwise leaves <code class="computeroutput"><span class="identifier">T</span></code> unchanged.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 8.3.4.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial specialization of class-templates
+then this template will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code> will always be the same as
+type <code class="computeroutput"><span class="identifier">T</span></code> except where <a href="category.html#transform.broken_compiler_workarounds_">compiler workarounds</a> have been applied.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">remove_extent</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<div class="informaltable">
+<h4>
+<a name="id2827599"></a><span class="table-title">Examples</span>
+</h4>
+<table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Result Type</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_extent</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_extent</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">[</span><span class="number">2</span><span class="special">]&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_extent</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">[</span><span class="number">2</span><span class="special">][</span><span class="number">4</span><span class="special">]&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="special">[</span><span class="number">4</span><span class="special">]</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_extent</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">[][</span><span class="number">2</span><span class="special">]&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="special">[</span><span class="number">2</span><span class="special">]</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_extent</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">*&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span><span class="special">*</span></code></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.remove_pointer"></a> remove_pointer</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> remove_pointer</span><span class="special">
+{</span><span class="keyword">
+ typedef</span> <em class="replaceable"><code>see-below</code></em><span class="identifier"> type</span><span class="special">;</span><span class="special">
+};</span></code></pre>
+<p><span class="bold"><strong>type:</strong></span> The same type as <code class="computeroutput"><span class="identifier">T</span></code>, but with any pointer modifier removed.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 8.3.1.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial specialization of class-templates
+then this template will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code> will always be the same as
+type <code class="computeroutput"><span class="identifier">T</span></code> except where <a href="category.html#transform.broken_compiler_workarounds_">compiler workarounds</a> have been applied.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">remove_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<div class="informaltable">
+<h4>
+<a name="id2828124"></a><span class="table-title">Examples</span>
+</h4>
+<table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Result Type</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">*&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">**&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span><span class="special">*</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="special">&amp;</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*&amp;&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="special">*&amp;</span></code></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.remove_reference"></a> remove_reference</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> remove_reference</span><span class="special">
+{</span><span class="keyword">
+ typedef</span> <em class="replaceable"><code>see-below</code></em><span class="identifier"> type</span><span class="special">;</span><span class="special">
+};</span></code></pre>
+<p><span class="bold"><strong>type:</strong></span> The same type as <code class="computeroutput"><span class="identifier">T</span></code>, but with any reference modifier removed.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 8.3.2.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial specialization of class-templates
+then this template will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code> will always be the same as
+type <code class="computeroutput"><span class="identifier">T</span></code> except where <a href="category.html#transform.broken_compiler_workarounds_">compiler workarounds</a> have been applied.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">remove_reference</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<div class="informaltable">
+<h4>
+<a name="id2828596"></a><span class="table-title">Examples</span>
+</h4>
+<table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Result Type</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="special">*</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*&amp;&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="special">*</span></code></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.remove_volatile"></a> remove_volatile</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> T</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> remove_volatile</span><span class="special">
+{</span><span class="keyword">
+ typedef</span> <em class="replaceable"><code>see-below</code></em><span class="identifier"> type</span><span class="special">;</span><span class="special">
+};</span></code></pre>
+<p><span class="bold"><strong>type:</strong></span> The same type as <code class="computeroutput"><span class="identifier">T</span></code>, but with any <span class="emphasis"><em>top level</em></span> volatile-qualifier removed.</p>
+<p><span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.</p>
+<p><span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler does not support partial specialization of class-templates
+then this template will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code> will always be the same as
+type <code class="computeroutput"><span class="identifier">T</span></code> except where <a href="category.html#transform.broken_compiler_workarounds_">compiler workarounds</a> have been applied.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">remove_volatile</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+<div class="informaltable">
+<h4>
+<a name="id2829020"></a><span class="table-title">Examples</span>
+</h4>
+<table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Result Type</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_volatile</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_volatile</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> volatile</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_volatile</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> const</span><span class="keyword"> volatile</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_volatile</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> volatile</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span><span class="special">&amp;</span></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><span class="identifier">remove_volatile</span><span class="special">&lt;</span><span class="keyword">int</span><span class="keyword"> volatile</span><span class="special">*&gt;::</span><span class="identifier">type</span></code></td>
+<td><code class="computeroutput"><span class="keyword">int</span><span class="keyword"> const</span><span class="special">*</span></code></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_typetraits.type_with_alignment"></a> type_with_alignment</h4></div></div></div>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> Align</span><span class="special">&gt;</span><span class="keyword">
+struct</span><span class="identifier"> type_with_alignment</span><span class="special">
+{</span><span class="keyword">
+ typedef</span> <em class="replaceable"><code>see-below</code></em><span class="identifier"> type</span><span class="special">;</span><span class="special">
+};</span></code></pre>
+<p><span class="bold"><strong>type:</strong></span> a built-in or POD type with an alignment
+that is a multiple of <code class="computeroutput"><span class="identifier">Align</span></code>.</p>
+<p><span class="bold"><strong>Header:</strong></span><code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">type_with_alignment</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="preprocessor"> #include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2000, 2005 Adobe Systems Inc, David Abrahams, Steve Cleary,
+ Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus,
+ Itay Maman, John Maddock, Thorsten Ottosen, Robert Ramey and Jeremy Siek</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="examples.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typetraits.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="credits.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_typetraits/user_defined.html b/doc/html/boost_typetraits/user_defined.html
new file mode 100644
index 0000000000..a933664668
--- /dev/null
+++ b/doc/html/boost_typetraits/user_defined.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> User Defined Specializations</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../boost_typetraits.html" title="Chapter 14. Boost.TypeTraits">
+<link rel="prev" href="category.html" title=" Type Traits by Category">
+<link rel="next" href="intrinsics.html" title=" Support for Compiler Intrinsics">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="category.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typetraits.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="intrinsics.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_typetraits.user_defined"></a> User Defined Specializations</h3></div></div></div>
+<p>
+Occationally the end user may need to provide their own specialization
+for one of the type traits - typically where intrinsic compiler support
+is required to implement a specific trait fully.
+These specializations should derive from boost::<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a> or boost::<a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a>
+as appropriate:</p>
+<pre class="programlisting"><code class="literal"><span class="preprocessor">#include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_pod</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">type_traits</span><span class="special">/</span><span class="identifier">is_class</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">type_traits</span><span class="special">/</span><span class="identifier">is_union</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span><span class="keyword">
+
+struct</span><span class="identifier"> my_pod</span><span class="special">{};</span><span class="keyword">
+struct</span><span class="identifier"> my_union</span><span class="special">
+{</span><span class="keyword">
+ char</span><span class="identifier"> c</span><span class="special">;</span><span class="keyword">
+ int</span><span class="identifier"> i</span><span class="special">;</span><span class="special">
+};</span><span class="keyword">
+
+namespace</span><span class="identifier"> boost</span><span class="special">
+{</span><span class="keyword">
+ template</span><span class="special">&lt;&gt;</span><span class="keyword">
+ struct</span> <a href="reference.html#boost_typetraits.is_pod" title=" is_pod">is_pod</a><span class="special">&lt;</span><span class="identifier">my_pod</span><span class="special">&gt;</span><span class="special"> :</span><span class="keyword"> public</span> <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a><span class="special">{};</span><span class="keyword">
+
+ template</span><span class="special">&lt;&gt;</span><span class="keyword">
+ struct</span> <a href="reference.html#boost_typetraits.is_pod" title=" is_pod">is_pod</a><span class="special">&lt;</span><span class="identifier">my_union</span><span class="special">&gt;</span><span class="special"> :</span><span class="keyword"> public</span> <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a><span class="special">{};</span><span class="keyword">
+
+ template</span><span class="special">&lt;&gt;</span><span class="keyword">
+ struct</span> <a href="reference.html#boost_typetraits.is_union" title=" is_union">is_union</a><span class="special">&lt;</span><span class="identifier">my_union</span><span class="special">&gt;</span><span class="special"> :</span><span class="keyword"> public</span> <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">true_type</a><span class="special">{};</span><span class="keyword">
+
+ template</span><span class="special">&lt;&gt;</span><span class="keyword">
+ struct</span> <a href="reference.html#boost_typetraits.is_class" title=" is_class">is_class</a><span class="special">&lt;</span><span class="identifier">my_union</span><span class="special">&gt;</span><span class="special"> :</span><span class="keyword"> public</span> <a href="reference.html#boost_typetraits.integral_constant" title=" integral_constant">false_type</a><span class="special">{};</span><span class="special">
+}</span></code></pre>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2000, 2005 Adobe Systems Inc, David Abrahams, Steve Cleary,
+ Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus,
+ Itay Maman, John Maddock, Thorsten Ottosen, Robert Ramey and Jeremy Siek</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="category.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typetraits.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="intrinsics.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook.css b/doc/html/boostbook.css
new file mode 100644
index 0000000000..4a32a6b1a7
--- /dev/null
+++ b/doc/html/boostbook.css
@@ -0,0 +1,354 @@
+/*=============================================================================
+ Copyright (c) 2002 2004 Joel de Guzman, Eric Niebler, Rene Rivera
+ http://spirit.sourceforge.net/
+
+ 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)
+=============================================================================*/
+
+/* CSS based on w3c documentation which I like a lot, and the classic Spirit
+documentation. */
+
+/* Body defaults */
+body
+{
+ padding: 2em 1em 2em 1em;
+ margin: 1em 1em 1em 1em;
+ font-family: sans-serif;
+}
+
+/* Paragraphs */
+p
+{
+ text-align: justify;
+}
+
+pre.synopsis
+{
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+}
+
+/* Headings */
+h1, h2, h3, h4, h5, h6 { text-align: left; margin-top: 2pc; }
+h1 { font: 170% sans-serif }
+h2 { font: bold 140% sans-serif }
+h3 { font: 120% sans-serif }
+h4 { font: bold 100% sans-serif }
+h5 { font: italic 100% sans-serif }
+h6 { font: italic 100% sans-serif }
+
+/* Unordered lists */
+ul
+{
+ text-align: justify;
+}
+
+/* Links */
+a
+{
+ text-decoration: none; /* no underline */
+}
+
+a:hover
+{
+ text-decoration: underline;
+}
+
+/* Top page title */
+title, h1.title, h2.title, h3.title,
+ h4.title, h5.title, h6.title,
+ .refentrytitle
+{
+ font-weight: bold;
+ font-size: 2pc;
+ margin-bottom: 1pc;
+}
+
+/* Spirit style navigation */
+.spirit-nav
+{
+ text-align: right;
+}
+
+.spirit-nav a
+{
+ color: white;
+ padding-left: 0.5em;
+}
+
+.spirit-nav img
+{
+ border-width: 0px;
+}
+
+/* Program listing box */
+.programlisting, .screen
+{
+ display: block;
+ margin-left: 4%;
+ margin-right: 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+}
+
+/* Table of contents */
+.toc
+{
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+}
+
+.boost-toc
+{
+ float: right;
+ padding: 0.5pc;
+}
+
+/* Tables */
+.table-title, div.table p.title
+{
+ margin-left: 4%;
+ padding-right: 0.5em;
+ padding-left: 0.5em;
+ font-size: 120%;
+}
+
+.informaltable table, .table table
+{
+ width: 92%;
+ margin-left: 4%;
+ margin-right: 4%;
+}
+
+div.informaltable table, div.table table
+{
+ padding: 4px 4px 4px 4px;
+}
+
+div.informaltable table tr td, div.table table tr td
+{
+ padding: 0.5em 0.5em 0.5em 0.5em;
+ text-align: justify;
+}
+
+div.informaltable table tr th, div.table table tr th
+{
+ padding: 0.5em 0.5em 0.5em 0.5em;
+ border: 1pt solid white;
+}
+
+/* screen & programlisting, when used in a table cell, do not
+ need the extra padding and margin normally used */
+
+td .screen, td .programlisting
+{
+ display: block;
+ margin-left: 0%;
+ margin-right: 0%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+}
+
+/* inlined images */
+.inlinemediaobject
+{
+ padding: 0.5em 0.5em 0.5em 0.5em;
+}
+
+/* tone down the title of Parameter lists */
+div.variablelist p.title
+{
+ font-weight: bold;
+ font-size: 100%;
+ text-align: left;
+}
+
+/* tabularize parameter lists */
+div.variablelist dl dt
+{
+ float: left;
+ clear: left;
+ display: block;
+ font-style: italic;
+}
+
+div.variablelist dl dd
+{
+ display: block;
+ clear: right;
+ padding-left: 8pc;
+}
+
+/* title of books and articles in bibliographies */
+span.title
+{
+ font-style: italic;
+}
+
+/* tips, notes and warnings done in Spirit style */
+div.tip, div.note, div.warning
+{
+ position: relative;
+ padding: 0.5em;
+ border: 0.5pt solid white;
+}
+
+div.tip .title, div.note .title, div.warning .title
+{
+ display: block;
+ font: bold xx-small sans-serif;
+ margin: 0;
+ padding: 0;
+ position: absolute;
+ left: -4em;
+ top: 0em;
+ height: 25px;
+ width: 24px;
+ text-indent: 32px;
+ overflow: hidden;
+ z-index: 2;
+}
+
+div.tip .title
+{
+ background: url(images/tip.png);
+}
+
+div.note .title
+{
+ background: url(images/note.png);
+}
+
+div.warning .title
+{
+ background: url(images/caution.png);
+}
+
+@media screen
+{
+ a
+ {
+ color: #005a9c;
+ }
+
+ a:visited
+ {
+ color: #9c5a9c;
+ }
+
+ /* Syntax Highlighting */
+ .keyword { color: #0000AA; font-weight: bold; }
+ .identifier {}
+ .special { color: #707070; }
+ .preprocessor { color: #402080; font-weight: bold; }
+ .char { color: teal; }
+ .comment { color: #800000; }
+ .string { color: teal; }
+ .number { color: teal; }
+ .copyright { color: #666666; font-size: small; }
+ .white_bkd { background-color: #FFFFFF; }
+ .dk_grey_bkd { background-color: #999999; }
+
+ pre.synopsis
+ {
+ background-color: #f3f3f3;
+ }
+
+ .programlisting, .screen
+ {
+ background-color: #f3f3f3;
+ }
+
+ /* Table of contents */
+ .toc
+ {
+ background-color: #f3f3f3;
+ }
+
+ div.informaltable table tr td, div.table table tr td
+ {
+ background-color: #F3F3F3;
+ border: 1pt solid white;
+ }
+
+ div.informaltable table tr th, div.table table tr th
+ {
+ background-color: #e4e4e4;
+ }
+
+ div.tip, div.note, div.warning
+ {
+ background-color: #F3F3F3;
+ }
+
+ span.highlight
+ {
+ color: #00A000;
+ }
+}
+
+@media print
+{
+ a
+ {
+ color: black;
+ }
+
+ a:visited
+ {
+ color: black;
+ }
+
+ .spirit-nav
+ {
+ display: none;
+ }
+
+ /* Syntax Highlighting */
+ .keyword
+ {
+ font-weight: bold;
+ }
+
+ pre.synopsis
+ {
+ border: 1px solid gray;
+ }
+
+ .programlisting, .screen
+ {
+ border: 1px solid gray;
+ }
+
+ /* Table of contents */
+ .toc
+ {
+ border: 1px solid gray;
+ }
+
+ .informaltable table, .table table
+ {
+ border: 1px solid gray;
+ border-collapse: collapse;
+ }
+
+ div.informaltable table tr td, div.table table tr td
+ {
+ border: 1px solid gray;
+ }
+
+ div.informaltable table tr th, div.table table tr th
+ {
+ border: 1px solid gray;
+ }
+
+ div.tip, div.note, div.warning
+ {
+ border: 1px solid gray;
+ }
+
+ span.highlight
+ {
+ font-weight: bold;
+ }
+}
diff --git a/doc/html/boostbook.html b/doc/html/boostbook.html
new file mode 100644
index 0000000000..4cbda1959d
--- /dev/null
+++ b/doc/html/boostbook.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Part II. The BoostBook Documentation Format</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="index.html" title="The Boost C++ Libraries">
+<link rel="prev" href="variant/refs.html" title="References">
+<link rel="next" href="boostbook/introduction.html" title="Chapter 16. Introduction">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="variant/refs.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boostbook/introduction.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="part" lang="en">
+<div class="titlepage"><div>
+<div><h1 class="title">
+<a name="boostbook"></a>Part II. The BoostBook Documentation Format</h1></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Douglas</span> <span class="surname">Gregor</span>
+</h3></div></div>
+<div><p class="copyright">Copyright © 2003-2005 Douglas Gregor</p></div>
+<div><div class="legalnotice">
+<a name="id2842074"></a><p>Permission to copy, use, sell and distribute this software
+ is granted provided this copyright notice appears in all copies.
+ Permission to modify the code and to distribute modified code is
+ granted provided this copyright notice appears in all copies,
+ and a notice that the code was modified is included with the
+ copyright notice. </p>
+<p> This software is provided "as is" without express or
+ implied warranty, and with no claim as to its suitability for
+ any purpose. </p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="chapter"><a href="boostbook/introduction.html">16. Introduction</a></span></dt>
+<dt><span class="chapter"><a href="boostbook/getting/started.html">17. Getting Started</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="boostbook/getting/started.html#boostbook.setup.autounix">Automatic setup for Unix-like systems</a></span></dt>
+<dt><span class="section"><a href="boostbook/setup/manual.html">Manual setup for all systems</a></span></dt>
+<dt><span class="section"><a href="boostbook/setup/running.html">Running BoostBook</a></span></dt>
+<dt><span class="section"><a href="boostbook/setup/troubleshooting.html">Troubleshooting</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="boostbook/documenting.html">18. Documenting libraries</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="boostbook/documenting.html#boostbook.defining">Defining a BoostBook library</a></span></dt>
+<dt><span class="section"><a href="boostbook/documenting/s02.html">From HTML to BoostBook</a></span></dt>
+<dt><span class="section"><a href="boostbook/sectioning.html">Sectioning in BoostBook</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="boostbook/together.html">19. Bringing Together a BoostBook Document</a></span></dt>
+<dd><dl><dt><span class="section"><a href="boostbook/together.html#boostbook.linking">Linking in BoostBook</a></span></dt></dl></dd>
+<dt><span class="chapter"><a href="reference.html">20. Reference</a></span></dt>
+<dd><dl></dl></dd>
+</dl>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: December 01, 2005 at 04:52:04 GMT</p></small></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="variant/refs.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boostbook/introduction.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/documenting.html b/doc/html/boostbook/documenting.html
new file mode 100644
index 0000000000..e55c359092
--- /dev/null
+++ b/doc/html/boostbook/documenting.html
@@ -0,0 +1,135 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 18. Documenting libraries</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../boostbook.html" title="Part II. The BoostBook Documentation Format">
+<link rel="prev" href="setup/troubleshooting.html" title="Troubleshooting">
+<link rel="next" href="documenting/s02.html" title="From HTML to BoostBook">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="setup/troubleshooting.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boostbook.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="documenting/s02.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="boostbook.documenting"></a>Chapter 18. Documenting libraries</h2></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="documenting.html#boostbook.defining">Defining a BoostBook library</a></span></dt>
+<dt><span class="section"><a href="documenting/s02.html">From HTML to BoostBook</a></span></dt>
+<dt><span class="section"><a href="sectioning.html">Sectioning in BoostBook</a></span></dt>
+</dl>
+</div>
+<p>BoostBook is an extension to <a href="http://www.docbook.org" target="_top">DocBook</a>, an XML format for
+ representing documentation. BoostBook inherits much of its
+ functionality and many elements from DocBook that are not
+ redocumented here. When writing BoostBook documentation, please
+ refer also to <a href="http://docbook.org/tdg/en/index.html" target="_top">DocBook: The Definitive
+ Guide</a>.</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boostbook.defining"></a>Defining a BoostBook library</h2></div></div></div>
+<p>BoostBook library documentation is contained entirely within
+ a &lt;library&gt; XML element. To create a skeletal library, we
+ need to create a new XML document (call it <code class="computeroutput">any.xml</code>)
+ that contains basic information about the library. The following
+ <a href="documenting.html#boostbook.documenting.skeletal" title="Example 18.1. A Skeletal BoostBook Library">BoostBook XML
+ example</a> describes basic information about the <a href="http://www.boost.org/libs/any/index.html" target="_top">Boost.Any</a>
+ library:</p>
+<div class="example">
+<a name="boostbook.documenting.skeletal"></a><p class="title"><b>Example 18.1. A Skeletal BoostBook Library</b></p>
+<pre class="programlisting">
+&lt;?xml version="1.0" encoding="utf-8"?&gt;
+&lt;!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
+ "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd"&gt;
+&lt;library name="Any" dirname="any" xmlns:xi="http://www.w3.org/2001/XInclude"
+ id="any" last-revision="$Date$"&gt;
+ &lt;libraryinfo&gt;
+ &lt;author&gt;
+ &lt;firstname&gt;Kevlin&lt;/firstname&gt;
+ &lt;surname&gt;Henney&lt;/surname&gt;
+ &lt;/author&gt;
+ &lt;librarypurpose&gt;
+ Safe, generic container for single values of different value types
+ &lt;/librarypurpose&gt;
+ &lt;librarycategory name="category:data-structures"/&gt;
+ &lt;/libraryinfo&gt;
+&lt;/library&gt;
+</pre>
+</div>
+<p>The first three lines identify this document as a BoostBook
+ <a href="http://www.w3.org/XML/" target="_top">XML</a> document. The
+ DOCTYPE line states that the document conforms to the BoostBook
+ DTD, and that the top-level element is a BoostBook
+ &lt;library&gt;.</p>
+<p>The &lt;library&gt; element actually describes the aspects
+ of BoostBook library documentation. The attributes for the
+ &lt;library&gt; element are:</p>
+<div class="variablelist">
+<p class="title"><b>Attributes for the &lt;library&gt; element</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput">name</code></span></dt>
+<dd>The full name of the library, e.g., "Any"</dd>
+<dt><span class="term"><code class="computeroutput">dirname</code></span></dt>
+<dd>The name of the directory, relative to
+ <code class="computeroutput">boost/libs</code>, in which the library
+ resides. This name may be a relative path, such as
+ <code class="computeroutput">math/octonion</code>, using "/" for the directory
+ separator.</dd>
+<dt><span class="term"><code class="computeroutput">id</code></span></dt>
+<dd>A short, unique name for the library. For libraries
+ with simple directory names (e.g., ones that do not contain
+ a "/"), this should be the same as the
+ <code class="computeroutput">dirname</code>. This <code class="computeroutput">id</code> will be used to
+ identify libraries and, for HTML output, will be used as the
+ base name for the HTML file in which the library's
+ documentation resides, so it should use only lowercase
+ alphanumeric characters and underscores.</dd>
+<dt><span class="term"><code class="computeroutput">last-revision</code></span></dt>
+<dd>Always set to <code class="computeroutput">$Date$</code>, which is
+ expanded by CVS to include the date and time that the file
+ was last modified.</dd>
+</dl>
+</div>
+<p>Inside the &lt;library&gt; element we have the
+ &lt;libraryinfo&gt; element, which gives information about the
+ library itself. It contains the author's name (there may be more
+ than one &lt;author&gt; element), followed by the purpose of the
+ library and the list of categorizations. The
+ &lt;librarypurpose&gt; element should always contain a very short
+ (single sentence) description of the library's purpose, and should
+ <span class="emphasis"><em>not</em></span> terminate with a period.</p>
+<p>The list of categories is specified by a set of
+ &lt;librarycategory&gt; elements. Each &lt;librarycategory&gt;
+ element has a <code class="computeroutput">name</code> element that identifies one of the
+ categories. The actual list of categories is in the file
+ <code class="filename">doc/src/boost.xml</code>.
+ </p>
+<p>At this point, we can apply the BoostBook XSL stylesheets to
+ <code class="computeroutput">any.xml</code> (to DocBook) followed by a DocBook XSL
+ stylesheet to generate HTML output, as described in <a href="getting/started.html" title="Chapter 17. Getting Started">Chapter 17, <i>Getting Started</i></a>.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="setup/troubleshooting.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boostbook.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="documenting/s02.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/documenting/s02.html b/doc/html/boostbook/documenting/s02.html
new file mode 100644
index 0000000000..c2d6e64a47
--- /dev/null
+++ b/doc/html/boostbook/documenting/s02.html
@@ -0,0 +1,120 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>From HTML to BoostBook</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../documenting.html" title="Chapter 18. Documenting libraries">
+<link rel="prev" href="../documenting.html" title="Chapter 18. Documenting libraries">
+<link rel="next" href="../sectioning.html" title="Sectioning in BoostBook">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../documenting.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../documenting.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../sectioning.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id2843215"></a>From HTML to BoostBook</h2></div></div></div>
+<p>Most library authors are comfortable with writing HTML
+ documentation. Writing <a href="http://www.docbook.org" target="_top">DocBook</a> documentation (and,
+ by extension, BoostBook documentation) is quite similar to writing
+ HTML, except that BoostBook uses different element names from HTML
+ (see <a href="s02.html#html.to.boostbook" title="Table 18.1. Converting HTML elements to BoostBook">Table 18.1, &#8220;Converting HTML elements to BoostBook&#8221;</a>) and BoostBook XML is a
+ much more rigid format than HTML.</p>
+<p>One of the easiest ways to convert HTML documentation into
+ BoostBook documentation is to use <a href="http://tidy.sourceforge.net/" target="_top">HTML Tidy</a> to transform
+ your HTML into valid XHTML, which will make sure that all elements
+ are properly closed, then apply the transformations in <a href="s02.html#html.to.boostbook" title="Table 18.1. Converting HTML elements to BoostBook">Table 18.1, &#8220;Converting HTML elements to BoostBook&#8221;</a> to the body of the XHTML
+ document. The following command uses HTML Tidy to transform HTML
+ into valid XHTML:</p>
+<pre class="programlisting">
+ tidy -asxhtml input.html &gt; output.xhtml</pre>
+<p>When converting documentation from HTML to BoostBook, note
+ that some redundant information that has to be manually maintained
+ in HTML is automatically generated in BoostBook: for instance, the
+ library categorizations, purpose, and author list described in
+ <a href="../documenting.html#boostbook.defining" title="Defining a BoostBook library">the section called &#8220;Defining a BoostBook library&#8221;</a> are used both in the
+ documentation for the library and to build alphabetical and
+ categorized lists of known libraries; similarly, tables of
+ contents are built automatically from the titles of sections in
+ the BoostBook document.</p>
+<div class="table">
+<a name="html.to.boostbook"></a><p class="title"><b>Table 18.1. Converting HTML elements to BoostBook</b></p>
+<table class="table" summary="Converting HTML elements to BoostBook">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">HTML</th>
+<th align="left">BoostBook</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left"><p>&lt;h1&gt;, &lt;h2&gt;, etc.</p></td>
+<td align="left"><p>&lt;section&gt;, &lt;title&gt;; See <a href="../sectioning.html" title="Sectioning in BoostBook">the section called &#8220;Sectioning in BoostBook&#8221;</a></p></td>
+</tr>
+<tr>
+<td align="left"><p>&lt;i&gt;, &lt;em&gt;</p></td>
+<td align="left"><p>&lt;emphasis&gt;</p></td>
+</tr>
+<tr>
+<td align="left"><p>&lt;b&gt;</p></td>
+<td align="left"><p>&lt;emphasis role="bold"&gt;</p></td>
+</tr>
+<tr>
+<td align="left"><p>&lt;ol&gt;</p></td>
+<td align="left"><p>&lt;orderedlist&gt;</p></td>
+</tr>
+<tr>
+<td align="left"><p>&lt;ul&gt;</p></td>
+<td align="left"><p>&lt;itemizedlist&gt;</p></td>
+</tr>
+<tr>
+<td align="left"><p>&lt;li&gt;</p></td>
+<td align="left"><p>&lt;listitem&gt;</p></td>
+</tr>
+<tr>
+<td align="left"><p>&lt;pre&gt;</p></td>
+<td align="left"><p>&lt;programlisting&gt;</p></td>
+</tr>
+<tr>
+<td align="left"><p>&lt;code&gt;</p></td>
+<td align="left"><p>&lt;computeroutput&gt;,&lt;code&gt;</p></td>
+</tr>
+<tr>
+<td align="left"><p>&lt;p&gt;</p></td>
+<td align="left"><p>&lt;para&gt;, &lt;simpara&gt;</p></td>
+</tr>
+<tr>
+<td align="left"><p>&lt;a&gt;</p></td>
+<td align="left"><p>&lt;xref&gt;, &lt;link&gt;, &lt;ulink&gt;;, See <a href="../together.html#boostbook.linking" title="Linking in BoostBook">the section called &#8220;Linking in BoostBook&#8221;</a></p></td>
+</tr>
+<tr>
+<td align="left"><p>&lt;table&gt;, &lt;tr&gt;, &lt;th&gt;, &lt;td&gt;</p></td>
+<td align="left"><p>&lt;table&gt;, &lt;informaltable&gt;, &lt;tgroup&gt;, &lt;thead&gt;, &lt;tfoot&gt;, &lt;tbody&gt;, &lt;row&gt;, &lt;entry&gt;, &lt;entrytbl&gt;; BoostBook tables are equivalent to DocBook tables, for which there is a good <a href="http://opensource.bureau-cornavin.com/crash-course/tables.html" target="_top">tutorial here</a></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../documenting.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../documenting.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../sectioning.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/boostbook.html b/doc/html/boostbook/dtd/boostbook.html
new file mode 100644
index 0000000000..f7cbb8e4f0
--- /dev/null
+++ b/doc/html/boostbook/dtd/boostbook.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element boostbook</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="library-reference.html" title="
+ BoostBook element library-reference">
+<link rel="next" href="union.html" title="
+ BoostBook element union">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="library-reference.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="union.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.boostbook"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">boostbook</code></span></h2>
+<p>boostbook &#8212; Defines a BoostBook book</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">boostbook ::=
+ (title, (chapter| <a href="library.html" title="
+ BoostBook element library">library</a>)*)
+</div>
+<div class="refsection" lang="en">
+<a name="id2846178"></a><h2>Description</h2>
+<p>This element is the topmost level defined by
+ <code class="filename">boost.xml</code> for all Boost documentation. It will
+ not generally be used by developers.</p>
+</div>
+<div class="refsection" lang="en">
+<a name="id2846192"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="library-reference.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="union.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/class-specialization.html b/doc/html/boostbook/dtd/class-specialization.html
new file mode 100644
index 0000000000..4fe0064502
--- /dev/null
+++ b/doc/html/boostbook/dtd/class-specialization.html
@@ -0,0 +1,115 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element class-specialization</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="next" href="link-test.html" title="
+ BoostBook element link-test">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../reference.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="link-test.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.class-specialization"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">class-specialization</code></span></h2>
+<p>class-specialization &#8212; A specialization (partial or full) of a class template</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">class-specialization ::=
+ (<a href="template.html" title="
+ BoostBook element template">template</a>?, <a href="specialization.html" title="
+ BoostBook element specialization">specialization</a>?, <a href="inherit.html" title="
+ BoostBook element inherit">inherit</a>?, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>?, <a href="description.html" title="
+ BoostBook element description">description</a>?, (<a href="static-constant.html" title="
+ BoostBook element static-constant">static-constant</a>| <a href="typedef.html" title="
+ BoostBook element typedef">typedef</a>| <a href="enum.html" title="
+ BoostBook element enum">enum</a>| <a href="copy-assignment.html" title="
+ BoostBook element copy-assignment">copy-assignment</a>| <a href="constructor.html" title="
+ BoostBook element constructor">constructor</a>| <a href="destructor.html" title="
+ BoostBook element destructor">destructor</a>| <a href="method-group.html" title="
+ BoostBook element method-group">method-group</a>| <a href="free-function-group.html" title="
+ BoostBook element free-function-group">free-function-group</a>| <a href="function.html" title="
+ BoostBook element function">function</a>| <a href="method.html" title="
+ BoostBook element method">method</a>| <a href="overloaded-function.html" title="
+ BoostBook element overloaded-function">overloaded-function</a>| <a href="overloaded-method.html" title="
+ BoostBook element overloaded-method">overloaded-method</a>| <a href="data-member.html" title="
+ BoostBook element data-member">data-member</a>| <a href="class.html" title="
+ BoostBook element class">class</a>| <a href="class-specialization.html" title="
+ BoostBook element class-specialization">class-specialization</a>| <a href="struct.html" title="
+ BoostBook element struct">struct</a>| <a href="struct-specialization.html" title="
+ BoostBook element struct-specialization">struct-specialization</a>| <a href="union.html" title="
+ BoostBook element union">union</a>| <a href="union-specialization.html" title="
+ BoostBook element union-specialization">union-specialization</a>)*)
+</div>
+<div class="refsection" lang="en">
+<a name="id2844903"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../reference.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="link-test.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/class.html b/doc/html/boostbook/dtd/class.html
new file mode 100644
index 0000000000..331e3972ce
--- /dev/null
+++ b/doc/html/boostbook/dtd/class.html
@@ -0,0 +1,156 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element class</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="overloaded-function.html" title="
+ BoostBook element overloaded-function">
+<link rel="next" href="librarycategorydef.html" title="
+ BoostBook element librarycategorydef">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overloaded-function.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="librarycategorydef.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.class"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">class</code></span></h2>
+<p>class &#8212; Declares a class or class template</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">class ::=
+ (<a href="template.html" title="
+ BoostBook element template">template</a>?, <a href="inherit.html" title="
+ BoostBook element inherit">inherit</a>*, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>?, <a href="description.html" title="
+ BoostBook element description">description</a>?, (<a href="static-constant.html" title="
+ BoostBook element static-constant">static-constant</a>| <a href="typedef.html" title="
+ BoostBook element typedef">typedef</a>| <a href="enum.html" title="
+ BoostBook element enum">enum</a>| <a href="copy-assignment.html" title="
+ BoostBook element copy-assignment">copy-assignment</a>| <a href="constructor.html" title="
+ BoostBook element constructor">constructor</a>| <a href="destructor.html" title="
+ BoostBook element destructor">destructor</a>| <a href="method-group.html" title="
+ BoostBook element method-group">method-group</a>| <a href="free-function-group.html" title="
+ BoostBook element free-function-group">free-function-group</a>| <a href="function.html" title="
+ BoostBook element function">function</a>| <a href="method.html" title="
+ BoostBook element method">method</a>| <a href="overloaded-function.html" title="
+ BoostBook element overloaded-function">overloaded-function</a>| <a href="overloaded-method.html" title="
+ BoostBook element overloaded-method">overloaded-method</a>| <a href="data-member.html" title="
+ BoostBook element data-member">data-member</a>| <a href="class.html" title="
+ BoostBook element class">class</a>| <a href="class-specialization.html" title="
+ BoostBook element class-specialization">class-specialization</a>| <a href="struct.html" title="
+ BoostBook element struct">struct</a>| <a href="struct-specialization.html" title="
+ BoostBook element struct-specialization">struct-specialization</a>| <a href="union.html" title="
+ BoostBook element union">union</a>| <a href="union-specialization.html" title="
+ BoostBook element union-specialization">union-specialization</a>)*)
+</div>
+<div class="refsection" lang="en">
+<a name="id2850799"></a><h2>Description</h2>
+<p>C++ classes and class templates are described via the
+ &lt;class&gt; element. Each class has a name (e.g., "any") given by
+ the <code class="computeroutput">name</code> attribute, a purpose given by the
+ &lt;purpose&gt; element, documentation, and a set of types,
+ functions, base classes, and data members. Here is a minimal
+ definition of the <code class="computeroutput"><a href="../../boost/any.html" title="Class any">boost::any</a></code> class:</p>
+<pre class="programlisting">&lt;namespace name="boost"&gt;
+ &lt;class name="any"&gt;
+ &lt;purpose&gt;
+ A class whose instances can hold instances of any type that satisfies
+ ValueType requirements.
+ &lt;/purpose&gt;
+ &lt;/class&gt;
+&lt;/namespace&gt;</pre>
+<p>Additional class documentation can be contained in a
+ <code class="sgmltag-element">description</code> element following the &lt;purpose&gt;
+ element. This documentation will be typeset prior to documentation
+ for specific elements in the class (e.g., constructors or
+ methods).</p>
+<p>Class inheritance is described via the &lt;inherit&gt;
+ element. The &lt;inherit&gt; element requires an <code class="computeroutput">access</code>
+ attribute which must be one of <span class="emphasis"><em>public</em></span>,
+ <span class="emphasis"><em>protected</em></span>, or <span class="emphasis"><em>private</em></span>. The
+ content of the &lt;inherited&gt; element in C++ code that names the
+ class inherited, and may contain markup to link to the class. The
+ following description of the class
+ <code class="computeroutput"><a href="../../bad_any_cast.html" title="Class bad_any_cast">boost::bad_any_cast</a></code> describes public
+ inheritance from the class <code class="computeroutput">std::bad_cast</code>. It
+ also defines the &lt;purpose&gt; element, which contains a short
+ description of the use of the class.</p>
+<pre class="programlisting">&lt;class name="bad_any_cast"&gt;
+ &lt;inherit access="public"&gt;&lt;classname&gt;std::bad_cast&lt;/classname&gt;&lt;/inherit&gt;
+ &lt;purpose&gt;&lt;para&gt;The exception thrown in the event of a failed
+ &lt;functionname&gt;any_cast&lt;/functionname&gt; of an
+ &lt;classname&gt;any&lt;/classname&gt; value.&lt;/para&gt;&lt;/purpose&gt;
+&lt;/class&gt;</pre>
+<p>Class templates are defined by &lt;class&gt; elements with a
+ &lt;template&gt; child element at the beginning.</p>
+</div>
+<div class="refsection" lang="en">
+<a name="id2850925"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overloaded-function.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="librarycategorydef.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/code.html b/doc/html/boostbook/dtd/code.html
new file mode 100644
index 0000000000..45fa58fa72
--- /dev/null
+++ b/doc/html/boostbook/dtd/code.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element code</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="static-constant.html" title="
+ BoostBook element static-constant">
+<link rel="next" href="destructor.html" title="
+ BoostBook element destructor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="static-constant.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="destructor.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.code"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">code</code></span></h2>
+<p>code &#8212; Mimics the <code class="sgmltag-element">code</code> tag in HTML</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">code ::=
+ (ANY)
+</div>
+<div class="refsection" lang="en">
+<a name="id2845431"></a><h2>Description</h2>
+<p>Text within a <code class="sgmltag-element">code</code> tag is generally typeset
+ in a different, monospaced font so that it stands out as code. The
+ <code class="sgmltag-element">code</code> tag in BoostBook is transformed directly
+ into the <code class="sgmltag-element">computeroutput</code> tag in DocBook.</p>
+</div>
+<div class="refsection" lang="en">
+<a name="id2845451"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="static-constant.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="destructor.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/compile-fail-test.html b/doc/html/boostbook/dtd/compile-fail-test.html
new file mode 100644
index 0000000000..3df838f79d
--- /dev/null
+++ b/doc/html/boostbook/dtd/compile-fail-test.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element compile-fail-test</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="template.html" title="
+ BoostBook element template">
+<link rel="next" href="returns.html" title="
+ BoostBook element returns">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="template.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="returns.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.compile-fail-test"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">compile-fail-test</code></span></h2>
+<p>compile-fail-test &#8212; A testcase that should fail to compile</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">compile-fail-test ::=
+ (<a href="source.html" title="
+ BoostBook element source">source</a>*, <a href="lib.html" title="
+ BoostBook element lib">lib</a>*, <a href="requirement.html" title="
+ BoostBook element requirement">requirement</a>*, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>, <a href="if-fails.html" title="
+ BoostBook element if-fails">if-fails</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2850025"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>filename</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the file associated with this element</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="template.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="returns.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/compile-test.html b/doc/html/boostbook/dtd/compile-test.html
new file mode 100644
index 0000000000..f8dd56bbba
--- /dev/null
+++ b/doc/html/boostbook/dtd/compile-test.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element compile-test</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="postconditions.html" title="
+ BoostBook element postconditions">
+<link rel="next" href="method.html" title="
+ BoostBook element method">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="postconditions.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="method.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.compile-test"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">compile-test</code></span></h2>
+<p>compile-test &#8212; A testcase that should compile correctly</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">compile-test ::=
+ (<a href="source.html" title="
+ BoostBook element source">source</a>*, <a href="lib.html" title="
+ BoostBook element lib">lib</a>*, <a href="requirement.html" title="
+ BoostBook element requirement">requirement</a>*, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>, <a href="if-fails.html" title="
+ BoostBook element if-fails">if-fails</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2847163"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>filename</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the file associated with this element</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="postconditions.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="method.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/complexity.html b/doc/html/boostbook/dtd/complexity.html
new file mode 100644
index 0000000000..8d04efec14
--- /dev/null
+++ b/doc/html/boostbook/dtd/complexity.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element complexity</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="programlisting.html" title="
+ BoostBook element programlisting">
+<link rel="next" href="purpose.html" title="
+ BoostBook element purpose">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="programlisting.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="purpose.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.complexity"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">complexity</code></span></h2>
+<p>complexity &#8212; The time/space/etc. complexity of a function</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">complexity ::=
+ (ANY)
+</div>
+<div class="refsection" lang="en">
+<a name="id2851536"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="programlisting.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="purpose.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/constructor.html b/doc/html/boostbook/dtd/constructor.html
new file mode 100644
index 0000000000..44bd3c1488
--- /dev/null
+++ b/doc/html/boostbook/dtd/constructor.html
@@ -0,0 +1,111 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element constructor</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="snippet.html" title="
+ BoostBook element snippet">
+<link rel="next" href="namespace.html" title="
+ BoostBook element namespace">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="snippet.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="namespace.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.constructor"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">constructor</code></span></h2>
+<p>constructor &#8212; Declares a constructor of the enclosing class</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">constructor ::=
+ (<a href="template.html" title="
+ BoostBook element template">template</a>?, <a href="parameter.html" title="
+ BoostBook element parameter">parameter</a>*, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>?, <a href="description.html" title="
+ BoostBook element description">description</a>?, <a href="requires.html" title="
+ BoostBook element requires">requires</a>?, <a href="effects.html" title="
+ BoostBook element effects">effects</a>?, <a href="postconditions.html" title="
+ BoostBook element postconditions">postconditions</a>?, <a href="returns.html" title="
+ BoostBook element returns">returns</a>?, <a href="throws.html" title="
+ BoostBook element throws">throws</a>?, <a href="complexity.html" title="
+ BoostBook element complexity">complexity</a>?, <a href="notes.html" title="
+ BoostBook element notes">notes</a>?, <a href="rationale.html" title="
+ BoostBook element rationale">rationale</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2847598"></a><h2>Description</h2>
+<p>General documentation on functions in BoostBook is provided in
+ the <a href="function.html" title="
+ BoostBook element function"><code class="sgmltag-element">function</code></a>
+ element documentation.</p>
+</div>
+<div class="refsection" lang="en">
+<a name="id2847614"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>specifiers</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>The specifiers for this function, e.g., inline, static, etc.</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="snippet.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="namespace.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/copy-assignment.html b/doc/html/boostbook/dtd/copy-assignment.html
new file mode 100644
index 0000000000..badb76172e
--- /dev/null
+++ b/doc/html/boostbook/dtd/copy-assignment.html
@@ -0,0 +1,121 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element copy-assignment</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="librarypurpose.html" title="
+ BoostBook element librarypurpose">
+<link rel="next" href="run-fail-test.html" title="
+ BoostBook element run-fail-test">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="librarypurpose.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="run-fail-test.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.copy-assignment"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">copy-assignment</code></span></h2>
+<p>copy-assignment &#8212; Declares a copy-assignment operator</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">copy-assignment ::=
+ (<a href="template.html" title="
+ BoostBook element template">template</a>?, <a href="type.html" title="
+ BoostBook element type">type</a>?, <a href="parameter.html" title="
+ BoostBook element parameter">parameter</a>*, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>?, <a href="description.html" title="
+ BoostBook element description">description</a>?, <a href="requires.html" title="
+ BoostBook element requires">requires</a>?, <a href="effects.html" title="
+ BoostBook element effects">effects</a>?, <a href="postconditions.html" title="
+ BoostBook element postconditions">postconditions</a>?, <a href="returns.html" title="
+ BoostBook element returns">returns</a>?, <a href="throws.html" title="
+ BoostBook element throws">throws</a>?, <a href="complexity.html" title="
+ BoostBook element complexity">complexity</a>?, <a href="notes.html" title="
+ BoostBook element notes">notes</a>?, <a href="rationale.html" title="
+ BoostBook element rationale">rationale</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2849666"></a><h2>Description</h2>
+<p>The return type of the copy-assignment operator does not need
+ to be specified. If left unspecified, it will default to an
+ unqualified reference to the enclosing class type.</p>
+<p>General documentation on functions in BoostBook is provided in
+ the <a href="function.html" title="
+ BoostBook element function"><code class="sgmltag-element">function</code></a>
+ element documentation.</p>
+</div>
+<div class="refsection" lang="en">
+<a name="id2849686"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>cv</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>cv-qualifiers for this method, e.g., const volatile</td>
+</tr>
+<tr>
+<td>specifiers</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>The specifiers for this function, e.g., inline, static, etc.</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="librarypurpose.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="run-fail-test.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/data-member.html b/doc/html/boostbook/dtd/data-member.html
new file mode 100644
index 0000000000..7c3084b058
--- /dev/null
+++ b/doc/html/boostbook/dtd/data-member.html
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element data-member</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="notes.html" title="
+ BoostBook element notes">
+<link rel="next" href="specialization.html" title="
+ BoostBook element specialization">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="notes.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="specialization.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.data-member"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">data-member</code></span></h2>
+<p>data-member &#8212; Declares a data member of a class</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">data-member ::=
+ (<a href="type.html" title="
+ BoostBook element type">type</a>, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>?, <a href="description.html" title="
+ BoostBook element description">description</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2848349"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="notes.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="specialization.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/default.html b/doc/html/boostbook/dtd/default.html
new file mode 100644
index 0000000000..f374a7162f
--- /dev/null
+++ b/doc/html/boostbook/dtd/default.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element default</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="returns.html" title="
+ BoostBook element returns">
+<link rel="next" href="parameter.html" title="
+ BoostBook element parameter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="returns.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="parameter.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.default"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">default</code></span></h2>
+<p>default &#8212; The default value of a function or template parameter</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">default ::=
+ (ANY)
+</div>
+<div class="refsection" lang="en">
+<a name="id2850167"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="returns.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="parameter.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/description.html b/doc/html/boostbook/dtd/description.html
new file mode 100644
index 0000000000..c79fd7b133
--- /dev/null
+++ b/doc/html/boostbook/dtd/description.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element description</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="template-type-parameter.html" title="
+ BoostBook element template-type-parameter">
+<link rel="next" href="librarylist.html" title="
+ BoostBook element librarylist">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="template-type-parameter.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="librarylist.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.description"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">description</code></span></h2>
+<p>description &#8212; Detailed description of a construct</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">description ::=
+ (ANY)
+</div>
+<div class="refsection" lang="en">
+<a name="id2845810"></a><h2>Description</h2>
+<p>Although the context model for this element is
+ <code class="computeroutput">ANY</code>, detailed descriptions should contain structured
+ DocBook elements that occur within sections, e.g., paragraphs
+ (<code class="sgmltag-element">para</code>, <code class="sgmltag-element">simpara</code>), lists
+ (<code class="sgmltag-element">orderedlist</code>, <code class="sgmltag-element">itemizedlist</code>),
+ tables (<code class="sgmltag-element">informaltable</code>, <code class="sgmltag-element">table</code>),
+ etc.</p>
+</div>
+<div class="refsection" lang="en">
+<a name="id2845846"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="template-type-parameter.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="librarylist.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/destructor.html b/doc/html/boostbook/dtd/destructor.html
new file mode 100644
index 0000000000..0557243c61
--- /dev/null
+++ b/doc/html/boostbook/dtd/destructor.html
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element destructor</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="code.html" title="
+ BoostBook element code">
+<link rel="next" href="template-type-parameter.html" title="
+ BoostBook element template-type-parameter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="code.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="template-type-parameter.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.destructor"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">destructor</code></span></h2>
+<p>destructor &#8212; Declares a destructor for the enclosing class</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">destructor ::=
+ (<a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>?, <a href="description.html" title="
+ BoostBook element description">description</a>?, <a href="requires.html" title="
+ BoostBook element requires">requires</a>?, <a href="effects.html" title="
+ BoostBook element effects">effects</a>?, <a href="postconditions.html" title="
+ BoostBook element postconditions">postconditions</a>?, <a href="returns.html" title="
+ BoostBook element returns">returns</a>?, <a href="throws.html" title="
+ BoostBook element throws">throws</a>?, <a href="complexity.html" title="
+ BoostBook element complexity">complexity</a>?, <a href="notes.html" title="
+ BoostBook element notes">notes</a>?, <a href="rationale.html" title="
+ BoostBook element rationale">rationale</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2845602"></a><h2>Description</h2>
+<p>General documentation on functions in BoostBook is provided in
+ the <a href="function.html" title="
+ BoostBook element function"><code class="sgmltag-element">function</code></a>
+ element documentation.</p>
+</div>
+<div class="refsection" lang="en">
+<a name="id2845617"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>specifiers</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>The specifiers for this function, e.g., inline, static, etc.</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="code.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="template-type-parameter.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/effects.html b/doc/html/boostbook/dtd/effects.html
new file mode 100644
index 0000000000..9af131bef8
--- /dev/null
+++ b/doc/html/boostbook/dtd/effects.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element effects</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="requires.html" title="
+ BoostBook element requires">
+<link rel="next" href="libraryname.html" title="
+ BoostBook element libraryname">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="requires.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="libraryname.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.effects"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">effects</code></span></h2>
+<p>effects &#8212; Declares the side effects of a function</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">effects ::=
+ (ANY)
+</div>
+<div class="refsection" lang="en">
+<a name="id2852870"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="requires.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="libraryname.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/enum.html b/doc/html/boostbook/dtd/enum.html
new file mode 100644
index 0000000000..5a29d8f13b
--- /dev/null
+++ b/doc/html/boostbook/dtd/enum.html
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element enum</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="lib.html" title="
+ BoostBook element lib">
+<link rel="next" href="requires.html" title="
+ BoostBook element requires">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lib.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="requires.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.enum"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">enum</code></span></h2>
+<p>enum &#8212; Declares an enumeration type</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">enum ::=
+ (<a href="enumvalue.html" title="
+ BoostBook element enumvalue">enumvalue</a>*, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>?, <a href="description.html" title="
+ BoostBook element description">description</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2852705"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lib.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="requires.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/enumvalue.html b/doc/html/boostbook/dtd/enumvalue.html
new file mode 100644
index 0000000000..08e9470975
--- /dev/null
+++ b/doc/html/boostbook/dtd/enumvalue.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element enumvalue</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="type.html" title="
+ BoostBook element type">
+<link rel="next" href="overloaded-method.html" title="
+ BoostBook element overloaded-method">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="type.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="overloaded-method.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.enumvalue"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">enumvalue</code></span></h2>
+<p>enumvalue &#8212; A single value of an enumeration</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">enumvalue ::=
+ (<a href="default.html" title="
+ BoostBook element default">default</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2851208"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="type.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="overloaded-method.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/free-function-group.html b/doc/html/boostbook/dtd/free-function-group.html
new file mode 100644
index 0000000000..9fc1cbc0d7
--- /dev/null
+++ b/doc/html/boostbook/dtd/free-function-group.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element free-function-group</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="if-fails.html" title="
+ BoostBook element if-fails">
+<link rel="next" href="functionname.html" title="
+ BoostBook element functionname">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="if-fails.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="functionname.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.free-function-group"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">free-function-group</code></span></h2>
+<p>free-function-group &#8212; A set of functions that are grouped together under one name</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">free-function-group ::=
+ (<a href="function.html" title="
+ BoostBook element function">function</a>| <a href="overloaded-function.html" title="
+ BoostBook element overloaded-function">overloaded-function</a>)*
+</div>
+<div class="refsection" lang="en">
+<a name="id2847968"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="if-fails.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="functionname.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/function.html b/doc/html/boostbook/dtd/function.html
new file mode 100644
index 0000000000..9d8f87ade1
--- /dev/null
+++ b/doc/html/boostbook/dtd/function.html
@@ -0,0 +1,165 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element function</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="source.html" title="
+ BoostBook element source">
+<link rel="next" href="postconditions.html" title="
+ BoostBook element postconditions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="source.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="postconditions.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.function"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">function</code></span></h2>
+<p>function &#8212; Declares a function</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">function ::=
+ (<a href="template.html" title="
+ BoostBook element template">template</a>?, <a href="type.html" title="
+ BoostBook element type">type</a>, <a href="parameter.html" title="
+ BoostBook element parameter">parameter</a>*, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>?, <a href="description.html" title="
+ BoostBook element description">description</a>?, <a href="requires.html" title="
+ BoostBook element requires">requires</a>?, <a href="effects.html" title="
+ BoostBook element effects">effects</a>?, <a href="postconditions.html" title="
+ BoostBook element postconditions">postconditions</a>?, <a href="returns.html" title="
+ BoostBook element returns">returns</a>?, <a href="throws.html" title="
+ BoostBook element throws">throws</a>?, <a href="complexity.html" title="
+ BoostBook element complexity">complexity</a>?, <a href="notes.html" title="
+ BoostBook element notes">notes</a>?, <a href="rationale.html" title="
+ BoostBook element rationale">rationale</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2846870"></a><h2>Description</h2>
+<p>BoostBook functions are documented by specifying the
+ function's interface (e.g., its C++ signature) and its
+ behavior. Constructors, destructors, member functions, and free
+ functions all use the same documentation method, although the
+ top-level tags differ.</p>
+<p>The behavior of functions in BoostBook is documenting using a
+ style similar to that of the C++ standard, with clauses describing
+ the requirements, effects, postconditions, exception behavior, and
+ return values of functions.</p>
+<p>The following example illustrates some constructors and a
+ destructor for <code class="computeroutput"><a href="../../boost/any.html" title="Class any">boost::any</a></code>. Note that one of
+ the constructors takes a single parameter whose name is "other" and
+ whose type, <code class="computeroutput">const any&amp;</code> is contained in the
+ &lt;paramtype&gt; element; any number of parameters may be specified
+ in this way.</p>
+<pre class="programlisting">&lt;class name="any"&gt;
+ &lt;constructor&gt;
+ &lt;postconditions&gt;&lt;para&gt;&lt;this-&gt;empty()&gt;&lt;/para&gt;&lt;/postconditions&gt;
+ &lt;/constructor&gt;
+
+ &lt;constructor&gt;
+ &lt;parameter name="other"&gt;
+ &lt;paramtype&gt;const &lt;classname&gt;any&lt;/classname&gt;&amp;amp;&lt;/paramtype&gt;
+ &lt;/parameter&gt;
+
+ &lt;effects&gt;
+ &lt;simpara&gt; Copy constructor that copies
+ content of &lt;code&gt;other&lt;/code&gt; into the new instance,
+ so that any content is equivalent in both type and value to the
+ content of &lt;code&gt;other&lt;/code&gt;, or empty if
+ &lt;code&gt;other&lt;/code&gt; is
+ empty.
+ &lt;/simpara&gt;
+ &lt;/effects&gt;
+
+ &lt;throws&gt;
+ &lt;simpara&gt;May fail with a
+ &lt;classname&gt;std::bad_alloc&lt;/classname&gt; exception or any
+ exceptions arising from the copy constructor of the
+ contained type.
+ &lt;/simpara&gt;
+ &lt;/throws&gt;
+ &lt;/constructor&gt;
+
+ &lt;destructor&gt;
+ &lt;effects&gt;&lt;simpara&gt;Releases any and all resources used in
+ management of instance.&lt;/simpara&gt;&lt;/effects&gt;
+
+ &lt;throws&gt;&lt;simpara&gt;Nothing.&lt;/simpara&gt;&lt;/throws&gt;
+ &lt;/destructor&gt;
+&lt;/class&gt;</pre>
+</div>
+<div class="refsection" lang="en">
+<a name="id2846949"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>specifiers</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>The specifiers for this function, e.g., inline, static, etc.</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="source.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="postconditions.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/functionname.html b/doc/html/boostbook/dtd/functionname.html
new file mode 100644
index 0000000000..63f779444a
--- /dev/null
+++ b/doc/html/boostbook/dtd/functionname.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element functionname</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="free-function-group.html" title="
+ BoostBook element free-function-group">
+<link rel="next" href="librarycategory.html" title="
+ BoostBook element librarycategory">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="free-function-group.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="librarycategory.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.functionname"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">functionname</code></span></h2>
+<p>functionname &#8212; References a function with the given name</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">functionname ::=
+ (#PCDATA)
+</div>
+<div class="refsection" lang="en">
+<a name="id2848057"></a><h2>Description</h2>
+<p>If a function (or overloaded function) with the given,
+ possibly-qualified name is found, this generates a link to that
+ function. Lookups obey currently-active <a href="using-class.html" title="
+ BoostBook element using-class"><code class="sgmltag-element">using-class</code></a>
+ and <a href="using-namespace.html" title="
+ BoostBook element using-namespace"><code class="sgmltag-element">using-namespace</code></a>
+ directives to aid in the search, along with searching within the
+ current scope.</p>
+</div>
+<div class="refsection" lang="en">
+<a name="id2848084"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="free-function-group.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="librarycategory.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/header.html b/doc/html/boostbook/dtd/header.html
new file mode 100644
index 0000000000..3ab6b580c1
--- /dev/null
+++ b/doc/html/boostbook/dtd/header.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element header</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="testsuite.html" title="
+ BoostBook element testsuite">
+<link rel="next" href="rationale.html" title="
+ BoostBook element rationale">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="testsuite.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.header"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">header</code></span></h2>
+<p>header &#8212; Declares a C++ header with the given name</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">header ::=
+ (ANY)
+</div>
+<div class="refsection" lang="en">
+<a name="id2853240"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="testsuite.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/if-fails.html b/doc/html/boostbook/dtd/if-fails.html
new file mode 100644
index 0000000000..25990e4931
--- /dev/null
+++ b/doc/html/boostbook/dtd/if-fails.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element if-fails</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="namespace.html" title="
+ BoostBook element namespace">
+<link rel="next" href="free-function-group.html" title="
+ BoostBook element free-function-group">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="namespace.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="free-function-group.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.if-fails"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">if-fails</code></span></h2>
+<p>if-fails &#8212; What it means when a testcase fails</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">if-fails ::=
+ (ANY)
+</div>
+<div class="refsection" lang="en">
+<a name="id2847918"></a><h2>Description</h2>
+<p>
+ Describes to the user the effect a certain failing testcase will
+ have on the usefulness of a library. This field is useful in cases
+ where a failed testcase does not mean that the library won't be
+ useful, but may mean that certain library features will not be
+ available.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="namespace.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="free-function-group.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/inherit.html b/doc/html/boostbook/dtd/inherit.html
new file mode 100644
index 0000000000..649eb2ffad
--- /dev/null
+++ b/doc/html/boostbook/dtd/inherit.html
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element inherit</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="union.html" title="
+ BoostBook element union">
+<link rel="next" href="template-varargs.html" title="
+ BoostBook element template-varargs">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="union.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="template-varargs.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.inherit"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">inherit</code></span></h2>
+<p>inherit &#8212; Declares a base class of the enclosing class or struct</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">inherit ::=
+ (ANY)
+</div>
+<div class="refsection" lang="en">
+<a name="id2846527"></a><h2>Description</h2>
+<p>This element contains the name of the class inherited. The
+ content model is free-form, as the inherited class may be an
+ instantiation of a template and may have markup in it (e.g.,
+ <code class="sgmltag-element">classname</code> tags).</p>
+</div>
+<div class="refsection" lang="en">
+<a name="id2846540"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>access</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td> </td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="union.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="template-varargs.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/lib.html b/doc/html/boostbook/dtd/lib.html
new file mode 100644
index 0000000000..bf63234435
--- /dev/null
+++ b/doc/html/boostbook/dtd/lib.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element lib</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="struct.html" title="
+ BoostBook element struct">
+<link rel="next" href="enum.html" title="
+ BoostBook element enum">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="struct.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="enum.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.lib"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">lib</code></span></h2>
+<p>lib &#8212; A library dependency</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">lib ::=
+ (#PCDATA)
+</div>
+<div class="refsection" lang="en">
+<a name="id2852653"></a><h2>Description</h2>
+<p>Declares a library dependency on the library named by the content of this element, to be emitted in a Jamfile.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="struct.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="enum.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/library-reference.html b/doc/html/boostbook/dtd/library-reference.html
new file mode 100644
index 0000000000..ab621d7e9a
--- /dev/null
+++ b/doc/html/boostbook/dtd/library-reference.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element library-reference</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="librarylist.html" title="
+ BoostBook element librarylist">
+<link rel="next" href="boostbook.html" title="
+ BoostBook element boostbook">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="librarylist.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="boostbook.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.library-reference"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">library-reference</code></span></h2>
+<p>library-reference &#8212; Declares the reference material for a library</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">library-reference ::=
+ (title?, section*, (<a href="header.html" title="
+ BoostBook element header">header</a>| <a href="library-reference.html" title="
+ BoostBook element library-reference">library-reference</a>)*)
+</div>
+<div class="refsection" lang="en">
+<a name="id2846032"></a><h2>Description</h2>
+<p>Reference documentation for a library is contained with a
+ &lt;library-reference&gt; element. The &lt;library-reference&gt;
+ element has no attributes, and contains as children only
+ &lt;header&gt; elements.</p>
+<p>The &lt;header&gt; element defines a C++ header file. Within
+ each C++ header file lie the definitions of C++ constructs to be
+ documented. The <code class="computeroutput">name</code> attribute of the &lt;header&gt;
+ element gives the name of the header, as one would specify when
+ including the header. For instance, the &lt;library-reference&gt;
+ for the <a href="../../any.html" title="Chapter 1. Boost.Any">Any</a> library may look like
+ this:</p>
+<pre class="programlisting">&lt;library-reference&gt;
+ &lt;header name="boost/any.hpp"&gt;
+ &lt;!-- C++ constructs in this header --&gt;
+ &lt;/header&gt;
+&lt;/library-reference&gt;</pre>
+<p>If the <a href="../../any.html" title="Chapter 1. Boost.Any">Any</a> library contained
+ multiple headers, we would list them all as children of the
+ &lt;library-reference&gt; element.</p>
+<p><code class="sgmltag-element">library-reference</code> elements can be nested,
+ so that reference material can be divided into separate sections
+ that each contain different headers.</p>
+</div>
+<div class="refsection" lang="en">
+<a name="id2846094"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="librarylist.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="boostbook.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/library.html b/doc/html/boostbook/dtd/library.html
new file mode 100644
index 0000000000..4ad24ba98d
--- /dev/null
+++ b/doc/html/boostbook/dtd/library.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element library</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="template-nontype-parameter.html" title="
+ BoostBook element template-nontype-parameter">
+<link rel="next" href="librarycategorylist.html" title="
+ BoostBook element librarycategorylist">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="template-nontype-parameter.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="librarycategorylist.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.library"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">library</code></span></h2>
+<p>library &#8212; Top-level element for a library</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">library ::=
+ (<a href="libraryinfo.html" title="
+ BoostBook element libraryinfo">libraryinfo</a>, (title, ((section| <a href="library-reference.html" title="
+ BoostBook element library-reference">library-reference</a>| <a href="testsuite.html" title="
+ BoostBook element testsuite">testsuite</a>))+)?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2851826"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>dirname</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td> </td>
+</tr>
+<tr>
+<td>url</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td> </td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+<tr>
+<td>html-only</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="template-nontype-parameter.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="librarycategorylist.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/librarycategory.html b/doc/html/boostbook/dtd/librarycategory.html
new file mode 100644
index 0000000000..5c003f1216
--- /dev/null
+++ b/doc/html/boostbook/dtd/librarycategory.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element librarycategory</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="functionname.html" title="
+ BoostBook element functionname">
+<link rel="next" href="notes.html" title="
+ BoostBook element notes">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="functionname.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="notes.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.librarycategory"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">librarycategory</code></span></h2>
+<p>librarycategory &#8212; Declares that the enclosing library is in this category</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">librarycategory ::=
+ (#PCDATA)
+</div>
+<div class="refsection" lang="en">
+<a name="id2848162"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="functionname.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="notes.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/librarycategorydef.html b/doc/html/boostbook/dtd/librarycategorydef.html
new file mode 100644
index 0000000000..e5a0dea1e5
--- /dev/null
+++ b/doc/html/boostbook/dtd/librarycategorydef.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element librarycategorydef</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="class.html" title="
+ BoostBook element class">
+<link rel="next" href="type.html" title="
+ BoostBook element type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="class.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.librarycategorydef"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">librarycategorydef</code></span></h2>
+<p>librarycategorydef &#8212; Defines a new library category</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">librarycategorydef ::=
+ (#PCDATA)
+</div>
+<div class="refsection" lang="en">
+<a name="id2851015"></a><h2>Description</h2>
+<p>All library category definitions should be in <code class="filename">doc/src/boost.xml</code>, and the names of categories must be prefixed with "<code class="computeroutput">category:</code>".</p>
+</div>
+<div class="refsection" lang="en">
+<a name="id2851034"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="class.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/librarycategorylist.html b/doc/html/boostbook/dtd/librarycategorylist.html
new file mode 100644
index 0000000000..97d5d5e519
--- /dev/null
+++ b/doc/html/boostbook/dtd/librarycategorylist.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element librarycategorylist</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="library.html" title="
+ BoostBook element library">
+<link rel="next" href="using-namespace.html" title="
+ BoostBook element using-namespace">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="library.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="using-namespace.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.librarycategorylist"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">librarycategorylist</code></span></h2>
+<p>librarycategorylist &#8212; Categorized listing of libraries</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">librarycategorylist ::=
+ (<a href="librarycategorydef.html" title="
+ BoostBook element librarycategorydef">librarycategorydef</a>)*
+</div>
+<div class="refsection" lang="en">
+<a name="id2851950"></a><h2>Description</h2>
+<p>This element is not intended for use by developers, but is
+ used by <code class="filename">doc/src/boost.xml</code> as a
+ placeholder.</p>
+</div>
+<div class="refsection" lang="en">
+<a name="id2851963"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="library.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="using-namespace.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/libraryinfo.html b/doc/html/boostbook/dtd/libraryinfo.html
new file mode 100644
index 0000000000..07769ec326
--- /dev/null
+++ b/doc/html/boostbook/dtd/libraryinfo.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element libraryinfo</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="libraryname.html" title="
+ BoostBook element libraryname">
+<link rel="next" href="testsuite.html" title="
+ BoostBook element testsuite">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="libraryname.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="testsuite.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.libraryinfo"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">libraryinfo</code></span></h2>
+<p>libraryinfo &#8212; Provides information about a library</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">libraryinfo ::=
+ (author+, copyright*, legalnotice*, <a href="librarypurpose.html" title="
+ BoostBook element librarypurpose">librarypurpose</a>, <a href="librarycategory.html" title="
+ BoostBook element librarycategory">librarycategory</a>*)
+</div>
+<div class="refsection" lang="en">
+<a name="id2853042"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="libraryname.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="testsuite.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/librarylist.html b/doc/html/boostbook/dtd/librarylist.html
new file mode 100644
index 0000000000..f96643b248
--- /dev/null
+++ b/doc/html/boostbook/dtd/librarylist.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element librarylist</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="description.html" title="
+ BoostBook element description">
+<link rel="next" href="library-reference.html" title="
+ BoostBook element library-reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="description.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="library-reference.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.librarylist"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">librarylist</code></span></h2>
+<p>librarylist &#8212; Placeholder for an alphabetical list of libraries</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">librarylist ::=
+ EMPTY
+</div>
+<div class="refsection" lang="en">
+<a name="id2845924"></a><h2>Description</h2>
+<p>Developers aren't generally expected to use this element. Its existence is mainly as a placeholder in <code class="filename">boost.xml</code> for the alphabetical list of libraries.</p>
+</div>
+<div class="refsection" lang="en">
+<a name="id2845938"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="description.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="library-reference.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/libraryname.html b/doc/html/boostbook/dtd/libraryname.html
new file mode 100644
index 0000000000..1245d40539
--- /dev/null
+++ b/doc/html/boostbook/dtd/libraryname.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element libraryname</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="effects.html" title="
+ BoostBook element effects">
+<link rel="next" href="libraryinfo.html" title="
+ BoostBook element libraryinfo">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="effects.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="libraryinfo.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.libraryname"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">libraryname</code></span></h2>
+<p>libraryname &#8212; References a library of the given name</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">libraryname ::=
+ (#PCDATA)
+</div>
+<div class="refsection" lang="en">
+<a name="id2852948"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="effects.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="libraryinfo.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/librarypurpose.html b/doc/html/boostbook/dtd/librarypurpose.html
new file mode 100644
index 0000000000..d23e1d5900
--- /dev/null
+++ b/doc/html/boostbook/dtd/librarypurpose.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element librarypurpose</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="run-test.html" title="
+ BoostBook element run-test">
+<link rel="next" href="copy-assignment.html" title="
+ BoostBook element copy-assignment">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="run-test.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="copy-assignment.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.librarypurpose"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">librarypurpose</code></span></h2>
+<p>librarypurpose &#8212; Describes in one short sentence or phrase the purpose of a library</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">librarypurpose ::=
+ (#PCDATA| <a href="code.html" title="
+ BoostBook element code">code</a>| ulink| <a href="functionname.html" title="
+ BoostBook element functionname">functionname</a>| methodname| classname)*
+</div>
+<div class="refsection" lang="en">
+<a name="id2849493"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="run-test.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="copy-assignment.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/link-fail-test.html b/doc/html/boostbook/dtd/link-fail-test.html
new file mode 100644
index 0000000000..9c88fc1d9c
--- /dev/null
+++ b/doc/html/boostbook/dtd/link-fail-test.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element link-fail-test</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="link-test.html" title="
+ BoostBook element link-test">
+<link rel="next" href="typedef.html" title="
+ BoostBook element typedef">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="link-test.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="typedef.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.link-fail-test"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">link-fail-test</code></span></h2>
+<p>link-fail-test &#8212; Declares a test that should compile but fail to link</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">link-fail-test ::=
+ (<a href="source.html" title="
+ BoostBook element source">source</a>*, <a href="lib.html" title="
+ BoostBook element lib">lib</a>*, <a href="requirement.html" title="
+ BoostBook element requirement">requirement</a>*, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>, <a href="if-fails.html" title="
+ BoostBook element if-fails">if-fails</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2845130"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>filename</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the file associated with this element</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="link-test.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="typedef.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/link-test.html b/doc/html/boostbook/dtd/link-test.html
new file mode 100644
index 0000000000..23bbb8a4e4
--- /dev/null
+++ b/doc/html/boostbook/dtd/link-test.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element link-test</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="class-specialization.html" title="
+ BoostBook element class-specialization">
+<link rel="next" href="link-fail-test.html" title="
+ BoostBook element link-fail-test">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="class-specialization.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="link-fail-test.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.link-test"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">link-test</code></span></h2>
+<p>link-test &#8212; Declares a test that should compile and link</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">link-test ::=
+ (<a href="source.html" title="
+ BoostBook element source">source</a>*, <a href="lib.html" title="
+ BoostBook element lib">lib</a>*, <a href="requirement.html" title="
+ BoostBook element requirement">requirement</a>*, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>, <a href="if-fails.html" title="
+ BoostBook element if-fails">if-fails</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2845027"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>filename</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the file associated with this element</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="class-specialization.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="link-fail-test.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/method-group.html b/doc/html/boostbook/dtd/method-group.html
new file mode 100644
index 0000000000..a397fe2e5b
--- /dev/null
+++ b/doc/html/boostbook/dtd/method-group.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element method-group</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="template-arg.html" title="
+ BoostBook element template-arg">
+<link rel="next" href="requirement.html" title="
+ BoostBook element requirement">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="template-arg.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="requirement.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.method-group"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">method-group</code></span></h2>
+<p>method-group &#8212; A set of methods that are grouped together under one name</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">method-group ::=
+ (<a href="method.html" title="
+ BoostBook element method">method</a>| <a href="overloaded-method.html" title="
+ BoostBook element overloaded-method">overloaded-method</a>)*
+</div>
+<div class="refsection" lang="en">
+<a name="id2848961"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="template-arg.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="requirement.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/method.html b/doc/html/boostbook/dtd/method.html
new file mode 100644
index 0000000000..336f77e68e
--- /dev/null
+++ b/doc/html/boostbook/dtd/method.html
@@ -0,0 +1,124 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element method</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="compile-test.html" title="
+ BoostBook element compile-test">
+<link rel="next" href="snippet.html" title="
+ BoostBook element snippet">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="compile-test.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="snippet.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.method"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">method</code></span></h2>
+<p>method &#8212; Declares a method, i.e., a member function</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">method ::=
+ (<a href="template.html" title="
+ BoostBook element template">template</a>?, <a href="type.html" title="
+ BoostBook element type">type</a>, <a href="parameter.html" title="
+ BoostBook element parameter">parameter</a>*, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>?, <a href="description.html" title="
+ BoostBook element description">description</a>?, <a href="requires.html" title="
+ BoostBook element requires">requires</a>?, <a href="effects.html" title="
+ BoostBook element effects">effects</a>?, <a href="postconditions.html" title="
+ BoostBook element postconditions">postconditions</a>?, <a href="returns.html" title="
+ BoostBook element returns">returns</a>?, <a href="throws.html" title="
+ BoostBook element throws">throws</a>?, <a href="complexity.html" title="
+ BoostBook element complexity">complexity</a>?, <a href="notes.html" title="
+ BoostBook element notes">notes</a>?, <a href="rationale.html" title="
+ BoostBook element rationale">rationale</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2847322"></a><h2>Description</h2>
+<p>General documentation on functions in BoostBook is provided in
+ the <a href="function.html" title="
+ BoostBook element function"><code class="sgmltag-element">function</code></a>
+ element documentation.</p>
+</div>
+<div class="refsection" lang="en">
+<a name="id2847338"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>cv</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>cv-qualifiers for this method, e.g., const volatile</td>
+</tr>
+<tr>
+<td>specifiers</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>The specifiers for this function, e.g., inline, static, etc.</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="compile-test.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="snippet.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/namespace.html b/doc/html/boostbook/dtd/namespace.html
new file mode 100644
index 0000000000..3f215d2015
--- /dev/null
+++ b/doc/html/boostbook/dtd/namespace.html
@@ -0,0 +1,120 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element namespace</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="constructor.html" title="
+ BoostBook element constructor">
+<link rel="next" href="if-fails.html" title="
+ BoostBook element if-fails">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="constructor.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="if-fails.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.namespace"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">namespace</code></span></h2>
+<p>namespace &#8212; Declares a namespace</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">namespace ::=
+ (<a href="class.html" title="
+ BoostBook element class">class</a>| <a href="class-specialization.html" title="
+ BoostBook element class-specialization">class-specialization</a>| <a href="struct.html" title="
+ BoostBook element struct">struct</a>| <a href="struct-specialization.html" title="
+ BoostBook element struct-specialization">struct-specialization</a>| <a href="union.html" title="
+ BoostBook element union">union</a>| <a href="union-specialization.html" title="
+ BoostBook element union-specialization">union-specialization</a>| <a href="typedef.html" title="
+ BoostBook element typedef">typedef</a>| <a href="enum.html" title="
+ BoostBook element enum">enum</a>| <a href="free-function-group.html" title="
+ BoostBook element free-function-group">free-function-group</a>| <a href="function.html" title="
+ BoostBook element function">function</a>| <a href="overloaded-function.html" title="
+ BoostBook element overloaded-function">overloaded-function</a>| <a href="namespace.html" title="
+ BoostBook element namespace">namespace</a>)*
+</div>
+<div class="refsection" lang="en">
+<a name="id2847791"></a><h2>Description</h2>
+<p>BoostBook namespaces are declared via the &lt;namespace&gt;
+ element. As in C++, namespaces can be nested and contain other C++
+ constructs, such as classes or functions. The <code class="computeroutput">name</code>
+ attribute of a &lt;namespace&gt; element gives the namespace name
+ (e.g., "boost"). The <a href="../../any.html" title="Chapter 1. Boost.Any">Any</a> library is
+ defined entirely within namespace boost by:</p>
+<pre class="programlisting">&lt;library-reference&gt;
+ &lt;header name="boost/any.hpp"&gt;
+ &lt;namespace name="boost"&gt;
+ &lt;!-- C++ constructs in the boost namespace --&gt;
+ &lt;/namespace&gt;
+ &lt;/header&gt;
+&lt;/library-reference&gt;</pre>
+</div>
+<div class="refsection" lang="en">
+<a name="id2847830"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="constructor.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="if-fails.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/notes.html b/doc/html/boostbook/dtd/notes.html
new file mode 100644
index 0000000000..59885ff333
--- /dev/null
+++ b/doc/html/boostbook/dtd/notes.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element notes</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="librarycategory.html" title="
+ BoostBook element librarycategory">
+<link rel="next" href="data-member.html" title="
+ BoostBook element data-member">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="librarycategory.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="data-member.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.notes"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">notes</code></span></h2>
+<p>notes &#8212; Non-normative notes about a function's semantics</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">notes ::=
+ (ANY)
+</div>
+<div class="refsection" lang="en">
+<a name="id2848250"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="librarycategory.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="data-member.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/overloaded-function.html b/doc/html/boostbook/dtd/overloaded-function.html
new file mode 100644
index 0000000000..8737c54c05
--- /dev/null
+++ b/doc/html/boostbook/dtd/overloaded-function.html
@@ -0,0 +1,110 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element overloaded-function</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="signature.html" title="
+ BoostBook element signature">
+<link rel="next" href="class.html" title="
+ BoostBook element class">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="signature.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="class.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.overloaded-function"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">overloaded-function</code></span></h2>
+<p>overloaded-function &#8212; An overloaded function</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">overloaded-function ::=
+ (<a href="signature.html" title="
+ BoostBook element signature">signature</a>*, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>?, <a href="description.html" title="
+ BoostBook element description">description</a>?, <a href="requires.html" title="
+ BoostBook element requires">requires</a>?, <a href="effects.html" title="
+ BoostBook element effects">effects</a>?, <a href="postconditions.html" title="
+ BoostBook element postconditions">postconditions</a>?, <a href="returns.html" title="
+ BoostBook element returns">returns</a>?, <a href="throws.html" title="
+ BoostBook element throws">throws</a>?, <a href="complexity.html" title="
+ BoostBook element complexity">complexity</a>?, <a href="notes.html" title="
+ BoostBook element notes">notes</a>?, <a href="rationale.html" title="
+ BoostBook element rationale">rationale</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2850527"></a><h2>Description</h2>
+<p>General documentation on functions in BoostBook is provided in
+ the <a href="function.html" title="
+ BoostBook element function"><code class="sgmltag-element">function</code></a>
+ element documentation.</p>
+</div>
+<div class="refsection" lang="en">
+<a name="id2850542"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="signature.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="class.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/overloaded-method.html b/doc/html/boostbook/dtd/overloaded-method.html
new file mode 100644
index 0000000000..fc132a6d00
--- /dev/null
+++ b/doc/html/boostbook/dtd/overloaded-method.html
@@ -0,0 +1,110 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element overloaded-method</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="enumvalue.html" title="
+ BoostBook element enumvalue">
+<link rel="next" href="programlisting.html" title="
+ BoostBook element programlisting">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enumvalue.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="programlisting.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.overloaded-method"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">overloaded-method</code></span></h2>
+<p>overloaded-method &#8212; An overloaded method</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">overloaded-method ::=
+ (<a href="signature.html" title="
+ BoostBook element signature">signature</a>*, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>?, <a href="description.html" title="
+ BoostBook element description">description</a>?, <a href="requires.html" title="
+ BoostBook element requires">requires</a>?, <a href="effects.html" title="
+ BoostBook element effects">effects</a>?, <a href="postconditions.html" title="
+ BoostBook element postconditions">postconditions</a>?, <a href="returns.html" title="
+ BoostBook element returns">returns</a>?, <a href="throws.html" title="
+ BoostBook element throws">throws</a>?, <a href="complexity.html" title="
+ BoostBook element complexity">complexity</a>?, <a href="notes.html" title="
+ BoostBook element notes">notes</a>?, <a href="rationale.html" title="
+ BoostBook element rationale">rationale</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2851377"></a><h2>Description</h2>
+<p>General documentation on functions in BoostBook is provided in
+ the <a href="function.html" title="
+ BoostBook element function"><code class="sgmltag-element">function</code></a>
+ element documentation.</p>
+</div>
+<div class="refsection" lang="en">
+<a name="id2851392"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enumvalue.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="programlisting.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/parameter.html b/doc/html/boostbook/dtd/parameter.html
new file mode 100644
index 0000000000..036863636a
--- /dev/null
+++ b/doc/html/boostbook/dtd/parameter.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element parameter</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="default.html" title="
+ BoostBook element default">
+<link rel="next" href="signature.html" title="
+ BoostBook element signature">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="default.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="signature.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.parameter"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">parameter</code></span></h2>
+<p>parameter &#8212; A function parameter</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">parameter ::=
+ (<a href="paramtype.html" title="
+ BoostBook element paramtype">paramtype</a>, <a href="default.html" title="
+ BoostBook element default">default</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2850259"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody><tr>
+<td>name</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="default.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="signature.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/paramtype.html b/doc/html/boostbook/dtd/paramtype.html
new file mode 100644
index 0000000000..3eeaabec71
--- /dev/null
+++ b/doc/html/boostbook/dtd/paramtype.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element paramtype</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="precondition.html" title="
+ BoostBook element precondition">
+<link rel="next" href="using-class.html" title="
+ BoostBook element using-class">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="precondition.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="using-class.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.paramtype"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">paramtype</code></span></h2>
+<p>paramtype &#8212; The type of a function parameter</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">paramtype ::=
+ (ANY)
+</div>
+<div class="refsection" lang="en">
+<a name="id2849210"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="precondition.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="using-class.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/postconditions.html b/doc/html/boostbook/dtd/postconditions.html
new file mode 100644
index 0000000000..aa0186eccd
--- /dev/null
+++ b/doc/html/boostbook/dtd/postconditions.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element postconditions</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="function.html" title="
+ BoostBook element function">
+<link rel="next" href="compile-test.html" title="
+ BoostBook element compile-test">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="function.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="compile-test.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.postconditions"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">postconditions</code></span></h2>
+<p>postconditions &#8212; Conditions that must hold after the function returns</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">postconditions ::=
+ (ANY)
+</div>
+<div class="refsection" lang="en">
+<a name="id2847049"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="function.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="compile-test.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/precondition.html b/doc/html/boostbook/dtd/precondition.html
new file mode 100644
index 0000000000..ea370382f7
--- /dev/null
+++ b/doc/html/boostbook/dtd/precondition.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element precondition</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="requirement.html" title="
+ BoostBook element requirement">
+<link rel="next" href="paramtype.html" title="
+ BoostBook element paramtype">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="requirement.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="paramtype.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.precondition"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">precondition</code></span></h2>
+<p>precondition &#8212; Conditions that must be met prior to executing a function</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">precondition ::=
+ (ANY)
+</div>
+<div class="refsection" lang="en">
+<a name="id2849133"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="requirement.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="paramtype.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/programlisting.html b/doc/html/boostbook/dtd/programlisting.html
new file mode 100644
index 0000000000..c36a532d8f
--- /dev/null
+++ b/doc/html/boostbook/dtd/programlisting.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element programlisting</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="overloaded-method.html" title="
+ BoostBook element overloaded-method">
+<link rel="next" href="complexity.html" title="
+ BoostBook element complexity">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overloaded-method.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="complexity.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.programlisting"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">programlisting</code></span></h2>
+<p>programlisting &#8212; A sample of program code</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">programlisting ::=
+ (ANY)
+</div>
+<div class="refsection" lang="en">
+<a name="id2851481"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody><tr>
+<td>name</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overloaded-method.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="complexity.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/purpose.html b/doc/html/boostbook/dtd/purpose.html
new file mode 100644
index 0000000000..9741477a08
--- /dev/null
+++ b/doc/html/boostbook/dtd/purpose.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element purpose</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="complexity.html" title="
+ BoostBook element complexity">
+<link rel="next" href="template-nontype-parameter.html" title="
+ BoostBook element template-nontype-parameter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="complexity.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="template-nontype-parameter.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.purpose"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">purpose</code></span></h2>
+<p>purpose &#8212; A short description of an entity's use</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">purpose ::=
+ (ANY)
+</div>
+<div class="refsection" lang="en">
+<a name="id2851613"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="complexity.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="template-nontype-parameter.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/rationale.html b/doc/html/boostbook/dtd/rationale.html
new file mode 100644
index 0000000000..ec77a86735
--- /dev/null
+++ b/doc/html/boostbook/dtd/rationale.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element rationale</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="header.html" title="
+ BoostBook element header">
+<link rel="next" href="../../bbv2.html" title="Part III. Boost.Build v2 User Manual">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="header.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../bbv2.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.rationale"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">rationale</code></span></h2>
+<p>rationale &#8212; Describes the rationale for a particular function's design</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">rationale ::=
+ (ANY)
+</div>
+<div class="refsection" lang="en">
+<a name="id2853329"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="header.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../bbv2.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/requirement.html b/doc/html/boostbook/dtd/requirement.html
new file mode 100644
index 0000000000..e7eefee4ee
--- /dev/null
+++ b/doc/html/boostbook/dtd/requirement.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element requirement</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="method-group.html" title="
+ BoostBook element method-group">
+<link rel="next" href="precondition.html" title="
+ BoostBook element precondition">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="method-group.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="precondition.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.requirement"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">requirement</code></span></h2>
+<p>requirement &#8212; A requirement/property in the Jamfile for a testcase</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">requirement ::=
+ (#PCDATA)
+</div>
+<div class="refsection" lang="en">
+<a name="id2849050"></a><h2>Description</h2>
+<p>A requirement is part of the dependencies of a target in a
+ Jamfile. The <code class="computeroutput">name</code> attribute of a requirement element
+ gives the name of the Boost.Build feature and the content of the
+ requirement gives the value of that feature. A requirement such as
+ <code class="computeroutput">&lt;includes&gt;foo.hpp</code> would be encoded as
+ <code class="computeroutput">&lt;requirement
+ name="includes"&gt;foo.hpp&lt;/requirement&gt;</code>.</p>
+</div>
+<div class="refsection" lang="en">
+<a name="id2849078"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody><tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="method-group.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="precondition.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/requires.html b/doc/html/boostbook/dtd/requires.html
new file mode 100644
index 0000000000..97cec7f518
--- /dev/null
+++ b/doc/html/boostbook/dtd/requires.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element requires</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="enum.html" title="
+ BoostBook element enum">
+<link rel="next" href="effects.html" title="
+ BoostBook element effects">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="effects.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.requires"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">requires</code></span></h2>
+<p>requires &#8212; Declares the requirements of a function</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">requires ::=
+ (ANY)
+</div>
+<div class="refsection" lang="en">
+<a name="id2852792"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="effects.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/returns.html b/doc/html/boostbook/dtd/returns.html
new file mode 100644
index 0000000000..dc78b17d57
--- /dev/null
+++ b/doc/html/boostbook/dtd/returns.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element returns</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="compile-fail-test.html" title="
+ BoostBook element compile-fail-test">
+<link rel="next" href="default.html" title="
+ BoostBook element default">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="compile-fail-test.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="default.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.returns"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">returns</code></span></h2>
+<p>returns &#8212; Description of the return value of a function</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">returns ::=
+ (ANY)
+</div>
+<div class="refsection" lang="en">
+<a name="id2850090"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="compile-fail-test.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="default.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/run-fail-test.html b/doc/html/boostbook/dtd/run-fail-test.html
new file mode 100644
index 0000000000..4d8f3ea7c7
--- /dev/null
+++ b/doc/html/boostbook/dtd/run-fail-test.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element run-fail-test</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="copy-assignment.html" title="
+ BoostBook element copy-assignment">
+<link rel="next" href="template.html" title="
+ BoostBook element template">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="copy-assignment.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="template.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.run-fail-test"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">run-fail-test</code></span></h2>
+<p>run-fail-test &#8212; A testcase that should compile and link, but fail on execution</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">run-fail-test ::=
+ (<a href="source.html" title="
+ BoostBook element source">source</a>*, <a href="lib.html" title="
+ BoostBook element lib">lib</a>*, <a href="requirement.html" title="
+ BoostBook element requirement">requirement</a>*, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>, <a href="if-fails.html" title="
+ BoostBook element if-fails">if-fails</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2849822"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>filename</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the file associated with this element</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="copy-assignment.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="template.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/run-test.html b/doc/html/boostbook/dtd/run-test.html
new file mode 100644
index 0000000000..9f4147cc00
--- /dev/null
+++ b/doc/html/boostbook/dtd/run-test.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element run-test</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="using-class.html" title="
+ BoostBook element using-class">
+<link rel="next" href="librarypurpose.html" title="
+ BoostBook element librarypurpose">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="using-class.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="librarypurpose.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.run-test"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">run-test</code></span></h2>
+<p>run-test &#8212; A testcase that should compile, link, and execute</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">run-test ::=
+ (<a href="source.html" title="
+ BoostBook element source">source</a>*, <a href="lib.html" title="
+ BoostBook element lib">lib</a>*, <a href="requirement.html" title="
+ BoostBook element requirement">requirement</a>*, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>, <a href="if-fails.html" title="
+ BoostBook element if-fails">if-fails</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2849412"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>filename</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the file associated with this element</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="using-class.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="librarypurpose.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/signature.html b/doc/html/boostbook/dtd/signature.html
new file mode 100644
index 0000000000..eedae4dbe7
--- /dev/null
+++ b/doc/html/boostbook/dtd/signature.html
@@ -0,0 +1,111 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element signature</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="parameter.html" title="
+ BoostBook element parameter">
+<link rel="next" href="overloaded-function.html" title="
+ BoostBook element overloaded-function">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="parameter.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="overloaded-function.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.signature"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">signature</code></span></h2>
+<p>signature &#8212; One signature of an overloaded function or method</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">signature ::=
+ (<a href="template.html" title="
+ BoostBook element template">template</a>?, <a href="type.html" title="
+ BoostBook element type">type</a>, <a href="parameter.html" title="
+ BoostBook element parameter">parameter</a>*)
+</div>
+<div class="refsection" lang="en">
+<a name="id2850336"></a><h2>Description</h2>
+<p>
+ A signature refers to one declaration of an overloaded function or
+ method. The signature itself has no name, because the name of the
+ overloaded function or method is used. An overloaded function or
+ method will have several signatures that will generally be typeset
+ together.
+ </p>
+</div>
+<div class="refsection" lang="en">
+<a name="id2850346"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>cv</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>cv-qualifiers for this method, e.g., const volatile</td>
+</tr>
+<tr>
+<td>specifiers</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>The specifiers for this function, e.g., inline, static, etc.</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="parameter.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="overloaded-function.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/snippet.html b/doc/html/boostbook/dtd/snippet.html
new file mode 100644
index 0000000000..a359741986
--- /dev/null
+++ b/doc/html/boostbook/dtd/snippet.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element snippet</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="method.html" title="
+ BoostBook element method">
+<link rel="next" href="constructor.html" title="
+ BoostBook element constructor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="method.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="constructor.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.snippet"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">snippet</code></span></h2>
+<p>snippet &#8212; Pulls in a code snippet from a <code class="sgmltag-element">programlisting</code> element</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">snippet ::=
+ EMPTY
+</div>
+<div class="refsection" lang="en">
+<a name="id2847453"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody><tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the <code class="sgmltag-element">programlisting</code> element to insert</td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="method.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="constructor.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/source.html b/doc/html/boostbook/dtd/source.html
new file mode 100644
index 0000000000..2d6e66261d
--- /dev/null
+++ b/doc/html/boostbook/dtd/source.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element source</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="template-varargs.html" title="
+ BoostBook element template-varargs">
+<link rel="next" href="function.html" title="
+ BoostBook element function">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="template-varargs.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="function.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.source"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">source</code></span></h2>
+<p>source &#8212; Defines source code for a test</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">source ::=
+ (#PCDATA| <a href="snippet.html" title="
+ BoostBook element snippet">snippet</a>)*
+</div>
+<div class="refsection" lang="en">
+<a name="id2846722"></a><h2>Description</h2>
+<p>This element will contain the source code for a testcase that
+ will be generated from the documentation. To reduce the amount of escaping in the text, it is recommended to use CDATA sections, which look like this:
+
+ </p>
+<pre class="programlisting">&lt;![CDATA[
+&lt;your program text here: no escaping needed!&gt;
+]]&gt;</pre>
+<p>In addition to CDATA sections, code snippets can be pulled in
+ from <code class="sgmltag-element">programlisting</code> elements using the <a href="snippet.html" title="
+ BoostBook element snippet"><code class="sgmltag-element">snippet</code></a>
+ element.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="template-varargs.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="function.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/specialization.html b/doc/html/boostbook/dtd/specialization.html
new file mode 100644
index 0000000000..5c6e4a9148
--- /dev/null
+++ b/doc/html/boostbook/dtd/specialization.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element specialization</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="data-member.html" title="
+ BoostBook element data-member">
+<link rel="next" href="union-specialization.html" title="
+ BoostBook element union-specialization">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="data-member.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="union-specialization.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.specialization"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">specialization</code></span></h2>
+<p>specialization &#8212; Defines the specialization arguments for a class specialization</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">specialization ::=
+ (<a href="template-arg.html" title="
+ BoostBook element template-arg">template-arg</a>)*
+</div>
+<div class="refsection" lang="en">
+<a name="id2848446"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="data-member.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="union-specialization.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/static-constant.html b/doc/html/boostbook/dtd/static-constant.html
new file mode 100644
index 0000000000..ab5fb18f82
--- /dev/null
+++ b/doc/html/boostbook/dtd/static-constant.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element static-constant</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="typedef.html" title="
+ BoostBook element typedef">
+<link rel="next" href="code.html" title="
+ BoostBook element code">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="typedef.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="code.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.static-constant"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">static-constant</code></span></h2>
+<p>static-constant &#8212; Declares a static constant, e.g., <code class="computeroutput">const int foo = 5;</code>.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">static-constant ::=
+ (<a href="type.html" title="
+ BoostBook element type">type</a>, <a href="default.html" title="
+ BoostBook element default">default</a>, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>?, <a href="description.html" title="
+ BoostBook element description">description</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2845340"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="typedef.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="code.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/struct-specialization.html b/doc/html/boostbook/dtd/struct-specialization.html
new file mode 100644
index 0000000000..58005e8b86
--- /dev/null
+++ b/doc/html/boostbook/dtd/struct-specialization.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element struct-specialization</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="using-namespace.html" title="
+ BoostBook element using-namespace">
+<link rel="next" href="struct.html" title="
+ BoostBook element struct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="using-namespace.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="struct.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.struct-specialization"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">struct-specialization</code></span></h2>
+<p>struct-specialization &#8212; A specialization (full or partial) of a struct template</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">struct-specialization ::=
+ (<a href="template.html" title="
+ BoostBook element template">template</a>?, <a href="specialization.html" title="
+ BoostBook element specialization">specialization</a>?, <a href="inherit.html" title="
+ BoostBook element inherit">inherit</a>?, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>?, <a href="description.html" title="
+ BoostBook element description">description</a>?, (<a href="static-constant.html" title="
+ BoostBook element static-constant">static-constant</a>| <a href="typedef.html" title="
+ BoostBook element typedef">typedef</a>| <a href="enum.html" title="
+ BoostBook element enum">enum</a>| <a href="copy-assignment.html" title="
+ BoostBook element copy-assignment">copy-assignment</a>| <a href="constructor.html" title="
+ BoostBook element constructor">constructor</a>| <a href="destructor.html" title="
+ BoostBook element destructor">destructor</a>| <a href="method-group.html" title="
+ BoostBook element method-group">method-group</a>| <a href="free-function-group.html" title="
+ BoostBook element free-function-group">free-function-group</a>| <a href="function.html" title="
+ BoostBook element function">function</a>| <a href="method.html" title="
+ BoostBook element method">method</a>| <a href="overloaded-function.html" title="
+ BoostBook element overloaded-function">overloaded-function</a>| <a href="overloaded-method.html" title="
+ BoostBook element overloaded-method">overloaded-method</a>| <a href="data-member.html" title="
+ BoostBook element data-member">data-member</a>| <a href="class.html" title="
+ BoostBook element class">class</a>| <a href="class-specialization.html" title="
+ BoostBook element class-specialization">class-specialization</a>| <a href="struct.html" title="
+ BoostBook element struct">struct</a>| <a href="struct-specialization.html" title="
+ BoostBook element struct-specialization">struct-specialization</a>| <a href="union.html" title="
+ BoostBook element union">union</a>| <a href="union-specialization.html" title="
+ BoostBook element union-specialization">union-specialization</a>)*)
+</div>
+<div class="refsection" lang="en">
+<a name="id2852308"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="using-namespace.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="struct.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/struct.html b/doc/html/boostbook/dtd/struct.html
new file mode 100644
index 0000000000..2038df54ad
--- /dev/null
+++ b/doc/html/boostbook/dtd/struct.html
@@ -0,0 +1,115 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element struct</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="struct-specialization.html" title="
+ BoostBook element struct-specialization">
+<link rel="next" href="lib.html" title="
+ BoostBook element lib">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="struct-specialization.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="lib.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.struct"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">struct</code></span></h2>
+<p>struct &#8212; Declares a C++ struct</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">struct ::=
+ (<a href="template.html" title="
+ BoostBook element template">template</a>?, <a href="inherit.html" title="
+ BoostBook element inherit">inherit</a>*, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>?, <a href="description.html" title="
+ BoostBook element description">description</a>?, (<a href="static-constant.html" title="
+ BoostBook element static-constant">static-constant</a>| <a href="typedef.html" title="
+ BoostBook element typedef">typedef</a>| <a href="enum.html" title="
+ BoostBook element enum">enum</a>| <a href="copy-assignment.html" title="
+ BoostBook element copy-assignment">copy-assignment</a>| <a href="constructor.html" title="
+ BoostBook element constructor">constructor</a>| <a href="destructor.html" title="
+ BoostBook element destructor">destructor</a>| <a href="method-group.html" title="
+ BoostBook element method-group">method-group</a>| <a href="free-function-group.html" title="
+ BoostBook element free-function-group">free-function-group</a>| <a href="function.html" title="
+ BoostBook element function">function</a>| <a href="method.html" title="
+ BoostBook element method">method</a>| <a href="overloaded-function.html" title="
+ BoostBook element overloaded-function">overloaded-function</a>| <a href="overloaded-method.html" title="
+ BoostBook element overloaded-method">overloaded-method</a>| <a href="data-member.html" title="
+ BoostBook element data-member">data-member</a>| <a href="class.html" title="
+ BoostBook element class">class</a>| <a href="class-specialization.html" title="
+ BoostBook element class-specialization">class-specialization</a>| <a href="struct.html" title="
+ BoostBook element struct">struct</a>| <a href="struct-specialization.html" title="
+ BoostBook element struct-specialization">struct-specialization</a>| <a href="union.html" title="
+ BoostBook element union">union</a>| <a href="union-specialization.html" title="
+ BoostBook element union-specialization">union-specialization</a>)*)
+</div>
+<div class="refsection" lang="en">
+<a name="id2852566"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="struct-specialization.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="lib.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/template-arg.html b/doc/html/boostbook/dtd/template-arg.html
new file mode 100644
index 0000000000..21f3d35b25
--- /dev/null
+++ b/doc/html/boostbook/dtd/template-arg.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element template-arg</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="throws.html" title="
+ BoostBook element throws">
+<link rel="next" href="method-group.html" title="
+ BoostBook element method-group">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="throws.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="method-group.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.template-arg"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">template-arg</code></span></h2>
+<p>template-arg &#8212; A template argument in a specialization</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">template-arg ::=
+ (ANY)
+</div>
+<div class="refsection" lang="en">
+<a name="id2848867"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="throws.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="method-group.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/template-nontype-parameter.html b/doc/html/boostbook/dtd/template-nontype-parameter.html
new file mode 100644
index 0000000000..34ba07ffd2
--- /dev/null
+++ b/doc/html/boostbook/dtd/template-nontype-parameter.html
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element template-nontype-parameter</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="purpose.html" title="
+ BoostBook element purpose">
+<link rel="next" href="library.html" title="
+ BoostBook element library">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="purpose.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="library.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.template-nontype-parameter"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">template-nontype-parameter</code></span></h2>
+<p>template-nontype-parameter &#8212; A nontype template parameter</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">template-nontype-parameter ::=
+ (<a href="type.html" title="
+ BoostBook element type">type</a>, <a href="default.html" title="
+ BoostBook element default">default</a>?, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2851714"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="purpose.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="library.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/template-type-parameter.html b/doc/html/boostbook/dtd/template-type-parameter.html
new file mode 100644
index 0000000000..6ad8482d91
--- /dev/null
+++ b/doc/html/boostbook/dtd/template-type-parameter.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element template-type-parameter</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="destructor.html" title="
+ BoostBook element destructor">
+<link rel="next" href="description.html" title="
+ BoostBook element description">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="destructor.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="description.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.template-type-parameter"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">template-type-parameter</code></span></h2>
+<p>template-type-parameter &#8212; Declares a template type parameter</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">template-type-parameter ::=
+ (<a href="default.html" title="
+ BoostBook element default">default</a>?, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2845722"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="destructor.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="description.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/template-varargs.html b/doc/html/boostbook/dtd/template-varargs.html
new file mode 100644
index 0000000000..6aeee09ac0
--- /dev/null
+++ b/doc/html/boostbook/dtd/template-varargs.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element template-varargs</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="inherit.html" title="
+ BoostBook element inherit">
+<link rel="next" href="source.html" title="
+ BoostBook element source">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inherit.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="source.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.template-varargs"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">template-varargs</code></span></h2>
+<p>template-varargs &#8212; Declares a variable-length list of template parameters</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">template-varargs ::=
+ EMPTY
+</div>
+<div class="refsection" lang="en">
+<a name="id2846627"></a><h2>Description</h2>
+<p>Variable-length template parameter lists are not allowed in
+ C++, but because they are sometimes needed in documentation they are
+ allowed in BoostBook. This element generally expands to "..." and
+ can be used anywhere any other template parameter can be
+ used.</p>
+</div>
+<div class="refsection" lang="en">
+<a name="id2846637"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inherit.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="source.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/template.html b/doc/html/boostbook/dtd/template.html
new file mode 100644
index 0000000000..ff4dbba0ee
--- /dev/null
+++ b/doc/html/boostbook/dtd/template.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element template</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="run-fail-test.html" title="
+ BoostBook element run-fail-test">
+<link rel="next" href="compile-fail-test.html" title="
+ BoostBook element compile-fail-test">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="run-fail-test.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="compile-fail-test.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.template"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">template</code></span></h2>
+<p>template &#8212; Declares the template parameters of a class or function</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">template ::=
+ (<a href="template-type-parameter.html" title="
+ BoostBook element template-type-parameter">template-type-parameter</a>| <a href="template-nontype-parameter.html" title="
+ BoostBook element template-nontype-parameter">template-nontype-parameter</a>| <a href="template-varargs.html" title="
+ BoostBook element template-varargs">template-varargs</a>)*
+</div>
+<div class="refsection" lang="en">
+<a name="id2849913"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="run-fail-test.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="compile-fail-test.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/testsuite.html b/doc/html/boostbook/dtd/testsuite.html
new file mode 100644
index 0000000000..68a202edf3
--- /dev/null
+++ b/doc/html/boostbook/dtd/testsuite.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element testsuite</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="libraryinfo.html" title="
+ BoostBook element libraryinfo">
+<link rel="next" href="header.html" title="
+ BoostBook element header">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="libraryinfo.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="header.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.testsuite"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">testsuite</code></span></h2>
+<p>testsuite &#8212; Describes a library testsuite</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">testsuite ::=
+ ((<a href="compile-test.html" title="
+ BoostBook element compile-test">compile-test</a>| <a href="link-test.html" title="
+ BoostBook element link-test">link-test</a>| <a href="run-test.html" title="
+ BoostBook element run-test">run-test</a>| <a href="compile-fail-test.html" title="
+ BoostBook element compile-fail-test">compile-fail-test</a>| <a href="link-fail-test.html" title="
+ BoostBook element link-fail-test">link-fail-test</a>| <a href="run-fail-test.html" title="
+ BoostBook element run-fail-test">run-fail-test</a>)+)
+</div>
+<div class="refsection" lang="en">
+<a name="id2853164"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="libraryinfo.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="header.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/throws.html b/doc/html/boostbook/dtd/throws.html
new file mode 100644
index 0000000000..7c33730488
--- /dev/null
+++ b/doc/html/boostbook/dtd/throws.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element throws</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="union-specialization.html" title="
+ BoostBook element union-specialization">
+<link rel="next" href="template-arg.html" title="
+ BoostBook element template-arg">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="union-specialization.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="template-arg.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.throws"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">throws</code></span></h2>
+<p>throws &#8212; Description of the exceptions thrown by a function</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">throws ::=
+ (ANY)
+</div>
+<div class="refsection" lang="en">
+<a name="id2848790"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="union-specialization.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="template-arg.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/type.html b/doc/html/boostbook/dtd/type.html
new file mode 100644
index 0000000000..c70ced7174
--- /dev/null
+++ b/doc/html/boostbook/dtd/type.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element type</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="librarycategorydef.html" title="
+ BoostBook element librarycategorydef">
+<link rel="next" href="enumvalue.html" title="
+ BoostBook element enumvalue">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="librarycategorydef.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="enumvalue.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.type"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">type</code></span></h2>
+<p>type &#8212; The type of an element or return type of a function</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">type ::=
+ (ANY)
+</div>
+<div class="refsection" lang="en">
+<a name="id2851123"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="librarycategorydef.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="enumvalue.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/typedef.html b/doc/html/boostbook/dtd/typedef.html
new file mode 100644
index 0000000000..663bfef6ed
--- /dev/null
+++ b/doc/html/boostbook/dtd/typedef.html
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element typedef</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="link-fail-test.html" title="
+ BoostBook element link-fail-test">
+<link rel="next" href="static-constant.html" title="
+ BoostBook element static-constant">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="link-fail-test.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="static-constant.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.typedef"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">typedef</code></span></h2>
+<p>typedef &#8212; Declares a typedef</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">typedef ::=
+ (<a href="type.html" title="
+ BoostBook element type">type</a>, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>?, <a href="description.html" title="
+ BoostBook element description">description</a>?)
+</div>
+<div class="refsection" lang="en">
+<a name="id2845216"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="link-fail-test.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="static-constant.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/union-specialization.html b/doc/html/boostbook/dtd/union-specialization.html
new file mode 100644
index 0000000000..4a56d24876
--- /dev/null
+++ b/doc/html/boostbook/dtd/union-specialization.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element union-specialization</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="specialization.html" title="
+ BoostBook element specialization">
+<link rel="next" href="throws.html" title="
+ BoostBook element throws">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="specialization.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="throws.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.union-specialization"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">union-specialization</code></span></h2>
+<p>union-specialization &#8212; A specialization (full or partial) of a union template</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">union-specialization ::=
+ (<a href="template.html" title="
+ BoostBook element template">template</a>?, <a href="specialization.html" title="
+ BoostBook element specialization">specialization</a>?, <a href="inherit.html" title="
+ BoostBook element inherit">inherit</a>?, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>?, <a href="description.html" title="
+ BoostBook element description">description</a>?, (<a href="static-constant.html" title="
+ BoostBook element static-constant">static-constant</a>| <a href="typedef.html" title="
+ BoostBook element typedef">typedef</a>| <a href="enum.html" title="
+ BoostBook element enum">enum</a>| <a href="copy-assignment.html" title="
+ BoostBook element copy-assignment">copy-assignment</a>| <a href="constructor.html" title="
+ BoostBook element constructor">constructor</a>| <a href="destructor.html" title="
+ BoostBook element destructor">destructor</a>| <a href="method-group.html" title="
+ BoostBook element method-group">method-group</a>| <a href="free-function-group.html" title="
+ BoostBook element free-function-group">free-function-group</a>| <a href="function.html" title="
+ BoostBook element function">function</a>| <a href="method.html" title="
+ BoostBook element method">method</a>| <a href="overloaded-function.html" title="
+ BoostBook element overloaded-function">overloaded-function</a>| <a href="overloaded-method.html" title="
+ BoostBook element overloaded-method">overloaded-method</a>| <a href="data-member.html" title="
+ BoostBook element data-member">data-member</a>| <a href="class.html" title="
+ BoostBook element class">class</a>| <a href="class-specialization.html" title="
+ BoostBook element class-specialization">class-specialization</a>| <a href="struct.html" title="
+ BoostBook element struct">struct</a>| <a href="struct-specialization.html" title="
+ BoostBook element struct-specialization">struct-specialization</a>| <a href="union.html" title="
+ BoostBook element union">union</a>| <a href="union-specialization.html" title="
+ BoostBook element union-specialization">union-specialization</a>)*)
+</div>
+<div class="refsection" lang="en">
+<a name="id2848701"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="specialization.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="throws.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/union.html b/doc/html/boostbook/dtd/union.html
new file mode 100644
index 0000000000..9dd9a08da6
--- /dev/null
+++ b/doc/html/boostbook/dtd/union.html
@@ -0,0 +1,115 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element union</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="boostbook.html" title="
+ BoostBook element boostbook">
+<link rel="next" href="inherit.html" title="
+ BoostBook element inherit">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boostbook.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="inherit.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.union"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">union</code></span></h2>
+<p>union &#8212; Declares a C++ union or union template</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">union ::=
+ (<a href="template.html" title="
+ BoostBook element template">template</a>?, <a href="inherit.html" title="
+ BoostBook element inherit">inherit</a>*, <a href="purpose.html" title="
+ BoostBook element purpose">purpose</a>?, <a href="description.html" title="
+ BoostBook element description">description</a>?, (<a href="static-constant.html" title="
+ BoostBook element static-constant">static-constant</a>| <a href="typedef.html" title="
+ BoostBook element typedef">typedef</a>| <a href="enum.html" title="
+ BoostBook element enum">enum</a>| <a href="copy-assignment.html" title="
+ BoostBook element copy-assignment">copy-assignment</a>| <a href="constructor.html" title="
+ BoostBook element constructor">constructor</a>| <a href="destructor.html" title="
+ BoostBook element destructor">destructor</a>| <a href="method-group.html" title="
+ BoostBook element method-group">method-group</a>| <a href="free-function-group.html" title="
+ BoostBook element free-function-group">free-function-group</a>| <a href="function.html" title="
+ BoostBook element function">function</a>| <a href="method.html" title="
+ BoostBook element method">method</a>| <a href="overloaded-function.html" title="
+ BoostBook element overloaded-function">overloaded-function</a>| <a href="overloaded-method.html" title="
+ BoostBook element overloaded-method">overloaded-method</a>| <a href="data-member.html" title="
+ BoostBook element data-member">data-member</a>| <a href="class.html" title="
+ BoostBook element class">class</a>| <a href="class-specialization.html" title="
+ BoostBook element class-specialization">class-specialization</a>| <a href="struct.html" title="
+ BoostBook element struct">struct</a>| <a href="struct-specialization.html" title="
+ BoostBook element struct-specialization">struct-specialization</a>| <a href="union.html" title="
+ BoostBook element union">union</a>| <a href="union-specialization.html" title="
+ BoostBook element union-specialization">union-specialization</a>)*)
+</div>
+<div class="refsection" lang="en">
+<a name="id2846438"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boostbook.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="inherit.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/using-class.html b/doc/html/boostbook/dtd/using-class.html
new file mode 100644
index 0000000000..b01895425c
--- /dev/null
+++ b/doc/html/boostbook/dtd/using-class.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element using-class</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="paramtype.html" title="
+ BoostBook element paramtype">
+<link rel="next" href="run-test.html" title="
+ BoostBook element run-test">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="paramtype.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="run-test.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.using-class"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">using-class</code></span></h2>
+<p>using-class &#8212; Injects the method and function names of a class into the local scope</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">using-class ::=
+ EMPTY
+</div>
+<div class="refsection" lang="en">
+<a name="id2849288"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="paramtype.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="run-test.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/dtd/using-namespace.html b/doc/html/boostbook/dtd/using-namespace.html
new file mode 100644
index 0000000000..8a1148659d
--- /dev/null
+++ b/doc/html/boostbook/dtd/using-namespace.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ BoostBook element using-namespace</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../reference.html" title="Chapter 20. Reference">
+<link rel="prev" href="librarycategorylist.html" title="
+ BoostBook element librarycategorylist">
+<link rel="next" href="struct-specialization.html" title="
+ BoostBook element struct-specialization">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="librarycategorylist.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="struct-specialization.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boostbook.dtd.using-namespace"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">
+ BoostBook element <code class="sgmltag-element">using-namespace</code></span></h2>
+<p>using-namespace &#8212; Injects the declared names from a namespace into the local scope</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv">using-namespace ::=
+ EMPTY
+</div>
+<div class="refsection" lang="en">
+<a name="id2852041"></a><h2>Attributes</h2>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Name</th>
+<th>Type</th>
+<th>Value</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>last-revision</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Set to $Date$ to keep "last revised" information in sync with CVS changes</td>
+</tr>
+<tr>
+<td>name</td>
+<td>#REQUIRED</td>
+<td>CDATA</td>
+<td>The name of the element being declared to referenced</td>
+</tr>
+<tr>
+<td>id</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>A global identifier for this element</td>
+</tr>
+<tr>
+<td>xml:base</td>
+<td>#IMPLIED</td>
+<td>CDATA</td>
+<td>Implementation detail used by XIncludes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="librarycategorylist.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="struct-specialization.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/getting/started.html b/doc/html/boostbook/getting/started.html
new file mode 100644
index 0000000000..131963a7dd
--- /dev/null
+++ b/doc/html/boostbook/getting/started.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 17. Getting Started</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../boostbook.html" title="Part II. The BoostBook Documentation Format">
+<link rel="prev" href="../introduction.html" title="Chapter 16. Introduction">
+<link rel="next" href="../setup/manual.html" title="Manual setup for all systems">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../introduction.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boostbook.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../setup/manual.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="boostbook.getting.started"></a>Chapter 17. Getting Started</h2></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="started.html#boostbook.setup.autounix">Automatic setup for Unix-like systems</a></span></dt>
+<dt><span class="section"><a href="../setup/manual.html">Manual setup for all systems</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="../setup/manual.html#boostbook.setup.xsltproc">Configuring <span><strong class="command">xsltproc</strong></span></a></span></dt>
+<dt><span class="section"><a href="../setup/manual.html#boostbook.setup.docbook">Configuring local DocBook XSL and DTD distributions</a></span></dt>
+<dt><span class="section"><a href="../setup/manual.html#boostbook.setup.doxygen">Configuring Doxygen for Documentation Extraction</a></span></dt>
+<dt><span class="section"><a href="../setup/manual.html#boostbook.setup.fop">Configuring Apache FOP</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="../setup/running.html">Running BoostBook</a></span></dt>
+<dt><span class="section"><a href="../setup/troubleshooting.html">Troubleshooting</a></span></dt>
+</dl>
+</div>
+<p>To use the Boost documentation tools, you will need several tools:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<p><span><strong class="command">xsltproc</strong></span>:</p>
+<div class="itemizedlist"><ul type="circle">
+<li>Windows with <a href="http://www.cygwin.com/" target="_top">Cygwin</a>: select the libxml2 and libxslt packages.</li>
+<li>Windows without Cygwin: Download packages <a href="http://www.meta-comm.com/engineering/boost/xsltproc-win32.zip" target="_top">
+ here</a>.</li>
+<li>Mac OS X with Fink: Get the <code class="computeroutput">libxslt</code> package.</li>
+<li>Mac OS X without Fink: <a href="http://www.zveno.com/open_source/libxml2xslt.html" target="_top">Download the libxslt binaries</a>
+</li>
+<li>Any platform: <a href="http://xmlsoft.org/XSLT/" target="_top">libxslt source</a>.</li>
+</ul></div>
+</li>
+<li>
+<p><span><strong class="command">doxygen</strong></span>:</p> Available from <a href="http://www.doxygen.org" target="_top">http://www.doxygen.org</a>
+</li>
+</ul></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boostbook.setup.autounix"></a>Automatic setup for Unix-like systems</h2></div></div></div>
+<p>BoostBook provides a nearly-automatic setup script. Once
+ you have downloaded and
+ installed <span><strong class="command">xsltproc</strong></span>, <span><strong class="command">doxygen</strong></span>,
+ and (optionally) <span><strong class="command">java</strong></span>, the setup script can
+ download the required DocBook stylesheets, DocBook DTD, and
+ (when Java is enabled) Apache FOP for PDF output. It will then
+ configure Boost.Build version 2 to build BoostBook
+ documentation. To perform the installation, execute the
+ script <span><strong class="command">tools/boostbook/setup_boostbook.sh</strong></span>
+ from a directory where you would like the resulting XSL, DTD,
+ and Apache FOP installations to occur. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../introduction.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boostbook.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../setup/manual.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/introduction.html b/doc/html/boostbook/introduction.html
new file mode 100644
index 0000000000..ba399a79d1
--- /dev/null
+++ b/doc/html/boostbook/introduction.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 16. Introduction</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../boostbook.html" title="Part II. The BoostBook Documentation Format">
+<link rel="prev" href="../boostbook.html" title="Part II. The BoostBook Documentation Format">
+<link rel="next" href="getting/started.html" title="Chapter 17. Getting Started">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../boostbook.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boostbook.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="getting/started.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="boostbook.introduction"></a>Chapter 16. Introduction</h2></div></div></div>
+<p>The BoostBook documentation format is an extension of <a href="http://www.docbook.org" target="_top">DocBook</a>, an SGML- or
+ XML-based format for describing documentation. BoostBook augments
+ DocBook with semantic markup that aids in the documentation of C++
+ libraries, specifically the <a href="http://www.boost.org" target="_top">Boost C++ libraries</a>, by
+ providing the ability to express and refer to C++ constructs such
+ as namespaces, classes, overloaded functions, templates, and
+ specializations.</p>
+<p>
+ BoostBook offers additional features more specific to its use for
+ documenting the <a href="http://www.boost.org" target="_top">Boost C++
+ libraries</a>. These features are intended to eliminate or
+ reduce the need for duplication of information and to aid in
+ documenting portions of Boost that might otherwise not be
+ documented. Examples of Boost-centric features include:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><span class="bold"><strong>Testsuites</strong></span>:
+ Testsuites in Boost are created by writing an appropriate
+ Jamfile and including that Jamfile in
+ <code class="filename">status/Jamfile</code>. If the testsuites are
+ documented (<a href="http://www.boost.org/libs/multi_array/doc/test_cases.html" target="_top">as
+ in the MultiArray library</a>), the documentation is
+ maintained separately from the testcase Jamfile, leading to
+ duplication of information and the possibility of having the
+ documentation out of sync with the Jamfile. BoostBook
+ contains elements that describe a testsuite for both
+ purposes: the BoostBook stylesheets can generate
+ documentation for the testcases and also generate an
+ appropriate Jamfile to integrate the testcases with the
+ regression testing system.</p></li>
+<li>
+<p><span class="bold"><strong>Example programs</strong></span>:
+ Example programs in documentation need to be duplicated in
+ testcases to ensure that the examples compile and execute
+ correctly. Keeping the two copies in sync is a tedious and
+ error-prone task. For instance, the following code snippet
+ persisted for six months:</p>
+<pre class="programlisting">
+std::cout &lt;&lt; f(5, 3) &gt;&gt; std::endl;
+</pre>
+<p>The BoostBook format allows testcases to be generated
+ by weaving together program fragments from example programs
+ in the documentation. This capability is integrated with
+ testsuite generation so that example programs are normal
+ tests in BoostBook.</p>
+</li>
+</ul></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../boostbook.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boostbook.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="getting/started.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/sectioning.html b/doc/html/boostbook/sectioning.html
new file mode 100644
index 0000000000..7fe343232a
--- /dev/null
+++ b/doc/html/boostbook/sectioning.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Sectioning in BoostBook</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="documenting.html" title="Chapter 18. Documenting libraries">
+<link rel="prev" href="documenting/s02.html" title="From HTML to BoostBook">
+<link rel="next" href="together.html" title="Chapter 19. Bringing Together a BoostBook Document">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="documenting/s02.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="documenting.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="together.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boostbook.sectioning"></a>Sectioning in BoostBook</h2></div></div></div>
+<p>"Sectioning" refers to organization of a document into separate sections, each with a title, some text, and possibly subsections. Each section is described in BoostBook via a &lt;section&gt; element. An introduction section may look like this:</p>
+<pre class="programlisting">
+&lt;section id="any.intro"&gt;
+ &lt;title&gt;Introduction&lt;/title&gt;
+
+ &lt;para&gt;Introduction to a library...&lt;/para&gt;
+
+ &lt;section&gt;
+ &lt;title&gt;A Subsection&lt;/title&gt;
+ &lt;para&gt;Subsection information...&lt;/para&gt;
+ &lt;/section&gt;
+&lt;/section&gt;
+</pre>
+<p>The &lt;section&gt; element contains all information that
+ should logically be grouped within that section. The title of the
+ section is placed within the &lt;title&gt; element, and any
+ paragraphs, programs, lists, tables, or subsections can occur
+ within the section. The <code class="computeroutput">id</code> attribute of the
+ &lt;section&gt; element gives a unique ID to each section, so that
+ it may later be identified for linking. It is suggested that all
+ IDs start with the short name of a library followed by a period,
+ so that IDs do not conflict between libraries.</p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="documenting/s02.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="documenting.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="together.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/setup/manual.html b/doc/html/boostbook/setup/manual.html
new file mode 100644
index 0000000000..82c28e74e4
--- /dev/null
+++ b/doc/html/boostbook/setup/manual.html
@@ -0,0 +1,168 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Manual setup for all systems</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../getting/started.html" title="Chapter 17. Getting Started">
+<link rel="prev" href="../getting/started.html" title="Chapter 17. Getting Started">
+<link rel="next" href="running.html" title="Running BoostBook">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../getting/started.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../getting/started.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="running.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boostbook.setup.manual"></a>Manual setup for all systems</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="manual.html#boostbook.setup.xsltproc">Configuring <span><strong class="command">xsltproc</strong></span></a></span></dt>
+<dt><span class="section"><a href="manual.html#boostbook.setup.docbook">Configuring local DocBook XSL and DTD distributions</a></span></dt>
+<dt><span class="section"><a href="manual.html#boostbook.setup.doxygen">Configuring Doxygen for Documentation Extraction</a></span></dt>
+<dt><span class="section"><a href="manual.html#boostbook.setup.fop">Configuring Apache FOP</a></span></dt>
+</dl></div>
+<p>This section describes how to manually configure Boost
+ Boost version 2 (BBv@) for BoostBook. If you can use the
+ automatic setup script, you should. All configuration will
+ happen in the BBv2 user configuration file,
+ <code class="filename">user-config.jam</code>. If you do not have a copy
+ of this file in your home directory, you should copy the one
+ that resides in <code class="computeroutput">tools/build/v2</code> to your home
+ directory. Alternatively, you can edit
+ <code class="filename">tools/build/v2/user-config.jam</code> directly or
+ a site-wide <code class="filename">site-config.jam</code> file.</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boostbook.setup.xsltproc"></a>Configuring <span><strong class="command">xsltproc</strong></span></h3></div></div></div>
+<p>To configure <span><strong class="command">xsltproc</strong></span> manually, you
+ will need to add a directive to
+ <code class="filename">user-config.jam</code> telling it where to find
+ <span><strong class="command">xsltproc</strong></span>. If the program is in your path,
+ just add the following line to
+ <code class="filename">user-config.jam</code>:</p>
+<pre class="programlisting">using xsltproc ;</pre>
+<p>If <span><strong class="command">xsltproc</strong></span> is somewhere else, use
+ this directive, where <code class="computeroutput">XSLTPROC</code> is the full
+ pathname to <span><strong class="command">xsltproc</strong></span> (including
+ <span><strong class="command">xsltproc</strong></span>):</p>
+<pre class="programlisting">using xsltproc : XSLTPROC ;</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boostbook.setup.docbook"></a>Configuring local DocBook XSL and DTD distributions</h3></div></div></div>
+<p>This section describes how to configure Boost.Build to
+ use local copies of the DocBook DTD and XSL stylesheets to
+ improve processing time. You will first need to download two
+ packages:
+
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>Norman Walsh's DocBook XSL stylesheets,
+ available at the <a href="http://docbook.sourceforge.net" target="_top">DocBook sourceforge
+ site</a>. Extract the DocBook XSL stylesheets to a
+ directory on your hard disk (which we'll refer to as the
+ <code class="computeroutput">DOCBOOK_XSL_DIR</code>).</p></li>
+<li><p>The DocBook DTD, available as a ZIP archive
+ at the <a href="http://www.oasis-open.org/docbook/xml/4.2/index.shtml" target="_top">OASIS
+ DocBook site</a>. The package is called "DocBook XML
+ 4.2". Extract the DocBook DTD to a directory on your hard
+ disk (which we'll refer to as the
+ <code class="computeroutput">DOCBOOK_DTD_DIR</code>). You will want to extract this
+ archive in a subdirectory!</p></li>
+</ul></div>
+<p>Add the following directive telling BBv2 where to find
+ the DocBook DTD and XSL stylesheets:</p>
+<pre class="programlisting"># BoostBook configuration
+using boostbook
+ : DOCBOOK_XSL_DIR
+ : DOCBOOK_DTD_DIR
+ ;</pre>
+<p>Whenever you change this directive, you will need to
+ remove the <code class="computeroutput">bin.v2</code> directory that BBv2 generates.
+ This is due to longstanding bug we are trying to fix.</p>
+<p>At this point, you should be able to build HTML
+ documentation for libraries that do not require Doxygen. To
+ test this, change into the directory <code class="filename">$BOOST_ROOT/libs/function/doc</code> and
+ run the command <code class="computeroutput">bjam --v2</code>: it should produce HTML
+ documentation for the Boost.Function library in the
+ <code class="computeroutput">html</code> subdirectory.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boostbook.setup.doxygen"></a>Configuring Doxygen for Documentation Extraction</h3></div></div></div>
+<p>Doxygen is required to build the documentation for
+ several Boost libraries. You will need a recent version of
+ <a href="http://www.doxygen.org" target="_top">Doxygen</a> (most of
+ the 1.3.x and 1.4.x versions will suffice). BBv2 by adding the
+ following directive to
+ <code class="filename">user-config.jam</code>:</p>
+<pre class="programlisting">using doxygen : DOXYGEN ;</pre>
+<p><code class="filename">DOXYGEN</code> should be replaced with the
+ name of the <span><strong class="command">doxygen</strong></span> executable (with full
+ path name). If the right <span><strong class="command">doxygen</strong></span> executable
+ can be found via the path, this parameter can be
+ omitted, e.g.</p>
+<pre class="programlisting">using doxygen ;</pre>
+<div class="important" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Important</h3>
+<p>The relative order of declarations in
+ <code class="filename">user-config.jam</code> /
+ <code class="filename">site-config.jam</code> files is
+ significant. In particular, the <code class="literal">using
+ doxygen</code> line should come
+ <span class="emphasis"><em>after</em></span> the <code class="literal">using
+ boostbook</code> declaration.
+ </p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boostbook.setup.fop"></a>Configuring Apache FOP</h3></div></div></div>
+<p>In order to generate PDF and PostScript output using
+ Apache FOP, you will need a <a href="http://java.sun.com" target="_top">Java interpreter</a> and <a href="http://xml.apache.org/fop/download.html" target="_top">Apache FOP</a>
+ (version 0.20.5 is best). Unpack Apache FOP to some
+ directory. The top level directory of the FOP tool should
+ contain a main script called <code class="filename">fop.sh</code> on Unix
+ and <code class="filename">fop.bat</code> on Windows. You need to specify
+ the location of that script and Java location to
+ Boost.Build. Add the following to your
+ <code class="filename">user-config.jam</code> or
+ <code class="filename">site-config.jam</code>:
+</p>
+<pre class="programlisting">
+using fop : FOP_COMMAND
+ : JAVA_HOME
+ ;
+</pre>
+<p> replacing
+ <code class="computeroutput">FOP_COMMAND</code> with the full path to the FOP main script, and
+ replacing <code class="computeroutput">JAVA_HOME</code> with the directory where Java is
+ installed. If the <code class="envar">JAVA_HOME</code> environment variable is
+ already set, you don't need to specify it above.
+ </p>
+<p>To test PDF generation, switch to the directory <code class="filename">$BOOST_ROOT/libs/function/doc</code> and
+ execute the command <span><strong class="command">bjam --v2 pdf</strong></span>. In the
+ absence of any errors, Apache FOP will be executed to transform
+ the XSL:FO output of DocBook into a PDF file.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../getting/started.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../getting/started.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="running.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/setup/running.html b/doc/html/boostbook/setup/running.html
new file mode 100644
index 0000000000..3bccd57d37
--- /dev/null
+++ b/doc/html/boostbook/setup/running.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Running BoostBook</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../getting/started.html" title="Chapter 17. Getting Started">
+<link rel="prev" href="manual.html" title="Manual setup for all systems">
+<link rel="next" href="troubleshooting.html" title="Troubleshooting">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="manual.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../getting/started.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="troubleshooting.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boostbook.setup.running"></a>Running BoostBook</h2></div></div></div>
+<p>Once BoostBook has been configured, we can build some
+ documentation. First, change to the directory
+ <code class="computeroutput">$BOOST_ROOT/doc</code> and remove (or make writable) the
+ <code class="computeroutput">.html</code> files in
+ <code class="computeroutput">$BOOST_ROOT/doc/html</code>. Then, run <code class="computeroutput">bjam
+ --v2</code> to build HTML documentation. You should see several
+ warnings like these while DocBook documentation is being built
+ from BoostBook documentation:</p>
+<pre class="programlisting">Cannot find function named 'checked_delete'
+Cannot find function named 'checked_array_delete'
+Cannot find function named 'next'</pre>
+<p>These warnings are emitted when the Boost documentation
+ tools cannot find documentation for functions, methods, or classes
+ that are referenced in the source, and are not harmful in any
+ way. Once Boost.Jam has completed its execution, HTML
+ documentation for Boost will be available in
+ <code class="computeroutput">$BOOST_ROOT/doc/html</code>. You can also create HTML
+ documentation in a single (large!) HTML file with the command line
+ <code class="computeroutput">bjam --v2 onehtml</code>, or Unix man pages with the command
+ line <code class="computeroutput">bjam --v2 man</code>. The complete list of output
+ formats is listed in <a href="running.html#boostbook.output.formats" title="Table 17.1. BoostBook Output Formats">Table 17.1, &#8220;BoostBook Output Formats&#8221;</a>. Several output formats can
+ be passed to a single invocation of <code class="computeroutput">bjam</code>, e.g.,
+ <code class="computeroutput">bjam --v2 html man docbook</code> would generate HTML
+ (multiple files), man pages, and DocBook documentation.</p>
+<div class="table">
+<a name="boostbook.output.formats"></a><p class="title"><b>Table 17.1. BoostBook Output Formats</b></p>
+<table class="table" summary="BoostBook Output Formats">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Format</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>html</td>
+<td><p>HTML output (multiple files). This is the default</p></td>
+</tr>
+<tr>
+<td>onehtml</td>
+<td><p>HTML output in a single HTML file.</p></td>
+</tr>
+<tr>
+<td>man</td>
+<td><p>Unix man pages.</p></td>
+</tr>
+<tr>
+<td>pdf</td>
+<td><p>PDF. Requires <a href="http://xml.apache.org/fop/index.html" target="_top">Apache FOP</a>.</p></td>
+</tr>
+<tr>
+<td>ps</td>
+<td><p>Postscript. Requires <a href="http://xml.apache.org/fop/index.html" target="_top">Apache FOP</a>.</p></td>
+</tr>
+<tr>
+<td>docbook</td>
+<td>
+<a href="http://www.docbook.org/" target="_top">DocBook</a>.</td>
+</tr>
+<tr>
+<td>fo</td>
+<td><a href="http://www.w3.org/TR/xsl/" target="_top">XSL Formatting Objects</a></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="manual.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../getting/started.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="troubleshooting.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/setup/troubleshooting.html b/doc/html/boostbook/setup/troubleshooting.html
new file mode 100644
index 0000000000..4a163c8823
--- /dev/null
+++ b/doc/html/boostbook/setup/troubleshooting.html
@@ -0,0 +1,46 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Troubleshooting</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../getting/started.html" title="Chapter 17. Getting Started">
+<link rel="prev" href="running.html" title="Running BoostBook">
+<link rel="next" href="../documenting.html" title="Chapter 18. Documenting libraries">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="running.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../getting/started.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../documenting.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boostbook.setup.troubleshooting"></a>Troubleshooting</h2></div></div></div>
+<p>The Boost documentation tools are still in their early phase of
+ development, and some things don't work as seamlessly as we would like
+ them to, yet. In particular, error messages can be somewhat
+ uninformative at times. If you find yourself in the situation when
+ you have double checked everything, and yet things still don't work as
+ expected, consider helping the tools by deleting
+ <code class="literal">bin.v2</code> build directory.
+ </p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="running.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../getting/started.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../documenting.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boostbook/together.html b/doc/html/boostbook/together.html
new file mode 100644
index 0000000000..b521e77115
--- /dev/null
+++ b/doc/html/boostbook/together.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 19. Bringing Together a BoostBook Document</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../boostbook.html" title="Part II. The BoostBook Documentation Format">
+<link rel="prev" href="sectioning.html" title="Sectioning in BoostBook">
+<link rel="next" href="../reference.html" title="Chapter 20. Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sectioning.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boostbook.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="boostbook.together"></a>Chapter 19. Bringing Together a BoostBook Document</h2></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl><dt><span class="section"><a href="together.html#boostbook.linking">Linking in BoostBook</a></span></dt></dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boostbook.linking"></a>Linking in BoostBook</h2></div></div></div>
+<p>How one links to another element in BoostBook depends
+ greatly on the nature of the element linked and how the link
+ should appear. There are three general linking elements:
+ &lt;xref&gt;, &lt;link&gt;, and &lt;ulink&gt;. Additionally, there
+ are linking elements for referencing specific types of entities,
+ such as classes (&lt;classname&gt;), functions
+ (&lt;functionname&gt;), or libraries (&lt;libraryname&gt;).</p>
+<p>The &lt;xref&gt; element references elements that have an
+ <code class="computeroutput">id</code> attribute and a title. The actual link text is
+ composed from title and type of the element referenced. To link to
+ a particular ID, create an &lt;xref&gt; element with the
+ <code class="computeroutput">linkend</code> attribute set to the ID of the intended
+ target. For instance, this section's ID is
+ <code class="computeroutput">boostbook.linking</code>, so we create a reference it to
+ with <code class="computeroutput">&lt;xref linkend="boostbook.linking"/&gt;</code>, which
+ will look like this in the text: <a href="together.html#boostbook.linking" title="Linking in BoostBook">the section called &#8220;Linking in BoostBook&#8221;</a>.</p>
+<p>The &lt;link&gt; element references an ID in the same way as
+ &lt;xref&gt;, except that &lt;link&gt; does not generate any text
+ for the link, so text must be supplied within the element. For
+ instance, we can again link to this chapter but this time specify
+ our own text with <code class="computeroutput">&lt;link
+ linkend="boostbook.linking"&gt;like this&lt;/link&gt;</code>. This
+ markup will result in a link to this chapter that looks <a href="together.html#boostbook.linking" title="Linking in BoostBook">like this</a>.</p>
+<p>The &lt;ulink&gt; element references a URL that is outside
+ of the DocBook document. The <code class="computeroutput">url</code> attribute contains
+ the URL to link to, and the element data provides the link
+ text.For instance, we can link to the the Boost web site with
+ <code class="computeroutput">&lt;ulink
+ url="http://www.boost.org"&gt;Boost&lt;/ulink&gt;,</code> which
+ appears in the document like this: <a href="http://www.boost.org" target="_top">Boost</a>.</p>
+<p>The &lt;classname&gt;, &lt;functionname&gt;,
+ &lt;methodname&gt;, and &lt;libraryname&gt; link to classes,
+ functions, methods, and libraries, respectively. The text of each
+ element gives both the name of the element to link to and the link
+ text. For instance, we can link to the Function library with
+ <code class="computeroutput">&lt;libraryname&gt;Function&lt;/libraryname&gt;</code>,
+ which results in the following:
+ <a href="../function.html" title="Chapter 4. Boost.Function">Function</a>. In cases where the displayed
+ text is different from the actual name, the <code class="computeroutput">alt</code>
+ attribute can be specified. For instance, the following XML
+ element references the <code class="computeroutput"><a href="../boost/function.html" title="Class template function">boost::function</a></code>
+ class template but displays the text <code class="computeroutput"><a href="../boost/function.html" title="Class template function">function</a></code>: <code class="computeroutput">&lt;classname
+ alt="boost::function"&gt;function&lt;/classname&gt;</code>.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sectioning.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../boostbook.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/c_local_adjustor.html b/doc/html/c_local_adjustor.html
new file mode 100644
index 0000000000..767b94ad81
--- /dev/null
+++ b/doc/html/c_local_adjustor.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template c_local_adjustor</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2500260" title="Header &lt;boost/date_time/c_local_time_adjustor.hpp&gt;">
+<link rel="prev" href="year_functor.html" title="Class template year_functor">
+<link rel="next" href="c_time.html" title="Struct c_time">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="year_functor.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2500260"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="c_time.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="c_local_adjustor"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template c_local_adjustor</span></h2>
+<p>boost::date_time::c_local_adjustor &#8212; Adjust to / from utc using the C API. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type&gt;
+<span class="bold"><strong>class</strong></span> c_local_adjustor {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> time_type::time_duration_type time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> time_type::date_type          date_type;         
+  <span class="bold"><strong>typedef</strong></span> date_type::duration_type      date_duration_type;
+
+  <span class="emphasis"><em>// <a href="c_local_adjustor.html#id2439378-bb">public static functions</a></em></span>
+  <span class="type">time_type</span> <a href="c_local_adjustor.html#id2397127-bb">utc_to_local</a>(<span class="bold"><strong>const</strong></span> time_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2606655"></a><h2>Description</h2>
+<p>Warning!!! This class assumes that timezone settings of the machine are correct. This can be a very dangerous assumption. </p>
+<div class="refsect2" lang="en">
+<a name="id2606662"></a><h3>
+<a name="id2439378-bb"></a><code class="computeroutput">c_local_adjustor</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">time_type</span> <a name="id2397127-bb"></a>utc_to_local(<span class="bold"><strong>const</strong></span> time_type &amp; t) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="year_functor.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2500260"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="c_time.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/c_time.html b/doc/html/c_time.html
new file mode 100644
index 0000000000..8e11bebb6a
--- /dev/null
+++ b/doc/html/c_time.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct c_time</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2434806" title="Header &lt;boost/date_time/c_time.hpp&gt;">
+<link rel="prev" href="c_local_adjustor.html" title="Class template c_local_adjustor">
+<link rel="next" href="constrained_value.html" title="Class template constrained_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="c_local_adjustor.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2434806"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="constrained_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="c_time"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct c_time</span></h2>
+<p>boost::date_time::c_time &#8212; Provides a uniform interface to some 'ctime' functions. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> c_time {
+
+  <span class="emphasis"><em>// <a href="c_time.html#id2399818-bb">public static functions</a></em></span>
+  <span class="type">std::tm *</span> <a href="c_time.html#id2506205-bb">localtime</a>(<span class="bold"><strong>const</strong></span> std::time_t *, std::tm *) ;
+  <span class="type">std::tm *</span> <a href="c_time.html#id2402870-bb">gmtime</a>(<span class="bold"><strong>const</strong></span> std::time_t *, std::tm *) ;
+  <span class="type">std::tm *</span> <a href="c_time.html#id2453184-bb">localtime</a>(<span class="bold"><strong>const</strong></span> std::time_t *, std::tm *) ;
+  <span class="type">std::tm *</span> <a href="c_time.html#id2505130-bb">gmtime</a>(<span class="bold"><strong>const</strong></span> std::time_t *, std::tm *) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2606873"></a><h2>Description</h2>
+<p>Provides a uniform interface to some ctime functions and their '_r' counterparts. The '_r' functions require a pointer to a user created std::tm struct whereas the regular functions use a staticly created struct and return a pointer to that. These wrapper functions require the user to create a std::tm struct and send in a pointer to it. A pointer to the user created struct will be returned. </p>
+<div class="refsect2" lang="en">
+<a name="id2606886"></a><h3>
+<a name="id2399818-bb"></a><code class="computeroutput">c_time</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">std::tm *</span> <a name="id2506205-bb"></a>localtime(<span class="bold"><strong>const</strong></span> std::time_t * t, std::tm * result) ;</pre></li>
+<li><pre class="literallayout"><span class="type">std::tm *</span> <a name="id2402870-bb"></a>gmtime(<span class="bold"><strong>const</strong></span> std::time_t * t, std::tm * result) ;</pre></li>
+<li><pre class="literallayout"><span class="type">std::tm *</span> <a name="id2453184-bb"></a>localtime(<span class="bold"><strong>const</strong></span> std::time_t * t, std::tm * result) ;</pre></li>
+<li><pre class="literallayout"><span class="type">std::tm *</span> <a name="id2505130-bb"></a>gmtime(<span class="bold"><strong>const</strong></span> std::time_t * t, std::tm * result) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="c_local_adjustor.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2434806"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="constrained_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/call_once.html b/doc/html/call_once.html
new file mode 100644
index 0000000000..db40f3ca15
--- /dev/null
+++ b/doc/html/call_once.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function call_once</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id2534986" title="Header &lt;boost/thread/once.hpp&gt;">
+<link rel="prev" href="BOOST_ONCE_INIT.html" title="Macro BOOST_ONCE_INIT">
+<link rel="next" href="recursive_mutex.html" title="Class recursive_mutex">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_ONCE_INIT.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2534986"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="recursive_mutex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="call_once"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function call_once</span></h2>
+<p>boost::call_once &#8212; The <a href="call_once.html" title="Function call_once">call_once</a> function and
+ <code class="computeroutput">once_flag</code> type (statically initialized to
+ <a href="BOOST_ONCE_INIT.html" title="Macro BOOST_ONCE_INIT">BOOST_ONCE_INIT</a>) can be used to run a
+ routine exactly once. This can be used to initialize data in a
+ <a href="threads.html#threads.glossary.thread-safe">thread-safe</a>
+ manner.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+ call_once(<span class="bold"><strong>void</strong></span> (*func)() func, once_flag&amp; flag);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2782216"></a><h2>Description</h2>
+<p>Example usage is as follows:</p>
+<pre class="programlisting">//Example usage:
+boost::once_flag once = BOOST_ONCE_INIT;
+
+void init()
+{
+ //...
+}
+
+void thread_proc()
+{
+ boost::call_once(&amp;init, once);
+}</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ The function <code class="computeroutput">func</code> shall not throw
+ exceptions.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ As if (in an atomic fashion):
+ <code class="computeroutput">if (flag == BOOST_ONCE_INIT) func();</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">flag != BOOST_ONCE_INIT</code></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_ONCE_INIT.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2534986"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="recursive_mutex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/collect_unrecognized.html b/doc/html/collect_unrecognized.html
new file mode 100644
index 0000000000..e3a7e1e7d0
--- /dev/null
+++ b/doc/html/collect_unrecognized.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template collect_unrecognized</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2348797" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="parse_config_file.html" title="Function template parse_config_file">
+<link rel="next" href="id2383787.html" title="Function parse_environment">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="parse_config_file.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2348797"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2383787.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="collect_unrecognized"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template collect_unrecognized</span></h2>
+<p>boost::program_options::collect_unrecognized &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+  <span class="type">std::vector&lt; std::basic_string&lt; charT &gt; &gt;</span>
+  collect_unrecognized(<span class="bold"><strong>const</strong></span> std::vector&lt; <a href="basic_option.html" title="Class template basic_option">basic_option</a>&lt; charT &gt; &gt; &amp; options,
+                       <span class="bold"><strong>enum</strong></span> collect_unrecognized_mode mode);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2724393"></a><h2>Description</h2>
+<p>Collects the original tokens for all named options with 'unregistered' flag set. If 'mode' is 'include_positional' also collects all positional options. Returns the vector of origianl tokens for all collected options. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="parse_config_file.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2348797"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2383787.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/concepts/reference.html b/doc/html/concepts/reference.html
new file mode 100644
index 0000000000..6c4921e0e9
--- /dev/null
+++ b/doc/html/concepts/reference.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Concept reference</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../libraries.html" title="Part I. The Boost C++ Libraries">
+<link rel="prev" href="../array/ack.html" title="Acknowledgements">
+<link rel="next" href="../Assignable.html" title="Concept Assignable">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../array/ack.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../libraries.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../Assignable.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div>
+<div><h2 class="title" style="clear: both">
+<a name="concepts.reference"></a>Concept reference</h2></div>
+<div><p class="copyright">Copyright © 2001, 2002 Indiana University</p></div>
+<div><p class="copyright">Copyright © 2000, 2001 University of Notre Dame du Lac</p></div>
+<div><p class="copyright">Copyright © 2000 Jeremy Siek, Lie-Quan Lee, Andrew Lumsdaine</p></div>
+<div><p class="copyright">Copyright © 1996-1999 Silicon Graphics Computer Systems, Inc.</p></div>
+<div><p class="copyright">Copyright © 1994 Hewlett-Packard Company</p></div>
+<div><div class="legalnotice">
+<a name="id2575867"></a><p>This product includes software developed at the University
+ of Notre Dame and the Pervasive Technology Labs at Indiana
+ University. For technical information contact Andrew Lumsdaine
+ at the Pervasive Technology Labs at Indiana University. For
+ administrative and license questions contact the Advanced
+ Research and Technology Institute at 351 West 10th Street.
+ Indianapolis, Indiana 46202, phone 317-278-4100, fax
+ 317-274-5902.</p>
+<p>Some concepts based on versions from the MTL draft manual
+ and Boost Graph and Property Map documentation, the SGI Standard
+ Template Library documentation and the Hewlett-Packard STL,
+ under the following license:
+ </p>
+<div class="blockquote"><blockquote class="blockquote">Permission to use, copy, modify, distribute and
+ sell this software and its documentation for any purpose is
+ hereby granted without fee, provided that the above copyright
+ notice appears in all copies and that both that copyright
+ notice and this permission notice appear in supporting
+ documentation. Silicon Graphics makes no representations
+ about the suitability of this software for any purpose. It is
+ provided "as is" without express or implied
+ warranty.</blockquote></div>
+</div></div>
+</div></div>
+<div class="toc"><dl><dt><span class="section"><a href="reference.html#id2575726">Concepts</a></span></dt></dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2575726"></a>Concepts</h3></div></div></div>
+<div class="itemizedlist"><ul type="disc">
+<li><a href="../Assignable.html" title="Concept Assignable">Assignable</a></li>
+<li><a href="../InputIterator.html" title="Concept InputIterator">InputIterator</a></li>
+<li><a href="../OutputIterator.html" title="Concept OutputIterator">OutputIterator</a></li>
+<li><a href="../ForwardIterator.html" title="Concept ForwardIterator">ForwardIterator</a></li>
+<li><a href="../BidirectionalIterator.html" title="Concept BidirectionalIterator">BidirectionalIterator</a></li>
+<li><a href="../RandomAccessIterator.html" title="Concept RandomAccessIterator">RandomAccessIterator</a></li>
+<li><a href="../DefaultConstructible.html" title="Concept DefaultConstructible">DefaultConstructible</a></li>
+<li><a href="../CopyConstructible.html" title="Concept CopyConstructible">CopyConstructible</a></li>
+<li><a href="../EqualityComparable.html" title="Concept EqualityComparable">EqualityComparable</a></li>
+<li><a href="../LessThanComparable.html" title="Concept LessThanComparable">LessThanComparable</a></li>
+<li><a href="../SignedInteger.html" title="Concept SignedInteger">SignedInteger</a></li>
+</ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../array/ack.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../libraries.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../Assignable.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/condition.html b/doc/html/condition.html
new file mode 100644
index 0000000000..a93f244c38
--- /dev/null
+++ b/doc/html/condition.html
@@ -0,0 +1,209 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class condition</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id2450200" title="Header &lt;boost/thread/condition.hpp&gt;">
+<link rel="prev" href="barrier.html" title="Class barrier">
+<link rel="next" href="lock_error.html" title="Class lock_error">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="barrier.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2450200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="lock_error.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="condition"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class condition</span></h2>
+<p>boost::condition &#8212; <p>An object of class <a href="condition.html" title="Class condition">condition</a> is a
+ synchronization primitive used to cause a thread to wait until a
+ particular shared-data condition (or time) is met.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> condition : <span class="bold"><strong>private</strong></span> boost::noncopyable <span class="emphasis"><em>// Exposition only</em></span>
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="condition.html#conditionconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="condition.html#id2531211-bb">condition</a>();
+  <a href="condition.html#id2604889-bb">~condition</a>();
+
+  <span class="emphasis"><em>// <a href="condition.html#id2616531-bb">notification</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="condition.html#id2534198-bb">notify_one</a>();
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="condition.html#id2617876-bb">notify_all</a>();
+
+  <span class="emphasis"><em>// <a href="condition.html#id2616162-bb">waiting</a></em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ScopedLock&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="condition.html#id2575301-bb">wait</a>(ScopedLock&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ScopedLock, <span class="bold"><strong>typename</strong></span> Pred&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="condition.html#id2450378-bb">wait</a>(ScopedLock&amp;, Pred);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ScopedLock&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="condition.html#id2592886-bb">timed_wait</a>(ScopedLock&amp;, <span class="bold"><strong>const</strong></span> <a href="xtime.html" title="Struct xtime">boost::xtime</a>&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ScopedLock, <span class="bold"><strong>typename</strong></span> Pred&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="condition.html#id2529517-bb">timed_wait</a>(ScopedLock&amp;, Pred);
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2779416"></a><h2>Description</h2>
+<p>A <a href="condition.html" title="Class condition">condition</a> object is always used in
+ conjunction with a <a href="threads/concepts.html#threads.concepts.mutexes" title="Mutexes">mutex</a>
+ object (an object whose type is a model of a <a href="threads/concepts.html#threads.concepts.Mutex" title="Mutex Concept">Mutex</a> or one of its
+ refinements). The mutex object must be locked prior to waiting on the
+ condition, which is verified by passing a lock object (an object whose
+ type is a model of <a href="threads/concepts.html#threads.concepts.Lock" title="Lock Concept">Lock</a> or
+ one of its refinements) to the <a href="condition.html" title="Class condition">condition</a> object's
+ wait functions. Upon blocking on the <a href="condition.html" title="Class condition">condition</a>
+ object, the thread unlocks the mutex object. When the thread returns
+ from a call to one of the <a href="condition.html" title="Class condition">condition</a> object's wait
+ functions the mutex object is again locked. The tricky unlock/lock
+ sequence is performed automatically by the
+ <a href="condition.html" title="Class condition">condition</a> object's wait functions.</p>
+<p>The <a href="condition.html" title="Class condition">condition</a> type is often used to
+ implement the Monitor Object and other important patterns (see
+ [<span class="citation"><a href="threads.html#threads.bib.SchmidtStalRohnertBuschmann">SchmidtStalRohnertBuschmann</a></span>] and [<span class="citation"><a href="threads.html#threads.bib.Hoare74">Hoare74</a></span>]). Monitors are one
+ of the most important patterns for creating reliable multithreaded
+ programs.</p>
+<p>See <a href="threads.html#threads.glossary" title="Glossary">Glossary</a> for definitions of <a href="threads.html#threads.glossary.thread-state">thread states</a>
+ blocked and ready. Note that "waiting" is a synonym for blocked.</p>
+<div class="refsect2" lang="en">
+<a name="id2779548"></a><h3>
+<a name="conditionconstruct-copy-destruct"></a><code class="computeroutput">condition</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2531211-bb"></a>condition();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Constructs a <a href="condition.html" title="Class condition">condition</a>
+ object.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2604889-bb"></a>~condition();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Destroys <code class="computeroutput">*this</code>.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2779628"></a><h3>
+<a name="id2616531-bb"></a><code class="computeroutput">condition</code> notification</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2534198-bb"></a>notify_one();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ If there is a thread waiting on <code class="computeroutput">*this</code>,
+ change that thread's state to ready. Otherwise there is no
+ effect.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ If more than one thread is waiting on <code class="computeroutput">*this</code>,
+ it is unspecified which is made ready. After returning to a ready
+ state the notified thread must still acquire the mutex again (which
+ occurs within the call to one of the <a href="condition.html" title="Class condition">condition</a>
+ object's wait functions.)</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2617876-bb"></a>notify_all();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Change the state of all threads waiting on
+ <code class="computeroutput">*this</code> to ready. If there are no waiting threads,
+ <code class="computeroutput">notify_all()</code> has no effect.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2779754"></a><h3>
+<a name="id2616162-bb"></a><code class="computeroutput">condition</code> waiting</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ScopedLock&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2575301-bb"></a>wait(ScopedLock&amp; lock);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">ScopedLock</code> meets the <a href="threads/concepts.html#threads.concepts.ScopedLock" title="ScopedLock Concept">ScopedLock</a>
+ requirements.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Releases the lock on the <a href="threads/concepts.html#threads.concepts.mutexes" title="Mutexes">mutex object</a>
+ associated with <code class="computeroutput">lock</code>, blocks the current thread of execution
+ until readied by a call to <code class="computeroutput">this-&gt;notify_one()</code>
+ or<code class="computeroutput"> this-&gt;notify_all()</code>, and then reacquires the
+ lock.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ <a href="lock_error.html" title="Class lock_error">lock_error</a> if
+ <code class="computeroutput">!lock.locked()</code></p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ScopedLock, <span class="bold"><strong>typename</strong></span> Pred&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2450378-bb"></a>wait(ScopedLock&amp; lock, Pred pred);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">ScopedLock</code> meets the <a href="threads/concepts.html#threads.concepts.ScopedLock" title="ScopedLock Concept">ScopedLock</a>
+ requirements and the return from <code class="computeroutput">pred()</code> is
+ convertible to <code class="computeroutput">bool</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ As if: <code class="computeroutput">while (!pred())
+ wait(lock)</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ <a href="lock_error.html" title="Class lock_error">lock_error</a> if
+ <code class="computeroutput">!lock.locked()</code></p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ScopedLock&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2592886-bb"></a>timed_wait(ScopedLock&amp; lock, <span class="bold"><strong>const</strong></span> <a href="xtime.html" title="Struct xtime">boost::xtime</a>&amp; xt);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">ScopedLock</code> meets the <a href="threads/concepts.html#threads.concepts.ScopedLock" title="ScopedLock Concept">ScopedLock</a>
+ requirements.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Releases the lock on the <a href="threads/concepts.html#threads.concepts.mutexes" title="Mutexes">mutex object</a>
+ associated with <code class="computeroutput">lock</code>, blocks the current thread of execution
+ until readied by a call to <code class="computeroutput">this-&gt;notify_one()</code>
+ or<code class="computeroutput"> this-&gt;notify_all()</code>, or until time <code class="computeroutput">xt</code>
+ is reached, and then reacquires the lock.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">false</code> if time <code class="computeroutput">xt</code> is reached,
+ otherwise <code class="computeroutput">true</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ <a href="lock_error.html" title="Class lock_error">lock_error</a> if
+ <code class="computeroutput">!lock.locked()</code></p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ScopedLock, <span class="bold"><strong>typename</strong></span> Pred&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2529517-bb"></a>timed_wait(ScopedLock&amp; lock, Pred pred);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">ScopedLock</code> meets the <a href="threads/concepts.html#threads.concepts.ScopedLock" title="ScopedLock Concept">ScopedLock</a>
+ requirements and the return from <code class="computeroutput">pred()</code> is
+ convertible to <code class="computeroutput">bool</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ As if: <code class="computeroutput">while (!pred()) { if (!timed_wait(lock,
+ xt)) return false; } return true;</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">false</code> if <code class="computeroutput">xt</code> is reached,
+ otherwise <code class="computeroutput">true</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ <a href="lock_error.html" title="Class lock_error">lock_error</a> if
+ <code class="computeroutput">!lock.locked()</code></p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="barrier.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2450200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="lock_error.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/connection.html b/doc/html/connection.html
new file mode 100644
index 0000000000..c4072bfa02
--- /dev/null
+++ b/doc/html/connection.html
@@ -0,0 +1,237 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class connection</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="signals/reference.html#id2543701" title="Header &lt;boost/signals/connection.hpp&gt;">
+<link rel="prev" href="trackable.html" title="Class trackable">
+<link rel="next" href="scoped_connection.html" title="Class scoped_connection">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trackable.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id2543701"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="scoped_connection.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="connection"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class connection</span></h2>
+<p>boost::signals::connection &#8212; Query/disconnect a signal-slot connection.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> connection {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="connection.html#connectionconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="connection.html#id2553533-bb">connection</a>();
+  <a href="connection.html#id2583129-bb">connection</a>(<span class="bold"><strong>const</strong></span> <a href="connection.html" title="Class connection">connection</a>&amp;);
+  connection&amp; <a href="connection.html#id2578224-bb"><span class="bold"><strong>operator</strong></span>=</a>(<span class="bold"><strong>const</strong></span> <a href="connection.html" title="Class connection">connection</a>&amp;);
+
+  <span class="emphasis"><em>// <a href="connection.html#id2558787-bb">connection management</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="connection.html#id2558792-bb">disconnect</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="connection.html#id2558732-bb">connected</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="connection.html#id2575036-bb">blocking</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="connection.html#id2542286-bb">block</a>(<span class="bold"><strong>bool</strong></span> = true);
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="connection.html#id2587349-bb">unblock</a>();
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="connection.html#id2583758-bb">blocked</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="connection.html#id2553604-bb">modifiers</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="connection.html#id2560411-bb">swap</a>(<span class="bold"><strong>const</strong></span> <a href="connection.html" title="Class connection">connection</a>&amp;);
+
+  <span class="emphasis"><em>// <a href="connection.html#id2583629-bb">comparisons</a></em></span>
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="connection.html#id2591430-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="connection.html" title="Class connection">connection</a>&amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="connection.html#id2566739-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> <a href="connection.html" title="Class connection">connection</a>&amp;) <span class="bold"><strong>const</strong></span>;
+};
+
+<span class="emphasis"><em>// <a href="connection.html#id2539555-bb">specialized algorithms</a></em></span>
+<span class="type"><span class="bold"><strong>void</strong></span></span> <a href="connection.html#id2558035">swap</a>(<a href="connection.html" title="Class connection">connection</a>&amp;, <a href="connection.html" title="Class connection">connection</a>&amp;);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2736771"></a><h2>Description</h2>
+<p>The <a href="connection.html" title="Class connection">connection</a> class represents
+ a connection between a Signal and a Slot. It is a
+ lightweight object that has the ability to query whether the
+ signal and slot are currently connected, and to disconnect
+ the signal and slot. It is always safe to query or
+ disconnect a connection.</p>
+<div class="refsect2" lang="en">
+<a name="id2736789"></a><h3>
+<a name="connectionconstruct-copy-destruct"></a><code class="computeroutput">connection</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2553533-bb"></a>connection();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Sets the currently represented connection to the
+ NULL connection.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">!this-&gt;<a href="connection.html#id2558732-bb">connected</a>()</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2583129-bb"></a>connection(<span class="bold"><strong>const</strong></span> <a href="connection.html" title="Class connection">connection</a>&amp; other);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ <code class="computeroutput">this</code> references
+ the connection referenced by
+ <code class="computeroutput">other</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout">connection&amp; <a name="id2578224-bb"></a><span class="bold"><strong>operator</strong></span>=(<span class="bold"><strong>const</strong></span> <a href="connection.html" title="Class connection">connection</a>&amp; other);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ <code class="computeroutput">this</code> references
+ the connection referenced by
+ <code class="computeroutput">other</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2736977"></a><h3>
+<a name="id2558787-bb"></a><code class="computeroutput">connection</code> connection management</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2558792-bb"></a>disconnect() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ If
+ <code class="computeroutput">this-&gt;<a href="connection.html#id2558732-bb">connected</a>()</code>,
+ disconnects the signal and slot referenced by this;
+ otherwise, this operation is a no-op.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">!this-&gt;<a href="connection.html#id2558732-bb">connected</a>()</code>.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2558732-bb"></a>connected() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">true</code> if this
+ references a non-NULL connection that is still active
+ (connected), and <code class="computeroutput">false</code>
+ otherwise.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2737123"></a><h3>
+<a name="id2575036-bb"></a><code class="computeroutput">connection</code> blocking</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2542286-bb"></a>block(<span class="bold"><strong>bool</strong></span> should_block = true);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">connected()</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">blocked() == should_block</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2587349-bb"></a>unblock();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">connected()</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">!blocked()</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2583758-bb"></a>blocked() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">true</code> if the associated slot is either disconnected or blocked, <code class="computeroutput">false</code> otherwise.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2737308"></a><h3>
+<a name="id2553604-bb"></a><code class="computeroutput">connection</code> modifiers</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2560411-bb"></a>swap(<span class="bold"><strong>const</strong></span> <a href="connection.html" title="Class connection">connection</a>&amp; other);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Swaps the connections referenced in
+ <code class="computeroutput">this</code> and
+ <code class="computeroutput">other</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2737390"></a><h3>
+<a name="id2583629-bb"></a><code class="computeroutput">connection</code> comparisons</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2591430-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> <a href="connection.html" title="Class connection">connection</a>&amp; other) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">true</code> if
+ <code class="computeroutput">this</code> and
+ <code class="computeroutput">other</code> reference the same
+ connection or both reference the NULL connection, and
+ <code class="computeroutput">false</code>
+ otherwise.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2566739-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<span class="bold"><strong>const</strong></span> <a href="connection.html" title="Class connection">connection</a>&amp; other) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">true</code> if the
+ connection referenced by
+ <code class="computeroutput">this</code> precedes the
+ connection referenced by
+ <code class="computeroutput">other</code> based on some
+ unspecified ordering, and
+ <code class="computeroutput">false</code>
+ otherwise.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2737582"></a><h3>
+<a name="id2539555-bb"></a><code class="computeroutput">connection</code> specialized algorithms</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2558035"></a>swap(<a href="connection.html" title="Class connection">connection</a>&amp; x, <a href="connection.html" title="Class connection">connection</a>&amp; y);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ <code class="computeroutput">x.swap(y)</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trackable.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id2543701"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="scoped_connection.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/const_formatter.html b/doc/html/const_formatter.html
new file mode 100644
index 0000000000..b6aca56bd6
--- /dev/null
+++ b/doc/html/const_formatter.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template const_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2356089" title="Header &lt;boost/algorithm/string/formatter.hpp&gt;">
+<link rel="prev" href="range_finder.html" title="Function range_finder">
+<link rel="next" href="identity_formatter.html" title="Function template identity_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="range_finder.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2356089"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="identity_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="const_formatter"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template const_formatter</span></h2>
+<p>boost::algorithm::const_formatter &#8212; Constant formatter. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT&gt; <span class="type"><span class="emphasis"><em>unspecified</em></span></span> const_formatter(<span class="bold"><strong>const</strong></span> RangeT &amp; Format);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2760443"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">const_formatter</code> . Const formatter always returns the same value, regardless of the parameter.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A predefined value used as a result for formating </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">const_formatter</code> object. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="range_finder.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2356089"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="identity_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/constrained_value.html b/doc/html/constrained_value.html
new file mode 100644
index 0000000000..7b3720d76a
--- /dev/null
+++ b/doc/html/constrained_value.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template constrained_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2459416" title="Header &lt;boost/date_time/constrained_value.hpp&gt;">
+<link rel="prev" href="c_time.html" title="Struct c_time">
+<link rel="next" href="simple_exception_policy.html" title="Class template simple_exception_policy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="c_time.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2459416"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="simple_exception_policy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="constrained_value"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template constrained_value</span></h2>
+<p>boost::CV::constrained_value &#8212; A template to specify a constrained basic value type. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> value_policies&gt;
+<span class="bold"><strong>class</strong></span> constrained_value {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> value_policies::value_type value_type;
+
+  <span class="emphasis"><em>// <a href="constrained_value.html#constrained_valueconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="constrained_value.html#id2423509-bb">constrained_value</a>(value_type);
+  constrained_value&amp; <a href="constrained_value.html#id2454734-bb"><span class="bold"><strong>operator</strong></span>=</a>(value_type);
+
+  <span class="emphasis"><em>// <a href="constrained_value.html#id2508501-bb">public member functions</a></em></span>
+  <a href="constrained_value.html#id2508505-bb"><span class="bold"><strong>operator</strong></span> value_type</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="constrained_value.html#id2406520-bb">public static functions</a></em></span>
+  <span class="type">value_type max</span> <a href="constrained_value.html#id2406525-bb">BOOST_PREVENT_MACRO_SUBSTITUTION</a>() ;
+  <span class="type">value_type min</span> <a href="constrained_value.html#id2457611-bb">BOOST_PREVENT_MACRO_SUBSTITUTION</a>() ;
+
+  <span class="emphasis"><em>// <a href="constrained_value.html#id2458539-bb">private member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="constrained_value.html#id2506761-bb">assign</a>(value_type) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2607318"></a><h2>Description</h2>
+<p>This template provides a quick way to generate an integer type with a constrained range. The type provides for the ability to specify the min, max, and and error handling policy.</p>
+<p><span class="bold"><strong>value policies</strong></span> A class that provides the range limits via the min and max functions as well as a function on_error that determines how errors are handled. A common strategy would be to assert or throw and exception. The on_error is passed both the current value and the new value that is in error. </p>
+<div class="refsect2" lang="en">
+<a name="id2607338"></a><h3>
+<a name="constrained_valueconstruct-copy-destruct"></a><code class="computeroutput">constrained_value</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2423509-bb"></a>constrained_value(value_type value);</pre></li>
+<li><pre class="literallayout">constrained_value&amp; <a name="id2454734-bb"></a><span class="bold"><strong>operator</strong></span>=(value_type v);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2607393"></a><h3>
+<a name="id2508501-bb"></a><code class="computeroutput">constrained_value</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2508505-bb"></a><span class="bold"><strong>operator</strong></span> value_type() <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2607436"></a><h3>
+<a name="id2406520-bb"></a><code class="computeroutput">constrained_value</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">value_type max</span> <a name="id2406525-bb"></a>BOOST_PREVENT_MACRO_SUBSTITUTION() ;</pre></li>
+<li><pre class="literallayout"><span class="type">value_type min</span> <a name="id2457611-bb"></a>BOOST_PREVENT_MACRO_SUBSTITUTION() ;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2607491"></a><h3>
+<a name="id2458539-bb"></a><code class="computeroutput">constrained_value</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2506761-bb"></a>assign(value_type value) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="c_time.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2459416"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="simple_exception_policy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/contains.html b/doc/html/contains.html
new file mode 100644
index 0000000000..7f8837ce98
--- /dev/null
+++ b/doc/html/contains.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function contains</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2589054" title="Header &lt;boost/algorithm/string/predicate.hpp&gt;">
+<link rel="prev" href="iends_with.html" title="Function template iends_with">
+<link rel="next" href="icontains.html" title="Function template icontains">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iends_with.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2589054"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="icontains.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="contains"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function contains</span></h2>
+<p>boost::algorithm::contains &#8212; 'Contains' predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> contains(<span class="bold"><strong>const</strong></span> Range1T &amp; Input, <span class="bold"><strong>const</strong></span> Range2T &amp; Test, PredicateT Comp);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> contains(<span class="bold"><strong>const</strong></span> Range1T &amp; Input, <span class="bold"><strong>const</strong></span> Range2T &amp; Test);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2762003"></a><h2>Description</h2>
+<p>This predicate holds when the test container is contained in the Input. When the optional predicate is specified, it is used for character-wise comparison.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Comp</span></dt>
+<dd><p>An element comparison predicate </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">Test</span></dt>
+<dd><p>A test sequence </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ The result of the test<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iends_with.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2589054"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="icontains.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/convert_string_type.html b/doc/html/convert_string_type.html
new file mode 100644
index 0000000000..f27aa281aa
--- /dev/null
+++ b/doc/html/convert_string_type.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template convert_string_type</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2461161" title="Header &lt;boost/date_time/string_convert.hpp&gt;">
+<link rel="prev" href="special_values_parser.html" title="Class template special_values_parser">
+<link rel="next" href="parse_match_result.html" title="Struct template parse_match_result">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="special_values_parser.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2461161"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="parse_match_result.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="convert_string_type"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template convert_string_type</span></h2>
+<p>boost::date_time::convert_string_type &#8212; Converts a string from one value_type to another. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputT, <span class="bold"><strong>typename</strong></span> OutputT&gt;
+  <span class="type">std::basic_string&lt; OutputT &gt;</span>
+  convert_string_type(<span class="bold"><strong>const</strong></span> std::basic_string&lt; InputT &gt; &amp; inp_str);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2650203"></a><h2>Description</h2>
+<p>Converts a wstring to a string (or a string to wstring). If both template parameters are of same type, a copy of the input string is returned. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="special_values_parser.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2461161"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="parse_match_result.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/counted_time_rep.html b/doc/html/counted_time_rep.html
new file mode 100644
index 0000000000..e042b4578e
--- /dev/null
+++ b/doc/html/counted_time_rep.html
@@ -0,0 +1,105 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct template counted_time_rep</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2471523" title="Header &lt;boost/date_time/time_system_counted.hpp&gt;">
+<link rel="prev" href="time_resolution_traits.html" title="Class template time_resolution_traits">
+<link rel="next" href="counted_time_system.html" title="Class template counted_time_system">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_resolution_traits.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2471523"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="counted_time_system.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="counted_time_rep"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template counted_time_rep</span></h2>
+<p>boost::date_time::counted_time_rep &#8212; Time representation that uses a single integer count. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> config&gt;
+<span class="bold"><strong>struct</strong></span> counted_time_rep {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> config::int_type           int_type;          
+  <span class="bold"><strong>typedef</strong></span> config::date_type          date_type;         
+  <span class="bold"><strong>typedef</strong></span> config::impl_type          impl_type;         
+  <span class="bold"><strong>typedef</strong></span> date_type::duration_type   date_duration_type;
+  <span class="bold"><strong>typedef</strong></span> date_type::calendar_type   calendar_type;     
+  <span class="bold"><strong>typedef</strong></span> date_type::ymd_type        ymd_type;          
+  <span class="bold"><strong>typedef</strong></span> config::time_duration_type time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> config::resolution_traits  resolution_traits; 
+
+  <span class="emphasis"><em>// <a href="counted_time_rep.html#counted_time_repconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="counted_time_rep.html#id2402444-bb">counted_time_rep</a>(<span class="bold"><strong>const</strong></span> date_type &amp;, <span class="bold"><strong>const</strong></span> time_duration_type &amp;);
+  <a href="counted_time_rep.html#id2402468-bb">counted_time_rep</a>(int_type);
+  <a href="counted_time_rep.html#id2402481-bb">counted_time_rep</a>(impl_type);
+
+  <span class="emphasis"><em>// <a href="counted_time_rep.html#id2503033-bb">public member functions</a></em></span>
+  <span class="type">date_type</span> <a href="counted_time_rep.html#id2503037-bb">date</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>long</strong></span></span> <a href="counted_time_rep.html#id2503050-bb">day_count</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">int_type</span> <a href="counted_time_rep.html#id2503062-bb">time_count</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">int_type</span> <a href="counted_time_rep.html#id2503074-bb">tod</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="counted_time_rep.html#id2503087-bb">is_pos_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="counted_time_rep.html#id2503099-bb">is_neg_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="counted_time_rep.html#id2503112-bb">is_not_a_date_time</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="counted_time_rep.html#id2402418-bb">is_special</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">impl_type</span> <a href="counted_time_rep.html#id2402430-bb">get_rep</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="counted_time_rep.html#id2402495-bb">public static functions</a></em></span>
+  <span class="type">int_type</span> <a href="counted_time_rep.html#id2402500-bb">frac_sec_per_day</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2661713"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2661717"></a><h3>
+<a name="counted_time_repconstruct-copy-destruct"></a><code class="computeroutput">counted_time_rep</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2402444-bb"></a>counted_time_rep(<span class="bold"><strong>const</strong></span> date_type &amp; d, <span class="bold"><strong>const</strong></span> time_duration_type &amp; tod);</pre></li>
+<li><pre class="literallayout"><a name="id2402468-bb"></a>counted_time_rep(int_type count);</pre></li>
+<li><pre class="literallayout"><a name="id2402481-bb"></a>counted_time_rep(impl_type count);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2661791"></a><h3>
+<a name="id2503033-bb"></a><code class="computeroutput">counted_time_rep</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2503037-bb"></a>date() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>long</strong></span></span> <a name="id2503050-bb"></a>day_count() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id2503062-bb"></a>time_count() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id2503074-bb"></a>tod() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2503087-bb"></a>is_pos_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2503099-bb"></a>is_neg_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2503112-bb"></a>is_not_a_date_time() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2402418-bb"></a>is_special() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">impl_type</span> <a name="id2402430-bb"></a>get_rep() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2662040"></a><h3>
+<a name="id2402495-bb"></a><code class="computeroutput">counted_time_rep</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">int_type</span> <a name="id2402500-bb"></a>frac_sec_per_day() ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_resolution_traits.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2471523"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="counted_time_system.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/counted_time_system.html b/doc/html/counted_time_system.html
new file mode 100644
index 0000000000..114369d6a9
--- /dev/null
+++ b/doc/html/counted_time_system.html
@@ -0,0 +1,103 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template counted_time_system</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2471523" title="Header &lt;boost/date_time/time_system_counted.hpp&gt;">
+<link rel="prev" href="counted_time_rep.html" title="Struct template counted_time_rep">
+<link rel="next" href="split_timedate_system.html" title="Class template split_timedate_system">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="counted_time_rep.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2471523"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="split_timedate_system.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="counted_time_system"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template counted_time_system</span></h2>
+<p>boost::date_time::counted_time_system &#8212; An unadjusted time system implementation. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_rep&gt;
+<span class="bold"><strong>class</strong></span> counted_time_system {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> time_rep                                    time_rep_type;          
+  <span class="bold"><strong>typedef</strong></span> time_rep_type::impl_type                    impl_type;              
+  <span class="bold"><strong>typedef</strong></span> time_rep_type::time_duration_type           time_duration_type;     
+  <span class="bold"><strong>typedef</strong></span> time_duration_type::fractional_seconds_type fractional_seconds_type;
+  <span class="bold"><strong>typedef</strong></span> time_rep_type::date_type                    date_type;              
+  <span class="bold"><strong>typedef</strong></span> time_rep_type::date_duration_type           date_duration_type;     
+
+  <span class="emphasis"><em>// <a href="counted_time_system.html#id2483706-bb">public static functions</a></em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="counted_time_system.html#id2483710-bb">unused_var</a>(<span class="bold"><strong>const</strong></span> T &amp;) ;
+  <span class="type">time_rep_type</span>
+  <a href="counted_time_system.html#id2483741-bb">get_time_rep</a>(<span class="bold"><strong>const</strong></span> date_type &amp;, <span class="bold"><strong>const</strong></span> time_duration_type &amp;,
+               date_time::dst_flags = not_dst) ;
+  <span class="type">time_rep_type</span> <a href="counted_time_system.html#id2483788-bb">get_time_rep</a>(special_values) ;
+  <span class="type">date_type</span> <a href="counted_time_system.html#id2483811-bb">get_date</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;) ;
+  <span class="type">time_duration_type</span> <a href="counted_time_system.html#id2483833-bb">get_time_of_day</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;) ;
+  <span class="type">std::string</span> <a href="counted_time_system.html#id2483856-bb">zone_name</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="counted_time_system.html#id2472212-bb">is_equal</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;, <span class="bold"><strong>const</strong></span> time_rep_type &amp;) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="counted_time_system.html#id2472243-bb">is_less</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;, <span class="bold"><strong>const</strong></span> time_rep_type &amp;) ;
+  <span class="type">time_rep_type</span> <a href="counted_time_system.html#id2472275-bb">add_days</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;, <span class="bold"><strong>const</strong></span> date_duration_type &amp;) ;
+  <span class="type">time_rep_type</span>
+  <a href="counted_time_system.html#id2472307-bb">subtract_days</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;, <span class="bold"><strong>const</strong></span> date_duration_type &amp;) ;
+  <span class="type">time_rep_type</span>
+  <a href="counted_time_system.html#id2472340-bb">subtract_time_duration</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;, <span class="bold"><strong>const</strong></span> time_duration_type &amp;) ;
+  <span class="type">time_rep_type</span> <a href="counted_time_system.html#id2472372-bb">add_time_duration</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;, time_duration_type) ;
+  <span class="type">time_duration_type</span>
+  <a href="counted_time_system.html#id2478024-bb">subtract_times</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;, <span class="bold"><strong>const</strong></span> time_rep_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2662497"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2662500"></a><h3>
+<a name="id2483706-bb"></a><code class="computeroutput">counted_time_system</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2483710-bb"></a>unused_var(<span class="bold"><strong>const</strong></span> T &amp; ) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_rep_type</span>
+<a name="id2483741-bb"></a>get_time_rep(<span class="bold"><strong>const</strong></span> date_type &amp; day, <span class="bold"><strong>const</strong></span> time_duration_type &amp; tod,
+             date_time::dst_flags dst = not_dst) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_rep_type</span> <a name="id2483788-bb"></a>get_time_rep(special_values sv) ;</pre></li>
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2483811-bb"></a>get_date(<span class="bold"><strong>const</strong></span> time_rep_type &amp; val) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_duration_type</span> <a name="id2483833-bb"></a>get_time_of_day(<span class="bold"><strong>const</strong></span> time_rep_type &amp; val) ;</pre></li>
+<li><pre class="literallayout"><span class="type">std::string</span> <a name="id2483856-bb"></a>zone_name(<span class="bold"><strong>const</strong></span> time_rep_type &amp; ) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2472212-bb"></a>is_equal(<span class="bold"><strong>const</strong></span> time_rep_type &amp; lhs, <span class="bold"><strong>const</strong></span> time_rep_type &amp; rhs) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2472243-bb"></a>is_less(<span class="bold"><strong>const</strong></span> time_rep_type &amp; lhs, <span class="bold"><strong>const</strong></span> time_rep_type &amp; rhs) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_rep_type</span>
+<a name="id2472275-bb"></a>add_days(<span class="bold"><strong>const</strong></span> time_rep_type &amp; base, <span class="bold"><strong>const</strong></span> date_duration_type &amp; dd) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_rep_type</span>
+<a name="id2472307-bb"></a>subtract_days(<span class="bold"><strong>const</strong></span> time_rep_type &amp; base, <span class="bold"><strong>const</strong></span> date_duration_type &amp; dd) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_rep_type</span>
+<a name="id2472340-bb"></a>subtract_time_duration(<span class="bold"><strong>const</strong></span> time_rep_type &amp; base,
+                       <span class="bold"><strong>const</strong></span> time_duration_type &amp; td) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_rep_type</span>
+<a name="id2472372-bb"></a>add_time_duration(<span class="bold"><strong>const</strong></span> time_rep_type &amp; base, time_duration_type td) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_duration_type</span>
+<a name="id2478024-bb"></a>subtract_times(<span class="bold"><strong>const</strong></span> time_rep_type &amp; lhs, <span class="bold"><strong>const</strong></span> time_rep_type &amp; rhs) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="counted_time_rep.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2471523"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="split_timedate_system.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/custom_time_zone.html b/doc/html/custom_time_zone.html
new file mode 100644
index 0000000000..c8f8278ded
--- /dev/null
+++ b/doc/html/custom_time_zone.html
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class custom_time_zone</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2474850" title="Header &lt;boost/date_time/local_time/custom_time_zone.hpp&gt;">
+<link rel="prev" href="duration_from_string.html" title="Function duration_from_string">
+<link rel="next" href="id2475183.html" title="Function operator+">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="duration_from_string.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2474850"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2475183.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="custom_time_zone"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class custom_time_zone</span></h2>
+<p>boost::local_time::custom_time_zone &#8212; A real time zone. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> custom_time_zone : <span class="bold"><strong>public</strong></span> boost::local_time::time_zone {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::posix_time::time_duration time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> <a href="time_zone.html" title="Class time_zone">time_zone</a>                        base_type;         
+  <span class="bold"><strong>typedef</strong></span> base_type::string_type           string_type;       
+  <span class="bold"><strong>typedef</strong></span> base_type::stringstream_type     stringstream_type; 
+
+  <span class="emphasis"><em>// <a href="custom_time_zone.html#custom_time_zoneconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="custom_time_zone.html#id2475100-bb">custom_time_zone</a>(<span class="bold"><strong>const</strong></span> time_zone_names &amp;, <span class="bold"><strong>const</strong></span> time_duration_type &amp;,
+                   <span class="bold"><strong>const</strong></span> dst_adjustment_offsets &amp;,
+                   boost::shared_ptr&lt; dst_calc_rule &gt;);
+  <a href="custom_time_zone.html#id2475143-bb">~custom_time_zone</a>();
+
+  <span class="emphasis"><em>// <a href="custom_time_zone.html#id2474922-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="custom_time_zone.html#id2474927-bb">dst_zone_abbrev</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="custom_time_zone.html#id2474939-bb">std_zone_abbrev</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="custom_time_zone.html#id2474952-bb">dst_zone_name</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="custom_time_zone.html#id2474965-bb">std_zone_name</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>bool</strong></span></span> <a href="custom_time_zone.html#id2474977-bb">has_dst</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> posix_time::ptime</span> <a href="custom_time_zone.html#id2474994-bb">dst_local_start_time</a>(gregorian::greg_year) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> posix_time::ptime</span> <a href="custom_time_zone.html#id2475021-bb">dst_local_end_time</a>(gregorian::greg_year) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> time_duration_type</span> <a href="custom_time_zone.html#id2475048-bb">base_utc_offset</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> time_duration_type</span> <a href="custom_time_zone.html#id2475064-bb">dst_offset</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> string_type</span> <a href="custom_time_zone.html#id2475081-bb">to_posix_string</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2680872"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2680875"></a><h3>
+<a name="custom_time_zoneconstruct-copy-destruct"></a><code class="computeroutput">custom_time_zone</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2475100-bb"></a>custom_time_zone(<span class="bold"><strong>const</strong></span> time_zone_names &amp; zone_names,
+                 <span class="bold"><strong>const</strong></span> time_duration_type &amp; base_utc_offset,
+                 <span class="bold"><strong>const</strong></span> dst_adjustment_offsets &amp; dst_offset,
+                 boost::shared_ptr&lt; dst_calc_rule &gt; calc_rule);</pre></li>
+<li><pre class="literallayout"><a name="id2475143-bb"></a>~custom_time_zone();</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2680949"></a><h3>
+<a name="id2474922-bb"></a><code class="computeroutput">custom_time_zone</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2474927-bb"></a>dst_zone_abbrev() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2474939-bb"></a>std_zone_abbrev() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2474952-bb"></a>dst_zone_name() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2474965-bb"></a>std_zone_name() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>bool</strong></span></span> <a name="id2474977-bb"></a>has_dst() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> posix_time::ptime</span> <a name="id2474994-bb"></a>dst_local_start_time(gregorian::greg_year y) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> posix_time::ptime</span> <a name="id2475021-bb"></a>dst_local_end_time(gregorian::greg_year y) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> time_duration_type</span> <a name="id2475048-bb"></a>base_utc_offset() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> time_duration_type</span> <a name="id2475064-bb"></a>dst_offset() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> string_type</span> <a name="id2475081-bb"></a>to_posix_string() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="duration_from_string.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2474850"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2475183.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/data_not_accessible.html b/doc/html/data_not_accessible.html
new file mode 100644
index 0000000000..190fa33fe3
--- /dev/null
+++ b/doc/html/data_not_accessible.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct data_not_accessible</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2433012" title="Header &lt;boost/date_time/tz_db_base.hpp&gt;">
+<link rel="prev" href="time_zone_names_base.html" title="Class template time_zone_names_base">
+<link rel="next" href="bad_field_count.html" title="Struct bad_field_count">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_zone_names_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2433012"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_field_count.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="data_not_accessible"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct data_not_accessible</span></h2>
+<p>boost::date_time::data_not_accessible &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> data_not_accessible {
+  <span class="emphasis"><em>// <a href="data_not_accessible.html#data_not_accessibleconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="data_not_accessible.html#id2433035-bb">data_not_accessible</a>();
+  <a href="data_not_accessible.html#id2433037-bb">data_not_accessible</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+  <span class="emphasis"><em>// <a href="data_not_accessible.html#id2433031-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2665465"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2665469"></a><h3>
+<a name="data_not_accessibleconstruct-copy-destruct"></a><code class="computeroutput">data_not_accessible</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2433035-bb"></a>data_not_accessible();</pre></li>
+<li><pre class="literallayout"><a name="id2433037-bb"></a>data_not_accessible(<span class="bold"><strong>const</strong></span> std::string &amp; filespec);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2665523"></a><h3>
+<a name="id2433031-bb"></a><code class="computeroutput">data_not_accessible</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_zone_names_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2433012"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_field_count.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/date_duration.html b/doc/html/date_duration.html
new file mode 100644
index 0000000000..96db5a7cd5
--- /dev/null
+++ b/doc/html/date_duration.html
@@ -0,0 +1,107 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template date_duration</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2412320" title="Header &lt;boost/date_time/date_duration.hpp&gt;">
+<link rel="prev" href="day_clock.html" title="Class template day_clock">
+<link rel="next" href="duration_traits_long.html" title="Struct duration_traits_long">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="day_clock.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2412320"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="duration_traits_long.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="date_duration"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template date_duration</span></h2>
+<p>boost::date_time::date_duration &#8212; Duration type with date level resolution. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> duration_rep_traits&gt;
+<span class="bold"><strong>class</strong></span> date_duration {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> duration_rep_traits::int_type  duration_rep_type;
+  <span class="bold"><strong>typedef</strong></span> duration_rep_traits::impl_type duration_rep;     
+
+  <span class="emphasis"><em>// <a href="date_duration.html#date_durationconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="date_duration.html#id2509673-bb">date_duration</a>(duration_rep);
+  <a href="date_duration.html#id2484453-bb">date_duration</a>(special_values);
+  <a href="date_duration.html#id2519240-bb">date_duration</a>(<span class="bold"><strong>const</strong></span> <a href="date_duration.html" title="Class template date_duration">date_duration</a>&lt; duration_rep_traits &gt; &amp;);
+
+  <span class="emphasis"><em>// <a href="date_duration.html#id2507074-bb">public member functions</a></em></span>
+  <span class="type">duration_rep</span> <a href="date_duration.html#id2507079-bb">get_rep</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="date_duration.html#id2415898-bb">is_special</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_rep_type</span> <a href="date_duration.html#id2485339-bb">days</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="date_duration.html#id2422529-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="date_duration.html" title="Class template date_duration">date_duration</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="date_duration.html#id2385742-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> <a href="date_duration.html" title="Class template date_duration">date_duration</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="date_duration.html" title="Class template date_duration">date_duration</a></span> <a href="date_duration.html#id2485398-bb"><span class="bold"><strong>operator</strong></span>-=</a>(<span class="bold"><strong>const</strong></span> <a href="date_duration.html" title="Class template date_duration">date_duration</a> &amp;) ;
+  <span class="type"><a href="date_duration.html" title="Class template date_duration">date_duration</a></span> <a href="date_duration.html#id2493103-bb"><span class="bold"><strong>operator</strong></span>+=</a>(<span class="bold"><strong>const</strong></span> <a href="date_duration.html" title="Class template date_duration">date_duration</a> &amp;) ;
+  <span class="type"><a href="date_duration.html" title="Class template date_duration">date_duration</a></span> <a href="date_duration.html#id2407391-bb"><span class="bold"><strong>operator</strong></span>-</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="date_duration.html" title="Class template date_duration">date_duration</a>&lt; duration_rep_traits &gt;</span> <a href="date_duration.html#id2497458-bb"><span class="bold"><strong>operator</strong></span>/=</a>(<span class="bold"><strong>int</strong></span>) ;
+  <span class="type"><a href="date_duration.html" title="Class template date_duration">date_duration</a>&lt; duration_rep_traits &gt;</span> <a href="date_duration.html#id2464165-bb"><span class="bold"><strong>operator</strong></span>/</a>(<span class="bold"><strong>int</strong></span>) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="date_duration.html#id2445593-bb">is_negative</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="date_duration.html#id2483511-bb">public static functions</a></em></span>
+  <span class="type"><a href="date_duration.html" title="Class template date_duration">date_duration</a></span> <a href="date_duration.html#id2483515-bb">unit</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2610135"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2610138"></a><h3>
+<a name="date_durationconstruct-copy-destruct"></a><code class="computeroutput">date_duration</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2509673-bb"></a>date_duration(duration_rep day_count);</pre></li>
+<li>
+<pre class="literallayout"><a name="id2484453-bb"></a>date_duration(special_values sv);</pre>
+<p>construct from special_values - only works when instantiated with duration_traits_adapted </p>
+</li>
+<li><pre class="literallayout"><a name="id2519240-bb"></a>date_duration(<span class="bold"><strong>const</strong></span> <a href="date_duration.html" title="Class template date_duration">date_duration</a>&lt; duration_rep_traits &gt; &amp; other);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2610218"></a><h3>
+<a name="id2507074-bb"></a><code class="computeroutput">date_duration</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">duration_rep</span> <a name="id2507079-bb"></a>get_rep() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2415898-bb"></a>is_special() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_rep_type</span> <a name="id2485339-bb"></a>days() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2422529-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> <a href="date_duration.html" title="Class template date_duration">date_duration</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2385742-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<span class="bold"><strong>const</strong></span> <a href="date_duration.html" title="Class template date_duration">date_duration</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="date_duration.html" title="Class template date_duration">date_duration</a></span> <a name="id2485398-bb"></a><span class="bold"><strong>operator</strong></span>-=(<span class="bold"><strong>const</strong></span> <a href="date_duration.html" title="Class template date_duration">date_duration</a> &amp; rhs) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="date_duration.html" title="Class template date_duration">date_duration</a></span> <a name="id2493103-bb"></a><span class="bold"><strong>operator</strong></span>+=(<span class="bold"><strong>const</strong></span> <a href="date_duration.html" title="Class template date_duration">date_duration</a> &amp; rhs) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="date_duration.html" title="Class template date_duration">date_duration</a></span> <a name="id2407391-bb"></a><span class="bold"><strong>operator</strong></span>-() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="date_duration.html" title="Class template date_duration">date_duration</a>&lt; duration_rep_traits &gt;</span> <a name="id2497458-bb"></a><span class="bold"><strong>operator</strong></span>/=(<span class="bold"><strong>int</strong></span> divisor) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="date_duration.html" title="Class template date_duration">date_duration</a>&lt; duration_rep_traits &gt;</span> <a name="id2464165-bb"></a><span class="bold"><strong>operator</strong></span>/(<span class="bold"><strong>int</strong></span> divisor) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2445593-bb"></a>is_negative() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2610606"></a><h3>
+<a name="id2483511-bb"></a><code class="computeroutput">date_duration</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><a href="date_duration.html" title="Class template date_duration">date_duration</a></span> <a name="id2483515-bb"></a>unit() ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="day_clock.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2412320"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="duration_traits_long.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/date_facet.html b/doc/html/date_facet.html
new file mode 100644
index 0000000000..55e60693fb
--- /dev/null
+++ b/doc/html/date_facet.html
@@ -0,0 +1,207 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template date_facet</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2466656" title="Header &lt;boost/date_time/date_facet.hpp&gt;">
+<link rel="prev" href="years_duration.html" title="Class template years_duration">
+<link rel="next" href="date_input_facet.html" title="Class template date_input_facet">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="years_duration.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2466656"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_input_facet.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="date_facet"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template date_facet</span></h2>
+<p>boost::date_time::date_facet &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> CharT,
+         <span class="bold"><strong>typename</strong></span> OutItrT = std::ostreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt; &gt;
+<span class="bold"><strong>class</strong></span> date_facet {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::duration_type                             duration_type;                
+  <span class="bold"><strong>typedef</strong></span> date_type::day_of_week_type                          day_of_week_type;             
+  <span class="bold"><strong>typedef</strong></span> date_type::day_type                                  day_type;                     
+  <span class="bold"><strong>typedef</strong></span> date_type::month_type                                month_type;                   
+  <span class="bold"><strong>typedef</strong></span> <a href="period.html" title="Class template period">boost::date_time::period</a>&lt; date_type, duration_type &gt; period_type;                  
+  <span class="bold"><strong>typedef</strong></span> std::basic_string&lt; CharT &gt;                           string_type;                  
+  <span class="bold"><strong>typedef</strong></span> CharT                                                char_type;                    
+  <span class="bold"><strong>typedef</strong></span> <a href="period_formatter.html" title="Class template period_formatter">boost::date_time::period_formatter</a>&lt; CharT &gt;          period_formatter_type;        
+  <span class="bold"><strong>typedef</strong></span> <a href="special_values_formatter.html" title="Class template special_values_formatter">boost::date_time::special_values_formatter</a>&lt; CharT &gt;  special_values_formatter_type;
+  <span class="bold"><strong>typedef</strong></span> std::vector&lt; std::basic_string&lt; CharT &gt; &gt;            input_collection_type;        
+  <span class="bold"><strong>typedef</strong></span> <a href="date_generator_formatter.html" title="Class template date_generator_formatter">date_generator_formatter</a>&lt; date_type, CharT &gt;         date_gen_formatter_type;      
+  <span class="bold"><strong>typedef</strong></span> <a href="partial_date.html" title="Class template partial_date">partial_date</a>&lt; date_type &gt;                            partial_date_type;            
+  <span class="bold"><strong>typedef</strong></span> <a href="nth_kday_of_month.html" title="Class template nth_kday_of_month">nth_kday_of_month</a>&lt; date_type &gt;                       nth_kday_type;                
+  <span class="bold"><strong>typedef</strong></span> <a href="first_kday_of_month.html" title="Class template first_kday_of_month">first_kday_of_month</a>&lt; date_type &gt;                     first_kday_type;              
+  <span class="bold"><strong>typedef</strong></span> <a href="last_kday_of_month.html" title="Class template last_kday_of_month">last_kday_of_month</a>&lt; date_type &gt;                      last_kday_type;               
+  <span class="bold"><strong>typedef</strong></span> <a href="first_kday_after.html" title="Class template first_kday_after">first_kday_after</a>&lt; date_type &gt;                        kday_after_type;              
+  <span class="bold"><strong>typedef</strong></span> <a href="first_kday_before.html" title="Class template first_kday_before">first_kday_before</a>&lt; date_type &gt;                       kday_before_type;             
+
+  <span class="emphasis"><em>// <a href="date_facet.html#date_facetconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="date_facet.html#id2414624-bb">date_facet</a>(::size_t = 0);
+  <a href="date_facet.html#id2511410-bb">date_facet</a>(<span class="bold"><strong>const</strong></span> char_type *, <span class="bold"><strong>const</strong></span> input_collection_type &amp;, ::size_t = 0);
+  <a href="date_facet.html#id2470519-bb">date_facet</a>(<span class="bold"><strong>const</strong></span> char_type *,
+             period_formatter_type = period_formatter_type(),
+             special_values_formatter_type = special_values_formatter_type(),
+             date_gen_formatter_type = date_gen_formatter_type(),
+             ::size_t = 0);
+
+  <span class="emphasis"><em>// <a href="date_facet.html#id2405040-bb">public member functions</a></em></span>
+  <span class="type">std::locale::id &amp;</span> <a href="date_facet.html#id2397315-bb">__get_id</a>(<span class="bold"><strong>void</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_facet.html#id2527043-bb">format</a>(<span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span>) ;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="date_facet.html#id2427578-bb">set_iso_format</a>() ;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="date_facet.html#id2493410-bb">set_iso_extended_format</a>() ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_facet.html#id2454877-bb">month_format</a>(<span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span>) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_facet.html#id2395087-bb">weekday_format</a>(<span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span>) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_facet.html#id2384920-bb">period_formatter</a>(period_formatter_type) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_facet.html#id2469408-bb">special_values_formatter</a>(<span class="bold"><strong>const</strong></span> special_values_formatter_type &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_facet.html#id2428903-bb">short_weekday_names</a>(<span class="bold"><strong>const</strong></span> input_collection_type &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_facet.html#id2478407-bb">long_weekday_names</a>(<span class="bold"><strong>const</strong></span> input_collection_type &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_facet.html#id2524139-bb">short_month_names</a>(<span class="bold"><strong>const</strong></span> input_collection_type &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_facet.html#id2521828-bb">long_month_names</a>(<span class="bold"><strong>const</strong></span> input_collection_type &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_facet.html#id2466406-bb">date_gen_phrase_strings</a>(<span class="bold"><strong>const</strong></span> input_collection_type &amp;,
+                               <span class="bold"><strong>typename</strong></span> date_gen_formatter_type::phrase_elements = date_gen_formatter_type::first) ;
+  <span class="type">OutItrT</span> <a href="date_facet.html#id2458379-bb">put</a>(OutItrT, std::ios_base &amp;, char_type, <span class="bold"><strong>const</strong></span> date_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">OutItrT</span> <a href="date_facet.html#id2507227-bb">put</a>(OutItrT, std::ios_base &amp;, char_type, <span class="bold"><strong>const</strong></span> duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">OutItrT</span> <a href="date_facet.html#id2401693-bb">put</a>(OutItrT, std::ios_base &amp;, char_type, <span class="bold"><strong>const</strong></span> month_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">OutItrT</span> <a href="date_facet.html#id2522103-bb">put</a>(OutItrT, std::ios_base &amp;, char_type, <span class="bold"><strong>const</strong></span> day_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">OutItrT</span> <a href="date_facet.html#id2490936-bb">put</a>(OutItrT, std::ios_base &amp;, char_type, <span class="bold"><strong>const</strong></span> day_of_week_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">OutItrT</span> <a href="date_facet.html#id2459028-bb">put</a>(OutItrT, std::ios_base &amp;, char_type, <span class="bold"><strong>const</strong></span> period_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">OutItrT</span> <a href="date_facet.html#id2402728-bb">put</a>(OutItrT, std::ios_base &amp;, char_type, <span class="bold"><strong>const</strong></span> partial_date_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">OutItrT</span> <a href="date_facet.html#id2417087-bb">put</a>(OutItrT, std::ios_base &amp;, char_type, <span class="bold"><strong>const</strong></span> nth_kday_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">OutItrT</span> <a href="date_facet.html#id2491174-bb">put</a>(OutItrT, std::ios_base &amp;, char_type, <span class="bold"><strong>const</strong></span> first_kday_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">OutItrT</span> <a href="date_facet.html#id2392485-bb">put</a>(OutItrT, std::ios_base &amp;, char_type, <span class="bold"><strong>const</strong></span> last_kday_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">OutItrT</span> <a href="date_facet.html#id2432314-bb">put</a>(OutItrT, std::ios_base &amp;, char_type, <span class="bold"><strong>const</strong></span> kday_before_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">OutItrT</span> <a href="date_facet.html#id2490059-bb">put</a>(OutItrT, std::ios_base &amp;, char_type, <span class="bold"><strong>const</strong></span> kday_after_type &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="date_facet.html#id2384216-bb">protected member functions</a></em></span>
+  <span class="type">tm</span> <a href="date_facet.html#id2384220-bb">init_tm</a>(tm &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> OutItrT</span>
+  <a href="date_facet.html#id2427702-bb">do_put_special</a>(OutItrT, std::ios_base &amp;, char_type,
+                 <span class="bold"><strong>const</strong></span> boost::date_time::special_values) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> OutItrT</span>
+  <a href="date_facet.html#id2403932-bb">do_put_tm</a>(OutItrT, std::ios_base &amp;, char_type, <span class="bold"><strong>const</strong></span> tm &amp;, string_type) <span class="bold"><strong>const</strong></span>;
+
+  <span class="bold"><strong>static</strong></span> const char_type long_weekday_format;
+  <span class="bold"><strong>static</strong></span> const char_type short_weekday_format;
+  <span class="bold"><strong>static</strong></span> const char_type long_month_format;
+  <span class="bold"><strong>static</strong></span> const char_type short_month_format;
+  <span class="bold"><strong>static</strong></span> const char_type default_period_separator;
+  <span class="bold"><strong>static</strong></span> const char_type standard_format_specifier;
+  <span class="bold"><strong>static</strong></span> const char_type iso_format_specifier;
+  <span class="bold"><strong>static</strong></span> const char_type iso_format_extended_specifier;
+  <span class="bold"><strong>static</strong></span> const char_type default_date_format;
+  <span class="bold"><strong>static</strong></span> std::locale::id id;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2614661"></a><h2>Description</h2>
+<p>Class that provides format based I/O facet for date types.</p>
+<p>This class allows the formatting of dates by using format string. Format strings are:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>A =&gt; long_weekday_format - Full name Ex: Tuesday</p></li>
+<li><p>a =&gt; short_weekday_format - Three letter abbreviation Ex: Tue</p></li>
+<li><p>B =&gt; long_month_format - Full name Ex: October</p></li>
+<li><p>b =&gt; short_month_format - Three letter abbreviation Ex: Oct</p></li>
+<li><p>x =&gt; standard_format_specifier - defined by the locale</p></li>
+<li><p>Y-%b-%d =&gt; default_date_format - YYYY-Mon-dd</p></li>
+</ul></div>
+<p>Default month format == b Default weekday format == a </p>
+<div class="refsect2" lang="en">
+<a name="id2614709"></a><h3>
+<a name="date_facetconstruct-copy-destruct"></a><code class="computeroutput">date_facet</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2414624-bb"></a>date_facet(::size_t a_ref = 0);</pre></li>
+<li><pre class="literallayout"><a name="id2511410-bb"></a>date_facet(<span class="bold"><strong>const</strong></span> char_type * format,
+           <span class="bold"><strong>const</strong></span> input_collection_type &amp; short_month_names,
+           ::size_t ref_count = 0);</pre></li>
+<li><pre class="literallayout"><a name="id2470519-bb"></a>date_facet(<span class="bold"><strong>const</strong></span> char_type * format,
+           period_formatter_type period_formatter = period_formatter_type(),
+           special_values_formatter_type special_values_formatter = special_values_formatter_type(),
+           date_gen_formatter_type dg_formatter = date_gen_formatter_type(),
+           ::size_t ref_count = 0);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2614804"></a><h3>
+<a name="id2405040-bb"></a><code class="computeroutput">date_facet</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">std::locale::id &amp;</span> <a name="id2397315-bb"></a>__get_id(<span class="bold"><strong>void</strong></span> ) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2527043-bb"></a>format(<span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> format) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2427578-bb"></a>set_iso_format() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2493410-bb"></a>set_iso_extended_format() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2454877-bb"></a>month_format(<span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> format) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2395087-bb"></a>weekday_format(<span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> format) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2384920-bb"></a>period_formatter(period_formatter_type period_formatter) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2469408-bb"></a>special_values_formatter(<span class="bold"><strong>const</strong></span> special_values_formatter_type &amp; svf) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2428903-bb"></a>short_weekday_names(<span class="bold"><strong>const</strong></span> input_collection_type &amp; short_weekday_names) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2478407-bb"></a>long_weekday_names(<span class="bold"><strong>const</strong></span> input_collection_type &amp; long_weekday_names) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2524139-bb"></a>short_month_names(<span class="bold"><strong>const</strong></span> input_collection_type &amp; short_month_names) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2521828-bb"></a>long_month_names(<span class="bold"><strong>const</strong></span> input_collection_type &amp; long_month_names) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2466406-bb"></a>date_gen_phrase_strings(<span class="bold"><strong>const</strong></span> input_collection_type &amp; new_strings,
+                             <span class="bold"><strong>typename</strong></span> date_gen_formatter_type::phrase_elements beg_pos = date_gen_formatter_type::first) ;</pre></li>
+<li><pre class="literallayout"><span class="type">OutItrT</span> <a name="id2458379-bb"></a>put(OutItrT next, std::ios_base &amp; a_ios, char_type fill_char,
+            <span class="bold"><strong>const</strong></span> date_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">OutItrT</span> <a name="id2507227-bb"></a>put(OutItrT next, std::ios_base &amp; a_ios, char_type fill_char,
+            <span class="bold"><strong>const</strong></span> duration_type &amp; dd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">OutItrT</span> <a name="id2401693-bb"></a>put(OutItrT next, std::ios_base &amp; a_ios, char_type fill_char,
+            <span class="bold"><strong>const</strong></span> month_type &amp; m) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">OutItrT</span> <a name="id2522103-bb"></a>put(OutItrT next, std::ios_base &amp; a_ios, char_type fill_char,
+            <span class="bold"><strong>const</strong></span> day_type &amp; day) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">OutItrT</span> <a name="id2490936-bb"></a>put(OutItrT next, std::ios_base &amp; a_ios, char_type fill_char,
+            <span class="bold"><strong>const</strong></span> day_of_week_type &amp; dow) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">OutItrT</span> <a name="id2459028-bb"></a>put(OutItrT next, std::ios_base &amp; a_ios, char_type fill_char,
+            <span class="bold"><strong>const</strong></span> period_type &amp; p) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">OutItrT</span> <a name="id2402728-bb"></a>put(OutItrT next, std::ios_base &amp; a_ios, char_type fill_char,
+            <span class="bold"><strong>const</strong></span> partial_date_type &amp; pd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">OutItrT</span> <a name="id2417087-bb"></a>put(OutItrT next, std::ios_base &amp; a_ios, char_type fill_char,
+            <span class="bold"><strong>const</strong></span> nth_kday_type &amp; nkd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">OutItrT</span> <a name="id2491174-bb"></a>put(OutItrT next, std::ios_base &amp; a_ios, char_type fill_char,
+            <span class="bold"><strong>const</strong></span> first_kday_type &amp; fkd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">OutItrT</span> <a name="id2392485-bb"></a>put(OutItrT next, std::ios_base &amp; a_ios, char_type fill_char,
+            <span class="bold"><strong>const</strong></span> last_kday_type &amp; lkd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">OutItrT</span> <a name="id2432314-bb"></a>put(OutItrT next, std::ios_base &amp; a_ios, char_type fill_char,
+            <span class="bold"><strong>const</strong></span> kday_before_type &amp; fkb) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">OutItrT</span> <a name="id2490059-bb"></a>put(OutItrT next, std::ios_base &amp; a_ios, char_type fill_char,
+            <span class="bold"><strong>const</strong></span> kday_after_type &amp; fka) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2615594"></a><h3>
+<a name="id2384216-bb"></a><code class="computeroutput">date_facet</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">tm</span> <a name="id2384220-bb"></a>init_tm(tm &amp; tm_value) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> OutItrT</span>
+<a name="id2427702-bb"></a>do_put_special(OutItrT next, std::ios_base &amp; , char_type ,
+               <span class="bold"><strong>const</strong></span> boost::date_time::special_values sv) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> OutItrT</span>
+<a name="id2403932-bb"></a>do_put_tm(OutItrT next, std::ios_base &amp; a_ios, char_type fill_char,
+          <span class="bold"><strong>const</strong></span> tm &amp; tm_value, string_type a_format) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="years_duration.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2466656"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_input_facet.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/date_formatter.html b/doc/html/date_formatter.html
new file mode 100644
index 0000000000..3b27bc5907
--- /dev/null
+++ b/doc/html/date_formatter.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template date_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2352409" title="Header &lt;boost/date_time/date_formatting.hpp&gt;">
+<link rel="prev" href="ymd_formatter.html" title="Class template ymd_formatter">
+<link rel="next" href="ostream_month_formatter.html" title="Class template ostream_month_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ymd_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2352409"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ostream_month_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="date_formatter"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template date_formatter</span></h2>
+<p>boost::date_time::date_formatter &#8212; Convert a date to string using format policies. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> format_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> date_formatter {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::basic_string&lt; charT &gt; string_type;
+
+  <span class="emphasis"><em>// <a href="date_formatter.html#id2496284-bb">public static functions</a></em></span>
+  <span class="type">string_type</span> <a href="date_formatter.html#id2496288-bb">date_to_string</a>(date_type) ;
+  <span class="type">std::string</span> <a href="date_formatter.html#id2425904-bb">date_to_string</a>(date_type) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2619566"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2619569"></a><h3>
+<a name="id2496284-bb"></a><code class="computeroutput">date_formatter</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">string_type</span> <a name="id2496288-bb"></a>date_to_string(date_type d) ;</pre></li>
+<li><pre class="literallayout"><span class="type">std::string</span> <a name="id2425904-bb"></a>date_to_string(date_type d) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ymd_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2352409"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ostream_month_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/date_generator_formatter.html b/doc/html/date_generator_formatter.html
new file mode 100644
index 0000000000..f68f25bb59
--- /dev/null
+++ b/doc/html/date_generator_formatter.html
@@ -0,0 +1,167 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template date_generator_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2496366" title="Header &lt;boost/date_time/date_generator_formatter.hpp&gt;">
+<link rel="prev" href="ostream_date_formatter.html" title="Class template ostream_date_formatter">
+<link rel="next" href="date_generator_parser.html" title="Class template date_generator_parser">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ostream_date_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2496366"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_generator_parser.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="date_generator_formatter"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template date_generator_formatter</span></h2>
+<p>boost::date_time::date_generator_formatter &#8212; Formats date_generators for output. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> CharT,
+         <span class="bold"><strong>typename</strong></span> OutItrT = std::ostreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt; &gt;
+<span class="bold"><strong>class</strong></span> date_generator_formatter {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <a href="partial_date.html" title="Class template partial_date">partial_date</a>&lt; date_type &gt;        partial_date_type;
+  <span class="bold"><strong>typedef</strong></span> <a href="nth_kday_of_month.html" title="Class template nth_kday_of_month">nth_kday_of_month</a>&lt; date_type &gt;   nth_kday_type;    
+  <span class="bold"><strong>typedef</strong></span> <a href="first_kday_of_month.html" title="Class template first_kday_of_month">first_kday_of_month</a>&lt; date_type &gt; first_kday_type;  
+  <span class="bold"><strong>typedef</strong></span> <a href="last_kday_of_month.html" title="Class template last_kday_of_month">last_kday_of_month</a>&lt; date_type &gt;  last_kday_type;   
+  <span class="bold"><strong>typedef</strong></span> <a href="first_kday_after.html" title="Class template first_kday_after">first_kday_after</a>&lt; date_type &gt;    kday_after_type;  
+  <span class="bold"><strong>typedef</strong></span> <a href="first_kday_before.html" title="Class template first_kday_before">first_kday_before</a>&lt; date_type &gt;   kday_before_type; 
+  <span class="bold"><strong>typedef</strong></span> CharT                            char_type;        
+  <span class="bold"><strong>typedef</strong></span> std::basic_string&lt; char_type &gt;   string_type;      
+  <span class="bold"><strong>typedef</strong></span> std::vector&lt; string_type &gt;       collection_type;  
+
+  <span class="emphasis"><em>// <a href="date_generator_formatter.html#date_generator_formatterconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="date_generator_formatter.html#id2451561-bb">date_generator_formatter</a>();
+  <a href="date_generator_formatter.html#id2451568-bb">date_generator_formatter</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                           <span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                           <span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                           <span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                           <span class="bold"><strong>const</strong></span> string_type &amp;);
+
+  <span class="emphasis"><em>// <a href="date_generator_formatter.html#id2491469-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_generator_formatter.html#id2491474-bb">elements</a>(<span class="bold"><strong>const</strong></span> collection_type &amp;, phrase_elements = first) ;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+    <span class="type">OutItrT</span> <a href="date_generator_formatter.html#id2515738-bb">put_partial_date</a>(OutItrT, std::ios_base &amp;, CharT,
+                             <span class="bold"><strong>const</strong></span> partial_date_type &amp;, <span class="bold"><strong>const</strong></span> facet_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+    <span class="type">OutItrT</span> <a href="date_generator_formatter.html#id2501060-bb">put_nth_kday</a>(OutItrT, std::ios_base &amp;, CharT,
+                         <span class="bold"><strong>const</strong></span> nth_kday_type &amp;, <span class="bold"><strong>const</strong></span> facet_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+    <span class="type">OutItrT</span> <a href="date_generator_formatter.html#id2526174-bb">put_first_kday</a>(OutItrT, std::ios_base &amp;, CharT,
+                           <span class="bold"><strong>const</strong></span> first_kday_type &amp;, <span class="bold"><strong>const</strong></span> facet_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+    <span class="type">OutItrT</span> <a href="date_generator_formatter.html#id2393159-bb">put_last_kday</a>(OutItrT, std::ios_base &amp;, CharT,
+                          <span class="bold"><strong>const</strong></span> last_kday_type &amp;, <span class="bold"><strong>const</strong></span> facet_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+    <span class="type">OutItrT</span> <a href="date_generator_formatter.html#id2432238-bb">put_kday_before</a>(OutItrT, std::ios_base &amp;, CharT,
+                            <span class="bold"><strong>const</strong></span> kday_before_type &amp;, <span class="bold"><strong>const</strong></span> facet_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+    <span class="type">OutItrT</span> <a href="date_generator_formatter.html#id2524371-bb">put_kday_after</a>(OutItrT, std::ios_base &amp;, CharT,
+                           <span class="bold"><strong>const</strong></span> kday_after_type &amp;, <span class="bold"><strong>const</strong></span> facet_type &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="date_generator_formatter.html#id2407974-bb">private member functions</a></em></span>
+  <span class="type">OutItrT</span> <a href="date_generator_formatter.html#id2521138-bb">put_string</a>(OutItrT, <span class="bold"><strong>const</strong></span> string_type &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="bold"><strong>static</strong></span> const char_type first_string;
+  <span class="bold"><strong>static</strong></span> const char_type second_string;
+  <span class="bold"><strong>static</strong></span> const char_type third_string;
+  <span class="bold"><strong>static</strong></span> const char_type fourth_string;
+  <span class="bold"><strong>static</strong></span> const char_type fifth_string;
+  <span class="bold"><strong>static</strong></span> const char_type last_string;
+  <span class="bold"><strong>static</strong></span> const char_type before_string;
+  <span class="bold"><strong>static</strong></span> const char_type after_string;
+  <span class="bold"><strong>static</strong></span> const char_type of_string;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2621436"></a><h2>Description</h2>
+<p>Formatting of date_generators follows specific orders for the various types of date_generators.</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>partial_date =&gt; "dd Month"</p></li>
+<li><p>nth_day_of_the_week_in_month =&gt; "nth weekday of month"</p></li>
+<li><p>first_day_of_the_week_in_month =&gt; "first weekday of month"</p></li>
+<li><p>last_day_of_the_week_in_month =&gt; "last weekday of month"</p></li>
+<li><p>first_day_of_the_week_after =&gt; "weekday after"</p></li>
+<li><p>first_day_of_the_week_before =&gt; "weekday before" While the order of the elements in these phrases cannot be changed, the elements themselves can be. Weekday and Month get their formats and names from the date_facet. The remaining elements are stored in the date_generator_formatter and can be customized upon construction or via a member function. The default elements are those shown in the examples above. </p></li>
+</ul></div>
+<div class="refsect2" lang="en">
+<a name="id2621484"></a><h3>
+<a name="date_generator_formatterconstruct-copy-destruct"></a><code class="computeroutput">date_generator_formatter</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2451561-bb"></a>date_generator_formatter();</pre></li>
+<li><pre class="literallayout"><a name="id2451568-bb"></a>date_generator_formatter(<span class="bold"><strong>const</strong></span> string_type &amp; first,
+                         <span class="bold"><strong>const</strong></span> string_type &amp; second,
+                         <span class="bold"><strong>const</strong></span> string_type &amp; third,
+                         <span class="bold"><strong>const</strong></span> string_type &amp; fourth,
+                         <span class="bold"><strong>const</strong></span> string_type &amp; fifth, <span class="bold"><strong>const</strong></span> string_type &amp; last,
+                         <span class="bold"><strong>const</strong></span> string_type &amp; before,
+                         <span class="bold"><strong>const</strong></span> string_type &amp; after, <span class="bold"><strong>const</strong></span> string_type &amp; of);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2621604"></a><h3>
+<a name="id2491469-bb"></a><code class="computeroutput">date_generator_formatter</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2491474-bb"></a>elements(<span class="bold"><strong>const</strong></span> collection_type &amp; new_strings,
+              phrase_elements beg_pos = first) ;</pre>
+<p>The order of the strings in the given collection is important. They must follow:</p>
+<div class="itemizedlist"><ul type="disc"><li><p>first, second, third, fourth, fifth, last, before, after, of.</p></li></ul></div>
+<p>It is not necessary to send in a complete set if only a few elements are to be replaced as long as the correct beg_pos is used.</p>
+<p>Ex: To keep the default first through fifth elements, but replace the rest with a collection of:</p>
+<div class="itemizedlist"><ul type="disc"><li><p>"final", "prior", "following", "in". The beg_pos of date_generator_formatter::last would be used. </p></li></ul></div>
+</li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+  <span class="type">OutItrT</span> <a name="id2515738-bb"></a>put_partial_date(OutItrT next, std::ios_base &amp; a_ios, CharT a_fill,
+                           <span class="bold"><strong>const</strong></span> partial_date_type &amp; pd,
+                           <span class="bold"><strong>const</strong></span> facet_type &amp; facet) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+  <span class="type">OutItrT</span> <a name="id2501060-bb"></a>put_nth_kday(OutItrT next, std::ios_base &amp; a_ios, CharT a_fill,
+                       <span class="bold"><strong>const</strong></span> nth_kday_type &amp; nkd, <span class="bold"><strong>const</strong></span> facet_type &amp; facet) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+  <span class="type">OutItrT</span> <a name="id2526174-bb"></a>put_first_kday(OutItrT next, std::ios_base &amp; a_ios, CharT a_fill,
+                         <span class="bold"><strong>const</strong></span> first_kday_type &amp; fkd,
+                         <span class="bold"><strong>const</strong></span> facet_type &amp; facet) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+  <span class="type">OutItrT</span> <a name="id2393159-bb"></a>put_last_kday(OutItrT next, std::ios_base &amp; a_ios, CharT a_fill,
+                        <span class="bold"><strong>const</strong></span> last_kday_type &amp; lkd, <span class="bold"><strong>const</strong></span> facet_type &amp; facet) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+  <span class="type">OutItrT</span> <a name="id2432238-bb"></a>put_kday_before(OutItrT next, std::ios_base &amp; a_ios, CharT a_fill,
+                          <span class="bold"><strong>const</strong></span> kday_before_type &amp; fkb,
+                          <span class="bold"><strong>const</strong></span> facet_type &amp; facet) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+  <span class="type">OutItrT</span> <a name="id2524371-bb"></a>put_kday_after(OutItrT next, std::ios_base &amp; a_ios, CharT a_fill,
+                         <span class="bold"><strong>const</strong></span> kday_after_type &amp; fka,
+                         <span class="bold"><strong>const</strong></span> facet_type &amp; facet) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2622003"></a><h3>
+<a name="id2407974-bb"></a><code class="computeroutput">date_generator_formatter</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">OutItrT</span> <a name="id2521138-bb"></a>put_string(OutItrT next, <span class="bold"><strong>const</strong></span> string_type &amp; str) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ostream_date_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2496366"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_generator_parser.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/date_generator_parser.html b/doc/html/date_generator_parser.html
new file mode 100644
index 0000000000..ca525ef587
--- /dev/null
+++ b/doc/html/date_generator_parser.html
@@ -0,0 +1,186 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template date_generator_parser</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2408449" title="Header &lt;boost/date_time/date_generator_parser.hpp&gt;">
+<link rel="prev" href="date_generator_formatter.html" title="Class template date_generator_formatter">
+<link rel="next" href="year_based_generator.html" title="Class template year_based_generator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_generator_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2408449"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="year_based_generator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="date_generator_parser"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template date_generator_parser</span></h2>
+<p>boost::date_time::date_generator_parser &#8212; Class for date_generator parsing. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> charT&gt;
+<span class="bold"><strong>class</strong></span> date_generator_parser {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::basic_string&lt; charT &gt;                string_type;      
+  <span class="bold"><strong>typedef</strong></span> std::istreambuf_iterator&lt; charT &gt;         stream_itr_type;  
+  <span class="bold"><strong>typedef</strong></span> date_type::month_type                     month_type;       
+  <span class="bold"><strong>typedef</strong></span> date_type::day_of_week_type               day_of_week_type; 
+  <span class="bold"><strong>typedef</strong></span> date_type::day_type                       day_type;         
+  <span class="bold"><strong>typedef</strong></span> <a href="string_parse_tree.html" title="Struct template string_parse_tree">string_parse_tree</a>&lt; charT &gt;                parse_tree_type;  
+  <span class="bold"><strong>typedef</strong></span> parse_tree_type::parse_match_result_type  match_results;    
+  <span class="bold"><strong>typedef</strong></span> std::vector&lt; std::basic_string&lt; charT &gt; &gt; collection_type;  
+  <span class="bold"><strong>typedef</strong></span> <a href="partial_date.html" title="Class template partial_date">partial_date</a>&lt; date_type &gt;                 partial_date_type;
+  <span class="bold"><strong>typedef</strong></span> <a href="nth_kday_of_month.html" title="Class template nth_kday_of_month">nth_kday_of_month</a>&lt; date_type &gt;            nth_kday_type;    
+  <span class="bold"><strong>typedef</strong></span> <a href="first_kday_of_month.html" title="Class template first_kday_of_month">first_kday_of_month</a>&lt; date_type &gt;          first_kday_type;  
+  <span class="bold"><strong>typedef</strong></span> <a href="last_kday_of_month.html" title="Class template last_kday_of_month">last_kday_of_month</a>&lt; date_type &gt;           last_kday_type;   
+  <span class="bold"><strong>typedef</strong></span> <a href="first_kday_after.html" title="Class template first_kday_after">first_kday_after</a>&lt; date_type &gt;             kday_after_type;  
+  <span class="bold"><strong>typedef</strong></span> <a href="first_kday_before.html" title="Class template first_kday_before">first_kday_before</a>&lt; date_type &gt;            kday_before_type; 
+  <span class="bold"><strong>typedef</strong></span> charT                                     char_type;        
+
+  <span class="emphasis"><em>// <a href="date_generator_parser.html#date_generator_parserconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="date_generator_parser.html#id2505343-bb">date_generator_parser</a>();
+  <a href="date_generator_parser.html#id2505352-bb">date_generator_parser</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                        <span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                        <span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                        <span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                        <span class="bold"><strong>const</strong></span> string_type &amp;);
+  <a href="date_generator_parser.html#id2454721-bb">date_generator_parser</a>(<span class="bold"><strong>const</strong></span> <a href="date_generator_parser.html" title="Class template date_generator_parser">date_generator_parser</a>&lt; date_type, charT &gt; *);
+
+  <span class="emphasis"><em>// <a href="date_generator_parser.html#id2468149-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_generator_parser.html#id2468154-bb">element_strings</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                       <span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                       <span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                       <span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                       <span class="bold"><strong>const</strong></span> string_type &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_generator_parser.html#id2447237-bb">element_strings</a>(<span class="bold"><strong>const</strong></span> collection_type &amp;) ;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+    <span class="type">partial_date_type</span>
+    <a href="date_generator_parser.html#id2446186-bb">get_partial_date_type</a>(stream_itr_type &amp;, stream_itr_type &amp;,
+                          std::ios_base &amp;, <span class="bold"><strong>const</strong></span> facet_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+    <span class="type">nth_kday_type</span>
+    <a href="date_generator_parser.html#id2522996-bb">get_nth_kday_type</a>(stream_itr_type &amp;, stream_itr_type &amp;, std::ios_base &amp;,
+                      <span class="bold"><strong>const</strong></span> facet_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+    <span class="type">first_kday_type</span>
+    <a href="date_generator_parser.html#id2455382-bb">get_first_kday_type</a>(stream_itr_type &amp;, stream_itr_type &amp;, std::ios_base &amp;,
+                        <span class="bold"><strong>const</strong></span> facet_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+    <span class="type">last_kday_type</span>
+    <a href="date_generator_parser.html#id2506290-bb">get_last_kday_type</a>(stream_itr_type &amp;, stream_itr_type &amp;, std::ios_base &amp;,
+                       <span class="bold"><strong>const</strong></span> facet_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+    <span class="type">kday_before_type</span>
+    <a href="date_generator_parser.html#id2497725-bb">get_kday_before_type</a>(stream_itr_type &amp;, stream_itr_type &amp;,
+                         std::ios_base &amp;, <span class="bold"><strong>const</strong></span> facet_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+    <span class="type">kday_after_type</span>
+    <a href="date_generator_parser.html#id2508670-bb">get_kday_after_type</a>(stream_itr_type &amp;, stream_itr_type &amp;, std::ios_base &amp;,
+                        <span class="bold"><strong>const</strong></span> facet_type &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="date_generator_parser.html#id2519207-bb">private member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_generator_parser.html#id2519212-bb">extract_element</a>(stream_itr_type &amp;, stream_itr_type &amp;,
+                       <span class="bold"><strong>typename</strong></span> date_generator_parser::phrase_elements) <span class="bold"><strong>const</strong></span>;
+
+  <span class="bold"><strong>static</strong></span> const char_type first_string;
+  <span class="bold"><strong>static</strong></span> const char_type second_string;
+  <span class="bold"><strong>static</strong></span> const char_type third_string;
+  <span class="bold"><strong>static</strong></span> const char_type fourth_string;
+  <span class="bold"><strong>static</strong></span> const char_type fifth_string;
+  <span class="bold"><strong>static</strong></span> const char_type last_string;
+  <span class="bold"><strong>static</strong></span> const char_type before_string;
+  <span class="bold"><strong>static</strong></span> const char_type after_string;
+  <span class="bold"><strong>static</strong></span> const char_type of_string;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2622931"></a><h2>Description</h2>
+<p>The elements of a date_generator "phrase" are parsed from the input stream in a particular order. All elements are required and the order in which they appear cannot change, however, the elements themselves can be changed. The default elements and their order are as follows:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>partial_date =&gt; "dd Month"</p></li>
+<li><p>nth_day_of_the_week_in_month =&gt; "nth weekday of month"</p></li>
+<li><p>first_day_of_the_week_in_month =&gt; "first weekday of month"</p></li>
+<li><p>last_day_of_the_week_in_month =&gt; "last weekday of month"</p></li>
+<li><p>first_day_of_the_week_after =&gt; "weekday after"</p></li>
+<li><p>first_day_of_the_week_before =&gt; "weekday before"</p></li>
+</ul></div>
+<p>Weekday and Month names and formats are handled via the date_input_facet.</p>
+<p>TODO: add doc-comments for which elements can be changed </p>
+<div class="refsect2" lang="en">
+<a name="id2622975"></a><h3>
+<a name="date_generator_parserconstruct-copy-destruct"></a><code class="computeroutput">date_generator_parser</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2505343-bb"></a>date_generator_parser();</pre></li>
+<li><pre class="literallayout"><a name="id2505352-bb"></a>date_generator_parser(<span class="bold"><strong>const</strong></span> string_type &amp; first, <span class="bold"><strong>const</strong></span> string_type &amp; second,
+                      <span class="bold"><strong>const</strong></span> string_type &amp; third, <span class="bold"><strong>const</strong></span> string_type &amp; fourth,
+                      <span class="bold"><strong>const</strong></span> string_type &amp; fifth, <span class="bold"><strong>const</strong></span> string_type &amp; last,
+                      <span class="bold"><strong>const</strong></span> string_type &amp; before, <span class="bold"><strong>const</strong></span> string_type &amp; after,
+                      <span class="bold"><strong>const</strong></span> string_type &amp; of);</pre></li>
+<li><pre class="literallayout"><a name="id2454721-bb"></a>date_generator_parser(<span class="bold"><strong>const</strong></span> <a href="date_generator_parser.html" title="Class template date_generator_parser">date_generator_parser</a>&lt; date_type, charT &gt; * dgp);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2623117"></a><h3>
+<a name="id2468149-bb"></a><code class="computeroutput">date_generator_parser</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2468154-bb"></a>element_strings(<span class="bold"><strong>const</strong></span> string_type &amp; first, <span class="bold"><strong>const</strong></span> string_type &amp; second,
+                     <span class="bold"><strong>const</strong></span> string_type &amp; third, <span class="bold"><strong>const</strong></span> string_type &amp; fourth,
+                     <span class="bold"><strong>const</strong></span> string_type &amp; fifth, <span class="bold"><strong>const</strong></span> string_type &amp; last,
+                     <span class="bold"><strong>const</strong></span> string_type &amp; before, <span class="bold"><strong>const</strong></span> string_type &amp; after,
+                     <span class="bold"><strong>const</strong></span> string_type &amp; of) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2447237-bb"></a>element_strings(<span class="bold"><strong>const</strong></span> collection_type &amp; col) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+  <span class="type">partial_date_type</span>
+  <a name="id2446186-bb"></a>get_partial_date_type(stream_itr_type &amp; sitr, stream_itr_type &amp; stream_end,
+                        std::ios_base &amp; a_ios, <span class="bold"><strong>const</strong></span> facet_type &amp; facet) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+  <span class="type">nth_kday_type</span>
+  <a name="id2522996-bb"></a>get_nth_kday_type(stream_itr_type &amp; sitr, stream_itr_type &amp; stream_end,
+                    std::ios_base &amp; a_ios, <span class="bold"><strong>const</strong></span> facet_type &amp; facet) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+  <span class="type">first_kday_type</span>
+  <a name="id2455382-bb"></a>get_first_kday_type(stream_itr_type &amp; sitr, stream_itr_type &amp; stream_end,
+                      std::ios_base &amp; a_ios, <span class="bold"><strong>const</strong></span> facet_type &amp; facet) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+  <span class="type">last_kday_type</span>
+  <a name="id2506290-bb"></a>get_last_kday_type(stream_itr_type &amp; sitr, stream_itr_type &amp; stream_end,
+                     std::ios_base &amp; a_ios, <span class="bold"><strong>const</strong></span> facet_type &amp; facet) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+  <span class="type">kday_before_type</span>
+  <a name="id2497725-bb"></a>get_kday_before_type(stream_itr_type &amp; sitr, stream_itr_type &amp; stream_end,
+                       std::ios_base &amp; a_ios, <span class="bold"><strong>const</strong></span> facet_type &amp; facet) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type&gt;
+  <span class="type">kday_after_type</span>
+  <a name="id2508670-bb"></a>get_kday_after_type(stream_itr_type &amp; sitr, stream_itr_type &amp; stream_end,
+                      std::ios_base &amp; a_ios, <span class="bold"><strong>const</strong></span> facet_type &amp; facet) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2623528"></a><h3>
+<a name="id2519207-bb"></a><code class="computeroutput">date_generator_parser</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2519212-bb"></a>extract_element(stream_itr_type &amp; sitr, stream_itr_type &amp; stream_end,
+                     <span class="bold"><strong>typename</strong></span> date_generator_parser::phrase_elements ele) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_generator_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2408449"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="year_based_generator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/date_input_facet.html b/doc/html/date_input_facet.html
new file mode 100644
index 0000000000..75c716a344
--- /dev/null
+++ b/doc/html/date_input_facet.html
@@ -0,0 +1,187 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template date_input_facet</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2466656" title="Header &lt;boost/date_time/date_facet.hpp&gt;">
+<link rel="prev" href="date_facet.html" title="Class template date_facet">
+<link rel="next" href="simple_format.html" title="Class template simple_format">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_facet.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2466656"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="simple_format.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="date_input_facet"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template date_input_facet</span></h2>
+<p>boost::date_time::date_input_facet &#8212; Input facet. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> CharT,
+         <span class="bold"><strong>typename</strong></span> InItrT = std::istreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt; &gt;
+<span class="bold"><strong>class</strong></span> date_input_facet {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::duration_type                             duration_type;             
+  <span class="bold"><strong>typedef</strong></span> date_type::day_of_week_type                          day_of_week_type;          
+  <span class="bold"><strong>typedef</strong></span> date_type::day_type                                  day_type;                  
+  <span class="bold"><strong>typedef</strong></span> date_type::month_type                                month_type;                
+  <span class="bold"><strong>typedef</strong></span> date_type::year_type                                 year_type;                 
+  <span class="bold"><strong>typedef</strong></span> <a href="period.html" title="Class template period">boost::date_time::period</a>&lt; date_type, duration_type &gt; period_type;               
+  <span class="bold"><strong>typedef</strong></span> std::basic_string&lt; CharT &gt;                           string_type;               
+  <span class="bold"><strong>typedef</strong></span> CharT                                                char_type;                 
+  <span class="bold"><strong>typedef</strong></span> <a href="period_parser.html" title="Class template period_parser">boost::date_time::period_parser</a>&lt; date_type, CharT &gt;  period_parser_type;        
+  <span class="bold"><strong>typedef</strong></span> <a href="special_values_parser.html" title="Class template special_values_parser">special_values_parser</a>&lt; date_type, CharT &gt;            special_values_parser_type;
+  <span class="bold"><strong>typedef</strong></span> std::vector&lt; std::basic_string&lt; CharT &gt; &gt;            input_collection_type;     
+  <span class="bold"><strong>typedef</strong></span> <a href="format_date_parser.html" title="Class template format_date_parser">format_date_parser</a>&lt; date_type, CharT &gt;               format_date_parser_type;   
+  <span class="bold"><strong>typedef</strong></span> <a href="date_generator_parser.html" title="Class template date_generator_parser">date_generator_parser</a>&lt; date_type, CharT &gt;            date_gen_parser_type;      
+  <span class="bold"><strong>typedef</strong></span> <a href="partial_date.html" title="Class template partial_date">partial_date</a>&lt; date_type &gt;                            partial_date_type;         
+  <span class="bold"><strong>typedef</strong></span> <a href="nth_kday_of_month.html" title="Class template nth_kday_of_month">nth_kday_of_month</a>&lt; date_type &gt;                       nth_kday_type;             
+  <span class="bold"><strong>typedef</strong></span> <a href="first_kday_of_month.html" title="Class template first_kday_of_month">first_kday_of_month</a>&lt; date_type &gt;                     first_kday_type;           
+  <span class="bold"><strong>typedef</strong></span> <a href="last_kday_of_month.html" title="Class template last_kday_of_month">last_kday_of_month</a>&lt; date_type &gt;                      last_kday_type;            
+  <span class="bold"><strong>typedef</strong></span> <a href="first_kday_after.html" title="Class template first_kday_after">first_kday_after</a>&lt; date_type &gt;                        kday_after_type;           
+  <span class="bold"><strong>typedef</strong></span> <a href="first_kday_before.html" title="Class template first_kday_before">first_kday_before</a>&lt; date_type &gt;                       kday_before_type;          
+
+  <span class="emphasis"><em>// <a href="date_input_facet.html#date_input_facetconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="date_input_facet.html#id2442615-bb">date_input_facet</a>(::size_t = 0);
+  <a href="date_input_facet.html#id2502308-bb">date_input_facet</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, ::size_t = 0);
+  <a href="date_input_facet.html#id2520020-bb">date_input_facet</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> format_date_parser_type &amp;,
+                   <span class="bold"><strong>const</strong></span> special_values_parser_type &amp;,
+                   <span class="bold"><strong>const</strong></span> period_parser_type &amp;, <span class="bold"><strong>const</strong></span> date_gen_parser_type &amp;,
+                   ::size_t = 0);
+
+  <span class="emphasis"><em>// <a href="date_input_facet.html#id2494977-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_input_facet.html#id2494982-bb">format</a>(<span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span>) ;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="date_input_facet.html#id2497791-bb">set_iso_format</a>() ;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="date_input_facet.html#id2405430-bb">set_iso_extended_format</a>() ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_input_facet.html#id2509543-bb">month_format</a>(<span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span>) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_input_facet.html#id2454091-bb">weekday_format</a>(<span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span>) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_input_facet.html#id2513198-bb">year_format</a>(<span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span>) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_input_facet.html#id2446312-bb">period_parser</a>(period_parser_type) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_input_facet.html#id2522194-bb">short_weekday_names</a>(<span class="bold"><strong>const</strong></span> input_collection_type &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_input_facet.html#id2342258-bb">long_weekday_names</a>(<span class="bold"><strong>const</strong></span> input_collection_type &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_input_facet.html#id2523048-bb">short_month_names</a>(<span class="bold"><strong>const</strong></span> input_collection_type &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_input_facet.html#id2508142-bb">long_month_names</a>(<span class="bold"><strong>const</strong></span> input_collection_type &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_input_facet.html#id2498103-bb">date_gen_element_strings</a>(<span class="bold"><strong>const</strong></span> input_collection_type &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_input_facet.html#id2512455-bb">date_gen_element_strings</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                                <span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                                <span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                                <span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                                <span class="bold"><strong>const</strong></span> string_type &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_input_facet.html#id2421455-bb">special_values_parser</a>(special_values_parser_type) ;
+  <span class="type">InItrT</span> <a href="date_input_facet.html#id2518104-bb">get</a>(InItrT &amp;, InItrT &amp;, std::ios_base &amp;, date_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">InItrT</span> <a href="date_input_facet.html#id2338300-bb">get</a>(InItrT &amp;, InItrT &amp;, std::ios_base &amp;, month_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">InItrT</span> <a href="date_input_facet.html#id2484346-bb">get</a>(InItrT &amp;, InItrT &amp;, std::ios_base &amp;, day_of_week_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">InItrT</span> <a href="date_input_facet.html#id2422322-bb">get</a>(InItrT &amp;, InItrT &amp;, std::ios_base &amp;, day_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">InItrT</span> <a href="date_input_facet.html#id2428081-bb">get</a>(InItrT &amp;, InItrT &amp;, std::ios_base &amp;, year_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">InItrT</span> <a href="date_input_facet.html#id2509654-bb">get</a>(InItrT &amp;, InItrT &amp;, std::ios_base &amp;, duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">InItrT</span> <a href="date_input_facet.html#id2516001-bb">get</a>(InItrT &amp;, InItrT &amp;, std::ios_base &amp;, period_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">InItrT</span> <a href="date_input_facet.html#id2417674-bb">get</a>(InItrT &amp;, InItrT &amp;, std::ios_base &amp;, nth_kday_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">InItrT</span> <a href="date_input_facet.html#id2415474-bb">get</a>(InItrT &amp;, InItrT &amp;, std::ios_base &amp;, partial_date_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">InItrT</span> <a href="date_input_facet.html#id2505189-bb">get</a>(InItrT &amp;, InItrT &amp;, std::ios_base &amp;, first_kday_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">InItrT</span> <a href="date_input_facet.html#id2493625-bb">get</a>(InItrT &amp;, InItrT &amp;, std::ios_base &amp;, last_kday_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">InItrT</span> <a href="date_input_facet.html#id2399020-bb">get</a>(InItrT &amp;, InItrT &amp;, std::ios_base &amp;, kday_before_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">InItrT</span> <a href="date_input_facet.html#id2385991-bb">get</a>(InItrT &amp;, InItrT &amp;, std::ios_base &amp;, kday_after_type &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="bold"><strong>static</strong></span> const char_type long_weekday_format;
+  <span class="bold"><strong>static</strong></span> const char_type short_weekday_format;
+  <span class="bold"><strong>static</strong></span> const char_type long_month_format;
+  <span class="bold"><strong>static</strong></span> const char_type short_month_format;
+  <span class="bold"><strong>static</strong></span> const char_type four_digit_year_format;
+  <span class="bold"><strong>static</strong></span> const char_type two_digit_year_format;
+  <span class="bold"><strong>static</strong></span> const char_type default_period_separator;
+  <span class="bold"><strong>static</strong></span> const char_type standard_format_specifier;
+  <span class="bold"><strong>static</strong></span> const char_type iso_format_specifier;
+  <span class="bold"><strong>static</strong></span> const char_type iso_format_extended_specifier;
+  <span class="bold"><strong>static</strong></span> const char_type default_date_format;
+  <span class="bold"><strong>static</strong></span> std::locale::id id;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2616853"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2616856"></a><h3>
+<a name="date_input_facetconstruct-copy-destruct"></a><code class="computeroutput">date_input_facet</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2442615-bb"></a>date_input_facet(::size_t a_ref = 0);</pre></li>
+<li><pre class="literallayout"><a name="id2502308-bb"></a>date_input_facet(<span class="bold"><strong>const</strong></span> string_type &amp; format, ::size_t a_ref = 0);</pre></li>
+<li><pre class="literallayout"><a name="id2520020-bb"></a>date_input_facet(<span class="bold"><strong>const</strong></span> string_type &amp; format,
+                 <span class="bold"><strong>const</strong></span> format_date_parser_type &amp; date_parser,
+                 <span class="bold"><strong>const</strong></span> special_values_parser_type &amp; sv_parser,
+                 <span class="bold"><strong>const</strong></span> period_parser_type &amp; per_parser,
+                 <span class="bold"><strong>const</strong></span> date_gen_parser_type &amp; date_gen_parser,
+                 ::size_t ref_count = 0);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2616970"></a><h3>
+<a name="id2494977-bb"></a><code class="computeroutput">date_input_facet</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2494982-bb"></a>format(<span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> format) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2497791-bb"></a>set_iso_format() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2405430-bb"></a>set_iso_extended_format() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2509543-bb"></a>month_format(<span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> format) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2454091-bb"></a>weekday_format(<span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> format) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2513198-bb"></a>year_format(<span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> format) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2446312-bb"></a>period_parser(period_parser_type period_parser) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2522194-bb"></a>short_weekday_names(<span class="bold"><strong>const</strong></span> input_collection_type &amp; weekday_names) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2342258-bb"></a>long_weekday_names(<span class="bold"><strong>const</strong></span> input_collection_type &amp; weekday_names) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2523048-bb"></a>short_month_names(<span class="bold"><strong>const</strong></span> input_collection_type &amp; month_names) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2508142-bb"></a>long_month_names(<span class="bold"><strong>const</strong></span> input_collection_type &amp; month_names) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2498103-bb"></a>date_gen_element_strings(<span class="bold"><strong>const</strong></span> input_collection_type &amp; col) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2512455-bb"></a>date_gen_element_strings(<span class="bold"><strong>const</strong></span> string_type &amp; first,
+                              <span class="bold"><strong>const</strong></span> string_type &amp; second,
+                              <span class="bold"><strong>const</strong></span> string_type &amp; third,
+                              <span class="bold"><strong>const</strong></span> string_type &amp; fourth,
+                              <span class="bold"><strong>const</strong></span> string_type &amp; fifth,
+                              <span class="bold"><strong>const</strong></span> string_type &amp; last,
+                              <span class="bold"><strong>const</strong></span> string_type &amp; before,
+                              <span class="bold"><strong>const</strong></span> string_type &amp; after,
+                              <span class="bold"><strong>const</strong></span> string_type &amp; of) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2421455-bb"></a>special_values_parser(special_values_parser_type sv_parser) ;</pre></li>
+<li><pre class="literallayout"><span class="type">InItrT</span> <a name="id2518104-bb"></a>get(InItrT &amp; from, InItrT &amp; to, std::ios_base &amp; , date_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">InItrT</span> <a name="id2338300-bb"></a>get(InItrT &amp; from, InItrT &amp; to, std::ios_base &amp; , month_type &amp; m) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">InItrT</span> <a name="id2484346-bb"></a>get(InItrT &amp; from, InItrT &amp; to, std::ios_base &amp; ,
+           day_of_week_type &amp; wd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">InItrT</span> <a name="id2422322-bb"></a>get(InItrT &amp; from, InItrT &amp; to, std::ios_base &amp; , day_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">InItrT</span> <a name="id2428081-bb"></a>get(InItrT &amp; from, InItrT &amp; to, std::ios_base &amp; , year_type &amp; y) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">InItrT</span> <a name="id2509654-bb"></a>get(InItrT &amp; from, InItrT &amp; to, std::ios_base &amp; a_ios,
+           duration_type &amp; dd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">InItrT</span> <a name="id2516001-bb"></a>get(InItrT &amp; from, InItrT &amp; to, std::ios_base &amp; a_ios, period_type &amp; p) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">InItrT</span> <a name="id2417674-bb"></a>get(InItrT &amp; from, InItrT &amp; to, std::ios_base &amp; a_ios,
+           nth_kday_type &amp; nkd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">InItrT</span> <a name="id2415474-bb"></a>get(InItrT &amp; from, InItrT &amp; to, std::ios_base &amp; a_ios,
+           partial_date_type &amp; pd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">InItrT</span> <a name="id2505189-bb"></a>get(InItrT &amp; from, InItrT &amp; to, std::ios_base &amp; a_ios,
+           first_kday_type &amp; fkd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">InItrT</span> <a name="id2493625-bb"></a>get(InItrT &amp; from, InItrT &amp; to, std::ios_base &amp; a_ios,
+           last_kday_type &amp; lkd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">InItrT</span> <a name="id2399020-bb"></a>get(InItrT &amp; from, InItrT &amp; to, std::ios_base &amp; a_ios,
+           kday_before_type &amp; fkb) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">InItrT</span> <a name="id2385991-bb"></a>get(InItrT &amp; from, InItrT &amp; to, std::ios_base &amp; a_ios,
+           kday_after_type &amp; fka) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_facet.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2466656"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="simple_format.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/date_itr.html b/doc/html/date_itr.html
new file mode 100644
index 0000000000..c2ec138b4d
--- /dev/null
+++ b/doc/html/date_itr.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template date_itr</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2433284" title="Header &lt;boost/date_time/date_iterator.hpp&gt;">
+<link rel="prev" href="date_itr_base.html" title="Class template date_itr_base">
+<link rel="next" href="date_names_put.html" title="Class template date_names_put">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_itr_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2433284"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_names_put.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="date_itr"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template date_itr</span></h2>
+<p>boost::date_time::date_itr &#8212; Overrides the base date iterator providing hook for functors. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> offset_functor, <span class="bold"><strong>typename</strong></span> date_type&gt;
+<span class="bold"><strong>class</strong></span> date_itr : <span class="bold"><strong>public</strong></span> boost::date_time::date_itr_base&lt; date_type &gt; {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::duration_type duration_type;
+
+  <span class="emphasis"><em>// <a href="date_itr.html#date_itrconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="date_itr.html#id2462402-bb">date_itr</a>(date_type, <span class="bold"><strong>int</strong></span> = 1);
+
+  <span class="emphasis"><em>// <a href="date_itr.html#id2462397-bb">public member functions</a></em></span>
+
+  <span class="emphasis"><em>// <a href="date_itr.html#id2510168-bb">private member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>virtual</strong></span> duration_type</span> <a href="date_itr.html#id2510172-bb">get_offset</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> duration_type</span> <a href="date_itr.html#id2459403-bb">get_neg_offset</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2628149"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2628152"></a><h3>
+<a name="date_itrconstruct-copy-destruct"></a><code class="computeroutput">date_itr</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2462402-bb"></a>date_itr(date_type d, <span class="bold"><strong>int</strong></span> factor = 1);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2628191"></a><h3>
+<a name="id2462397-bb"></a><code class="computeroutput">date_itr</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2628211"></a><h3>
+<a name="id2510168-bb"></a><code class="computeroutput">date_itr</code> private member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> duration_type</span> <a name="id2510172-bb"></a>get_offset(<span class="bold"><strong>const</strong></span> date_type &amp; current) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> duration_type</span> <a name="id2459403-bb"></a>get_neg_offset(<span class="bold"><strong>const</strong></span> date_type &amp; current) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_itr_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2433284"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_names_put.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/date_itr_base.html b/doc/html/date_itr_base.html
new file mode 100644
index 0000000000..aba81d1dc4
--- /dev/null
+++ b/doc/html/date_itr_base.html
@@ -0,0 +1,101 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template date_itr_base</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2433284" title="Header &lt;boost/date_time/date_iterator.hpp&gt;">
+<link rel="prev" href="previous_weekday.html" title="Function template previous_weekday">
+<link rel="next" href="date_itr.html" title="Class template date_itr">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="previous_weekday.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2433284"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_itr.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="date_itr_base"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template date_itr_base</span></h2>
+<p>boost::date_time::date_itr_base &#8212; Base date iterator type. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt;
+<span class="bold"><strong>class</strong></span> date_itr_base {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::duration_type duration_type;    
+  <span class="bold"><strong>typedef</strong></span> date_type                value_type;       
+  <span class="bold"><strong>typedef</strong></span> std::input_iterator_tag  iterator_category;
+
+  <span class="emphasis"><em>// <a href="date_itr_base.html#date_itr_baseconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="date_itr_base.html#id2429532-bb">date_itr_base</a>(date_type);
+  <a href="date_itr_base.html#id2467652-bb">~date_itr_base</a>();
+
+  <span class="emphasis"><em>// <a href="date_itr_base.html#id2425644-bb">public member functions</a></em></span>
+  <span class="type"><a href="date_itr_base.html" title="Class template date_itr_base">date_itr_base</a> &amp;</span> <a href="date_itr_base.html#id2498869-bb"><span class="bold"><strong>operator</strong></span>++</a>() ;
+  <span class="type"><a href="date_itr_base.html" title="Class template date_itr_base">date_itr_base</a> &amp;</span> <a href="date_itr_base.html#id2498884-bb"><span class="bold"><strong>operator</strong></span>--</a>() ;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> duration_type</span> <a href="date_itr_base.html#id2400310-bb">get_offset</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> duration_type</span> <a href="date_itr_base.html#id2454777-bb">get_neg_offset</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">date_type</span> <a href="date_itr_base.html#id2506404-bb"><span class="bold"><strong>operator</strong></span> *</a>() ;
+  <span class="type">date_type *</span> <a href="date_itr_base.html#id2506416-bb"><span class="bold"><strong>operator</strong></span>-&gt;</a>() ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="date_itr_base.html#id2513974-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="date_itr_base.html#id2401109-bb"><span class="bold"><strong>operator</strong></span>&lt;=</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="date_itr_base.html#id2468361-bb"><span class="bold"><strong>operator</strong></span>&gt;</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="date_itr_base.html#id2478631-bb"><span class="bold"><strong>operator</strong></span>&gt;=</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="date_itr_base.html#id2426232-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="date_itr_base.html#id2510332-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2627518"></a><h2>Description</h2>
+<p>This class provides the skeleton for the creation of iterators. New and interesting interators can be created by plugging in a new function that derives the next value from the current state. generation of various types of -based information.</p>
+<p><span class="bold"><strong>Template Parameters</strong></span></p>
+<p><span class="bold"><strong>date_type</strong></span></p>
+<p>The date_type is a concrete date_type. The date_type must define a duration_type and a calendar_type. </p>
+<div class="refsect2" lang="en">
+<a name="id2627543"></a><h3>
+<a name="date_itr_baseconstruct-copy-destruct"></a><code class="computeroutput">date_itr_base</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2429532-bb"></a>date_itr_base(date_type d);</pre></li>
+<li><pre class="literallayout"><a name="id2467652-bb"></a>~date_itr_base();</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2627592"></a><h3>
+<a name="id2425644-bb"></a><code class="computeroutput">date_itr_base</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><a href="date_itr_base.html" title="Class template date_itr_base">date_itr_base</a> &amp;</span> <a name="id2498869-bb"></a><span class="bold"><strong>operator</strong></span>++() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="date_itr_base.html" title="Class template date_itr_base">date_itr_base</a> &amp;</span> <a name="id2498884-bb"></a><span class="bold"><strong>operator</strong></span>--() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> duration_type</span> <a name="id2400310-bb"></a>get_offset(<span class="bold"><strong>const</strong></span> date_type &amp; current) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> duration_type</span> <a name="id2454777-bb"></a>get_neg_offset(<span class="bold"><strong>const</strong></span> date_type &amp; current) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2506404-bb"></a><span class="bold"><strong>operator</strong></span> *() ;</pre></li>
+<li><pre class="literallayout"><span class="type">date_type *</span> <a name="id2506416-bb"></a><span class="bold"><strong>operator</strong></span>-&gt;() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2513974-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<span class="bold"><strong>const</strong></span> date_type &amp; d) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2401109-bb"></a><span class="bold"><strong>operator</strong></span>&lt;=(<span class="bold"><strong>const</strong></span> date_type &amp; d) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2468361-bb"></a><span class="bold"><strong>operator</strong></span>&gt;(<span class="bold"><strong>const</strong></span> date_type &amp; d) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2478631-bb"></a><span class="bold"><strong>operator</strong></span>&gt;=(<span class="bold"><strong>const</strong></span> date_type &amp; d) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2426232-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> date_type &amp; d) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2510332-bb"></a><span class="bold"><strong>operator</strong></span>!=(<span class="bold"><strong>const</strong></span> date_type &amp; d) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="previous_weekday.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2433284"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_itr.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/date_names_put.html b/doc/html/date_names_put.html
new file mode 100644
index 0000000000..80dab87c2d
--- /dev/null
+++ b/doc/html/date_names_put.html
@@ -0,0 +1,144 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template date_names_put</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2507977" title="Header &lt;boost/date_time/date_names_put.hpp&gt;">
+<link rel="prev" href="date_itr.html" title="Class template date_itr">
+<link rel="next" href="all_date_names_put.html" title="Class template all_date_names_put">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_itr.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2507977"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="all_date_names_put.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="date_names_put"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template date_names_put</span></h2>
+<p>boost::date_time::date_names_put &#8212; Output facet base class for gregorian dates. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Config, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>,
+         <span class="bold"><strong>typename</strong></span> <a href="OutputIterator.html" title="Concept OutputIterator">OutputIterator</a> = std::ostreambuf_iterator&lt;charT&gt; &gt;
+<span class="bold"><strong>class</strong></span> date_names_put {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> OutputIterator             iter_type;         
+  <span class="bold"><strong>typedef</strong></span> Config::month_type         month_type;        
+  <span class="bold"><strong>typedef</strong></span> Config::month_enum         month_enum;        
+  <span class="bold"><strong>typedef</strong></span> Config::weekday_enum       weekday_enum;      
+  <span class="bold"><strong>typedef</strong></span> Config::special_value_enum special_value_enum;
+  <span class="bold"><strong>typedef</strong></span> std::basic_string&lt; charT &gt; string_type;       
+  <span class="bold"><strong>typedef</strong></span> charT                      char_type;         
+
+  <span class="emphasis"><em>// <a href="date_names_put.html#date_names_putconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="date_names_put.html#id2395153-bb">date_names_put</a>();
+
+  <span class="emphasis"><em>// <a href="date_names_put.html#id2483321-bb">public member functions</a></em></span>
+  <span class="type">std::locale::id &amp;</span> <a href="date_names_put.html#id2483326-bb">__get_id</a>(<span class="bold"><strong>void</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_names_put.html#id2432485-bb">put_special_value</a>(iter_type &amp;, special_value_enum) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_names_put.html#id2499704-bb">put_month_short</a>(iter_type &amp;, month_enum) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_names_put.html#id2520167-bb">put_month_long</a>(iter_type &amp;, month_enum) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_names_put.html#id2410058-bb">put_weekday_short</a>(iter_type &amp;, weekday_enum) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_names_put.html#id2465407-bb">put_weekday_long</a>(iter_type &amp;, weekday_enum) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="date_names_put.html#id2490194-bb">has_date_sep_chars</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_names_put.html#id2499346-bb">year_sep_char</a>(iter_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_names_put.html#id2422635-bb">month_sep_char</a>(iter_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_names_put.html#id2432746-bb">day_sep_char</a>(iter_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">ymd_order_spec</span> <a href="date_names_put.html#id2463244-bb">date_order</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">month_format_spec</span> <a href="date_names_put.html#id2497814-bb">month_format</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="date_names_put.html#id2424146-bb">protected member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="date_names_put.html#id2424151-bb">do_put_month_short</a>(iter_type &amp;, month_enum) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="date_names_put.html#id2433778-bb">do_put_month_long</a>(iter_type &amp;, month_enum) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="date_names_put.html#id2525377-bb">do_put_special_value</a>(iter_type &amp;, special_value_enum) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="date_names_put.html#id2467543-bb">do_put_weekday_short</a>(iter_type &amp;, weekday_enum) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="date_names_put.html#id2469544-bb">do_put_weekday_long</a>(iter_type &amp;, weekday_enum) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>bool</strong></span></span> <a href="date_names_put.html#id2510943-bb">do_has_date_sep_chars</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="date_names_put.html#id2516604-bb">do_year_sep_char</a>(iter_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="date_names_put.html#id2471001-bb">do_month_sep_char</a>(iter_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="date_names_put.html#id2499302-bb">do_day_sep_char</a>(iter_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> ymd_order_spec</span> <a href="date_names_put.html#id2523885-bb">do_date_order</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> month_format_spec</span> <a href="date_names_put.html#id2468429-bb">do_month_format</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_names_put.html#id2468445-bb">put_string</a>(iter_type &amp;, <span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="date_names_put.html#id2417635-bb">put_string</a>(iter_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="bold"><strong>static</strong></span> const char_type default_special_value_names;
+  <span class="bold"><strong>static</strong></span> const char_type separator;
+  <span class="bold"><strong>static</strong></span> std::locale::id id;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2629254"></a><h2>Description</h2>
+<p>This class is a base class for date facets used to localize the names of months and the names of days in the week.</p>
+<p>Requirements of Config</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>define an enumeration month_enum that enumerates the months. The enumeration should be '1' based eg: Jan==1</p></li>
+<li><p>define as_short_string and as_long_string</p></li>
+</ul></div>
+<p>(see langer &amp; kreft p334). </p>
+<div class="refsect2" lang="en">
+<a name="id2629276"></a><h3>
+<a name="date_names_putconstruct-copy-destruct"></a><code class="computeroutput">date_names_put</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2395153-bb"></a>date_names_put();</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2629311"></a><h3>
+<a name="id2483321-bb"></a><code class="computeroutput">date_names_put</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">std::locale::id &amp;</span> <a name="id2483326-bb"></a>__get_id(<span class="bold"><strong>void</strong></span> ) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2432485-bb"></a>put_special_value(iter_type &amp; oitr, special_value_enum sv) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2499704-bb"></a>put_month_short(iter_type &amp; oitr, month_enum moy) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2520167-bb"></a>put_month_long(iter_type &amp; oitr, month_enum moy) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2410058-bb"></a>put_weekday_short(iter_type &amp; oitr, weekday_enum wd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2465407-bb"></a>put_weekday_long(iter_type &amp; oitr, weekday_enum wd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2490194-bb"></a>has_date_sep_chars() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2499346-bb"></a>year_sep_char(iter_type &amp; oitr) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2422635-bb"></a>month_sep_char(iter_type &amp; oitr) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2432746-bb"></a>day_sep_char(iter_type &amp; oitr) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">ymd_order_spec</span> <a name="id2463244-bb"></a>date_order() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">month_format_spec</span> <a name="id2497814-bb"></a>month_format() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2629652"></a><h3>
+<a name="id2424146-bb"></a><code class="computeroutput">date_names_put</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2424151-bb"></a>do_put_month_short(iter_type &amp; oitr, month_enum moy) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2433778-bb"></a>do_put_month_long(iter_type &amp; oitr, month_enum moy) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span>
+<a name="id2525377-bb"></a>do_put_special_value(iter_type &amp; oitr, special_value_enum sv) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2467543-bb"></a>do_put_weekday_short(iter_type &amp; , weekday_enum ) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2469544-bb"></a>do_put_weekday_long(iter_type &amp; , weekday_enum ) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>bool</strong></span></span> <a name="id2510943-bb"></a>do_has_date_sep_chars() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2516604-bb"></a>do_year_sep_char(iter_type &amp; oitr) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2471001-bb"></a>do_month_sep_char(iter_type &amp; oitr) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2499302-bb"></a>do_day_sep_char(iter_type &amp; oitr) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> ymd_order_spec</span> <a name="id2523885-bb"></a>do_date_order() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> month_format_spec</span> <a name="id2468429-bb"></a>do_month_format() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2468445-bb"></a>put_string(iter_type &amp; oi, <span class="bold"><strong>const</strong></span> charT *<span class="bold"><strong>const</strong></span> s) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2417635-bb"></a>put_string(iter_type &amp; oi, <span class="bold"><strong>const</strong></span> string_type &amp; s1) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_itr.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2507977"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="all_date_names_put.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/date_time.html b/doc/html/date_time.html
new file mode 100644
index 0000000000..b30e6f5ed4
--- /dev/null
+++ b/doc/html/date_time.html
@@ -0,0 +1,228 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 3. Boost.Date_Time</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries">
+<link rel="prev" href="SignedInteger.html" title="Concept SignedInteger">
+<link rel="next" href="date_time/examples/general_usage_examples.html" title="General Usage Examples">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="SignedInteger.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_time/examples/general_usage_examples.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="date_time"></a>Chapter 3. Boost.Date_Time</h2></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Jeff</span> <span class="surname">Garland</span>
+</h3></div></div>
+<div><p class="copyright">Copyright © 2001-2005 CrystalClear Software, Inc</p></div>
+<div><div class="legalnotice">
+<a name="id2579432"></a><p>Subject to the Boost Software License, Version 1.0. (See accompanying file
+ <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="date_time.html#date_time.conceptual">Conceptual</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="date_time.html#Motivation">Motivation</a></span></dt>
+<dt><span class="section"><a href="date_time.html#date_time.domain_concepts">Domain Concepts</a></span></dt>
+<dt><span class="section"><a href="date_time.html#date_time.design_concepts">Design Concepts</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="date_time/examples/general_usage_examples.html">General Usage Examples</a></span></dt>
+<dt><span class="section"><a href="date_time/gregorian.html">Gregorian</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="date_time/gregorian.html#date_time.gregorian.date_class">Date</a></span></dt>
+<dt><span class="section"><a href="date_time/gregorian.html#date_time.gregorian.date_duration">Date Duration (aka Days)</a></span></dt>
+<dt><span class="section"><a href="date_time/gregorian.html#date_time.gregorian.date_period">Date Period</a></span></dt>
+<dt><span class="section"><a href="date_time/gregorian.html#date_time.gregorian.date_iterators">Date Iterators</a></span></dt>
+<dt><span class="section"><a href="date_time/gregorian.html#date_time.gregorian.date_algorithms">Date Generators/Algorithms</a></span></dt>
+<dt><span class="section"><a href="date_time/gregorian.html#date_time.gregorian.gregorian_calendar">Gregorian Calendar</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="date_time/posix_time.html">Posix Time</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="date_time/posix_time.html#date_time.posix_time.ptime_class">Ptime</a></span></dt>
+<dt><span class="section"><a href="date_time/posix_time.html#date_time.posix_time.time_duration">Time Duration</a></span></dt>
+<dt><span class="section"><a href="date_time/posix_time.html#date_time.posix_time.time_period">Time Period</a></span></dt>
+<dt><span class="section"><a href="date_time/posix_time.html#date_time.posix_time.time_iterators">Time Iterators</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="date_time/local_time.html">Local Time</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="date_time/local_time.html#date_time.local_time.time_zone_base">Time Zone (abstract)</a></span></dt>
+<dt><span class="section"><a href="date_time/local_time.html#date_time.local_time.posix_time_zone">Posix Time Zone</a></span></dt>
+<dt><span class="section"><a href="date_time/local_time.html#date_time.local_time.tz_database">Time Zone Database</a></span></dt>
+<dt><span class="section"><a href="date_time/local_time.html#date_time.local_time.custom_time_zone">Custom Time Zone</a></span></dt>
+<dt><span class="section"><a href="date_time/local_time.html#date_time.local_time.local_date_time">Local Date Time</a></span></dt>
+<dt><span class="section"><a href="date_time/local_time.html#date_time.local_time.local_time_period">Local Time Period</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="date_time/date_time_io.html">Date Time Input/Output</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="date_time/date_time_io.html#date_time.format_flags">Format Flags</a></span></dt>
+<dt><span class="section"><a href="date_time/date_time_io.html#date_time.date_facet">Date Facet</a></span></dt>
+<dt><span class="section"><a href="date_time/date_time_io.html#date_time.date_input_facet">Date Input Facet</a></span></dt>
+<dt><span class="section"><a href="date_time/date_time_io.html#date_time.time_facet">Time Facet</a></span></dt>
+<dt><span class="section"><a href="date_time/date_time_io.html#date_time.time_input_facet">Time Input Facet</a></span></dt>
+<dt><span class="section"><a href="date_time/date_time_io.html#date_time.io_objects">Date Time Formatter/Parser Objects</a></span></dt>
+<dt><span class="section"><a href="date_time/date_time_io.html#date_time.io_tutorial">Date Time IO Tutorial</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="date_time/serialization.html">Serialization</a></span></dt>
+<dt><span class="section"><a href="date_time/details.html">Details</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="date_time/details.html#date_time.calculations">Calculations</a></span></dt>
+<dt><span class="section"><a href="date_time/details.html#date_time.design_goals">Design Goals</a></span></dt>
+<dt><span class="section"><a href="date_time/details.html#date_time.tradeoffs">Tradeoffs: Stability, Predictability, and Approximations</a></span></dt>
+<dt><span class="section"><a href="date_time/details.html#date_time.terminology">Terminology</a></span></dt>
+<dt><span class="section"><a href="date_time/details.html#date_time.references">References</a></span></dt>
+<dt><span class="section"><a href="date_time/details.html#date_time.buildinfo">Build-Compiler Information</a></span></dt>
+<dt><span class="section"><a href="date_time/details.html#date_time.tests">Tests</a></span></dt>
+<dt><span class="section"><a href="date_time/details.html#date_time.changes">Change History</a></span></dt>
+<dt><span class="section"><a href="date_time/details.html#date_time.acknowledgements">Acknowledgements</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="date_time/examples.html">Examples</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="date_time/examples.html#date_time.examples.dates_as_strings">Dates as Strings</a></span></dt>
+<dt><span class="section"><a href="date_time/examples.html#date_time.examples.days_alive">Days Alive</a></span></dt>
+<dt><span class="section"><a href="date_time/examples.html#date_time.examples.days_between_new_year">Days Between New Years</a></span></dt>
+<dt><span class="section"><a href="date_time/examples.html#date_time.examples.end_of_month_day">Last Day of the Months</a></span></dt>
+<dt><span class="section"><a href="date_time/examples.html#date_time.examples.localization">Localization Demonstration</a></span></dt>
+<dt><span class="section"><a href="date_time/examples.html#date_time.examples.date_period_calc">Date Period Calculations</a></span></dt>
+<dt><span class="section"><a href="date_time/examples.html#date_time.examples.print_holidays">Print Holidays</a></span></dt>
+<dt><span class="section"><a href="date_time/examples.html#date_time.examples.print_month">Print Month</a></span></dt>
+<dt><span class="section"><a href="date_time/examples.html#date_time.examples.month_add">Month Adding</a></span></dt>
+<dt><span class="section"><a href="date_time/examples.html#date_time.examples.time_math">Time Math</a></span></dt>
+<dt><span class="section"><a href="date_time/examples.html#date_time.examples.print_hours">Print Hours</a></span></dt>
+<dt><span class="section"><a href="date_time/examples.html#date_time.examples.local_utc_conversion">Local to UTC Conversion</a></span></dt>
+<dt><span class="section"><a href="date_time/examples.html#date_time.examples.time_periods">Time Periods</a></span></dt>
+<dt><span class="section"><a href="date_time/examples.html#date_time.examples.simple_time_zone">Simple Time Zones</a></span></dt>
+<dt><span class="section"><a href="date_time/examples.html#date_time.examples.calc_rules">Daylight Savings Calc Rules</a></span></dt>
+<dt><span class="section"><a href="date_time/examples.html#date_time.examples.flight">Flight Time Example</a></span></dt>
+<dt><span class="section"><a href="date_time/examples.html#date_time.examples.seconds_since_epoch">Seconds Since Epoch</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="date_time/doxy.html">Library Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="date_time/doxy.html#date_time_reference">Date Time Reference</a></span></dt>
+<dt><span class="section"><a href="date_time/doxy.html#gregorian_reference">Gregorian Reference</a></span></dt>
+<dt><span class="section"><a href="date_time/doxy.html#posix_time_reference">Posix Time Reference</a></span></dt>
+<dt><span class="section"><a href="date_time/doxy.html#local_time_reference">Local Time Reference</a></span></dt>
+</dl></dd>
+</dl>
+</div>
+<h2>
+<a name="id2579451"></a>Introduction</h2>
+<p>
+ A set of date-time libraries based on generic programming concepts.
+ </p>
+<p>This documentation is also available in PDF format. It can be found at:
+ </p>
+<table class="simplelist" border="0" summary="Simple list"><tr><td><a href="http://www.crystalclearsoftware.com/libraries/date_time/date_time.pdf" target="_top">http://www.crystalclearsoftware.com/libraries/date_time/date_time.pdf</a></td></tr></table>
+<p>
+ In addition, a full doxygen reference can be found at:
+ </p>
+<table class="simplelist" border="0" summary="Simple list"><tr><td><a href="http://www.crystalclearsoftware.com/libraries/date_time/ref_guide/index.html" target="_top">http://www.crystalclearsoftware.com/libraries/date_time/ref_guide/index.html</a></td></tr></table>
+<p>
+ The most current version of the documentation can be found at:
+ </p>
+<table class="simplelist" border="0" summary="Simple list"><tr><td><a href="http://www.crystalclearsoftware.com/libraries/date_time/index.html" target="_top">http://www.crystalclearsoftware.com/libraries/date_time/index.html</a></td></tr></table>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="date_time.conceptual"></a>Conceptual</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="date_time.html#Motivation">Motivation</a></span></dt>
+<dt><span class="section"><a href="date_time.html#date_time.domain_concepts">Domain Concepts</a></span></dt>
+<dt><span class="section"><a href="date_time.html#date_time.design_concepts">Design Concepts</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="Motivation"></a>Motivation</h4></div></div></div>
+<p>
+ The motivation for this library comes from working with and helping build several date-time libraries on several projects. Date-time libraries provide fundamental infrastructure for most development projects. However, most of them have limitations in their ability to calculate, format, convert, or perform some other functionality. For example, most libraries do not correctly handle leap seconds, provide concepts such as infinity, or provide the ability to use high resolution or network time sources. These libraries also tend to be rigid in their representation of dates and times. Thus customized policies for a project or subproject are not possible.
+ </p>
+<p>
+ Programming with dates and times should be almost as simple and natural as programming with strings and integers. Applications with lots of temporal logic can be radically simplified by having a robust set of operators and calculation capabilities. Classes should provide the ability to compare dates and times, add lengths or time durations, retrieve dates and times from clocks, and work naturally with date and time intervals.
+ </p>
+<p>
+ Another motivation for development of the library was to apply modern C++ library design techniques to the date-time domain. Really to build a framework for the construction of building temporal types. For example, by providing iterators and traits classes to control fundamental properties of the library. To the authors knowledge this library is the only substantial attempt to apply modern C++ to a date-time library.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.domain_concepts"></a>Domain Concepts</h4></div></div></div>
+<p>
+ The date time domain is rich in terminology and problems.
+ The following is a brief introduction to the concepts you
+ will find reflected in the library.
+ </p>
+<p>
+ The library supports 3 basic temporal types:
+ </p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">
+<span class="strong"><strong>Time Point</strong></span> -- Specifier
+ for a location in the time continuum.
+ </li>
+<li style="list-style-type: disc">
+<span class="strong"><strong>Time Duration</strong></span> -- A
+ length of time unattached to any point on the time continuum.
+ </li>
+<li style="list-style-type: disc">
+<span class="strong"><strong>Time Interval</strong></span> -- A duration
+ of time attached to a specific point in the time continuum.
+ Also known as a time period.
+ </li>
+</ul></div>
+<p>
+ Each of these temporal types has a <span class="strong"><strong>Resolution</strong></span> which is defined by the smallest representable duration. A <span class="strong"><strong>Time system</strong></span> provides all these categories of temporal types as well as the rules for labeling and calculating with time points. <span class="strong"><strong>Calendar Systems</strong></span> are simply time systems with a maximum resolution of one day. The <span class="strong"><strong>Gregorian</strong></span> system is the most widely used calendar system today (the ISO system is basically a derivative of this). However, there are many other calendar systems as well. <span class="strong"><strong>UTC (Coordinated Universal Time)</strong></span> is a widely used civil time system. UTC is adjusted for earth rotation at longitude 0 by the use of leap seconds (This is not predictable, only as necessary). Most <span class="strong"><strong>local time</strong></span> systems are based on UTC but are also adjusted for earth rotation so that daylight hours are similar everywhere. In addition, some local times include <span class="strong"><strong>daylight savings time (DST)</strong></span> adjustments to shift the daylight hours during the summer.
+ </p>
+<p>
+ A <span class="strong"><strong>Clock Device</strong></span> is software component (tied to some hardware) that provides the current date or time with respect to a time system. A clock can measure the current time to a known resolution which may be higher or lower than a particular time representation.
+ </p>
+<p>
+ The library provides support for calculating with dates and times. However, time calculations are not quite the same as calculating with integers. If you are serious about the accuracy of your time calculations need to read about <a href="date_time/details.html#date_time.tradeoffs" title="Tradeoffs: Stability, Predictability, and Approximations">Stability, Predictability, and Approximations</a>.
+ </p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc"><a href="date_time/details.html#date_time.terminology" title="Terminology">Basic Terminology</a></li>
+<li style="list-style-type: disc"><a href="date_time/details.html#date_time.calculations" title="Calculations">Calculations</a></li>
+<li style="list-style-type: disc"><a href="date_time/details.html#date_time.tradeoffs" title="Tradeoffs: Stability, Predictability, and Approximations">Stability, Predictability, and Approximations</a></li>
+<li style="list-style-type: disc"><a href="date_time/details.html#date_time.references" title="References">References</a></li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.design_concepts"></a>Design Concepts</h4></div></div></div>
+<p>
+ A large part of the genesis of this library has been the observation that few date-time libraries are built in a fashion that allows customization and extension. A typical example, the calendar logic is built directly into the date class. Or the clock retrieval functions are built directly into the time class. These design decisions usually make it impossible to extend or change the library behavior. At a more fundamental level, there are usually assumptions about the resolution of time representation or the gregorian calendar.
+ </p>
+<p>
+ Often times, the result is that a project must settle for a less than complete library because of a requirement for high resolution time representation or other assumptions that do not match the implementation of the library. This is extremely unfortunate because development of a library of this sort is far from a trivial task.
+ </p>
+<p>
+ While the design is far from perfect the current design is far more flexible than any date-time library the author is aware of. It is expected that the various aspects of extensibility will be better documented in future versions. Information about the design goals of the library is <a href="date_time/details.html#date_time.design_goals" title="Design Goals">summarized here</a>.
+ </p>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: June 12, 2005 at 20:53:10 GMT</p></small></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="SignedInteger.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_time/examples/general_usage_examples.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/date_time/date_time_io.html b/doc/html/date_time/date_time_io.html
new file mode 100644
index 0000000000..1ae70b3206
--- /dev/null
+++ b/doc/html/date_time/date_time_io.html
@@ -0,0 +1,2357 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Date Time Input/Output</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../date_time.html" title="Chapter 3. Boost.Date_Time">
+<link rel="prev" href="local_time.html" title="Local Time">
+<link rel="next" href="serialization.html" title="Serialization">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local_time.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../date_time.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="serialization.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="date_time.date_time_io"></a>Date Time Input/Output</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="date_time_io.html#date_time.format_flags">Format Flags</a></span></dt>
+<dt><span class="section"><a href="date_time_io.html#date_time.date_facet">Date Facet</a></span></dt>
+<dt><span class="section"><a href="date_time_io.html#date_time.date_input_facet">Date Input Facet</a></span></dt>
+<dt><span class="section"><a href="date_time_io.html#date_time.time_facet">Time Facet</a></span></dt>
+<dt><span class="section"><a href="date_time_io.html#date_time.time_input_facet">Time Input Facet</a></span></dt>
+<dt><span class="section"><a href="date_time_io.html#date_time.io_objects">Date Time Formatter/Parser Objects</a></span></dt>
+<dt><span class="section"><a href="date_time_io.html#date_time.io_tutorial">Date Time IO Tutorial</a></span></dt>
+</dl></div>
+<h2>
+<a name="id2592633"></a>Date Time IO System</h2>
+<p><a href="date_time_io.html#streaming_exceptions">Exception Handling on Streams</a></p>
+<p>As of version 1.33, the date_time library utilizes a new IO streaming system. This new system gives the user great control over how dates and times can be represented. The customization options can be broken down into two groups: format flags and string elements. Format flags provide flexibility in the order of the date elements as well as the type. Customizing the string elements allows the replacement of built in strings from month names, weekday names, and other strings used in the IO.</p>
+<p>The output system is based on a date_facet (derived from std::facet), while the input system is based on a date_input_facet (also derived from std::facet). The time and local_time facets are derived from these base types. The output system utilizes three formatter objects, whereas the input system uses four parser objects. These formatter and parser objetcs are also customizable.</p>
+<p>It is important to note, that while all the examples shown here use narrow streams, there are wide stream facets available as well (see <a href="date_time_io.html#io_objects_table">IO Objects</a> for a complete list).</p>
+<p>It should be further noted that not all compilers are capable of using this IO system. For those compilers the IO system used in previous <code class="computeroutput">date_time</code> versions is still available. The "legacy IO" is automatically selected for these compilers, however, the legacy IO system can be manually selected by defining <code class="computeroutput">USE_DATE_TIME_PRE_1_33_FACET_IO</code>. See the <a href="details.html#date_time.buildinfo" title="Build-Compiler Information">Build-Compiler Information</a> for more information.</p>
+<a name="streaming_exceptions"></a><h5>
+<a name="id2592713"></a>Exception Handling on Streams</h5>
+<p>When an error occurs during the input streaming process, the <code class="computeroutput">std::ios_base::failbit</code> will (always) be set on the stream. It is also possible to have exceptions thrown when an error occurs. To "turn on" these exceptions, call the stream's <code class="computeroutput">exceptions</code> function with a parameter of <code class="computeroutput">std::ios_base::failbit</code>.</p>
+<pre class="screen">// "Turning on" exceptions
+date d(not_a_date_time);
+std::stringstream ss;
+ss.exceptions(std::ios_base::failbit);
+ss.str("204-Jan-01");
+ss &gt;&gt; d; // throws bad_year exception AND sets failbit on stream</pre>
+<h5>
+<a name="id2592751"></a>A simple example of this new system:</h5>
+<pre class="screen">//example to customize output to be "LongWeekday LongMonthname day, year"
+// "%A %b %d, %Y"
+date d(2005,Jun,25);
+date_facet* facet(new date_facet("%A %B %d, %Y"));
+std::cout.imbue(std::locale(std::cout.getloc(), facet));
+std::cout &lt;&lt; d &lt;&lt; std::endl;
+// "Saturday June 25, 2005"</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.format_flags"></a>Format Flags</h4></div></div></div>
+<p>Many of the format flags this new system uses for output are those used by <code class="computeroutput">strftime(...)</code>, but not all. Some new flags have been added, and others overridden. The input system supports only specific flags, therefore, not all flags that work for output will work with input (we are currently working to correct this situation).</p>
+<p>The following tables list the all the flags available for both date_time IO as well as strftime. Format flags marked with a single asterisk (*) have a behavior unique to date_time. Those flags marked with an exclamation point (!) are not usable for input (at this time). The first table is for dates, and the second table is for times.
+ </p>
+<p><a name="date_time_io.date_format_flags"></a>
+ Date Facet Format Flags
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Format Specifier</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%a</pre></td>
+<td>Abbreviated weekday name</td>
+</tr>
+<tr><td><pre class="screen">"Mon" =&gt; Monday</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%A</pre></td>
+<td>Long weekday name</td>
+</tr>
+<tr><td><pre class="screen">"Monday"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%b</pre></td>
+<td>Abbreviated month name</td>
+</tr>
+<tr><td><pre class="screen">"Feb" =&gt; February</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%B</pre></td>
+<td>Full month name</td>
+</tr>
+<tr><td><pre class="screen">"February"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%c !</pre></td>
+<td>The preferred date and time representation for the current locale.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%C !</pre></td>
+<td>The century number (year/100) as a 2-digit integer.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%d</pre></td>
+<td>Day of the month as decimal 01 to 31</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%D !</pre></td>
+<td>Equivalent to %m/%d/%y</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%e !</pre></td>
+<td>Like %d, the day of the month as a decimal number, but a leading zero is replaced by a space</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%G !</pre></td>
+<td>This has the same format and value as %y, except that if the ISO week number belongs to the previous or next year, that year is used instead.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%g !</pre></td>
+<td>Like %G, but without century.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%h !</pre></td>
+<td> Equivalent to %b</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%j</pre></td>
+<td>Day of year as decimal from 001 to 366 for leap years, 001 - 365 for non-leap years.</td>
+</tr>
+<tr><td><pre class="screen">"060" =&gt; Feb-29</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%m</pre></td>
+<td>Month name as a decimal 01 to 12</td>
+</tr>
+<tr><td><pre class="screen">"01" =&gt; January</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%u !</pre></td>
+<td>The day of the week as a decimal, range 1 to 7, Monday being 1.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%U</pre></td>
+<td>The week number of the current year as a decimal number, range 00 to 53, starting with the first Sunday as the first day of week 01. In 2005, Jan 1st falls on a Saturday, so therefore it falls within week 00 of 2005 (week 00 spans 2004-Dec-26 to 2005-Jan-01. This also happens to be week 53 of 2004).</td>
+</tr>
+<tr><td><pre class="screen">date d(2005, Jan, 1); // Saturday
+ // with format %U
+ ss &lt;&lt; d; // "00"
+ d += day(1); // Sunday
+ ss &lt;&lt; d; // "01" beginning of week 1</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%V !</pre></td>
+<td>The ISO 8601:1988 week number of the current year as a decimal number, range 01 to 53, where week 1 is the first week that has at least 4 days in the current year, and with Monday as the first day of the week.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%w</pre></td>
+<td>Weekday as decimal number 0 to 6</td>
+</tr>
+<tr><td><pre class="screen">"0" =&gt; Sunday</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%W</pre></td>
+<td>Week number 00 to 53 where Monday is first day of week 1</td>
+</tr>
+<tr><td><pre class="screen">date d(2005, Jan, 2); // Sunday
+ // with format %W
+ ss &lt;&lt; d; // "00"
+ d += day(1); // Monday
+ ss &lt;&lt; d; // "01" beginning of week 1</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%x</pre></td>
+<td>Implementation defined date format from the locale.</td>
+</tr>
+<tr><td><pre class="screen">date d(2005,Oct,31);
+ date_facet* f = new date_facet("%x");
+
+ locale loc = locale(locale("en_US"), f);
+ cout.imbue(loc);
+ cout &lt;&lt; d; // "10/31/2005"
+
+ loc = locale(locale("de_DE"), f);
+ cout.imbue(loc);
+ cout &lt;&lt; d; // "31.10.2005"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%y</pre></td>
+<td>Two digit year</td>
+</tr>
+<tr><td><pre class="screen">"05" =&gt; 2005</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%Y</pre></td>
+<td>Four digit year</td>
+</tr>
+<tr><td><pre class="screen">"2005"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%Y-%b-%d</pre></td>
+<td>Default date format</td>
+</tr>
+<tr><td><pre class="screen">"2005-Apr-01"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%Y%m%d</pre></td>
+<td>ISO format</td>
+</tr>
+<tr><td><pre class="screen">"20050401"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%Y-%m-%d</pre></td>
+<td>ISO extended format</td>
+</tr>
+<tr><td><pre class="screen">"2005-04-01"</pre></td></tr>
+</tbody>
+</table></div>
+<p><a name="date_time_io.time_format_flags"></a>
+ Time Facet Format Flags
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Format Specifier</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%- *!</pre></td>
+<td>Placeholder for the sign of a duration. Only displays when the duration is negative.</td>
+</tr>
+<tr><td><pre class="screen">"-13:15:16"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%+ *!</pre></td>
+<td>Placeholder for the sign of a duration. Always displays for both positive and negative.</td>
+</tr>
+<tr><td><pre class="screen">"+13:15:16"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%f</pre></td>
+<td>Fractional seconds are always used, even when their value is zero</td>
+</tr>
+<tr><td><pre class="screen">"13:15:16.000000"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%F *</pre></td>
+<td>Fractional seconds are used only when their value is not zero.</td>
+</tr>
+<tr><td><pre class="screen">"13:15:16"
+ "05:04:03.001234"
+ </pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%I !</pre></td>
+<td>The hour as a decimal number using a 12-hour clock</td>
+</tr>
+<tr><td> </td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%k !</pre></td>
+<td>The hour (24-hour clock) as a decimal number (range 0 to 23); single digits are preceded by a blank.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%l !</pre></td>
+<td>The hour (12-hour clock) as a decimal number (range 1 to 12); single digits are preceded by a blank.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%p !</pre></td>
+<td>Either `AM' or `PM' according to the given time value, or the corresponding strings for the current locale.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%P !</pre></td>
+<td>Like %p but in lowercase: `am' or `pm' or a corresponding string for the current locale.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%r !</pre></td>
+<td>The time in a.m. or p.m. notation. In the POSIX locale this is equivalent to `%I:%M:%S %p'</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%R !</pre></td>
+<td>The time in 24-hour notation (%H:%M)</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%s *</pre></td>
+<td>Seconds with fractional seconds.</td>
+</tr>
+<tr><td><pre class="screen">"59.000000"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%S</pre></td>
+<td>Seconds only</td>
+</tr>
+<tr><td><pre class="screen">"59"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%T !</pre></td>
+<td>The time in 24-hour notation (%H:%M:%S)</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%q</pre></td>
+<td>ISO time zone (output only). This flag is ignored when using the time_facet with a ptime.</td>
+</tr>
+<tr><td><pre class="screen">"-0700" // Mountain Standard Time</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%Q</pre></td>
+<td>ISO extended time zone (output only). This flag is ignored when using the time_facet with a ptime.</td>
+</tr>
+<tr><td><pre class="screen">"-05:00" // Eastern Standard Time</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%z *!</pre></td>
+<td>Abbreviated time zone (output only). This flag is ignored when using the time_facet with a ptime.</td>
+</tr>
+<tr><td><pre class="screen">"MST" // Mountain Standard Time</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%Z *!</pre></td>
+<td>Full time zone name (output only). This flag is ignored when using the time_facet with a ptime.</td>
+</tr>
+<tr><td><pre class="screen">"EDT" // Eastern Daylight Time</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%ZP *</pre></td>
+<td>Posix time zone string (available to both input and output). This flag is ignored when using the time_facet with a ptime. For complete details on posix time zone strings, see <a href="local_time.html#date_time.local_time.posix_time_zone" title="Posix Time Zone">posix_time_zone class</a>.</td>
+</tr>
+<tr><td><pre class="screen">"EST-05EDT+01,M4.1.0/02:00,M10.5.0/02:00"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%x %X</pre></td>
+<td>Implementation defined date/time format from the locale.</td>
+</tr>
+<tr><td><pre class="screen">date d(2005,Oct,31);
+ ptime pt(d, hours(20));
+ time_facet* f = new time_facet("%x %X");
+
+ locale loc = locale(locale("en_US"), f);
+ cout.imbue(loc);
+ cout &lt;&lt; pt; // "10/31/2005 08:00:00 PM"
+
+ loc = locale(locale("de_DE"), f);
+ cout.imbue(loc);
+ cout &lt;&lt; pt; // "31.10.2005 20:00:00"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%Y%m%dT%H%M%S%F%q</pre></td>
+<td>ISO format</td>
+</tr>
+<tr><td><pre class="screen">"20051015T131211-0700"
+ // Oct 15, 2005 13:12:11 MST
+ </pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%Y-%m-%d %H:%M:%S%F%Q</pre></td>
+<td>Extended ISO format</td>
+</tr>
+<tr><td><pre class="screen">"2005-10-15 13:12:11-07:00"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%Y-%b-%d %H:%M:%S%F %z</pre></td>
+<td>Default format used when outputting ptime and local_date_time.</td>
+</tr>
+<tr><td><pre class="screen">"2005-Oct-15 13:12:11 MST"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%Y-%b-%d %H:%M:%S%F %ZP</pre></td>
+<td>Default format used when inputting ptime and local_date_time.</td>
+</tr>
+<tr><td><pre class="screen">"2005-Oct-15 13:12:11 MST-07"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%-%H:%M:%S%F !</pre></td>
+<td>Default time_duration format for output. Sign will only be displayed for negative durations.</td>
+</tr>
+<tr><td><pre class="screen">"-13:14:15.003400"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">%H:%M:%S%F</pre></td>
+<td>Default time_duration format for input.</td>
+</tr>
+<tr><td><pre class="screen">"13:14:15.003400"</pre></td></tr>
+</tbody>
+</table></div>
+<p>* Signifies flags that have a behavior unique to <code class="computeroutput">date_time</code>.</p>
+<p>! Signifies flags that currently do not work for input.</p>
+</div>
+<p>The following table lists the available facets.</p>
+<a name="io_objects_table"></a><h3>
+<a name="id2593963"></a>IO Objects</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Output</th>
+<th>Input</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput"><a href="../date_facet.html" title="Class template date_facet">date_facet</a></code></td>
+<td><code class="computeroutput"><a href="../date_input_facet.html" title="Class template date_input_facet">date_input_facet</a></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><a href="../date_facet.html" title="Class template date_facet">wdate_facet</a></code></td>
+<td><code class="computeroutput"><a href="../date_input_facet.html" title="Class template date_input_facet">wdate_input_facet</a></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><a href="../time_facet.html" title="Class template time_facet">time_facet</a></code></td>
+<td><code class="computeroutput"><a href="../time_input_facet.html" title="Class template time_input_facet">time_input_facet</a></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><a href="../time_facet.html" title="Class template time_facet">wtime_facet</a></code></td>
+<td><code class="computeroutput"><a href="../time_input_facet.html" title="Class template time_input_facet">wtime_input_facet</a></code></td>
+</tr>
+<tr>
+<td>
+<code class="computeroutput"><a href="../time_facet.html" title="Class template time_facet">local_time_facet</a></code>*</td>
+<td>
+<code class="computeroutput"><a href="../time_input_facet.html" title="Class template time_input_facet">local_time_input_facet</a></code>*</td>
+</tr>
+<tr>
+<td>
+<code class="computeroutput"><a href="../time_facet.html" title="Class template time_facet">wlocal_time_facet</a></code>*</td>
+<td>
+<code class="computeroutput"><a href="../time_input_facet.html" title="Class template time_input_facet">wlocal_time_input_facet</a></code>*</td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ * These links lead to the <code class="computeroutput">time_facet</code> and <code class="computeroutput">time_input_facet</code> reference sections. They are not actual classes but typedefs.
+ </p>
+<h3>
+<a name="id2594135"></a>Formatter/Parser Objects</h3>
+<p>To implement the new i/o facets the date-time library uses a number of new parsers and formatters. These classes are available for users that want to implement specialized input/output routines.</p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Output</th>
+<th>Input</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput"><a href="../period_formatter.html" title="Class template period_formatter">period_formatter</a></code></td>
+<td><code class="computeroutput"><a href="../period_parser.html" title="Class template period_parser">period_parser</a></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><a href="../date_generator_formatter.html" title="Class template date_generator_formatter">date_generator_formatter</a></code></td>
+<td><code class="computeroutput"><a href="../date_generator_parser.html" title="Class template date_generator_parser">date_generator_parser</a></code></td>
+</tr>
+<tr>
+<td><code class="computeroutput"><a href="../special_values_formatter.html" title="Class template special_values_formatter">special_values_formatter</a></code></td>
+<td><code class="computeroutput"><a href="../special_values_parser.html" title="Class template special_values_parser">special_values_parser</a></code></td>
+</tr>
+<tr>
+<td> </td>
+<td><code class="computeroutput"><a href="../format_date_parser.html" title="Class template format_date_parser">format_date_parser</a></code></td>
+</tr>
+</tbody>
+</table></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.date_facet"></a>Date Facet</h4></div></div></div>
+<a href="date_time_io.html#date_facet_intro">Introduction</a> -
+ <a href="date_time_io.html#date_facet_constr">Construction</a> -
+ <a href="date_time_io.html#date_facet_accessors">Accessors</a><a name="date_facet_intro"></a><h3>
+<a name="id2594288"></a>Introduction</h3>
+<p>The <code class="computeroutput">boost::date_time::date_facet</code> enables users to have significant control over the output streaming of dates (and other gregorian objects). The date_facet is typedef'd in the <code class="computeroutput">gregorian</code> namespace as <code class="computeroutput">date_facet</code> and <code class="computeroutput">wdate_facet</code>.
+ </p>
+<a name="date_facet_constr"></a><h3>
+<a name="id2594326"></a>Construction</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Syntax</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td valign="top"><pre class="screen">date_facet()</pre></td>
+<td>Default constructor</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">date_facet(...)
+ Parameters:
+ char_type* format
+ input_collection_type</pre></td>
+<td>Format given will be used for date output. All other formats will use their defaults. Collection is the set of short names to be used for months. All other name collections will use their defaults.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">date_facet(...)
+ Parameters:
+ char_type* format
+ period_formatter_type
+ special_values_formatter_type
+ date_gen_formatter_type</pre></td>
+<td>Format given will be used for date output. The remaining parameters are formatter objects. Further details on these objects can be found <a href="date_time_io.html#date_time.io_objects" title="Date Time Formatter/Parser Objects">here</a>. This constructor also provides default arguments for all parameters except the format. Therefore, <code class="computeroutput">date_facet("%m %d %Y")</code> will work.</td>
+</tr>
+</tbody>
+</table></div>
+<a name="date_facet_accessors"></a><h3>
+<a name="id2594410"></a>Accessors</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void format(char_type*)</pre></td>
+<td>Set the format for dates.</td>
+</tr>
+<tr><td><pre class="screen">date_facet* f = new date_facet();
+f-&gt;format("%m %d %Y");</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void set_iso_format()</pre></td>
+<td>Sets the date format to ISO</td>
+</tr>
+<tr><td><pre class="screen">f-&gt;set_iso_format();
+// "%Y%m%d"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void set_iso_extended_format()</pre></td>
+<td>Sets the date format to ISO Extended</td>
+</tr>
+<tr><td><pre class="screen">f-&gt;set_iso_extended_format();
+// "%Y-%m-%d"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void month_format(char_type*)</pre></td>
+<td>Set the format for months when they are 'put' individually.</td>
+</tr>
+<tr><td><pre class="screen">f-&gt;month_format("%B");
+ss &lt;&lt; greg_month(12); // "December"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void weekday_format(char_type*)</pre></td>
+<td>Set the format for weekdays when they are 'put' individually.</td>
+</tr>
+<tr><td><pre class="screen">f-&gt;weekday_format("%a");
+ss &lt;&lt; greg_weekday(2); // "Tue"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void period_formatter(...)
+ Parameter:
+ period_formatter_type</pre></td>
+<td>Replaces the period formatter object with a user created one.</td>
+</tr>
+<tr><td>see the <a href="date_time_io.html#date_time.io_tutorial" title="Date Time IO Tutorial">tutorial</a> for a complete example.</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void special_values_formatter(...)
+ Parameter:
+ special_values_formatter_type</pre></td>
+<td>Replaces the special_values formatter object with a user created one.</td>
+</tr>
+<tr><td>see the <a href="date_time_io.html#date_time.io_tutorial" title="Date Time IO Tutorial">tutorial</a> for a complete example.</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void date_gen_phrase_strings(...)
+ Parameters:
+ input_collection_type
+ date_gen_formatter_type::
+ phrase_elements</pre></td>
+<td>Sets new date generator phrase strings in date_gen_formatter. The input collection is a vector of strings (for details on these strings see <a href="date_time_io.html#io_objects.date_generators">date generator formatter/parser documentation</a>). The phrase_elements parameter is an enum, defined in the date_generator_formatter object, that has a default value of 'first'. It is used to indicate what the position of the first string in the collection will be.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void short_weekday_names(...)
+ Parameter:
+ input_collection_type</pre></td>
+<td>Replace strings used when 'putting' short weekdays.</td>
+</tr>
+<tr><td>see the <a href="date_time_io.html#date_time.io_tutorial" title="Date Time IO Tutorial">tutorial</a> for a complete example.</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void long_weekday_names(...)
+ Parameter:
+ input_collection_type</pre></td>
+<td>Replace strings used when 'putting' long weekdays.</td>
+</tr>
+<tr><td>see the <a href="date_time_io.html#date_time.io_tutorial" title="Date Time IO Tutorial">tutorial</a> for a complete example.</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void short_month_names(...)
+ Parameter:
+ input_collection_type</pre></td>
+<td>Replace strings used when 'putting' short months.</td>
+</tr>
+<tr><td>see the <a href="date_time_io.html#date_time.io_tutorial" title="Date Time IO Tutorial">tutorial</a> for a complete example.</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void long_month_names(...)
+ Parameter:
+ input_collection_type</pre></td>
+<td>Replace strings used when 'putting' long months.</td>
+</tr>
+<tr><td>see the <a href="date_time_io.html#date_time.io_tutorial" title="Date Time IO Tutorial">tutorial</a> for a complete example.</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">OutItrT put(...)
+ Common parameters for all
+ 'put' functions:
+ OutItrT
+ ios_base
+ char_type
+ Unique parameter for 'put' funcs:
+ gregorian object</pre></td>
+<td>There are 12 put functions in the date_facet. The common paraeters are: an iterator pointing to the next item in the stream, an ios_base object, and the fill character. Each unique gregorian object has it's own put function. Each unique put function is described below.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">OutItrT put(..., date)</pre></td>
+<td>Puts a date object into the stream using the format set by <code class="computeroutput">format(...)</code> or the default.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">OutItrT put(..., days)</pre></td>
+<td>Puts a days object into the stream as a number.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">OutItrT put(..., month)</pre></td>
+<td>Puts a month object into the stream using the format set by <code class="computeroutput">month_format(...)</code> or the default.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">OutItrT put(..., day)</pre></td>
+<td>Puts a day of month object into the stream as a two digit number.</td>
+</tr>
+<tr><td><pre class="screen">"01" // January 1st</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">OutItrT put(..., day_of_week)</pre></td>
+<td>Puts a day of week object into the stream using the format set by <code class="computeroutput">weekday_format(...)</code> or the default.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">OutItrT put(..., date_period)</pre></td>
+<td>Puts a date_period into the stream. The format of the dates will use the format set by <code class="computeroutput">format(..)</code> or the default date format. The type of period (open or closed range) and the delimiters used are those used by the period_formatter.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">OutItrT put(..., partial_date)</pre></td>
+<td>Puts a partial_date date_generator object into the stream. The month format used is set by <code class="computeroutput">month_format(..)</code> or the default. The day of month is represented as a two digit number.</td>
+</tr>
+<tr><td><pre class="screen">"01 Jan" // default formats
+"01 January" // long month format</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">OutItrT put(..., date_generator)
+ Date Generator Type:
+ nth_day_of_the_week_in_month</pre></td>
+<td>Puts a nth_day_of_the_week_in_month object into the stream. The month format is set by <code class="computeroutput">month_format(...)</code> or the default. The weekday format is set by <code class="computeroutput">weekday_format(...)</code> or the default. The remaining phrase elements are set in the <a href="date_time_io.html#io_objects.date_generators">date_generator_formatter</a>.</td>
+</tr>
+<tr><td><pre class="screen">"third Fri in May" // defaults</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">OutItrT put(..., date_generator)
+ Date Generator Type:
+ first_day_of_the_week_in_month</pre></td>
+<td>Puts a first_day_of_the_week_in_month object into the stream. The month format is set by <code class="computeroutput">month_format(...)</code> or the default. The weekday format is set by <code class="computeroutput">weekday_format(...)</code> or the default. The remaining phrase elements are set in the <a href="date_time_io.html#io_objects.date_generators">date_generator_formatter</a>.</td>
+</tr>
+<tr><td><pre class="screen">"first Wed of Jun" // defaults</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">OutItrT put(..., date_generator)
+ Date Generator Type:
+ last_day_of_the_week_in_month</pre></td>
+<td>Puts a last_day_of_the_week_in_month object into the stream. The month format is set by <code class="computeroutput">month_format(...)</code> or the default. The weekday format is set by <code class="computeroutput">weekday_format(...)</code> or the default. The remaining phrase elements are set in the <a href="date_time_io.html#io_objects.date_generators">date_generator_formatter</a>.</td>
+</tr>
+<tr><td><pre class="screen">"last Tue of Mar" // defaults</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">OutItrT put(..., date_generator)
+ Date Generator Type:
+ first_day_of_the_week_after</pre></td>
+<td>Puts a first_day_of_the_week_after object into the stream. The weekday format is set by <code class="computeroutput">weekday_format(...)</code> or the default. The remaining phrase elements are set in the <a href="date_time_io.html#io_objects.date_generators">date_generator_formatter</a>.</td>
+</tr>
+<tr><td><pre class="screen">"first Sat after" // defaults</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">OutItrT put(..., date_generator)
+ Date Generator Type:
+ first_day_of_the_week_before</pre></td>
+<td>Puts a first_day_of_the_week_before object into the stream. The weekday format is set by <code class="computeroutput">weekday_format(...)</code> or the default. The remaining phrase elements are set in the <a href="date_time_io.html#io_objects.date_generators">date_generator_formatter</a>.</td>
+</tr>
+<tr><td><pre class="screen">"first Mon before" // defaults</pre></td></tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.date_input_facet"></a>Date Input Facet</h4></div></div></div>
+<a href="date_time_io.html#date_input_facet_intro">Introduction</a> -
+ <a href="date_time_io.html#date_input_facet_constr">Construction</a> -
+ <a href="date_time_io.html#date_input_facet_accessors">Accessors</a><a name="date_input_facet_intro"></a><h3>
+<a name="id2595197"></a>Introduction</h3>
+<p>The <code class="computeroutput">boost::date_time::date_input_facet</code> enables users to have significant control how dates (and other gregorian objects) are streamed in. The date_input_facet is typedef'd in the <code class="computeroutput">gregorian</code> namespace as <code class="computeroutput">date_input_facet</code> and <code class="computeroutput">wdate_input_facet</code>.
+ </p>
+<a name="date_input_facet_constr"></a><h3>
+<a name="id2595236"></a>Construction</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Syntax</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td valign="top"><pre class="screen">date_input_facet()</pre></td>
+<td>Default constructor</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">date_input_facet(string_type format)</pre></td>
+<td>Format given will be used for date input. All other formats will use their defaults.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">date_input_facet(...)
+ Parameters:
+ string_type format
+ format_date_parser_type
+ special_values_parser_type
+ period_parser_type
+ date_gen_parser_type</pre></td>
+<td>Format given will be used for date input. The remaining parameters are parser objects. Further details on these objects can be found <a href="date_time_io.html#date_time.io_objects" title="Date Time Formatter/Parser Objects">here</a>.</td>
+</tr>
+</tbody>
+</table></div>
+<a name="date_input_facet_accessors"></a><h3>
+<a name="id2595309"></a>Accessors</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void format(char_type*)</pre></td>
+<td>Set the format for dates.</td>
+</tr>
+<tr><td><pre class="screen">date_input_facet* f =
+ new date_input_facet();
+f-&gt;format("%m %d %Y");</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void set_iso_format()</pre></td>
+<td>Sets the date format to ISO</td>
+</tr>
+<tr><td><pre class="screen">f-&gt;set_iso_format();
+// "%Y%m%d"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void set_iso_extended_format()</pre></td>
+<td>Sets the date format to ISO Extended</td>
+</tr>
+<tr><td><pre class="screen">f-&gt;set_iso_extended_format();
+// "%Y-%m-%d"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void month_format(char_type*)</pre></td>
+<td>Set the format when 'get'ing months individually.</td>
+</tr>
+<tr><td><pre class="screen">f-&gt;month_format("%B");
+ss.str("March");
+ss &gt;&gt; m; // March</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void weekday_format(char_type*)</pre></td>
+<td>Set the format when 'get'ing weekdays individually.</td>
+</tr>
+<tr><td><pre class="screen">f-&gt;weekday_format("%a");
+ss.str("Sun");
+ss &gt;&gt; wd; // Sunday</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void year_format(char_type*)</pre></td>
+<td>Set the format when 'get'ing years individually.</td>
+</tr>
+<tr><td><pre class="screen">f-&gt;weekday_format("%y");
+ss.str("04");
+ss &gt;&gt; year; // 2004</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void period_parser(...)
+ Parameter:
+ period_parser_type</pre></td>
+<td>Replaces the period parser object with a user created one.</td>
+</tr>
+<tr><td>see the <a href="date_time_io.html#date_time.io_tutorial" title="Date Time IO Tutorial">tutorial</a> for a complete example.</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void special_values_parser(...)
+ Parameter:
+ special_values_parser_type</pre></td>
+<td>Replaces the special_values parser object with a user created one.</td>
+</tr>
+<tr><td>see the <a href="date_time_io.html#date_time.io_tutorial" title="Date Time IO Tutorial">tutorial</a> for a complete example.</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void date_gen_phrase_strings(...)
+ Parameters:
+ input_collection_type</pre></td>
+<td>Sets new date generator phrase strings in date_gen_parser. The input collection is a vector of strings (for details on these strings see <a href="date_time_io.html#io_objects.date_generators">date generator formatter/parser documentation</a>).</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void short_weekday_names(...)
+ Parameter:
+ input_collection_type</pre></td>
+<td>Replace strings used when 'getting' short weekdays.</td>
+</tr>
+<tr><td>see the <a href="date_time_io.html#date_time.io_tutorial" title="Date Time IO Tutorial">tutorial</a> for a complete example.</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void long_weekday_names(...)
+ Parameter:
+ input_collection_type</pre></td>
+<td>Replace strings used when 'getting' long weekdays.</td>
+</tr>
+<tr><td>see the <a href="date_time_io.html#date_time.io_tutorial" title="Date Time IO Tutorial">tutorial</a> for a complete example.</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void short_month_names(...)
+ Parameter:
+ input_collection_type</pre></td>
+<td>Replace strings used when 'getting' short months.</td>
+</tr>
+<tr><td>see the <a href="date_time_io.html#date_time.io_tutorial" title="Date Time IO Tutorial">tutorial</a> for a complete example.</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void long_month_names(...)
+ Parameter:
+ input_collection_type</pre></td>
+<td>Replace strings used when 'getting' long months.</td>
+</tr>
+<tr><td>see the <a href="date_time_io.html#date_time.io_tutorial" title="Date Time IO Tutorial">tutorial</a> for a complete example.</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">InItrT get(...)
+ Common parameters for all
+ 'get' functions:
+ InItrT from
+ InItrT to
+ ios_base
+ Unique parameter for 'get' funcs:
+ gregorian object</pre></td>
+<td>There are 13 get functions in the date_input_facet. The common parameters are: an iterator pointing to the begining of the stream, an iterator pointing to the end of the stream, and an ios_base object. Each unique gregorian object has it's own get function. Each unique get function is described below.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">InItrT get(..., date)</pre></td>
+<td>Gets a date object from the stream using the format set by <code class="computeroutput">format(...)</code> or the default.</td>
+</tr>
+<tr><td><pre class="screen">ss.str("2005-Jan-01");
+ss &gt;&gt; d; // default format</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">InItrT get(..., month)</pre></td>
+<td>Gets a month object from the stream using the format set by <code class="computeroutput">month_format(...)</code> or the default.</td>
+</tr>
+<tr><td><pre class="screen">ss.str("Feb");
+ss &gt;&gt; m; // default format</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">InItrT get(..., day_of_week)</pre></td>
+<td>Gets a day of week object from the stream using the format set by <code class="computeroutput">weekday_format(...)</code> or the default.</td>
+</tr>
+<tr><td><pre class="screen">ss.str("Sun");
+ss &gt;&gt; dow; // default format</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">InItrT get(..., day)</pre></td>
+<td>Gets a day of month object from the stream as a two digit number.</td>
+</tr>
+<tr><td><pre class="screen">"01" // January 1st</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">InItrT get(..., year)</pre></td>
+<td>Gets a year object from the stream as a number. The number of expected digits depends on the year format.</td>
+</tr>
+<tr><td><pre class="screen">ss/str("2005");
+ss &gt;&gt; y; // default format</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">InItrT get(..., days)</pre></td>
+<td>Gets a days object from the stream as a number.</td>
+</tr>
+<tr><td><pre class="screen">ss.str("356");
+ss &gt;&gt; dys; // a full year</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">InItrT get(..., date_period)</pre></td>
+<td>Gets a date_period from the stream. The format of the dates will use the format set by <code class="computeroutput">format(..)</code> or the default date format. The type of period (open or closed range) and the delimiters used are those used by the period_parser.</td>
+</tr>
+<tr><td>see the <a href="date_time_io.html#date_time.io_tutorial" title="Date Time IO Tutorial">tutorial</a> for a complete example.</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">InItrT get(..., partial_date)</pre></td>
+<td>Gets a partial_date date_generator object from the stream. The month format used is set by <code class="computeroutput">month_format(..)</code> or the default. The day of month is represented as a two digit number.</td>
+</tr>
+<tr><td><pre class="screen">"01 Jan" // default formats
+"01 January" // long month format</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">InItrT get(..., date_generator)
+ Date Generator Type:
+ nth_day_of_the_week_in_month</pre></td>
+<td>Gets a nth_day_of_the_week_in_month object from the stream. The month format is set by <code class="computeroutput">month_format(...)</code> or the default. The weekday format is set by <code class="computeroutput">weekday_format(...)</code> or the default. The remaining phrase elements are set in the <a href="date_time_io.html#io_objects.date_generators">date_generator_parser</a>.</td>
+</tr>
+<tr><td><pre class="screen">"third Fri in May" // defaults</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">InItrT get(..., date_generator)
+ Date Generator Type:
+ first_day_of_the_week_in_month</pre></td>
+<td>Gets a first_day_of_the_week_in_month object from the stream. The month format is set by <code class="computeroutput">month_format(...)</code> or the default. The weekday format is set by <code class="computeroutput">weekday_format(...)</code> or the default. The remaining phrase elements are set in the <a href="date_time_io.html#io_objects.date_generators">date_generator_parser</a>.</td>
+</tr>
+<tr><td><pre class="screen">"first Wed of Jun" // defaults</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">InItrT get(..., date_generator)
+ Date Generator Type:
+ last_day_of_the_week_in_month</pre></td>
+<td>Gets a last_day_of_the_week_in_month object from the stream. The month format is set by <code class="computeroutput">month_format(...)</code> or the default. The weekday format is set by <code class="computeroutput">weekday_format(...)</code> or the default. The remaining phrase elements are set in the <a href="date_time_io.html#io_objects.date_generators">date_generator_parser</a>.</td>
+</tr>
+<tr><td><pre class="screen">"last Tue of Mar" // defaults</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">InItrT get(..., date_generator)
+ Date Generator Type:
+ first_day_of_the_week_after</pre></td>
+<td>Gets a first_day_of_the_week_after object from the stream. The weekday format is set by <code class="computeroutput">weekday_format(...)</code> or the default. The remaining phrase elements are set in the <a href="date_time_io.html#io_objects.date_generators">date_generator_parser</a>.</td>
+</tr>
+<tr><td><pre class="screen">"first Sat after" // defaults</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">InItrT get(..., date_generator)
+ Date Generator Type:
+ first_day_of_the_week_before</pre></td>
+<td>Gets a first_day_of_the_week_before object from the stream. The weekday format is set by <code class="computeroutput">weekday_format(...)</code> or the default. The remaining phrase elements are set in the <a href="date_time_io.html#io_objects.date_generators">date_generator_parser</a>.</td>
+</tr>
+<tr><td><pre class="screen">"first Mon before" // defaults</pre></td></tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.time_facet"></a>Time Facet</h4></div></div></div>
+<a href="date_time_io.html#time_facet_intro">Introduction</a> -
+ <a href="date_time_io.html#time_facet_constr">Construction</a> -
+ <a href="date_time_io.html#time_facet_accessors">Accessors</a><a name="time_facet_intro"></a><h3>
+<a name="id2596154"></a>Introduction</h3>
+<p>The <code class="computeroutput">boost::date_time::time_facet</code> is an extension of the <code class="computeroutput">boost::date_time::date_facet</code>. The time_facet is typedef'ed in the <code class="computeroutput">posix_time</code> namespace as <code class="computeroutput">time_facet</code> and <code class="computeroutput">wtime_facet</code>. It is typedef'd in the <code class="computeroutput">local_time</code> namespace as <code class="computeroutput">local_time_facet</code> and <code class="computeroutput">wlocal_time_facet</code>.
+ </p>
+<a name="time_facet_constr"></a><h3>
+<a name="id2596216"></a>Construction</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Syntax</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td valign="top"><pre class="screen">time_facet()</pre></td>
+<td>Default constructor</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">time_facet(...)
+ Parameters:
+ char_type* format
+ period_formatter_type
+ special_values_formatter_type
+ date_gen_formatter_type</pre></td>
+<td>Format given will be used for time output. The remaining parameters are formatter objects. Further details on these objects can be found <a href="date_time_io.html#date_time.io_objects" title="Date Time Formatter/Parser Objects">here</a>. This constructor also provides default arguments for all parameters except the format. Therefore, <code class="computeroutput">time_facet("%H:%M:S %m %d %Y")</code> will work.</td>
+</tr>
+</tbody>
+</table></div>
+<a name="time_facet_accessors"></a><h3>
+<a name="id2596284"></a>Accessors</h3>
+<p>
+ The time_facet inherits all the public date_facet methods. Therefore, the date_facet methods are not listed here. Instead, they can be found by following <a href="date_time_io.html#date_time.date_facet" title="Date Facet">this</a> link.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void time_duration_format(...)
+ Parameter:
+ char_type*</pre></td>
+<td>Sets the time_duration format. The time_duration format has the ability to display the sign of the duration. The <code class="computeroutput">'%+'</code> flag will always display the sign. The <code class="computeroutput">'%-'</code> will only display if the sign is negative. Currently the '-' and '+' characters are used to denote the sign.</td>
+</tr>
+<tr><td><pre class="screen">f-&gt;time_duration_format("%+%H:%M");
+// hours and minutes only w/ sign always displayed
+time_duration td1(3, 15, 56);
+time_duration td2(-12, 25, 32);
+ss &lt;&lt; td1; // "+03:15:56"
+ss &lt;&lt; td2; // "-12:25:56"
+ </pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void set_iso_format()</pre></td>
+<td>Sets the date and time format to ISO.</td>
+</tr>
+<tr><td><pre class="screen">f-&gt;set_iso_format();
+// "%Y%m%dT%H%M%S%F%q"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void set_iso_extended_format()</pre></td>
+<td>Sets the date and time format to ISO Extended</td>
+</tr>
+<tr><td><pre class="screen">f-&gt;set_iso_extended_format();
+// "%Y-%m-%d %H:%M:%S%F%Q"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">OutItrT put(...)
+ Common parameters for all
+ 'put' functions:
+ OutItrT
+ ios_base
+ char_type
+ Unique parameter for 'put' funcs:
+ posix_time object</pre></td>
+<td>There are 3 put functions in the time_facet. The common parameters are: an iterator pointing to the next item in the stream, an ios_base object, and the fill character. Each unique posix_time object has it's own put function. Each unique put function is described below.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">OutItrT put(..., ptime)</pre></td>
+<td>Puts a ptime object into the stream using the format set by <code class="computeroutput">format(...)</code> or the default.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">OutItrT put(..., time_duration)</pre></td>
+<td>Puts a time_duration object into the stream using the format set by <code class="computeroutput">time_duration_format(...)</code> or the default.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">OutItrT put(..., time_period)</pre></td>
+<td>Puts a time_period into the stream. The format of the dates and times will use the format set by <code class="computeroutput">format(..)</code> or the default date/time format. The type of period (open or closed range) and the delimiters used are those used by the period_formatter.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.time_input_facet"></a>Time Input Facet</h4></div></div></div>
+<a href="date_time_io.html#time_input_facet_intro">Introduction</a> -
+ <a href="date_time_io.html#time_input_facet_constr">Construction</a> -
+ <a href="date_time_io.html#time_input_facet_accessors">Accessors</a><a name="time_input_facet_intro"></a><h3>
+<a name="id2596556"></a>Introduction</h3>
+<p>The <code class="computeroutput">boost::date_time::time_input_facet</code> is an extension of the <code class="computeroutput">date_input_facet</code>. It is typedef'ed in the <code class="computeroutput">boost::posix_time</code> namespace as <code class="computeroutput">time_input_facet</code> and <code class="computeroutput">wtime_input_facet</code>. It is typedef'ed in the <code class="computeroutput">boost::local_time</code> namespace as <code class="computeroutput">local_time_input_facet</code> and <code class="computeroutput">wlocal_time_input_facet</code>.
+ </p>
+<a name="time_input_facet_constr"></a><h3>
+<a name="id2596619"></a>Construction</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Syntax</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td valign="top"><pre class="screen">time_input_facet()</pre></td>
+<td>Default constructor</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">time_input_facet(string_type)</pre></td>
+<td>Format given will be used for date/time input. All other formats will use their defaults.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">time_input_facet(...)
+ Parameters:
+ string_type format
+ format_date_parser_type
+ special_values_parser_type
+ period_parser_type
+ date_gen_parser_type</pre></td>
+<td>Format given will be used for date/time input. The remaining parameters are parser objects. Further details on these objects can be found <a href="date_time_io.html#date_time.io_objects" title="Date Time Formatter/Parser Objects">here</a>.</td>
+</tr>
+</tbody>
+</table></div>
+<a name="time_input_facet_accessors"></a><h3>
+<a name="id2596692"></a>Accessors</h3>
+<p>
+ The time_input_facet inherits all the public date_input_facet methods. Therefore, the date_input_facet methods are not listed here. Instead, they can be found by following <a href="date_time_io.html#date_time.date_input_facet" title="Date Input Facet">this</a> link.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void set_iso_format()</pre></td>
+<td>Sets the time format to ISO</td>
+</tr>
+<tr><td><pre class="screen">f-&gt;set_iso_format();
+// "%Y%m%dT%H%M%S%F%q"
+"20051225T132536.789-0700"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void set_iso_extended_format()</pre></td>
+<td>Sets the date format to ISO Extended</td>
+</tr>
+<tr><td><pre class="screen">f-&gt;set_iso_extended_format();
+// "%Y-%m-%d %H:%M:%S%F %Q"
+"2005-12-25 13:25:36.789 -07:00"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void time_duration_format(...)
+ Parameter:
+ char_type*</pre></td>
+<td>Sets the time_duration format.</td>
+</tr>
+<tr><td><pre class="screen">f-&gt;time_duration_format("%H:%M");
+// hours and minutes only</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">InItrT get(...)
+ Common parameters for all
+ 'get' functions:
+ InItrT from
+ InItrT to
+ ios_base
+ Unique parameter for 'get' funcs:
+ gregorian object</pre></td>
+<td>There are 3 get functions in the time_input_facet. The common parameters are: an iterator pointing to the begining of the stream, an iterator pointing to the end of the stream, and an ios_base object. Each unique gregorian object has it's own get function. Each unique get function is described below.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">InItrT get(..., ptime)</pre></td>
+<td>Gets a ptime object from the stream using the format set by <code class="computeroutput">format(...)</code> or the default.</td>
+</tr>
+<tr><td><pre class="screen">ss.str("2005-Jan-01 13:12:01");
+ss &gt;&gt; pt; // default format</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">InItrT get(..., time_duration)</pre></td>
+<td>Gets a time_duration object from the stream using the format set by <code class="computeroutput">time_duration_format(...)</code> or the default.</td>
+</tr>
+<tr><td><pre class="screen">ss.str("01:25:15.000123000");
+ss &gt;&gt; td; // default format</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">InItrT get(..., time_period)</pre></td>
+<td>Gets a time_period from the stream. The format of the dates/times will use the format set by <code class="computeroutput">format(..)</code> or the default date and time format. The type of period (open or closed range) and the delimiters used are those used by the period_parser.</td>
+</tr>
+<tr><td>see the <a href="date_time_io.html#date_time.io_tutorial" title="Date Time IO Tutorial">tutorial</a> for a complete example.</td></tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.io_objects"></a>Date Time Formatter/Parser Objects</h4></div></div></div>
+<h2>
+<a name="id2596929"></a>Date Time Formatter/Parser Objects</h2>
+<a href="date_time_io.html#io_objects.periods">Periods</a> |
+ <a href="date_time_io.html#io_objects.date_generators">Date Generators</a> |
+ <a href="date_time_io.html#io_objects.special_values">Special Values</a> |
+ <a href="date_time_io.html#io_objects.format_date_parser">Format Date Parser</a><a name="io_objects.periods"></a><h3>
+<a name="id2596972"></a>Periods</h3>
+<p>The period_formatter and period_parser provide a uniform interface for the input and output of date_periods, time_periods, and in a future release, local_date_time_periods. The user has control over the delimiters, formats of the date/time components, and the form the period takes. The format of the date/time components is controlled via the date_time input and output facets.</p>
+<h4>
+<a name="id2596985"></a>Period Form</h4>
+<p>Periods are constructed with open ranged parameters. The first value is the starting point, and is included in the period. The end value is not included but immediately follows the last value: [begin/end). However, a period can be streamed as either an open range or a closed range.</p>
+<pre class="screen">[2003-Jan-01/2003-Dec-31] &lt;-- period holding 365 days
+[2003-Jan-01/2004-Jan-01) &lt;-- period holding 365 days</pre>
+<h4>
+<a name="id2597005"></a>Delimiters</h4>
+<p>There are four delimiters. The default values are</p>
+<table class="simplelist" border="0" summary="Simple list">
+<tr><td>"\" - separator</td></tr>
+<tr><td>"[" - start delimiter</td></tr>
+<tr><td>")" - open range end delimiter</td></tr>
+<tr><td>"]" - closed range end delimiter</td></tr>
+</table>
+<p>A user can provide a custom set of delimiters. Custom delimiters may contain spaces.</p>
+<h4>
+<a name="id2597031"></a>Customization</h4>
+<p>The period form and delimiters can be set as construction parameters or by means of accessor functions. A custom period parser/formatter can then be used as a construction parameter to a new facet, or can be set in an existing facet via an accessor function.</p>
+<h4>
+<a name="id2597042"></a>Period Formatter/Parser Reference</h4>
+ The complete class reference can be found here: <code class="computeroutput"><a href="../period_formatter.html" title="Class template period_formatter">Period Formatter Doxygen Reference</a></code> and here: <code class="computeroutput"><a href="../period_parser.html" title="Class template period_parser">Period Parser Doxygen Reference</a></code><h4>
+<a name="id2597071"></a>Period Formatter Construction</h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th valign="top">Syntax</th>
+<th>Description</th>
+</tr></thead>
+<tbody><tr>
+<td valign="top"><pre class="screen">period_formatter(...)
+ Parameters:
+ range_display_options
+ char_type*
+ char_type*
+ char_type*
+ char_type*</pre></td>
+<td>NOTE: All five construction parameters have default values so this constructor also doubles as the default constructor. The <code class="computeroutput">range_display_options</code> is a public type enum of the <code class="computeroutput">period_formatter</code> class. The possible choices are AS_OPEN_RANGE or AS_CLOSED_RANGE. The closed range is the default. A period has three significant points: the begining, the last, and the end. A closed range period takes the form [begin,end), where an open range period takes the form [begin,last]. The four char_type* parameters are: the period separator, the start delimiter, the open range end delimiter, and the closed range end delimiter.</td>
+</tr></tbody>
+</table></div>
+<h4>
+<a name="id2597127"></a>Period Formatter Accessors</h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">range_display_options range_option()</pre></td>
+<td>Returns the current setting for the range display (either AS_OPEN_RANGE or AS_CLOSED_RANGE).</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void range_option(...)
+ Parameter:
+ range_display_options</pre></td>
+<td>Sets the option for range display (either AS_OPEN_RANGE or AS_CLOSED_RANGE).</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void delimiter_strings(...)
+ Parameters:
+ string_type
+ string_type
+ string_type
+ string_type</pre></td>
+<td>Set new delimiter strings in the formatter.</td>
+</tr>
+<tr><td><pre class="screen">string beg("-&gt;| ");
+string sep(" || ");
+string opn(" -&gt;|");
+string clo(" |&lt;-");
+pf.delimiter_strings(beg, sep,
+ opn, clo);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">put_period_start_delimeter(...)
+ Return Type:
+ OutItrT
+ Parameter:
+ OutItrT</pre></td>
+<td>Puts the start delimiter into the stream at position pointed to by OutItrT parameter.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">put_period_sepatator(...)
+ Return Type:
+ OutItrT
+ Parameter:
+ OutItrT</pre></td>
+<td>Puts the separator into the stream at position pointed to by OutItrT parameter.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">put_period_end_delimeter(...)
+ Return Type:
+ OutItrT
+ Parameter:
+ OutItrT</pre></td>
+<td>Puts the end delimiter into the stream at position pointed to by OutItrT parameter.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">OutItrT put_period(...)
+ Parameters:
+ OutItrT
+ ios_base
+ char_type
+ period_type
+ facet_type</pre></td>
+<td>Puts a period into the stream using the set values for delimiters, separator, and range display. The facet parameter is used to put the date (or time) objects of the period.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+</tbody>
+</table></div>
+<h4>
+<a name="id2597313"></a>Period Parser Construction</h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th valign="top">Syntax</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td valign="top"><pre class="screen">period_parser(...)
+ Parameters:
+ period_range_option
+ char_type*
+ char_type*
+ char_type*
+ char_type*</pre></td>
+<td>NOTE: All five construction parameters have default values so this constructor also doubles as the default constructor. The <code class="computeroutput">period_range_option</code> is a public type enum of the <code class="computeroutput">period_parser</code> class. The possible choices are AS_OPEN_RANGE or AS_CLOSED_RANGE. The closed range is the default. A period has three significant points: the begining, the last, and the end. A closed range period takes the form [begin,end), where an open range period takes the form [begin,last]. The four char_type* parameters are: the period separator, the start delimiter, the open range end delimiter, and the closed range end delimiter.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">period_parser(period_parser)</pre></td>
+<td>Copy constructor</td>
+</tr>
+</tbody>
+</table></div>
+<h4>
+<a name="id2597381"></a>Period Parser Accessors</h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">period_range_option range_option()</pre></td>
+<td>Returns the current setting for the period range (either AS_OPEN_RANGE or AS_CLOSED_RANGE).</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void range_option(...)
+ Parameter:
+ period_range_option </pre></td>
+<td>Sets the option for period range (either AS_OPEN_RANGE or AS_CLOSED_RANGE).</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void delimiter_strings(...)
+ Parameters:
+ string_type
+ string_type
+ string_type
+ string_type</pre></td>
+<td>Set new delimiter strings in the parser.</td>
+</tr>
+<tr><td><pre class="screen">string beg("-&gt;| ");
+string sep(" || ");
+string opn(" -&gt;|");
+string clo(" |&lt;-");
+pp.delimiter_strings(beg, sep,
+ opn, clo);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">collection_type delimiter_strings()</pre></td>
+<td>Returns the set of delimiter strings currently held in the parser.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">period_type get_period(...)
+ Parameters:
+ stream_itr_type
+ stream_itr_type
+ ios_base
+ period_type
+ duration_type
+ facet_type</pre></td>
+<td>Parses a period from the stream. The iterator parameters point to the begining and end of the stream. The duration_type is relevant to the period type, for example: A <code class="computeroutput">date_period</code> would use <code class="computeroutput">days</code> as a duration_type. The period will be parsed according to the formats and strings found in the facet parameter.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+</tbody>
+</table></div>
+<p>_____________________________________________________</p>
+<a name="io_objects.date_generators"></a><h3>
+<a name="id2597544"></a>Date Generators</h3>
+<p>The date_generator formatter and parser provide flexibility by allowing the user to use custom "phrase elements". These phrase elements are the "in-between" words in the date_generators. For example, in the date_generator "Second Monday of March", "Second" and "of" are the phrase elements, where "Monday" and "March" are the date elements. Customization of the date elements is done with the facet. The order of the date and phrase elements cannot be changed. When parsing, all elements of the date_generator phrase must parse correctly or an ios_base::failure exception will be thrown.</p>
+<h4>
+<a name="id2597561"></a>Customization</h4>
+<p>The default "phrase_strings" are:
+ </p>
+<table class="simplelist" border="0" summary="Simple list"><tr>
+<td>"first"</td>
+<td>"second"</td>
+<td>"third"</td>
+<td>"fourth"</td>
+<td>"fifth"</td>
+<td>"last"</td>
+<td>"before"</td>
+<td>"after"</td>
+<td>"of"</td>
+</tr></table>
+<p>
+ A custom set of phrase_strings must maintain this order of occurance (Ex: "1st", "2nd", "3rd", "4th", "5th", "last", "prior", "past", "in").</p>
+<p> Examples using default phrase_strings and default facet formats for weekday &amp; month: </p>
+<pre class="screen">"first Tue of Mar"</pre>
+<p>And using custom phrase_strings: </p>
+<pre class="screen">"1st Tue in Mar"</pre>
+<p>The custom set of phrase elements can be set as construction parameters or through an accessor function.A custom date_generator parser/formatter can then be used as a construction parameter to a new facet, or can be set in an existing facet via an accessor function.</p>
+<p>IMPORTANT NOTE: Prior to 1.33, partial_date was output as "1 Jan" with a single *or* double digit number for the day. The new behavior is to *always* place a double digit number for the day - "01 Jan".</p>
+<h4>
+<a name="id2597628"></a>Date Generator Reference</h4>
+ The complete class references can be found here: <code class="computeroutput"><a href="../date_generator_formatter.html" title="Class template date_generator_formatter">Date Generator Formatter Doxygen Reference</a></code> and here: <code class="computeroutput"><a href="../date_generator_parser.html" title="Class template date_generator_parser">Date Generator Parser Doxygen Reference</a></code><h4>
+<a name="id2597658"></a>Date Generator Formatter Construction</h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th valign="top">Syntax</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td valign="top"><pre class="screen">date_generator_formatter()</pre></td>
+<td>Uses the default date generator elements.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">date_generator_formatter(...)
+ Parameters:
+ string_type first_element
+ string_type second_element
+ string_type third_element
+ string_type fourth_element
+ string_type fifth_element
+ string_type last_element
+ string_type before_element
+ string_type after_element
+ string_type of_element</pre></td>
+<td>Constructs a date_generator_formatter using the given element strings.</td>
+</tr>
+</tbody>
+</table></div>
+<h4>
+<a name="id2597713"></a>Date Generator Formatter Accessors</h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void elements(...)
+ Parameters:
+ collection_type
+ phrase_elements</pre></td>
+<td>Replace the current phrase elements with a collection of new ones. The <code class="computeroutput">phrase_elements</code> parameter is an enum that indicates what the first element in the new collection is (defaults to first).</td>
+</tr>
+<tr><td><pre class="screen">// col is a collection holding
+// "final", "prior", "following",
+// and "in"
+typedef date_generator_formatter dgf;
+dgf formatter();
+formatter.elements(col, dgf::last);
+// complete elements in dgf are now:
+"first", "second", "third",
+"fourth", "fifth", "final",
+"prior", "following", and "in"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">put_partial_date(...)
+ Return Type:
+ facet_type::OutItrT
+ Parameters:
+ OutItrT next
+ ios_base
+ char_type fill
+ partial_date
+ facet_type</pre></td>
+<td>A put function for partial_date. This is a templated function that takes a facet_type as a parameter.</td>
+</tr>
+<tr><td>Put a partial_date =&gt; "dd Month".</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">put_nth_kday(...)
+ Return Type:
+ facet_type::OutItrT
+ Parameters:
+ OutItrT next
+ ios_base
+ char_type fill
+ nth_kday_type
+ facet_type</pre></td>
+<td>A put function for nth_kday_type. This is a templated function that takes a facet_type as a parameter.</td>
+</tr>
+<tr><td>Put an nth_day_of_the_week_in_month =&gt; "nth weekday of month".</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">put_first_kday(...)
+ Return Type:
+ facet_type::OutItrT
+ Parameters:
+ OutItrT next
+ ios_base
+ char_type fill
+ first_kday_type
+ facet_type</pre></td>
+<td>A put function for first_kday_type. This is a templated function that takes a facet_type as a parameter.</td>
+</tr>
+<tr><td>Put a first_day_of_the_week_in_month =&gt; "first weekday of month".</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">put_last_kday(...)
+ Return Type:
+ facet_type::OutItrT
+ Parameters:
+ OutItrT next
+ ios_base
+ char_type fill
+ last_kday_type
+ facet_type</pre></td>
+<td>A put function for last_kday_type. This is a templated function that takes a facet_type as a parameter.</td>
+</tr>
+<tr><td>Put a last_day_of_the_week_in_month =&gt; "last weekday of month".</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">put_kday_before(...)
+ Return Type:
+ facet_type::OutItrT
+ Parameters:
+ OutItrT next
+ ios_base
+ char_type fill
+ kday_before_type
+ facet_type</pre></td>
+<td>A put function for kday_before_type. This is a templated function that takes a facet_type as a parameter.</td>
+</tr>
+<tr><td>Put a first_day_of_the_week_before =&gt; "weekday before"</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">put_kday_after(...)
+ Return Type:
+ facet_type::OutItrT
+ Parameters:
+ OutItrT next
+ ios_base
+ char_type fill
+ kday_after_type
+ facet_type</pre></td>
+<td>A put function for kday_after_type. This is a templated function that takes a facet_type as a parameter.</td>
+</tr>
+<tr><td>Put a first_day_of_the_week_after =&gt; "weekday after".</td></tr>
+</tbody>
+</table></div>
+<h4>
+<a name="id2597908"></a>Date Generator Parser Construction</h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th valign="top">Syntax</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td valign="top"><pre class="screen">date_generator_parser()</pre></td>
+<td>Uses the default date generator elements.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">date_generator_parser(...)
+ Parameter:
+ date_generator_parser</pre></td>
+<td>Copy Constructor</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">date_generator_parser(...)
+ Parameters:
+ string_type first_element
+ string_type second_element
+ string_type third_element
+ string_type fourth_element
+ string_type fifth_element
+ string_type last_element
+ string_type before_element
+ string_type after_element
+ string_type of_element</pre></td>
+<td>Constructs a date_generator_parser using the given element strings.</td>
+</tr>
+</tbody>
+</table></div>
+<h4>
+<a name="id2597971"></a>Date Generator Parser Accessors</h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void element_strings(...)
+ Parameter:
+ collection_type</pre></td>
+<td>Replace the set of date generator element string with a new set.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void element_strings(...)
+ Parameters:
+ string_type first
+ string_type second
+ string_type third
+ string_type fourth
+ string_type fifth
+ string_type last
+ string_type before
+ string_type after
+ string_type of</pre></td>
+<td>Replace the set of date generator elements with new values.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">get_partial_date_type(...)
+ Return Type:
+ facet_type::partial_date_type
+ Parameters:
+ stream_itr_type next
+ stream_itr_type str_end
+ ios_base
+ facet_type</pre></td>
+<td>A templated function that parses a date_generator from the stream.</td>
+</tr>
+<tr><td>Parses a partial_date =&gt; "dd Month".</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">get_nth_kday_type(...)
+ Return Type:
+ facet_type::nth_kday_type
+ Parameters:
+ stream_itr_type next
+ stream_itr_type str_end
+ ios_base
+ facet_type</pre></td>
+<td>A templated function that parses a date_generator from the stream.</td>
+</tr>
+<tr><td>Parses an nth_day_of_the_week_in_month =&gt; "nth weekday of month".</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">get_first_kday_type(...)
+ Return Type:
+ facet_type::firat_kday_type
+ Parameters:
+ stream_itr_type next
+ stream_itr_type str_end
+ ios_base
+ facet_type</pre></td>
+<td>A templated function that parses a date_generator from the stream.</td>
+</tr>
+<tr><td>Parses a first_day_of_the_week_in_month =&gt; "first weekday of month".</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">get_last_kday_type(...)
+ Return Type:
+ facet_type::last_kday_type
+ Parameters:
+ stream_itr_type next
+ stream_itr_type str_end
+ ios_base
+ facet_type</pre></td>
+<td>A templated function that parses a date_generator from the stream.</td>
+</tr>
+<tr><td>Parses a last_day_of_the_week_in_month =&gt; "last weekday of month".</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">get_kday_before_type(...)
+ Return Type:
+ facet_type::kday_before_type
+ Parameters:
+ stream_itr_type next
+ stream_itr_type str_end
+ ios_base
+ facet_type</pre></td>
+<td>A templated function that parses a date_generator from the stream.</td>
+</tr>
+<tr><td>Parses a first_day_of_the_week_before =&gt; "weekday before"</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">get_kday_after_type(...)
+ Return Type:
+ facet_type::kday_after_type
+ Parameters:
+ stream_itr_type next
+ stream_itr_type str_end
+ ios_base
+ facet_type</pre></td>
+<td>A templated function that parses a date_generator from the stream.</td>
+</tr>
+<tr><td>Parses a first_day_of_the_week_after =&gt; "weekday after".</td></tr>
+</tbody>
+</table></div>
+<p>_____________________________________________________</p>
+<a name="io_objects.special_values"></a><h3>
+<a name="id2598180"></a>Special Values</h3>
+<p>The date_time library uses five special_values. They are:
+ </p>
+<table class="simplelist" border="0" summary="Simple list"><tr>
+<td>not_a_date_time</td>
+<td>neg_infin</td>
+<td>pos_infin</td>
+<td>min_date_time</td>
+<td>max_date_time</td>
+</tr></table>
+<p>The default set of strings used to represent these types are: "not-a-date-time", "-infinity", "+infinity", "minimum-date-time", "maximum-date-time". When output, the min_date-time and max_date_time appear as normal date/time representations: "1400-Jan-01" and "9999-Dec-31" repectively.</p>
+<h4>
+<a name="id2598212"></a>Customization</h4>
+<p>The special values parser/formatter allows the user to set custom strings for these special values. These strings can be set as construction parameters to a new facet, or can be set in an existing facet via an accessor function.</p>
+<h4>
+<a name="id2598223"></a>Special Values Formatter/Parser Reference</h4>
+ The complete class references can be found here: <code class="computeroutput"><a href="../special_values_formatter.html" title="Class template special_values_formatter">Special Values Formatter Doxygen Reference</a></code> and here: <code class="computeroutput"><a href="../special_values_parser.html" title="Class template special_values_parser">Special Values Parser Doxygen Reference</a></code><h4>
+<a name="id2598253"></a>Special Values Formatter Constructor</h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th valign="top">Syntax</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td valign="top"><pre class="screen">special_values_formatter()</pre></td>
+<td>Constructor uses defaults for special value strings.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">special_values_formatter(...)
+ Parameters:
+ collection_type::iterator
+ collection_type::iterator</pre></td>
+<td>Constructs using values in collection. NOTE: Only the first three strings of the collection will be used. Strings for minimum_date_time and maximum_date_time are ignored as those special values are output as normal dates/times.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">special_values_formatter(...)
+ Parameters:
+ char_type*
+ char_type*</pre></td>
+<td>Constructs special values formatter from an array of strings.</td>
+</tr>
+</tbody>
+</table></div>
+<h4>
+<a name="id2598317"></a>Special Values Formatter Accessors</h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">OutItrT put_special(...)
+ Parameters:
+ OutItrT next
+ special_values value</pre></td>
+<td>Puts the given special value into the stream.</td>
+</tr>
+<tr><td><pre class="screen">date d1(not_a_date_time);
+date d2(minimum_date_time);
+special_values_formatter formatter;
+formatter.put_special(itr, d1);
+// Puts: "not-a-date-time"
+formatter.put_special(itr, d2);
+// Puts: "1400-Jan-01"</pre></td></tr>
+</tbody>
+</table></div>
+<h4>
+<a name="id2598370"></a>Special Values Parser Constructor</h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th valign="top">Syntax</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td valign="top"><pre class="screen">special_values_parser()</pre></td>
+<td> </td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">special_values_parser(...)
+ Parameters:
+ collection_type::iterator
+ collection_type::iterator</pre></td>
+<td>Constructs a special values parser using the strings in the collection.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">special_values_parser(...)
+ Parameter:
+ scpecial_values_parser</pre></td>
+<td>Copy constructor.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">special_values_parser(...)
+ Parameters:
+ string_type nadt_str
+ string_type neg_inf_str
+ string_type pos_inf_str
+ string_type min_dt_str
+ string_type max_dt_str</pre></td>
+<td>Constructs a special values parser using the supplied strings.</td>
+</tr>
+</tbody>
+</table></div>
+<h4>
+<a name="id2598444"></a>Special Values Parser Accessors</h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void sv_strings(...)
+ Parameters:
+ string_type nadt_str
+ string_type neg_inf_str
+ string_type pos_inf_str
+ string_type min_dt_str
+ string_type max_dt_str</pre></td>
+<td>Replace the set of special value strings with the given ones.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool match(...)
+ Parameters:
+ stream_itr_type beg
+ stream_itr_type end
+ match_results</pre></td>
+<td>Returns true if parse was successful. Upon a successful parse, <code class="computeroutput">mr.current_match</code> will be set an int values corresponding to the equivalent special_value.</td>
+</tr>
+<tr><td><pre class="screen">// stream holds "maximum_date_time"
+typedef special_values_parser svp;
+svp parser;
+svp::match_results mr;
+if(parser.match(itr, str_end, mr)) {
+ d = date(static_cast&lt;special_values&gt;(
+ mr.match_results))
+} else {
+ // error, failed parse
+}
+// d == "9999-Dec-31"</pre></td></tr>
+</tbody>
+</table></div>
+<p>_____________________________________________________</p>
+<a name="io_objects.format_date_parser"></a><h3>
+<a name="id2598538"></a>Format Date Parser</h3>
+<p>The format date parser is the object that holds the strings for months and weekday names, as well as their abbreviations. Custom sets of strings can be set at construction time, or, the strings in an existing format_date_parser can be replaced through accessor functions. Both the constructor and the accessor functions take a vector of strings as their arguments.</p>
+<h4>
+<a name="id2598551"></a>Format Date Parser Reference</h4>
+ The complete class reference can be found here: <code class="computeroutput"><a href="../format_date_parser.html" title="Class template format_date_parser">Doxygen Reference</a></code><h4>
+<a name="id2598568"></a>Format Date Parser Constructor</h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th valign="top">Syntax</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td valign="top"><pre class="screen">format_date_parser(...)
+ Parameters:
+ string_type format
+ std::locale</pre></td>
+<td>Creates a parser that uses the given format for parsing dates (in those functions where there is no format parameter). The names and abbreviations used are extracted from the given locale.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">format_date_parser(...)
+ Parameters:
+ string_type format
+ input_collection_type
+ input_collection_type
+ input_collection_type
+ input_collection_type</pre></td>
+<td>Creates a parser from using the given components. The input_collection_type parameters are for: short month names, long month names, short weekday names, and long weekday names (in that order). These collections must contain values for every month and every weekday (begining with January and Sunday).</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">format_date_parser(...)
+ Parameters:
+ format_date_parser</pre></td>
+<td>Copy Constructor</td>
+</tr>
+</tbody>
+</table></div>
+<h4>
+<a name="id2598638"></a>Format Date Parser Accessors</h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">string_type format()</pre></td>
+<td>Returns the format that will be used when parsing dates in those functions where there is no format parameter.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void format(string_type)</pre></td>
+<td>Sets the format that will be used when parsing dates in those functions where there is no format parameter.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void short_month_names(...)
+ Parameter:
+ input_collection_type names</pre></td>
+<td>Replace the short month names used by the parser. The collection must contain values for each month, starting with January.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void long_month_names(...)
+ Parameter:
+ input_collection_type names</pre></td>
+<td>Replace the long month names used by the parser. The collection must contain values for each month, starting with January.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void short_weekday_names(...)
+ Parameter:
+ input_collection_type names</pre></td>
+<td>Replace the short weekday names used by the parser. The collection must contain values for each weekday, starting with Sunday.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void long_weekday_names(...)
+ Parameter:
+ input_collection_type names</pre></td>
+<td>Replace the long weekday names used by the parser. The collection must contain values for each weekday, starting with Sunday.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date_type parse_date(...)
+ Parameters:
+ string_type input
+ string_type format
+ special_values_parser</pre></td>
+<td>Parse a date from the given input using the given format.</td>
+</tr>
+<tr><td><pre class="screen">string inp("2005-Apr-15");
+string format("%Y-%b-%d");
+date d;
+d = parser.parse_date(inp,
+ format,
+ svp);
+// d == 2005-Apr-15</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date_type parse_date(...)
+ Parameters:
+ istreambuf_iterator input
+ istreambuf_iterator str_end
+ special_values_parser</pre></td>
+<td>Parse a date from stream using the parser's format.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date_type parse_date(...)
+ Parameters:
+ istreambuf_iterator input
+ istreambuf_iterator str_end
+ string_type format
+ special_values_parser</pre></td>
+<td>Parse a date from stream using the given format.</td>
+</tr>
+<tr><td><pre class="screen">// stream holds "2005-04-15"
+string format("%Y-%m-%d");
+date d;
+d = parser.parse_date(itr,
+ str_end,
+ format,
+ svp);
+// d == 2005-Apr-15</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">month_type parse_month(...)
+ Parameters:
+ istreambuf_iterator input
+ istreambuf_iterator str_end
+ string_type format</pre></td>
+<td>Parses a month from stream using given format. Throws bad_month if unable to parse.</td>
+</tr>
+<tr><td><pre class="screen">// stream holds "March"
+string format("%B");
+greg_month m;
+m = parser.parse_month(itr,
+ str_end,
+ format);
+// m == March</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">day_type parse_day_of_the_month(...)
+ Parameters:
+ istreambuf_iterator input
+ istreambuf_iterator str_end</pre></td>
+<td>Parses a day from stream. The day must appear as a number (1-31) or a bad_day_of_month will be thrown.</td>
+</tr>
+<tr><td><pre class="screen">// stream holds "01"
+greg_day d;
+d = parser.parse_day_of_month(itr,
+ str_end);
+// d == 1st</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">day_of_week_type parse_weekday(...)
+ Parameters:
+ istreambuf_iterator input
+ istreambuf_iterator str_end
+ string_type format</pre></td>
+<td>Parse a weekday from stream according to the given format. Throws a bad_weekday if unable to parse.</td>
+</tr>
+<tr><td><pre class="screen">// stream holds "Tue"
+string format("%a");
+greg_weekday wd;
+wd = parser.parse_weekday(itr,
+ str_end,
+ format);
+// wd == Tuesday</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">year_type parse_year(...)
+ Parameters:
+ istreambuf_iterator input
+ istreambuf_iterator str_end
+ string_type format</pre></td>
+<td>Parse a year from stream according to given format. Throws bad year if unable to parse.</td>
+</tr>
+<tr><td><pre class="screen">// stream holds "98"
+string format("%y");
+greg_year y;
+y = parser.parse_year(itr,
+ str_end,
+ format);
+// y == 1998</pre></td></tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.io_tutorial"></a>Date Time IO Tutorial</h4></div></div></div>
+<h2>
+<a name="id2598979"></a>Date Time IO Tutorial</h2>
+<a href="date_time_io.html#basic_use">Basic Use</a> |
+ <a href="date_time_io.html#format_strings">Format Strings</a> |
+ <a href="date_time_io.html#content_strings">Content Strings</a> |
+ <a href="date_time_io.html#tut_sv">Special Values</a> |
+ <a href="date_time_io.html#tut_dper">Date/Time Periods</a> |
+ <a href="date_time_io.html#tut_dgen">Date Generators</a><a name="basic_use"></a><h4>
+<a name="id2599038"></a>Basic Use</h4>
+<p>Facets are automatically imbued when operators '&gt;&gt;' and '&lt;&lt;' are called. The list of date_time objects that can be streamed are:</p>
+<h5>
+<a name="id2599050"></a>Gregorian</h5>
+<p><code class="computeroutput">date</code>,
+ <code class="computeroutput">days</code>,
+ <code class="computeroutput">date_period</code>,
+ <code class="computeroutput">greg_month</code>,
+ <code class="computeroutput">greg_weekday</code>,
+ <code class="computeroutput">greg_year</code>,
+ <code class="computeroutput">partial_date</code>,
+ <code class="computeroutput">nth_day_of_the_week_in_month</code>,
+ <code class="computeroutput">first_day_of_the_week_in_month</code>,
+ <code class="computeroutput">last_day_of_the_week_in_month</code>,
+ <code class="computeroutput">first_day_of_the_week_after</code>,
+ <code class="computeroutput">first_day_of_the_week_before</code></p>
+<h5>
+<a name="id2599128"></a>Posix_time</h5>
+<p><code class="computeroutput">ptime</code>,
+ <code class="computeroutput">time_period</code>,
+ <code class="computeroutput">time_duration</code></p>
+<h5>
+<a name="id2599151"></a>Local_time</h5>
+<p><code class="computeroutput">local_date_time</code></p>
+<p>
+ The following example is of the basic use of the new IO code, utilizing all the defaults. (this example can be found in the <code class="computeroutput">libs/date_time/examples/tutorial</code> directory)
+ </p>
+<pre class="programlisting">
+
+ date d(2004, Feb, 29);
+ time_duration td(12,34,56,789);
+ stringstream ss;
+ ss &lt;&lt; d &lt;&lt; ' ' &lt;&lt; td;
+ ptime pt(not_a_date_time);
+ cout &lt;&lt; pt &lt;&lt; endl; // "not-a-date-time"
+ ss &gt;&gt; pt;
+ cout &lt;&lt; pt &lt;&lt; endl; // "2004-Feb-29 12:34:56.000789"
+ ss.str("");
+ ss &lt;&lt; pt &lt;&lt; " EDT-05EDT,M4.1.0,M10.5.0";
+ local_date_time ldt(not_a_date_time);
+ ss &gt;&gt; ldt;
+ cout &lt;&lt; ldt &lt;&lt; endl; // "2004-Feb-29 12:34:56.000789 EDT"
+
+ </pre>
+<p>This example used the default settings for the input and output facets. The default formats are such that interoperability like that shown in the example is possible. NOTE: Input streaming of local_date_time can only be done with a <a href="local_time.html#date_time.local_time.posix_time_zone" title="Posix Time Zone">posix time zone string</a>. The default output format uses a time zone abbreviation. The format can be changed so out and in match (as we will see later in this tutorial).</p>
+<a name="format_strings"></a><h4>
+<a name="id2599206"></a>Format Strings</h4>
+<p>The format strings control the order, type, and style of the date/time elements used. The facets provide some predefined formats (iso_format_specifier, iso_format_extended_specifier, and default_date_format) but the user can easily create their own.</p>
+ (continued from previous example)
+ <pre class="programlisting">
+
+ local_time_facet* output_facet = new local_time_facet();
+ local_time_input_facet* input_facet = new local_time_input_facet();
+ ss.imbue(locale(locale::classic(), output_facet));
+ ss.imbue(locale(ss.getloc(), input_facet));
+
+ output_facet-&gt;format("%a %b %d, %H:%M %z");
+ ss.str("");
+ ss &lt;&lt; ldt;
+ cout &lt;&lt; ss.str() &lt;&lt; endl; // "Sun Feb 29, 12:34 EDT"
+
+ output_facet-&gt;format(local_time_facet::iso_time_format_specifier);
+ ss.str("");
+ ss &lt;&lt; ldt;
+ cout &lt;&lt; ss.str() &lt;&lt; endl; // "20040229T123456.000789-0500"
+
+ output_facet-&gt;format(local_time_facet::iso_time_format_extended_specifier);
+ ss.str("");
+ ss &lt;&lt; ldt;
+ cout &lt;&lt; ss.str() &lt;&lt; endl; // "2004-02-29 12:34:56.000789-05:00"
+
+ </pre>
+<p>Format strings are not limited to date/time elements. Extra verbiage can be placed in a format string. NOTE: When extra verbiage is present in an input format, the data being input must also contain the exact verbiage.</p>
+ (continued from previous example)
+ <pre class="programlisting">
+
+ // extra words in format
+ string my_format("The extended ordinal time %Y-%jT%H:%M can also be \
+ represented as %A %B %d, %Y");
+ output_facet-&gt;format(my_format.c_str());
+ input_facet-&gt;format(my_format.c_str());
+ ss.str("");
+ ss &lt;&lt; ldt;
+ cout &lt;&lt; ss.str() &lt;&lt; endl;
+
+ // matching extra words in input
+ ss.str("The extended ordinal time 2005-128T12:15 can also be \
+ represented as Sunday May 08, 2005");
+ ss &gt;&gt; ldt;
+ cout &lt;&lt; ldt &lt;&lt; endl;
+
+ </pre>
+<a name="content_strings"></a><h4>
+<a name="id2599275"></a>Content Strings</h4>
+<p>So far we've shown how a user can achieve a great deal of customization with very little effort by using formats. Further customization can be achieved through user defined elements (ie strings). The elements that can be customized are: Special value names, month names, month abbreviations, weekday names, weekday abbreviations, delimiters of the date/time periods, and the phrase elements of the date_generators.</p>
+<p>The default values for these are as follows:</p>
+<h5>
+<a name="id2599292"></a>Special values</h5>
+<p><code class="computeroutput">not-a-date-time</code>,
+ <code class="computeroutput">-infinity</code>,
+ <code class="computeroutput">+infinity</code>,
+ <code class="computeroutput">minimum-date-time</code>,
+ <code class="computeroutput">maximum-date-time</code></p>
+<h5>
+<a name="id2599327"></a>Months</h5>
+<p><code class="computeroutput">English calendar and three letter abbreviations</code></p>
+<h5>
+<a name="id2599338"></a>Weekdays</h5>
+<p><code class="computeroutput">English calendar and three letter abbreviations</code></p>
+<h5>
+<a name="id2599349"></a>Date generator phrase elements</h5>
+<p><code class="computeroutput">first</code>,
+ <code class="computeroutput">second</code>,
+ <code class="computeroutput">third</code>,
+ <code class="computeroutput">fourth</code>,
+ <code class="computeroutput">fifth</code>,
+ <code class="computeroutput">last</code>,
+ <code class="computeroutput">before</code>,
+ <code class="computeroutput">after</code>,
+ <code class="computeroutput">of</code></p>
+<p>NOTE: We've shown earlier that the components of a date/time representation can be re-ordered via the format string. This is not the case with date_generators. The elements themselves can be customized but their order cannot be changed.</p>
+<h4>
+<a name="id2599414"></a>Content Strings</h4>
+<p>To illustrate the customization possibilities we will use custom strings for months and weekdays (we will only use long names, is all lowercase, for this example).</p>
+ (continued from previous example)
+ <pre class="programlisting">
+
+ // set up the collections of custom strings.
+ // only the full names are altered for the sake of brevity
+ string month_names[12] = { "january", "february", "march",
+ "april", "may", "june",
+ "july", "august", "september",
+ "october", "november", "december" };
+ vector&lt;string&gt; long_months(&amp;month_names[0], &amp;month_names[12]);
+ string day_names[7] = { "sunday", "monday", "tuesday", "wednesday",
+ "thursday", "friday", "saturday" };
+ vector&lt;string&gt; long_days(&amp;day_names[0], &amp;day_names[7]);
+
+ // create date_facet and date_input_facet using all defaults
+ date_facet* date_output = new date_facet();
+ date_input_facet* date_input = new date_input_facet();
+ ss.imbue(locale(ss.getloc(), date_output));
+ ss.imbue(locale(ss.getloc(), date_input));
+
+ // replace names in the output facet
+ date_output-&gt;long_month_names(long_months);
+ date_output-&gt;long_weekday_names(long_days);
+
+ // replace names in the input facet
+ date_input-&gt;long_month_names(long_months);
+ date_input-&gt;long_weekday_names(long_days);
+
+ // customize month, weekday and date formats
+ date_output-&gt;format("%Y-%B-%d");
+ date_input-&gt;format("%Y-%B-%d");
+ date_output-&gt;month_format("%B"); // full name
+ date_input-&gt;month_format("%B"); // full name
+ date_output-&gt;weekday_format("%A"); // full name
+ date_input-&gt;weekday_format("%A"); // full name
+
+ ss.str("");
+ ss &lt;&lt; greg_month(3);
+ cout &lt;&lt; ss.str() &lt;&lt; endl; // "march"
+ ss.str("");
+ ss &lt;&lt; greg_weekday(3);
+ cout &lt;&lt; ss.str() &lt;&lt; endl; // "tuesday"
+ ss.str("");
+ ss &lt;&lt; date(2005,Jul,4);
+ cout &lt;&lt; ss.str() &lt;&lt; endl; // "2005-july-04"
+
+ </pre>
+<a name="tut_sv"></a><h4>
+<a name="id2599470"></a>Special Values</h4>
+<p>Customizing the input and output of special values is best done by creating a new special_values_parser and special_values_formatter. The new strings can be set at construction time (as in the example below).</p>
+ (continued from previous example)
+ <pre class="programlisting">
+
+ // reset the formats to defaults
+ output_facet-&gt;format(local_time_facet::default_time_format);
+ input_facet-&gt;format(local_time_input_facet::default_time_input_format);
+
+ // create custom special_values parser and formatter objects
+ // and add them to the facets
+ string sv[5] = {"nadt","neg_inf", "pos_inf", "min_dt", "max_dt" };
+ vector&lt;string&gt; sv_names(&amp;sv[0], &amp;sv[5]);
+ special_values_parser sv_parser(sv_names.begin(), sv_names.end());
+ special_values_formatter sv_formatter(sv_names.begin(), sv_names.end());
+ output_facet-&gt;special_values_formatter(sv_formatter);
+ input_facet-&gt;special_values_parser(sv_parser);
+
+ ss.str("");
+ ldt = local_date_time(not_a_date_time);
+ ss &lt;&lt; ldt;
+ cout &lt;&lt; ss.str() &lt;&lt; endl; // "nadt"
+
+ ss.str("min_dt");
+ ss &gt;&gt; ldt;
+ ss.str("");
+ ss &lt;&lt; ldt;
+ cout &lt;&lt; ss.str() &lt;&lt; endl; // "1400-Jan-01 00:00:00 UTC"
+
+ </pre>
+<p>NOTE: even though we sent in strings for min and max to the formatter, they are ignored because those special values construct to actual dates (as shown above).</p>
+<a name="tut_dper"></a><h4>
+<a name="id2599520"></a>Date/Time Periods</h4>
+<p>Customizing the input and output of periods is best done by creating a new period_parser and period_formatter. The new strings can be set at construction time (as in the example below).</p>
+ (continued from previous example)
+ <pre class="programlisting">
+
+ // all formats set back to defaults (not shown for brevity)
+
+ // create our date_period
+ date_period dp(date(2005,Mar,1), days(31)); // month of march
+
+ // custom period formatter and parser
+ period_formatter per_formatter(period_formatter::AS_OPEN_RANGE,
+ " to ", "from ", " exclusive", " inclusive" );
+ period_parser per_parser(period_parser::AS_OPEN_RANGE,
+ " to ", "from ", " exclusive" , "inclusive" );
+
+ // default output
+ ss.str("");
+ ss &lt;&lt; dp;
+ cout &lt;&lt; ss.str() &lt;&lt; endl; // "[2005-Mar-01/2005-Mar-31]"
+
+ // add out custom parser and formatter to the facets
+ date_output-&gt;period_formatter(per_formatter);
+ date_input-&gt;period_parser(per_parser);
+
+ // custom output
+ ss.str("");
+ ss &lt;&lt; dp;
+ cout &lt;&lt; ss.str() &lt;&lt; endl; // "from 2005-Feb-01 to 2005-Apr-01 exclusive"
+
+ </pre>
+<a name="tut_dgen"></a><h4>
+<a name="id2599559"></a>Date Generators</h4>
+<p>Customizing the input and output of date_generators is done by replacing the existing strings (in the facet) with new strings.</p>
+<p>NOTE: We've shown earlier that the components of a date/time representation can be re-ordered via the format string. This is not the case with date_generators. The elements themselves can be customized but their order cannot be changed.</p>
+ (continued from previous example)
+ <pre class="programlisting">
+
+ // custom date_generator phrases
+ string dg_phrases[9] = { "1st", "2nd", "3rd", "4th", "5th",
+ "final", "prior to", "following", "in" };
+ vector&lt;string&gt; phrases(&amp;dg_phrases[0], &amp;dg_phrases[9]);
+
+ // create our date_generator
+ first_day_of_the_week_before d_gen(Monday);
+
+ // default output
+ ss.str("");
+ ss &lt;&lt; d_gen;
+ cout &lt;&lt; ss.str() &lt;&lt; endl; // "Mon before"
+
+ // add our custom strings to the date facets
+ date_output-&gt;date_gen_phrase_strings(phrases);
+ date_input-&gt;date_gen_element_strings(phrases);
+
+ // custom output
+ ss.str("");
+ ss &lt;&lt; d_gen;
+ cout &lt;&lt; ss.str() &lt;&lt; endl; // "Mon prior to"
+
+ </pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local_time.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../date_time.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="serialization.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/date_time/details.html b/doc/html/date_time/details.html
new file mode 100644
index 0000000000..4b28c5c122
--- /dev/null
+++ b/doc/html/date_time/details.html
@@ -0,0 +1,1141 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Details</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../date_time.html" title="Chapter 3. Boost.Date_Time">
+<link rel="prev" href="serialization.html" title="Serialization">
+<link rel="next" href="examples.html" title="Examples">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="serialization.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../date_time.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="date_time.details"></a>Details</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="details.html#date_time.calculations">Calculations</a></span></dt>
+<dt><span class="section"><a href="details.html#date_time.design_goals">Design Goals</a></span></dt>
+<dt><span class="section"><a href="details.html#date_time.tradeoffs">Tradeoffs: Stability, Predictability, and Approximations</a></span></dt>
+<dt><span class="section"><a href="details.html#date_time.terminology">Terminology</a></span></dt>
+<dt><span class="section"><a href="details.html#date_time.references">References</a></span></dt>
+<dt><span class="section"><a href="details.html#date_time.buildinfo">Build-Compiler Information</a></span></dt>
+<dt><span class="section"><a href="details.html#date_time.tests">Tests</a></span></dt>
+<dt><span class="section"><a href="details.html#date_time.changes">Change History</a></span></dt>
+<dt><span class="section"><a href="details.html#date_time.acknowledgements">Acknowledgements</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.calculations"></a>Calculations</h4></div></div></div>
+<p><a href="details.html#timepoints">Timepoints</a> --
+ <a href="details.html#durations">Durations</a> --
+ <a href="details.html#intervals">Intervals (Periods)</a> --
+ <a href="details.html#special_value_handling">Special Value Handling</a></p>
+<a name="timepoints"></a><h3>
+<a name="id2599873"></a>Timepoints</h3>
+<p>
+ This section describes some of basic arithmetic rules that can be performed with timepoints. In general, Timepoints support basic arithmetic in conjunction with Durations as follows:
+ </p>
+<pre class="programlisting">
+ Timepoint + Duration --&gt; Timepoint
+ Timepoint - Duration --&gt; Timepoint
+ Timepoint - Timepoint --&gt; Duration
+ </pre>
+<p>
+ Unlike regular numeric types, the following operations are undefined:
+ </p>
+<pre class="programlisting">
+ Duration + Timepoint --&gt; Undefined
+ Duration - Timepoint --&gt; Undefined
+ Timepoint + Timepoint --&gt; Undefined
+ </pre>
+<a name="durations"></a><h3>
+<a name="id2599907"></a>Durations</h3>
+<p>
+ Durations represent a length of time and can have positive and negative values. It is frequently useful to be able to perform calculations with other durations and with simple integral values. The following describes these calculations:
+ </p>
+<pre class="programlisting">
+ Duration + Duration --&gt; Duration
+ Duration - Duration --&gt; Duration
+
+ Duration * Integer --&gt; Duration
+ Integer * Duration --&gt; Duration
+ Duration / Integer --&gt; Duration (Integer Division rules)
+ </pre>
+<a name="intervals"></a><h3>
+<a name="id2599935"></a>Intervals (Periods)</h3>
+<p>
+ Interval logic is extremely useful for simplifying many 'calculations' for dates and times. The following describes the operations provided by periods which are based on half-open range. The following operations calculate new time periods based on two input time periods:
+ </p>
+<pre class="programlisting">
+Timeperiod intersection Timeperiod --&gt; Timeperiod
+ (null interval if no intersection)
+Timeperiod merge Timeperiod --&gt; Timeperiod
+ (null interval if no intersection)
+Timeperiod shift Duration --&gt; Timeperiod
+ (shift start and end by duration amount)
+ </pre>
+<p>
+ In addition, periods support various queries that calculate boolean results. The first set is caluculations with other time periods:
+ </p>
+<pre class="programlisting">
+ Timeperiod == Timeperiod --&gt; bool
+ Timeperiod &lt; Timeperiod --&gt; bool (true if lhs.last &lt;= rhs.begin)
+ Timeperiod intersects Timeperiod --&gt; bool
+ Timeperiod contains Timeperiod --&gt; bool
+ Timeperiod is_adjacent Timeperiod --&gt; bool
+ </pre>
+<p>
+ The following calculations are performed versus the Timepoint.
+ </p>
+<pre class="programlisting">
+ Timeperiod contains Timepoint --&gt; bool
+ Timeperiod is_before Timepoint --&gt; bool
+ Timeperiod is_after Timepoint --&gt; bool
+ </pre>
+<a name="special_value_handling"></a><h3>
+<a name="id2599991"></a>Special Value Handling</h3>
+<p>
+ For many temporal problems it is useful for Duration and Timepoint types to support special values such as Not A Date Time (NADT) and infinity. In general special values such as Not A Date Time (NADT) and infinity should follow rules like floating point values. Note that it should be possible to configure NADT based systems to throw an exception instead of result in NADT.
+ </p>
+<pre class="programlisting">
+ Timepoint(NADT) + Duration --&gt; Timepoint(NADT)
+ Timepoint(&#8734;) + Duration --&gt; Timepoint(&#8734;)
+ Timepoint + Duration(&#8734;) --&gt; Timepoint(&#8734;)
+ Timepoint - Duration(&#8734;) --&gt; Timepoint(-&#8734;)
+ </pre>
+<p>
+ When performing operations on both positive and negative infinities, the library will produce results consistent with the following.
+ </p>
+<pre class="programlisting">
+ Timepoint(+&#8734;) + Duration(-&#8734;) --&gt; NADT
+ Duration(+&#8734;) + Duration(-&#8734;) --&gt; NADT
+ Duration(±&#8734;) * Zero --&gt; NADT
+
+ Duration(&#8734;) * Integer(Not Zero) --&gt; Duration(&#8734;)
+ Duration(+&#8734;) * -Integer --&gt; Duration(-&#8734;)
+ Duration(&#8734;) / Integer --&gt; Duration(&#8734;)
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.design_goals"></a>Design Goals</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Category</th>
+<th>Description</th>
+</tr>
+<tr><th>Functions</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top">Interfaces</td>
+<td>Provide concrete classes for manipulation of dates and times</td>
+</tr>
+<tr><td><div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">date, time, date_duration, time_duration, date_period, time_period, etc</li>
+<li style="list-style-type: disc">support for infinity - positive infinity, negative infinity</li>
+<li style="list-style-type: disc">iterators over time and date ranges</li>
+<li style="list-style-type: disc">allow date and time implementations to be separate as much as possible</li>
+</ul></div></td></tr>
+<tr>
+<td rowspan="2" valign="top">Calculation</td>
+<td>Provide a basis for performing efficient time calculations </td>
+</tr>
+<tr><td><div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">days between dates </li>
+<li style="list-style-type: disc">durations of times </li>
+<li style="list-style-type: disc">durations of dates and times together </li>
+</ul></div></td></tr>
+<tr>
+<td rowspan="2" valign="top">Representation Flexibility</td>
+<td>Provide the maximum possible reusability and flexibility</td>
+</tr>
+<tr><td><div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">traits based customization of internal representations for size versus resolution control</li>
+<li style="list-style-type: disc">Allowing the use of different epochs and resolution (eg: seconds versus microseconds, dates starting at the year 2000 versus dates starting in 1700)</li>
+<li style="list-style-type: disc">Options for configuring unique calendar representations (Gregorian + others)</li>
+<li style="list-style-type: disc">the use of Julian Day number and the conversion between this and the Gregorian/Julian calendar date</li>
+<li style="list-style-type: disc">Allow for flexible adjustments including leap seconds</li>
+</ul></div></td></tr>
+<tr>
+<td rowspan="2" valign="top">Date Calculations</td>
+<td>Provide tools for date calculations</td>
+</tr>
+<tr><td><div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">provide basis for calculation of complex event specs like holidays</li>
+<li style="list-style-type: disc">calendar to calendar conversions</li>
+<li style="list-style-type: disc">provide for ability to extend to new calendar systems</li>
+</ul></div></td></tr>
+<tr>
+<td rowspan="2" valign="top">Time Calculations</td>
+<td>Provide concrete classes for manipulation of time</td>
+</tr>
+<tr><td><div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">provide the ability to handle cross time-zone issues</li>
+<li style="list-style-type: disc">provide adjustments for daylight savings time (summer time)</li>
+</ul></div></td></tr>
+<tr>
+<td rowspan="2" valign="top">Clock Interfaces</td>
+<td>Provide classes for retrieving time current time</td>
+</tr>
+<tr><td><div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">access to a network / high resolution time sources </li>
+<li style="list-style-type: disc">retrieving the current date time information to populate classes </li>
+</ul></div></td></tr>
+<tr>
+<td rowspan="2" valign="top">I/O Interfaces</td>
+<td>Provide input and output for time including</td>
+</tr>
+<tr><td><div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">multi-lingual support </li>
+<li style="list-style-type: disc">provide ISO8601 compliant time facet </li>
+<li style="list-style-type: disc">use I/O facets for different local behavior </li>
+</ul></div></td></tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.tradeoffs"></a>Tradeoffs: Stability, Predictability, and Approximations</h4></div></div></div>
+<h2>
+<a name="id2600254"></a>
+ Unavoidable Trade-offs
+ </h2>
+<p>
+ The library does its best to provide everything a user could want, but there are certain inherent constraints that limit what <span class="emphasis"><em>any</em></span> temporal library can do. Specifically, a user must choose which two of the following three capabilities are desired in any particular application:
+ </p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">exact agreement with wall-clock time</li>
+<li style="list-style-type: disc">accurate math, e.g. duration calculations</li>
+<li style="list-style-type: disc">ability to handle timepoints in the future</li>
+</ul></div>
+<p>
+ Some libraries may implicitly promise to deliver all three, but if you actually put them to the test, only two can be true at once. This limitation is not a deficiency in the design or implementation of any particular library; rather it is a consequence of the way different time systems are defined by international standards. Let's look at each of the three cases:
+ </p>
+<p>
+ If you want exact agreement with wall-clock time, you must use either UTC or local time. If you compute a duration by subtracting one UTC time from another and you want an answer accurate to the second, the two times must not be too far in the future because leap seconds affect the count but are only determined about 6 months in advance. With local times a future duration calculation could be off by an entire hour, since legislatures can and do change DST rules at will.
+ </p>
+<p>
+ If you want to handle wall-clock times in the future, you won't be able (in the general case) to calculate exact durations, for the same reasons described above.
+ </p>
+<p>
+ If you want accurate calculations with future times, you will have to use TAI or an equivalent, but the mapping from TAI to UTC or local time depends on leap seconds, so you will not have exact agreement with wall-clock time.
+ </p>
+<h2>
+<a name="id2600310"></a>
+ Stability, Predictability, and Approximations
+ </h2>
+<p>
+ Here is some underlying theory that helps to explain what's going on. Remember that a temporal type, like any abstract data type (ADT), is a set of values together with operations on those values.
+ </p>
+<h3>
+<a name="id2600321"></a>
+ Stability
+ </h3>
+<p>
+ The representation of a type is <span class="emphasis"><em>stable</em></span> if the bit pattern associated with a given value does not change over time. A type with an unstable representation is unlikely to be of much use to anyone, so we will insist that any temporal library use only stable representations.
+ </p>
+<p>
+ An operation on a type is stable if the result of applying the operation to a particular operand(s) does not change over time.
+ </p>
+<h3>
+<a name="id2600341"></a>
+ Predictability
+ </h3>
+<p>
+ Sets are most often classified into two categories: well-defined and ill-defined. Since a type is a set, we can extend these definitions to cover types. For any type T, there must be a predicate <span class="emphasis"><em>is_member( x )</em></span> which determines whether a value x is a member of type T. This predicate must return <span class="emphasis"><em>true, false,</em></span> or <span class="emphasis"><em>dont_know</em></span>.
+ </p>
+<p>
+ If for all x, is_member( x ) returns either true or false, we say the set T is <span class="emphasis"><em>well-defined</em></span>.
+ </p>
+<p>
+ If for any x, is_member( x ) returns dont_know, we say the set T is <span class="emphasis"><em>ill-defined</em></span>.
+ </p>
+<p>
+ Those are the rules normally used in math. However, because of the special characteristics of temporal types, it is useful to refine this view and create a third category as follows:
+ </p>
+<p>
+ For any temporal type T, there must be a predicate <span class="emphasis"><em>is_member( x, t )</em></span> which determines whether a value x is a member of T. The parameter t represents the time when the predicate is evaluated. For each x<sub>i</sub>, there must be a time t<sub>i</sub> and a value v such that:
+ </p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">v = true or v = false, and</li>
+<li style="list-style-type: disc">for all t &lt; t<sub>i</sub>, is_member( x<sub>i</sub>, t ) returns dont_know, and</li>
+<li style="list-style-type: disc">for all t &gt;= t<sub>i</sub>, is_member( x<sub>i</sub>, t ) returns v.</li>
+</ul></div>
+<p>
+ t<sub>i</sub> is thus the time when we "find out" whether x<sub>i</sub> is a member of T. Now we can define three categories of temporal types:
+ </p>
+<p>
+ If for all x<sub>i</sub>, t<sub>i</sub> = negative infinity, we say the type T is <span class="emphasis"><em>predictable</em></span>.
+ </p>
+<p>
+ If for some x<sub>i</sub>, t<sub>i</sub> = positive infinity, we say the type T is <span class="emphasis"><em>ill-formed</em></span>.
+ </p>
+<p>
+ Otherwise we say the type T is <span class="emphasis"><em>unpredictable</em></span> (this implies that for some x<sub>i</sub>, t<sub>i</sub> is finite).
+ </p>
+<p>
+ Ill-formed sets are not of much practical use, so we will not discuss them further. In plain english the above simply says that all the values of a predictable type are known ahead of time, but some values of an unpredictable type are not known until some particular time.
+ </p>
+<h3>
+<a name="id2600485"></a>
+ Stability of Operations
+ </h3>
+<p>
+ Predictable types have a couple of important properties:
+ </p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">there is an order-preserving mapping from their elements onto a set of consecutive integers, and</li>
+<li style="list-style-type: disc">duration operations on their values are stable</li>
+</ul></div>
+<p>
+ The practical effect of this is that duration calculations can be implemented with simple integer subtraction. Examples of predictable types are TAI timepoints and Gregorian dates.
+ </p>
+<p>
+ Unpredictable types have exactly the opposite properties:
+ </p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">there is no order-preserving mapping from their elements onto a set of consecutive integers, and</li>
+<li style="list-style-type: disc">duration operations on their values are not stable. </li>
+</ul></div>
+<p>
+ Examples of unpredictable types are UTC timepoints and Local Time timepoints.
+ </p>
+<p>
+ We can refine this a little by saying that a range within an unpredicatable type can be predictable, and operations performed entirely on values within that range will be stable. For example, the range of UTC timepoints from 1970-01-01 through the present is predictable, so calculations of durations within that range will be stable.
+ </p>
+<h3>
+<a name="id2600535"></a>
+ Approximations
+ </h3>
+<p>
+ These limitations are problematical, because important temporal types like UTC and Local Time are in fact unpredictable, and therefore operations on them are sometimes unstable. Yet as a practical matter we often want to perform this kind of operation, such as computing the duration between two timepoints in the future that are specified in Local Time.
+ </p>
+<p>
+ The best the library can do is to provide an approximation, which is generally possible and for most purposes will be good enough. Of course the documentation must specify when an answer will be approximate (and thus unstable) and how big the error may be. In many respects calculating with unpredictable sets is analogous to the use of floating point numbers, for which results are expected to only be approximately correct. Calculating with predictable sets would then be analogous to the user of integers, where results are expected to be exact.
+ </p>
+<p>
+ For situations where exact answers are required or instability cannot be tolerated, the user must be able to specify this, and then the library should throw an exception if the user requests a computation for which an exact, stable answer is not possible.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.terminology"></a>Terminology</h4></div></div></div>
+<p>
+ The following are a number of terms relevant to the date-time domain.
+ </p>
+<p>
+ A taxonomy of temporal types:
+ </p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">Timepoint -- Specifier for a location in the time continuum. Similar to a number on a ruler.</li>
+<li style="list-style-type: disc">Timelength -- A duration of time unattached to any point on the time continuum.</li>
+<li style="list-style-type: disc">Timeinterval -- A duration of time attached to a specific point in the time continuum.</li>
+</ul></div>
+<p>
+ And some other terms:
+ </p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">Accuracy -- A measure of error, the difference between the reading of a clock and the true time.</li>
+<li style="list-style-type: disc">Calendar System -- A system for labeling time points with day level resolution.</li>
+<li style="list-style-type: disc">Clock Device -- A software component (tied to some hardware) that provides the current date or time with respect to a calendar or clock system.</li>
+<li style="list-style-type: disc">Precision -- A measure of repeatability of a clock.</li>
+<li style="list-style-type: disc">Resolution -- A specification of the smallest representable duration (eg: 1 second, 1 century) for a clock/calendar system or temporal type.</li>
+<li style="list-style-type: disc">Stability -- The property of a class which says that the underlying representation (implementation) associated with a particular (abstract) value will never change.</li>
+<li style="list-style-type: disc">Time System -- A system for labeling time points with higher resolution than day-level. </li>
+</ul></div>
+<p>
+ Some standard date-time terminology:
+ </p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">Epoch -- Starting time point of a calendar or clock system.</li>
+<li style="list-style-type: disc">DST -- Daylight savings time - a local time adjustment made in some regions during the summer to shift the clock time of the daylight hours</li>
+<li style="list-style-type: disc">Time zone -- A region of the earth that provides for a 'local time' defined by DST rules and UT offset.</li>
+<li style="list-style-type: disc">UTC Time -- Coordinated Universal Time - Civil time system as measured at longitude zero. Kept adjusted to earth rotation by use of leap seconds. Also known as Zulu Time. Replaced the similar system known as Greenwich Mean Time. For more see <a href="http://aa.usno.navy.mil/faq/docs/UT.html" target="_top">http://aa.usno.navy.mil/faq/docs/UT.html</a>
+</li>
+<li style="list-style-type: disc">TAI Time -- A high-accuracy monotonic (need better term) time system measured to .1 microsecond resolution by atomic clocks around the world. Not adjusted to earth rotation. For more see <a href="http://www.bipm.fr/enus/5_Scientific/c_time/time_server.html" target="_top">http://www.bipm.fr/enus/5_Scientific/c_time/time_server.html</a>
+</li>
+</ul></div>
+<p>
+ Some more experimental ones:
+ </p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">Local Time -- A time measured in a specific location of the universe.</li>
+<li style="list-style-type: disc">Time Label -- A tuple that either completely or partially specifies a specific date-time with respect to a calendar or clock system. This is the year-month-day representation.</li>
+<li style="list-style-type: disc">Adjusting Time Length -- A duration that represents varying physical durations depending on the moment in time. For example, a 1 month duration is typically not a fixed number of days and it depends on the date it is measured from to determine the actual length. </li>
+</ul></div>
+<p>
+ These are design sorts of terms:
+ </p>
+<div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc">Generation function -- A function that generates a specific set of time points, lengths, or intervals based on one or more parameters. </li></ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.references"></a>References</h4></div></div></div>
+<p>The design of the library is currently being evolved using Wiki and email discussions. You can find more information at: <a href="http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?GDTL" target="_top">Boost Wiki GDTL Start Page</a>.
+ </p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc"><a href="details.html#date_ref">Date References</a></li>
+<li style="list-style-type: disc"><a href="details.html#time_ref">Time References</a></li>
+<li style="list-style-type: disc"><a href="details.html#other_c_libs">Other C/C++ Libraries</a></li>
+<li style="list-style-type: disc"><a href="details.html#java_libs">JAVA Date-Time Libraries</a></li>
+<li style="list-style-type: disc"><a href="details.html#script_libs">Scripting Language Libraries</a></li>
+<li style="list-style-type: disc"><a href="details.html#related">Related Commercial and Fanciful Pages</a></li>
+<li style="list-style-type: disc"><a href="details.html#resolution">Resolution, Precision, and Accuracy</a></li>
+</ul></div>
+<a name="date_ref"></a><h3>
+<a name="id2600786"></a>Date Calendar References</h3>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">ISO 8601 date time standard -- <a href="http://www.cl.cam.ac.uk/~mgk25/iso-time.html" target="_top">Summary by Markus Kuhn</a>
+</li>
+<li style="list-style-type: disc">
+<a href="http://emr.cs.iit.edu/home/reingold/calendar-book/second-edition/" target="_top">Calendrical Calculations</a> book by Reingold &amp; Dershowitz</li>
+<li style="list-style-type: disc"><a href="http://www.tondering.dk/claus/calendar.html" target="_top">Calendar FAQ by Claus Tøndering</a></li>
+<li style="list-style-type: disc">Calendar zone <a href="http://www.calendarzone.com" target="_top">http://www.calendarzone.com</a>
+</li>
+<li style="list-style-type: disc"><a href="http://www.w3.org/TR/xmlschema-2/#dateTime" target="_top">XML schema for date time</a></li>
+<li style="list-style-type: disc">Will Linden's <a href="http://www.ecben.net/calendar.shtml" target="_top">Calendar Links</a>
+</li>
+<li style="list-style-type: disc"><a href="http://www21.brinkster.com/lonwolve/melt/index.htm" target="_top">XMAS calendar melt</a></li>
+</ul></div>
+<a name="time_ref"></a><h3>
+<a name="id2600851"></a>Time</h3>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">Martin Folwer on time patterns
+ <div class="itemizedlist"><ul type="opencircle">
+<li><a href="http://www.aw.com/cseng/titles/0-201-89542-0/apsupp/events2-1.html" target="_top">Recurring Events for Calendars</a></li>
+<li>Patterns for things that <a href="http://martinfowler.com/ap2/timeNarrative.html" target="_top">Change with time</a>
+</li>
+</ul></div>
+</li>
+<li style="list-style-type: disc">US National Institute of Standards and Technology <a href="http://nist.time.gov/exhibits.html" target="_top">Time Exhibits</a>
+</li>
+<li style="list-style-type: disc">Network Time Protocol at <a href="http://www.ntp.org/" target="_top">NTP.org</a>
+</li>
+<li style="list-style-type: disc">US Navy <a href="http://tycho.usno.navy.mil/systime.html" target="_top">Systems of Time</a>
+</li>
+<li style="list-style-type: disc"><a href="http://www.bipm.fr/enus/5_Scientific/c_time/time_1.html" target="_top">International Atomic Time</a></li>
+<li style="list-style-type: disc">
+<a href="http://beta.zyprexia.com/docs/pgsql/user/datatype1130.htm" target="_top">Date-Time type PostgreSQL</a> User Guide </li>
+</ul></div>
+<a name="other_c_libs"></a><h3>
+<a name="id2600925"></a>Other C/C++ Libraries</h3>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">
+<a href="http://www.cplusplus.com/ref/ctime/index.html" target="_top">ctime C</a> Standard library reference at cplusplus.com</li>
+<li style="list-style-type: disc">
+<a href="http://www.cl.cam.ac.uk/~mgk25/c-time/" target="_top">XTime C extension</a> proposal</li>
+<li style="list-style-type: disc">
+<a href="http://david.tribble.com/text/c0xcalendar.html#author-info" target="_top">Another C library extension proposal</a> by David Tribble</li>
+<li style="list-style-type: disc">
+<a href="http://cr.yp.to/libtai.html" target="_top">libTAI</a> is a C based time library</li>
+<li style="list-style-type: disc">
+<a href="http://www.twinsun.com/tz/tz-link.htm" target="_top">Time Zone Database</a> C library for managing timezones/places</li>
+<li style="list-style-type: disc">International Components for Unicode by IBM (open source)
+ <div class="itemizedlist"><ul type="opencircle">
+<li><a href="http://icu.sourceforge.net/userguide/dateCalendar.html" target="_top">Calendar Class</a></li>
+<li><a href="http://icu.sourceforge.net/userguide/dateTime.html" target="_top">Date Time Services</a></li>
+<li><a href="http://oss.software.ibm.com/userguide/dateTimezone.html" target="_top">Time Zone Class</a></li>
+<li><a href="http://oss.software.ibm.com/userguide/formatDateTime.html" target="_top">Date-Time Formatting</a></li>
+</ul></div>
+</li>
+<li style="list-style-type: disc"><a href="http://pds-rings.seti.org/toolkits/julian_133_html/aareadme.html" target="_top">Julian Library in C by Mark Showalter -- NASA</a></li>
+</ul></div>
+<a name="java_libs"></a><h3>
+<a name="id2601020"></a>JAVA Date &amp; Time Library Quick Reference</h3>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc"><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Calendar.html" target="_top">Calendar class</a></li>
+<li style="list-style-type: disc"><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/GregorianCalendar.html" target="_top">Gregorian calendar</a></li>
+<li style="list-style-type: disc"><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html" target="_top">Date class</a></li>
+<li style="list-style-type: disc"><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Time.html" target="_top">sql.time class</a></li>
+<li style="list-style-type: disc"><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/DateFormatSymbols.html#_top_" target="_top">Date format symbols</a></li>
+<li style="list-style-type: disc"><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/DateFormat.html" target="_top">Date format</a></li>
+<li style="list-style-type: disc"><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/SimpleDateFormat.html" target="_top">Simple Date Format</a></li>
+<li style="list-style-type: disc"><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/SimpleTimeZone.html" target="_top">Simple Time Zone</a></li>
+</ul></div>
+<a name="script_libs"></a><h3>
+<a name="id2601090"></a>Scripting Language Libraries</h3>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">A python date library <a href="http://www.lemburg.com/files/python/mxDateTime.html" target="_top">MX Date Time</a>
+</li>
+<li style="list-style-type: disc">Perl date-time
+ <div class="itemizedlist"><ul type="opencircle">
+<li><a href="http://search-dev.develooper.com/search?m=module&amp;q=date&amp;s=11" target="_top">Date-Time packages at CPAN</a></li>
+<li>
+<a href="http://search-dev.develooper.com/~stbey/Date-Calc-5.4/Calc.pod" target="_top">Date::Calc</a> at CPAN</li>
+<li>
+<a href="http://search.cpan.org/doc/MORTY/DateConvert-0.16/Convert.pm" target="_top">Date::Convert</a> calendar conversions at CPAN</li>
+</ul></div>
+</li>
+</ul></div>
+<a name="related"></a><h3>
+<a name="id2601141"></a>Related Commercial and Fanciful Pages</h3>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">
+<a href="http://www.craphound.com/est/" target="_top">Eastern Standard Tribe</a> -- Cory Doctorow science fiction novel with time themes.</li>
+<li style="list-style-type: disc">
+<a href="http://www.leapsecond.com/java/gpsclock.htm" target="_top">Leapsecond.com time</a> page</li>
+<li style="list-style-type: disc"><a href="http://www.worldtimeserver.com" target="_top">World Time Server / TZ database</a></li>
+<li style="list-style-type: disc">
+<a href="http://www.longnow.org/10kclock/clock.htm" target="_top">10000 year clock</a> at Long Now Foundation</li>
+<li style="list-style-type: disc"><a href="http://www.timezonesforpcs.com" target="_top">Timezones for PCs</a></li>
+</ul></div>
+<a name="resolution"></a><h3>
+<a name="id2601193"></a>Resolution, Precision, and Accuracy</h3>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">Definitions with pictures from <a href="http://metrologyforum.tm.agilent.com/specs.shtml" target="_top">Agilent Technologies</a>
+</li>
+<li style="list-style-type: disc">Definitions from <a href="http://www.solent.ac.uk/hydrography/notes/errorthe/accuracy.htm" target="_top">Southampton Institute</a>
+</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.buildinfo"></a>Build-Compiler Information</h4></div></div></div>
+<p><a href="details.html#overview">Overview</a> --
+ <a href="details.html#compile_options">Compilation Options</a> --
+ <a href="details.html#portability">Compiler/Portability Notes</a> --
+ <a href="details.html#dir_structure">Directory Structure</a> --
+ <a href="details.html#other_boost_libs">Required Boost Libraries</a></p>
+<a name="overview"></a><h3>
+<a name="id2601272"></a>Overview</h3>
+<p>
+ The library has several functions that require the creation of a library file. The Jamfile in the build directory will produce a "static" library (libboost_date_time) and a "dynamic/shared" library (boost_date_time) that contains these functions.
+ </p>
+<a name="compile_options"></a><h3>
+<a name="id2601288"></a>Compilation Options</h3>
+<p>
+ By default the posix_time system uses a single 64 bit integer internally to provide a microsecond level resolution. As an alternative, a combination of a 64 bit integer and a 32 bit integer (96 bit resolution) can be used to provide nano-second level resolutions. The default implementation may provide better performance and more compact memory usage for many applications that do not require nano-second resolutions.
+ </p>
+<p>
+ To use the alternate resolution (96 bit nanosecond) the variable <code class="computeroutput">BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG</code> must be defined in the library users project files (ie Makefile, Jamfile, etc). This macro is not used by the Gregorian system and therefore has no effect when building the library.
+ </p>
+<p>As of version 1.33, the date_time library introduced a new IO streaming system. Some compilers are not capable of utilizing this new system. For those compilers the earlier ("legacy") IO system is still available. Non-supported compilers will select the legacy system automatically but the user can force the usage of the legacy system by defining <code class="computeroutput">USE_DATE_TIME_PRE_1_33_FACET_IO</code>.</p>
+<p>As a convenience, <code class="computeroutput">date_time</code> has provided some <a href="gregorian.html#additional_duration_types">additional duration types</a>. Use of these types may have unexpected results due to the snap-to-end-of-month behavior (see <a href="gregorian.html#snap_to_details">Reversibility of Operations Pitfall</a> for complete details and examples). These types are enabled by default. To disable these types, simply undefine <code class="computeroutput">BOOST_DATE_TIME_OPTIONAL_GREGORIAN_TYPES</code> in your project file.</p>
+<p>Another convenience is the default constructors for <code class="computeroutput"><a href="gregorian.html#date_time.gregorian.date_class" title="Date">date</a></code>, and <code class="computeroutput"><a href="posix_time.html#date_time.posix_time.ptime_class" title="Ptime">ptime</a></code>. These constructors are enabled by default. To disable them, simply define <code class="computeroutput">DATE_TIME_NO_DEFAULT_CONSTRUCTOR</code> in your project file.</p>
+<a name="portability"></a><h3>
+<a name="id2601401"></a>Compiler/Portability Notes</h3>
+<p>
+ The Boost Date-Time library has been built and tested with many compilers. However, some compilers and standard libraries have issues. While some of these issues can be worked around, others are difficult to work around. The following compilers fully support all aspects of the library:
+ </p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">GCC 3.2 - 3.4, 4.0 on Linux</li>
+<li style="list-style-type: disc">GCC 3.3 on Darwin</li>
+<li style="list-style-type: disc">GCC 3.3 on Solaris</li>
+<li style="list-style-type: disc">GCC 3.2 (cygwin) *</li>
+<li style="list-style-type: disc">MinGW 3.2 *</li>
+<li style="list-style-type: disc">MSVC 7.1 </li>
+<li style="list-style-type: disc">Intel 8.1 Linux and Windows</li>
+</ul></div>
+<p>
+ * These compilers do not support the <code class="computeroutput">wstring/wstream</code> aspects of the <code class="computeroutput">date_time</code> library.
+ </p>
+<p>
+ In particular, a lack of support for standard locales limits the ability of the library to support iostream based input output. For these compilers a set of more limited string based input-output is provided. Some compilers/standard libraries with this limitation include:
+ </p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">GCC 2.9x on Linux</li>
+<li style="list-style-type: disc">Borland 5.1.1 and 5.6</li>
+<li style="list-style-type: disc">MSVC 7.0</li>
+<li style="list-style-type: disc">MSVC 6 SP5 </li>
+</ul></div>
+<p>
+ Metrowerks Code Warrior 9.4 has some input I/O limitations, but is otherwise
+ fully supported.
+ </p>
+<h5>
+<a name="id2601472"></a>Visual Studio &amp; STLPort</h5>
+<p>There is a known issue with Visual Studio (7.0 &amp; 7.1) and STLPort. The build errors typically make reference to a type issue or 'no acceptable conversion' and are attempting to instantiate a template with <code class="computeroutput">wchar_t</code>. The default build of STLPort does not support <code class="computeroutput">wchar_t</code>. There are two possible workarounds for this issue. The simplest is the user can build date_time with no wide stream/string etc. The other is to rebuild STLPort with wchar_t support.
+ </p>
+<p>To build date_time with no wide stream/string etc, execute the following command from <code class="computeroutput">$BOOST_ROOT</code>:
+ </p>
+<pre class="screen">bjam -a "-sTOOLS=vc-7_1-stlport" "-sSTLPORT_PATH=..." \
+ "-sBUILD=&lt;define&gt;BOOST_NO_STD_WSTRING" \
+ --stagedir=... --with-date_time stage</pre>
+<p>
+ (replace the ellipsis with the correct paths for the build system and adjust the <code class="computeroutput">TOOLS</code> to the proper toolset if necessary)
+ </p>
+<p>Rebuilding STLPort with <code class="computeroutput">wchar_t</code> support involves placing <code class="computeroutput">/Zc:wchar_t</code> in the STLPort makefile. Date_time should then be built with the following command from <code class="computeroutput">$BOOST_ROOT</code>:
+ </p>
+<pre class="screen">bjam -a "-sTOOLS=vc-7_1-stlport" "-sSTLPORT_PATH=..." \
+ "-sBUILD=&amp;native-wchar_t&gt;on" \
+ --stagedir=... --with-date_time stage</pre>
+<p>
+ (replace the ellipsis with the correct paths for the build system and adjust the <code class="computeroutput">TOOLS</code> to the proper toolset if necessary)
+ </p>
+<a name="dir_structure"></a><h3>
+<a name="id2601583"></a>Directory Structure</h3>
+<p>
+ The directory tree has the following structure:
+ </p>
+<pre class="programlisting">/boost/date_time -- common headers and template code
+/boost/date_time/gregorian -- Gregorian date system header files
+/boost/date_time/posix_time -- Posix time system headers
+/boost/date_time/local_time -- Local time system headers
+/libs/date_time/build -- build files and output directory
+/libs/date_time/test -- test battery for generic code
+/libs/date_time/test/gregorian -- test battery for the Gregorian system
+/libs/date_time/test/posix_time -- test battery for the posix_time system
+/libs/date_time/test/local_time -- test battery for the local_time system
+/libs/date_time/examples/gregorian -- example programs for dates
+/libs/date_time/examples/posix_time -- time example programs
+/libs/date_time/examples/local_time -- nifty example programs
+/libs/date_time/src/gregorian -- cpp files for libboost_date_time
+/libs/date_time/src/posix_time -- empty (one file, but no source code...)</pre>
+<a name="other_boost_libs"></a><h3>
+<a name="id2601617"></a>Required Boost Libraries</h3>
+<p>
+ Various parts of date-time depend on other boost libraries. These include:
+ </p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc"><a href="../../../libs/tokenizer/index.html" target="_top">boost.tokenizer</a></li>
+<li style="list-style-type: disc"><a href="../../../libs/integer/cstdint.htm" target="_top">boost.integer(cstdint)</a></li>
+<li style="list-style-type: disc"><a href="../../../libs/utility/operators.htm" target="_top">boost.operators</a></li>
+<li style="list-style-type: disc"><a href="../../../libs/conversion/lexical_cast.htm" target="_top">boost::lexical_cast </a></li>
+<li style="list-style-type: disc"><a href="../../../libs/smart_ptr/smart_ptr.htm" target="_top">boost::smart_ptr </a></li>
+<li style="list-style-type: disc"><a href="../../../libs/algorithm/string/index.html" target="_top">boost::string_algorithms </a></li>
+</ul></div>
+<p>
+ so at least these libraries need to be installed.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.tests"></a>Tests</h4></div></div></div>
+<p>
+ The library provides a large number of tests in the
+ </p>
+<pre class="programlisting">
+ libs/date_time/test
+ libs/date_time/test/gregorian
+ libs/date_time/test/posix_time
+ libs/date_time/test/local_time
+ </pre>
+<p>
+ directories. Building and executing these tests assures that the installation is correct and that the library is functioning correctly. In addition, these tests facilitate the porting to new compilers. Finally, the tests provide examples of many functions not explicitly described in the usage examples.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.changes"></a>Change History</h4></div></div></div>
+<h3>
+<a name="id2601701"></a>Changes from Boost 1.32 to 1.33 (date_time 1.03 to 1.04)</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Type</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>Bug Fix</td>
+<td>Period lengths, when beginning and end points are the same, or are consecutive, were being incorrectly calculated. The corrected behavior, where end and beginning points are equal, or a period is created with a zero duration, now return a length of zero. A period where beginning and end points are consecutive will return a length of one.
+ </td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Time_input_facet was missing functions to set iso formats. It also failed to parse time values that did not use a separator (%H%M%S). Both these bugs have been corrected.
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Preliminary names of ptime_facet and ptime_input_facet changed to simply time_facet and time_input_facet. The ptime_* versions have been removed all together.
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>The from_iso_string function failed to parse fractional digits. We added code that correctly parses when input has more digits, or too few digits, that the compiled library precision. Ptimes with only a decimal are also correctly parsed.
+ </td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>The parsing mechanism in the new IO would consume the next character after a match was made. This bug presented itself when attempting to parse a period that had special value for it's beginning point.
+ </td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>The new IO system failed to provide the ability for the user to "turn on" exceptions on the stream. The failbit was also not set when parsing failed. Both of these problems have been fixed.
+ </td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Parsing of special values, by means of from_*_string functions, has been fixed. This also effects the libraries ability to serialize special values. Time_duration now serializes as either a string or individual fields (depending on is_special()).
+ </td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Previously, output streaming of <code class="computeroutput">partial_date</code> would display the day as either a single or double digit integer (ie '1', or '12'). This has been corrected to always display a double digit integer (ie '01').
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Major new features related to management of local times.
+ This includes the introduction of a series of new classes to
+ represent time zones and local times (see <a href="local_time.html" title="Local Time">Date Time Local Time</a> for complete details).
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Input and output facets have been re-written to support format-based
+ redefinition of formats (see <a href="date_time_io.html" title="Date Time Input/Output">Date Time IO</a> for complete details).
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Functions have been added to facilitate conversions between <code class="computeroutput">tm</code> structs for <code class="computeroutput">date</code>, <code class="computeroutput">ptime</code>, <code class="computeroutput">time_duration</code>, and <code class="computeroutput">local_date_time</code>. Functions for converting <code class="computeroutput">FILETIME</code>, and <code class="computeroutput">time_t</code> to <code class="computeroutput">ptime</code> are also provided. See the individual sections for details.
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>A <code class="computeroutput">universal_time</code> function has been added to the <code class="computeroutput">microsec_time_clock</code> (full details of this function can be found <a href="posix_time.html#ptime_from_clock">here</a>).
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Functions have been added to facilitate conversions between <code class="computeroutput">tm</code> structs for <code class="computeroutput">date</code>, <code class="computeroutput">ptime</code>, <code class="computeroutput">time_duration</code>, and <code class="computeroutput">local_date_time</code>. Functions for converting <code class="computeroutput">FILETIME</code>, and <code class="computeroutput">time_t</code> to <code class="computeroutput">ptime</code> are also provided. See the individual sections for details.
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>A <code class="computeroutput">universal_time</code> function has been added to the <code class="computeroutput">microsec_time_clock</code> (full details of this function can be found <a href="posix_time.html#ptime_from_clock">here</a>).
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Date-time now uses reentrant POSIX functions on those platforms that
+ support them when BOOST_HAS_THREADS is defined.
+ </td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Fixed a bug in serialization code where special values
+ (not-a-date-time, infinities, etc) for
+ ptime, time_duration would not read back correctly from an archive.
+ The output serialization code wrote subfields such
+ as time_duration.seconds() which are invalid for special values and
+ thus undefined values. Thus when read back the values could cause
+ strange behavior including execeptions on construction.
+ </td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Fixed multiple warnings generated with various platforms/compilers.
+ </td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Construction of a ptime with a time_duration beyond the range of 00:00 to 23:59:59.9... now adjusts the date and time to make the time_duration fall within this range (ie <code class="computeroutput">ptime(date(2005,2,1), hours(-5))</code> -&gt; "2005-Jan-31 19:00:00" &amp; <code class="computeroutput">ptime(date(2005,2,1), hours(35))</code> -&gt; "2005-Feb-02 11:00:00").
+ </td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Time parsing now correctly handles excessive digits for fractional seconds. Leading zeros are dropped ("000100" -&gt; 100 frac_sec), and excessive digits are truncated at the proper place ("123456789876" -&gt; 123456 or 123456789 depending on what precision the library was compiled with).
+ </td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Changes to the <code class="computeroutput">boost::serialization</code> interface broke serialization compatibility for <code class="computeroutput">date_time</code>. The user must provide a function to insure <code class="computeroutput">date_time</code> objects are <code class="computeroutput">const</code> before they are serialized. The function should be similar to:
+ <pre class="screen">template&lt;class archive_type, class temporal_type&gt;
+void save_to(archive_type&amp; ar,
+ const temporal_type&amp; tt)
+{
+ ar &lt;&lt; tt;
+}</pre>
+</td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Use of the depricated <code class="computeroutput">boost::tokenizer</code> interface has been updated to the current interface. This fixes compiler errors on some older compilers.
+ </td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Templatized formatters in the legacy IO system to accept char type. Also removed calls to <code class="computeroutput">boost::lexical_cast</code>.
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h3>
+<a name="id2602138"></a>Changes from Boost 1.31 to 1.32 (date_time 1.02 to 1.03)</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Type</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>Bug Fix</td>
+<td>Snap to end of month behavior corrected for year_functor. Previously, starting
+ from 2000-Feb-28 (leap year and not end of month) and iterating through the next
+ leap year would result in 2004-Feb-29 instead of 2004-Feb-28. This behavior has
+ been corrected to produce the correct result of 2004-Feb-28. Thanks to Bart Garst
+ for this change.
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Free function for creating a ptime object from a FILETIME struct. This function
+ is only available on platforms that define BOOST_HAS_FTIME.
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Microsecond time clock is now available on most windows compilers as well as
+ Unix.
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Use of the boost::serialization library is now available with most of the
+ date_time classes. Classes capable of serialization are: date_generator classes,
+ date, days, date_period, greg_month, greg_weekday, greg_day, ptime, time_duration,
+ and time_period. Thanks to Bart Garst for this change.
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Functions added to convert date and time classes to wstring. The library now
+ provides to_*_wstring as well as to_*_string functions for: simple, iso,
+ iso_extended, and sql for dates and compilers that support wstrings. Thanks to
+ Bart Garst for this change.
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Period classes now handle zero length and NULL periods correctly. A NULL period
+ is a period with a negative length. Thanks to Frank Wolf and Bart Garst for this
+ change.
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Added end_of_month function to gregorian::date to return the last day of
+ the current month represented by the date. Result is undefined for
+ not_a_date_time or infinities.
+ </td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Removed incorrect usage of BOOST_NO_CWCHAR macro throughout library.
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>New names added for some date classes. Original names are still valid but may
+ some day be deprecated. Changes are:
+ <table class="simplelist" border="0" summary="Simple list">
+<tr>
+<td>date_duration</td>
+<td>is now</td>
+<td>days</td>
+</tr>
+<tr>
+<td>nth_kday_of_month</td>
+<td>is now</td>
+<td>nth_day_of_the_week_in_month</td>
+</tr>
+<tr>
+<td>first_kday_of_month</td>
+<td>is now</td>
+<td>first_day_of_the_week_in_month</td>
+</tr>
+<tr>
+<td>last_kday_of_month</td>
+<td>is now</td>
+<td>last_day_of_the_week_in_month</td>
+</tr>
+<tr>
+<td>first_kday_after</td>
+<td>is now</td>
+<td>first_day_of_the_week_after</td>
+</tr>
+<tr>
+<td>first_kday_before</td>
+<td>is now</td>
+<td>first_day_of_the_week_before</td>
+</tr>
+</table>
+</td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Free functions for date generators added. Functions are: days_until_weekday, days_before_weekday, next_weekday, and previous_weekday.
+ <pre class="screen">days days_until_weekday(date, greg_weekday);
+days days_before_weekday(date, greg_weekday);
+date next_weekday(date, greg_weekday);
+date previous_weekday(date, greg_weekday);</pre>
+ Thanks to Bart Garst for this change.
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>New experimental duration types added for months, years, and weeks. These classes
+ also provide mathematical operators for use with date and time classes. Be aware
+ that adding of months or years a time or date past the 28th of a month may show
+ non-normal mathematical properties. This is a result of 'end-of-month'
+ snapping used in the calculation. The last example below illustrates the
+ issue.
+
+ <pre class="screen">months m(12);
+years y(1);
+m == y; // true
+days d(7);
+weeks w(1);
+d == w; // true
+ptime t(...);
+t += months(3);
+date d(2004,Jan,30);
+d += months(1); //2004-Feb-29
+d -= months(1); //2004-Jan-29</pre>
+ Input streaming is not yet implemented for these types.
+ Thanks to Bart Garst for this change.
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Unifying base class for date_generators brought in to gregorian namespace. See <a href="examples.html#date_time.examples.print_holidays" title="Print Holidays">Print Holidays Example</a>.
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Added constructors for date and ptime that allow for default construction (both)
+ and special values construction (ptime, both now support this). Default
+ constructors initialize the objects to not_a_date_time (NADT).
+ <pre class="screen">ptime p_nadt(not_a_date_time);
+ptime p_posinf(pos_infin);
+ptime p; // p == NADT
+date d; // d == NADT</pre>
+ Thanks to Bart Garst for this change.
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Output streaming now supports wide stream output on compiler / standard library combinations that support wide streams. This allows code like:
+ <pre class="screen">std::wstringstream wss;
+date d(2003,Aug,21);
+wss &lt;&lt; d;</pre>
+ Thanks to Bart Garst for this change.
+ </td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Input streaming for date and time types is now supported on both wide and narrow streams:
+ <pre class="screen">date d(not_a_date_time);
+std::stringstream ss("2000-FEB-29");
+ss &gt;&gt; d; //Feb 29th, 2000
+std::wstringstream ws("2000-FEB-29");
+ws &gt;&gt; d; //Feb 29th, 2000</pre>
+ Thanks to Bart Garst for this change.
+ </td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td> Fixed bug in duration_from_string() where a string formatted with
+ less than full amount of fractional digits created an incorrect
+ time_duration. With microsecond resolution for time durations
+ the string "1:01:01.010" created a time duration of
+ 01:01:01.000010 instead of 01:01:01.010000
+ </td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Fixed the special value constructor for gregorian::date and posix_time::ptime
+ when constructing with min_date_time or max_date_time. The wrong value was
+ constructed for these.
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h3>
+<a name="id2602430"></a>Changes from Boost 1.30 to 1.31 (date_time 1.01 to 1.02)</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Type</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>Bug Fix</td>
+<td>Build configuration updated so dll, statically, and dynamically linkable library files are now produced with MSVC compilers. See <a href="details.html#date_time.buildinfo" title="Build-Compiler Information">Build/Compiler Information</a> for more details.</td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Time_duration from_string is now correctly constructed from a negative value. (ie "-0:39:00.000") Code provided by Bart Garst.</td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Fixed many MSVC compiler warnings when compiled with warning level 4.</td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Added prefix decrement operator (--) for date and time iterators. See <a href="posix_time.html#date_time.posix_time.time_iterators" title="Time Iterators">Time Iterators</a> and <a href="gregorian.html#date_time.gregorian.date_iterators" title="Date Iterators">Date Iterators</a> for more details. Code provided by Bart Garst.</td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Special_values functionality added for date_duration, time_duration and time classes. Code provided by Bart Garst.</td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Fixed time_duration_traits calculation bug which was causing time duration to be limited to 32bit range even when 64 bits were available. Thanks to Joe de Guzman for tracking this down.</td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Provided additional operators for duration types (eg: date_duration, time_duration). This includes dividable by integer and fixes to allow +=, -= operators. Thanks to Bart Garst for writing this code. Also, the documentation of <a href="details.html#date_time.calculations" title="Calculations">Calculations</a> has been improved.</td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Added typedefs to boost::gregorian gregorian_types.hpp various date_generator function classes.</td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Added from_time_t function to convert time_t to a ptime.</td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Added a span function for combining periods. See <a href="gregorian.html#date_time.gregorian.date_period" title="Date Period">date period</a> and <a href="posix_time.html#date_time.posix_time.time_period" title="Time Period">time period</a> docs.</td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Added a function to time_duration to get the total number of seconds in a
+ duration truncating any fractional seconds. In addition, other resolutions
+ were added to allow for easy conversions. For example
+ <pre class="screen">seconds(1).total_milliseconds() == 1000
+seconds(1).total_microseconds() == 1000000
+hours(1).total_milliseconds() == 3600*1000 //3600 sec/hour
+seconds(1).total_nanoseconds() == 1000000000</pre>
+</td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Added output streaming operators for the <a href="gregorian.html#date_time.gregorian.date_algorithms" title="Date Generators/Algorithms">date generator</a> classes - partial_date, first_kday_after, first_kday_before, etc. Thanks to Bart Garst for this work.</td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Added unary- operators for durations for reversing the sign of a time duration. For example:
+ <pre class="screen">time_duration td(5,0,0); //5 hours
+td = -td; //-5 hours</pre>
+ Thanks to Bart Garst for this work.</td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Added support for parsing strings with 'month names'. Thus creating a date object from string now accepts multiple formats ("2003-10-31","2003-Oct-31", and "2003-October-31"). Thus, date d = from_simple_string("2003-Feb-27") is now allowed. A bad month name string ( from_simple_string("2003-SomeBogusMonthName-27")) will cause a bad_month exception. On most compilers the string compare is case insensitive. Thanks to Bart Garst for this work.</td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>In addition to support for month names or numbers, functions have been added to create date objects from multi-ordered date strings. Ex: "January-21-2002", "2002-Jan-21", and "21-Jan-2003". See <a href="gregorian.html#date_time.gregorian.date_class" title="Date">Date Class</a> for more details.</td>
+</tr>
+<tr>
+<td>Bug-Fix</td>
+<td>Various documentation fixes. Thanks to Bart Garst for updates.</td>
+</tr>
+</tbody>
+</table></div>
+<h3>
+<a name="id2602658"></a>Changes from Boost 1.29 to 1.30 (date_time 1.00 to 1.01)</h3>
+<p>
+ Notice: The interface to the partial_date class (see <a href="gregorian.html#date_time.gregorian.date_algorithms" title="Date Generators/Algorithms">date_algorithms</a>) was changed. The order of construction parameters was changed which will cause some code to fail execution. This change was made to facilitate more generic local time adjustment code. Thus instead of specifying partial_date pd(Dec,25) the code needs to be changed to partial_date pd(25, Dec);
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Type</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>Bug Fix</td>
+<td>Added new experimental feature for Daylight Savings Time calculations. This allows traits based specification of dst rules.</td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Added new interfaces to calculate julian day and modified julian day to the gregorian date class. See <a href="gregorian.html#date_time.gregorian.date_class" title="Date">boost::gregorian::date</a>.</td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Add new interface to calculate iso 8601 week number for a date. See <a href="gregorian.html#date_time.gregorian.date_class" title="Date">boost::gregorian::date</a>.</td>
+</tr>
+<tr>
+<td>Feature</td>
+<td>Add an iso 8601 time date-time format (eg: YYYYMMDDTHHHMMSS) parsing function. See <a href="posix_time.html#date_time.posix_time.ptime_class" title="Ptime">Class ptime</a> for more information.</td>
+</tr>
+<tr>
+<td>Feature</td>
+<td> Added a length function to the period template so that both date_periods and time_periods will now support this function.</td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Split Jamfiles so that libs/date_time/build/Jamfile only builds library and /libs/date_time/libs/test/Jamfile which runs tests.</td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Fixed many minor documentation issues.</td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Removed the DATE_TIME_INLINE macro which was causing link errors. This macro is no longer needed in projects using the library.</td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Added missing typedef for year_iterator to gregorian_types.hpp</td>
+</tr>
+<tr>
+<td>Bug Fix</td>
+<td>Fixed problem with gregorian ostream operators that prevented the use of wide streams.</td>
+</tr>
+<tr>
+<td>Bug-Fix</td>
+<td>Tighten error handling for dates so that date(2002, 2, 29) will throw a bad_day_of_month exception. Previously the date would be incorrectly constructed. Reported by sourceforge bug: 628054 among others.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.acknowledgements"></a>Acknowledgements</h4></div></div></div>
+<p>
+ Many people have contributed to the development of this library. In particular Hugo Duncan and Joel de Guzman for help with porting to various compilers. For initial development of concepts and design Corwin Joy and Michael Kenniston deserve special thanks. Also extra thanks to Michael for writing up the theory and tradeoffs part of the documentation. Dave Zumbro for initial inspiration and sage thoughts. Many thanks to boost reviewers and users including: William Seymour, Kjell Elster, Beman Dawes, Gary Powell, Andrew Maclean, William Kempf, Peter Dimov, Chris Little, David Moore, Darin Adler, Gennadiy Rozental, Joachim Achtzehnter, Paul Bristow, Jan Langer, Mark Rodgers, Glen Knowles, Matthew Denman, and George Heintzelman.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="serialization.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../date_time.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/date_time/doxy.html b/doc/html/date_time/doxy.html
new file mode 100644
index 0000000000..09ac24c675
--- /dev/null
+++ b/doc/html/date_time/doxy.html
@@ -0,0 +1,1833 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Library Reference</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../date_time.html" title="Chapter 3. Boost.Date_Time">
+<link rel="prev" href="examples.html" title="Examples">
+<link rel="next" href="../day_functor.html" title="Class template day_functor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="examples.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../date_time.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../day_functor.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="date_time.doxy"></a>Library Reference</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="doxy.html#date_time_reference">Date Time Reference</a></span></dt>
+<dt><span class="section"><a href="doxy.html#gregorian_reference">Gregorian Reference</a></span></dt>
+<dt><span class="section"><a href="doxy.html#posix_time_reference">Posix Time Reference</a></span></dt>
+<dt><span class="section"><a href="doxy.html#local_time_reference">Local Time Reference</a></span></dt>
+</dl></div>
+<p>
+ The following is a detailed reference of the date_time library. A click on any of the reference links will take you to a list of the header files found in that section. Following one of those links will take you to a list of the items declared in that header file. Further sublinks take you to detailed descriptions of each individual item.
+ </p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time_reference"></a>Date Time Reference</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="doxy.html#id2485277">Header &lt;boost/date_time/adjust_functors.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2500260">Header &lt;boost/date_time/c_local_time_adjustor.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2434806">Header &lt;boost/date_time/c_time.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2469657">Header &lt;boost/date_time/compiler_config.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2459416">Header &lt;boost/date_time/constrained_value.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2499320">Header &lt;boost/date_time/date.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2411166">Header &lt;boost/date_time/date_clock_device.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2420625">Header &lt;boost/date_time/date_defs.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2412320">Header &lt;boost/date_time/date_duration.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2442047">Header &lt;boost/date_time/date_duration_types.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2466656">Header &lt;boost/date_time/date_facet.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2462095">Header &lt;boost/date_time/date_format_simple.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2352409">Header &lt;boost/date_time/date_formatting.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2398521">Header &lt;boost/date_time/date_formatting_limited.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2496102">Header &lt;boost/date_time/date_formatting_locales.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2496366">Header &lt;boost/date_time/date_generator_formatter.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2408449">Header &lt;boost/date_time/date_generator_parser.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2508942">Header &lt;boost/date_time/date_generators.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2433284">Header &lt;boost/date_time/date_iterator.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2507977">Header &lt;boost/date_time/date_names_put.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2510544">Header &lt;boost/date_time/dst_rules.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2427093">Header &lt;boost/date_time/dst_transition_generators.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2417254">Header &lt;boost/date_time/filetime_functions.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2400160">Header &lt;boost/date_time/format_date_parser.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2479605">Header &lt;boost/date_time/gregorian_calendar.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2410223">Header &lt;boost/date_time/int_adapter.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2447644">Header &lt;boost/date_time/iso_format.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2485115">Header &lt;boost/date_time/local_time_adjustor.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2503510">Header &lt;boost/date_time/local_timezone_defs.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2520303">Header &lt;boost/date_time/microsec_time_clock.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2499163">Header &lt;boost/date_time/parse_format_base.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2434012">Header &lt;boost/date_time/period.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2407150">Header &lt;boost/date_time/period_formatter.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2394584">Header &lt;boost/date_time/period_parser.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2529122">Header &lt;boost/date_time/special_defs.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2502812">Header &lt;boost/date_time/special_values_formatter.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2421174">Header &lt;boost/date_time/special_values_parser.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2461161">Header &lt;boost/date_time/string_convert.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2393421">Header &lt;boost/date_time/string_parse_tree.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2481608">Header &lt;boost/date_time/strings_from_facet.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2459854">Header &lt;boost/date_time/time.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2399180">Header &lt;boost/date_time/time_clock.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2482464">Header &lt;boost/date_time/time_defs.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2451962">Header &lt;boost/date_time/time_duration.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2417782">Header &lt;boost/date_time/time_facet.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2406082">Header &lt;boost/date_time/time_formatting_streams.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2405705">Header &lt;boost/date_time/time_iterator.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2440787">Header &lt;boost/date_time/time_parsing.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2463060">Header &lt;boost/date_time/time_resolution_traits.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2471523">Header &lt;boost/date_time/time_system_counted.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2478063">Header &lt;boost/date_time/time_system_split.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2443927">Header &lt;boost/date_time/time_zone_base.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2473483">Header &lt;boost/date_time/time_zone_names.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2433012">Header &lt;boost/date_time/tz_db_base.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2462849">Header &lt;boost/date_time/wrapping_int.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2453871">Header &lt;boost/date_time/year_month_day.hpp&gt;</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2485277"></a>Header &lt;<a href="../../../boost/date_time/adjust_functors.hpp" target="_top">boost/date_time/adjust_functors.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt; <span class="bold"><strong>class</strong></span> <a href="../day_functor.html" title="Class template day_functor">day_functor</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt; <span class="bold"><strong>class</strong></span> <a href="../month_functor.html" title="Class template month_functor">month_functor</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt; <span class="bold"><strong>class</strong></span> <a href="../week_functor.html" title="Class template week_functor">week_functor</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt; <span class="bold"><strong>class</strong></span> <a href="../year_functor.html" title="Class template year_functor">year_functor</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2500260"></a>Header &lt;<a href="../../../boost/date_time/c_local_time_adjustor.hpp" target="_top">boost/date_time/c_local_time_adjustor.hpp</a>&gt;</h5></div></div></div>
+<p>Time adjustment calculations based on machine</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type&gt; <span class="bold"><strong>class</strong></span> <a href="../c_local_adjustor.html" title="Class template c_local_adjustor">c_local_adjustor</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2434806"></a>Header &lt;<a href="../../../boost/date_time/c_time.hpp" target="_top">boost/date_time/c_time.hpp</a>&gt;</h5></div></div></div>
+<p>Provide workarounds related to the ctime header</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> std {
+}<span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>struct</strong></span> <a href="../c_time.html" title="Struct c_time">c_time</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2469657"></a>Header &lt;<a href="../../../boost/date_time/compiler_config.hpp" target="_top">boost/date_time/compiler_config.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> std {
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2459416"></a>Header &lt;<a href="../../../boost/date_time/constrained_value.hpp" target="_top">boost/date_time/constrained_value.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> CV {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> value_policies&gt; <span class="bold"><strong>class</strong></span> <a href="../constrained_value.html" title="Class template constrained_value">constrained_value</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> rep_type, rep_type min_value, rep_type max_value,
+             <span class="bold"><strong>typename</strong></span> exception_type&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../simple_exception_policy.html" title="Class template simple_exception_policy">simple_exception_policy</a>;
+
+    <span class="emphasis"><em>// </em></span>
+    <span class="bold"><strong>enum</strong></span> <a name="id2401001"></a>violation_enum { min_violation, max_violation };
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2499320"></a>Header &lt;<a href="../../../boost/date_time/date.hpp" target="_top">boost/date_time/date.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> calendar, <span class="bold"><strong>typename</strong></span> duration_type_&gt; <span class="bold"><strong>class</strong></span> <a href="../boost/date_time/date.html" title="Class template date">date</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2411166"></a>Header &lt;<a href="../../../boost/date_time/date_clock_device.hpp" target="_top">boost/date_time/date_clock_device.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt; <span class="bold"><strong>class</strong></span> <a href="../day_clock.html" title="Class template day_clock">day_clock</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2420625"></a>Header &lt;<a href="../../../boost/date_time/date_defs.hpp" target="_top">boost/date_time/date_defs.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+
+    <span class="emphasis"><em>// </em></span>
+    <span class="bold"><strong>enum</strong></span> <a name="id2397857"></a>weekdays { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday,
+                    Saturday };
+
+    <span class="emphasis"><em>// </em></span>
+    <span class="bold"><strong>enum</strong></span> <a name="id2511023"></a>months_of_year { Jan = 1, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct,
+                          Nov, Dec, NotAMonth, NumMonths };
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2412320"></a>Header &lt;<a href="../../../boost/date_time/date_duration.hpp" target="_top">boost/date_time/date_duration.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> duration_rep_traits&gt; <span class="bold"><strong>class</strong></span> <a href="../date_duration.html" title="Class template date_duration">date_duration</a>;
+
+    <span class="bold"><strong>struct</strong></span> <a href="../duration_traits_long.html" title="Struct duration_traits_long">duration_traits_long</a>;
+    <span class="bold"><strong>struct</strong></span> <a href="../duration_traits_adapted.html" title="Struct duration_traits_adapted">duration_traits_adapted</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2442047"></a>Header &lt;<a href="../../../boost/date_time/date_duration_types.hpp" target="_top">boost/date_time/date_duration_types.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> duration_config&gt; <span class="bold"><strong>class</strong></span> <a href="../weeks_duration.html" title="Class template weeks_duration">weeks_duration</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> base_config&gt; <span class="bold"><strong>class</strong></span> <a href="../months_duration.html" title="Class template months_duration">months_duration</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> base_config&gt; <span class="bold"><strong>class</strong></span> <a href="../years_duration.html" title="Class template years_duration">years_duration</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2466656"></a>Header &lt;<a href="../../../boost/date_time/date_facet.hpp" target="_top">boost/date_time/date_facet.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> CharT,
+             <span class="bold"><strong>typename</strong></span> OutItrT = std::ostreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt; &gt;
+     <span class="bold"><strong>class</strong></span> <a href="../date_facet.html" title="Class template date_facet">date_facet</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> CharT,
+             <span class="bold"><strong>typename</strong></span> InItrT = std::istreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt; &gt;
+     <span class="bold"><strong>class</strong></span> <a href="../date_input_facet.html" title="Class template date_input_facet">date_input_facet</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2462095"></a>Header &lt;<a href="../../../boost/date_time/date_format_simple.hpp" target="_top">boost/date_time/date_format_simple.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt; <span class="bold"><strong>class</strong></span> <a href="../simple_format.html" title="Class template simple_format">simple_format</a>;
+
+    <span class="bold"><strong>template</strong></span>&lt;&gt; <span class="bold"><strong>class</strong></span> <a href="../id2492905-bb.html" title="Class simple_format&lt;wchar_t&gt;">simple_format</a>&lt;<span class="bold"><strong>wchar_t</strong></span>&gt;;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2352409"></a>Header &lt;<a href="../../../boost/date_time/date_formatting.hpp" target="_top">boost/date_time/date_formatting.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> month_type, <span class="bold"><strong>typename</strong></span> format_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../month_formatter.html" title="Class template month_formatter">month_formatter</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ymd_type, <span class="bold"><strong>typename</strong></span> format_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../ymd_formatter.html" title="Class template ymd_formatter">ymd_formatter</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> format_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../date_formatter.html" title="Class template date_formatter">date_formatter</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2398521"></a>Header &lt;<a href="../../../boost/date_time/date_formatting_limited.hpp" target="_top">boost/date_time/date_formatting_limited.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2496102"></a>Header &lt;<a href="../../../boost/date_time/date_formatting_locales.hpp" target="_top">boost/date_time/date_formatting_locales.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../ostream_month_formatter.html" title="Class template ostream_month_formatter">ostream_month_formatter</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> weekday_type, <span class="bold"><strong>typename</strong></span> facet_type,
+             <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../ostream_weekday_formatter.html" title="Class template ostream_weekday_formatter">ostream_weekday_formatter</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ymd_type, <span class="bold"><strong>typename</strong></span> facet_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../ostream_ymd_formatter.html" title="Class template ostream_ymd_formatter">ostream_ymd_formatter</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> facet_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../ostream_date_formatter.html" title="Class template ostream_date_formatter">ostream_date_formatter</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2496366"></a>Header &lt;<a href="../../../boost/date_time/date_generator_formatter.hpp" target="_top">boost/date_time/date_generator_formatter.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> CharT,
+             <span class="bold"><strong>typename</strong></span> OutItrT = std::ostreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt; &gt;
+     <span class="bold"><strong>class</strong></span> <a href="../date_generator_formatter.html" title="Class template date_generator_formatter">date_generator_formatter</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2408449"></a>Header &lt;<a href="../../../boost/date_time/date_generator_parser.hpp" target="_top">boost/date_time/date_generator_parser.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> charT&gt; <span class="bold"><strong>class</strong></span> <a href="../date_generator_parser.html" title="Class template date_generator_parser">date_generator_parser</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2508942"></a>Header &lt;<a href="../../../boost/date_time/date_generators.hpp" target="_top">boost/date_time/date_generators.hpp</a>&gt;</h5></div></div></div>
+<p>Definition and implementation of date algorithm templates</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt; <span class="bold"><strong>class</strong></span> <a href="../year_based_generator.html" title="Class template year_based_generator">year_based_generator</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt; <span class="bold"><strong>class</strong></span> <a href="../partial_date.html" title="Class template partial_date">partial_date</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt; <span class="bold"><strong>class</strong></span> <a href="../nth_kday_of_month.html" title="Class template nth_kday_of_month">nth_kday_of_month</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt; <span class="bold"><strong>class</strong></span> <a href="../first_kday_of_month.html" title="Class template first_kday_of_month">first_kday_of_month</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt; <span class="bold"><strong>class</strong></span> <a href="../last_kday_of_month.html" title="Class template last_kday_of_month">last_kday_of_month</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt; <span class="bold"><strong>class</strong></span> <a href="../first_kday_after.html" title="Class template first_kday_after">first_kday_after</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt; <span class="bold"><strong>class</strong></span> <a href="../first_kday_before.html" title="Class template first_kday_before">first_kday_before</a>;
+
+    <span class="emphasis"><em>// Returns nth arg as string. 1 -&gt; "first", 2 -&gt; "second", max is 5. </em></span>
+    <span class="type">BOOST_DATE_TIME_DECL <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a name="nth_as_str"></a>nth_as_str(<span class="bold"><strong>int</strong></span> n);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> weekday_type&gt;
+      <span class="type">date_type::duration_type</span>
+      <a href="../days_until_weekday.html" title="Function template days_until_weekday">days_until_weekday</a>(<span class="bold"><strong>const</strong></span> date_type &amp;, <span class="bold"><strong>const</strong></span> weekday_type &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> weekday_type&gt;
+      <span class="type">date_type::duration_type</span>
+      <a href="../days_before_weekday.html" title="Function template days_before_weekday">days_before_weekday</a>(<span class="bold"><strong>const</strong></span> date_type &amp;, <span class="bold"><strong>const</strong></span> weekday_type &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> weekday_type&gt;
+      <span class="type">date_type</span> <a href="../next_weekday.html" title="Function template next_weekday">next_weekday</a>(<span class="bold"><strong>const</strong></span> date_type &amp;, <span class="bold"><strong>const</strong></span> weekday_type &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> weekday_type&gt;
+      <span class="type">date_type</span> <a href="../previous_weekday.html" title="Function template previous_weekday">previous_weekday</a>(<span class="bold"><strong>const</strong></span> date_type &amp;, <span class="bold"><strong>const</strong></span> weekday_type &amp;);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2433284"></a>Header &lt;<a href="../../../boost/date_time/date_iterator.hpp" target="_top">boost/date_time/date_iterator.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt; <span class="bold"><strong>class</strong></span> <a href="../date_itr_base.html" title="Class template date_itr_base">date_itr_base</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> offset_functor, <span class="bold"><strong>typename</strong></span> date_type&gt; <span class="bold"><strong>class</strong></span> <a href="../date_itr.html" title="Class template date_itr">date_itr</a>;
+
+    <span class="emphasis"><em>// </em></span>
+    <span class="bold"><strong>enum</strong></span> <a name="id2510876"></a>date_resolutions { day, week, months, year, decade, century,
+                            NumDateResolutions };
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2507977"></a>Header &lt;<a href="../../../boost/date_time/date_names_put.hpp" target="_top">boost/date_time/date_names_put.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Config, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>,
+             <span class="bold"><strong>typename</strong></span> <a href="../OutputIterator.html" title="Concept OutputIterator">OutputIterator</a> = std::ostreambuf_iterator&lt;charT&gt; &gt;
+     <span class="bold"><strong>class</strong></span> <a href="../date_names_put.html" title="Class template date_names_put">date_names_put</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Config, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>,
+             <span class="bold"><strong>typename</strong></span> <a href="../OutputIterator.html" title="Concept OutputIterator">OutputIterator</a> = std::ostreambuf_iterator&lt;charT&gt; &gt;
+     <span class="bold"><strong>class</strong></span> <a href="../all_date_names_put.html" title="Class template all_date_names_put">all_date_names_put</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2510544"></a>Header &lt;<a href="../../../boost/date_time/dst_rules.hpp" target="_top">boost/date_time/dst_rules.hpp</a>&gt;</h5></div></div></div>
+<p>Contains template class to provide static dst rule calculations</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type_, <span class="bold"><strong>typename</strong></span> time_duration_type_&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../dst_calculator.html" title="Class template dst_calculator">dst_calculator</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> time_duration_type,
+             <span class="bold"><strong>typename</strong></span> dst_traits&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../dst_calc_engine.html" title="Class template dst_calc_engine">dst_calc_engine</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type_, <span class="bold"><strong>typename</strong></span> time_duration_type_,
+             <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> dst_start_offset_minutes = ,
+             <span class="bold"><strong>short</strong></span> dst_length_minutes = &gt;
+     <span class="bold"><strong>class</strong></span> <a href="../us_dst_rules.html" title="Class template us_dst_rules">us_dst_rules</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type_, <span class="bold"><strong>typename</strong></span> time_duration_type_&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../null_dst_rules.html" title="Class template null_dst_rules">null_dst_rules</a>;
+
+    <span class="bold"><strong>enum</strong></span> <a name="id2425497"></a>time_is_dst_result { is_not_in_dst, is_in_dst, ambiguous,
+                              invalid_time_label };
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2427093"></a>Header &lt;<a href="../../../boost/date_time/dst_transition_generators.hpp" target="_top">boost/date_time/dst_transition_generators.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt; <span class="bold"><strong>class</strong></span> <a href="../dst_day_calc_rule.html" title="Class template dst_day_calc_rule">dst_day_calc_rule</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> spec&gt; <span class="bold"><strong>class</strong></span> <a href="../day_calc_dst_rule.html" title="Class template day_calc_dst_rule">day_calc_dst_rule</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2417254"></a>Header &lt;<a href="../../../boost/date_time/filetime_functions.hpp" target="_top">boost/date_time/filetime_functions.hpp</a>&gt;</h5></div></div></div>
+<p>Function(s) for converting between a FILETIME structure and a time object. This file is only available on systems that have BOOST_HAS_FTIME defined.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type&gt; <span class="type">time_type</span> <a href="../time_from_ftime.html" title="Function template time_from_ftime">time_from_ftime</a>(<span class="bold"><strong>const</strong></span> FILETIME &amp;);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2400160"></a>Header &lt;<a href="../../../boost/date_time/format_date_parser.hpp" target="_top">boost/date_time/format_date_parser.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> charT&gt; <span class="bold"><strong>class</strong></span> <a href="../format_date_parser.html" title="Class template format_date_parser">format_date_parser</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> int_type, <span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">int_type</span> <a href="../fixed_string_to_int.html" title="Function template fixed_string_to_int">fixed_string_to_int</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
+                                   std::istreambuf_iterator&lt; charT &gt; &amp;,
+                                   parse_match_result&lt; charT &gt; &amp;,
+                                   <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> int_type, <span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">int_type</span> <a href="../var_string_to_int.html" title="Function template var_string_to_int">var_string_to_int</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
+                                 std::istreambuf_iterator&lt; charT &gt; &amp;,
+                                 <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2479605"></a>Header &lt;<a href="../../../boost/date_time/gregorian_calendar.hpp" target="_top">boost/date_time/gregorian_calendar.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ymd_type_, <span class="bold"><strong>typename</strong></span> date_int_type_&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../gregorian_calendar_base.html" title="Class template gregorian_calendar_base">gregorian_calendar_base</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2410223"></a>Header &lt;<a href="../../../boost/date_time/int_adapter.hpp" target="_top">boost/date_time/int_adapter.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> int_type_&gt; <span class="bold"><strong>class</strong></span> <a href="../int_adapter.html" title="Class template int_adapter">int_adapter</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits, <span class="bold"><strong>typename</strong></span> int_type&gt;
+      <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+      <a href="../id2397684.html" title="Function template operator&lt;&lt;"><span class="bold"><strong>operator</strong></span>&lt;&lt;</a>(std::basic_ostream&lt; charT, traits &gt; &amp;,
+                 <span class="bold"><strong>const</strong></span> <a href="../int_adapter.html" title="Class template int_adapter">int_adapter</a>&lt; int_type &gt; &amp;);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2447644"></a>Header &lt;<a href="../../../boost/date_time/iso_format.hpp" target="_top">boost/date_time/iso_format.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt; <span class="bold"><strong>class</strong></span> <a href="../iso_format_base.html" title="Class template iso_format_base">iso_format_base</a>;
+
+    <span class="bold"><strong>template</strong></span>&lt;&gt; <span class="bold"><strong>class</strong></span> <a href="../id2522859-bb.html" title="Class iso_format_base&lt;wchar_t&gt;">iso_format_base</a>&lt;<span class="bold"><strong>wchar_t</strong></span>&gt;;
+
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt; <span class="bold"><strong>class</strong></span> <a href="../iso_format.html" title="Class template iso_format">iso_format</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt; <span class="bold"><strong>class</strong></span> <a href="../iso_extended_format.html" title="Class template iso_extended_format">iso_extended_format</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2485115"></a>Header &lt;<a href="../../../boost/date_time/local_time_adjustor.hpp" target="_top">boost/date_time/local_time_adjustor.hpp</a>&gt;</h5></div></div></div>
+<p>Time adjustment calculations for local times</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration_type, <span class="bold"><strong>short</strong></span> hours,
+             <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span> minutes = &gt;
+     <span class="bold"><strong>class</strong></span> <a href="../utc_adjustment.html" title="Class template utc_adjustment">utc_adjustment</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type, <span class="bold"><strong>typename</strong></span> dst_rules&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../id2434970.html" title="Class template dynamic_local_time_adjustor">dynamic_local_time_adjustor</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type, <span class="bold"><strong>typename</strong></span> dst_rules,
+             <span class="bold"><strong>typename</strong></span> utc_offset_rules&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../static_local_time_adjustor.html" title="Class template static_local_time_adjustor">static_local_time_adjustor</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type, <span class="bold"><strong>short</strong></span> utc_offset, <span class="bold"><strong>typename</strong></span> dst_rule&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../local_adjustor.html" title="Class template local_adjustor">local_adjustor</a>;
+    <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="dummy_to_prevent_msvc6_ice"></a>dummy_to_prevent_msvc6_ice();
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2503510"></a>Header &lt;<a href="../../../boost/date_time/local_timezone_defs.hpp" target="_top">boost/date_time/local_timezone_defs.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt; <span class="bold"><strong>struct</strong></span> <a href="../us_dst_trait.html" title="Struct template us_dst_trait">us_dst_trait</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt; <span class="bold"><strong>struct</strong></span> <a href="../eu_dst_trait.html" title="Struct template eu_dst_trait">eu_dst_trait</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt; <span class="bold"><strong>struct</strong></span> <a href="../uk_dst_trait.html" title="Struct template uk_dst_trait">uk_dst_trait</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt; <span class="bold"><strong>struct</strong></span> <a href="../acst_dst_trait.html" title="Struct template acst_dst_trait">acst_dst_trait</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2520303"></a>Header &lt;<a href="../../../boost/date_time/microsec_time_clock.hpp" target="_top">boost/date_time/microsec_time_clock.hpp</a>&gt;</h5></div></div></div>
+<p>This file contains a high resolution time clock implementation.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type&gt; <span class="bold"><strong>class</strong></span> <a href="../microsec_clock.html" title="Class template microsec_clock">microsec_clock</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2499163"></a>Header &lt;<a href="../../../boost/date_time/parse_format_base.hpp" target="_top">boost/date_time/parse_format_base.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+
+    <span class="emphasis"><em>// </em></span>
+    <span class="bold"><strong>enum</strong></span> <a name="id2483913"></a>month_format_spec { month_as_integer, month_as_short_string,
+                             month_as_long_string };
+    <span class="bold"><strong>enum</strong></span> <a href="../id2483937.html" title="Type ymd_order_spec">ymd_order_spec</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2434012"></a>Header &lt;<a href="../../../boost/date_time/period.hpp" target="_top">boost/date_time/period.hpp</a>&gt;</h5></div></div></div>
+<p>This file contain the implementation of the period abstraction. This is basically the same idea as a range. Although this class is intended for use in the time library, it is pretty close to general enough for other numeric uses.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> point_rep, <span class="bold"><strong>typename</strong></span> duration_rep&gt; <span class="bold"><strong>class</strong></span> <a href="../period.html" title="Class template period">period</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2407150"></a>Header &lt;<a href="../../../boost/date_time/period_formatter.hpp" target="_top">boost/date_time/period_formatter.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT,
+             <span class="bold"><strong>typename</strong></span> OutItrT = std::ostreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt; &gt;
+     <span class="bold"><strong>class</strong></span> <a href="../period_formatter.html" title="Class template period_formatter">period_formatter</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2394584"></a>Header &lt;<a href="../../../boost/date_time/period_parser.hpp" target="_top">boost/date_time/period_parser.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> CharT&gt; <span class="bold"><strong>class</strong></span> <a href="../period_parser.html" title="Class template period_parser">period_parser</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2529122"></a>Header &lt;<a href="../../../boost/date_time/special_defs.hpp" target="_top">boost/date_time/special_defs.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+
+    <span class="bold"><strong>enum</strong></span> <a name="id2502769"></a>special_values { not_a_date_time, neg_infin, pos_infin,
+                          min_date_time, max_date_time, not_special,
+                          NumSpecialValues };
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2502812"></a>Header &lt;<a href="../../../boost/date_time/special_values_formatter.hpp" target="_top">boost/date_time/special_values_formatter.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT,
+             <span class="bold"><strong>typename</strong></span> OutItrT = std::ostreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt; &gt;
+     <span class="bold"><strong>class</strong></span> <a href="../special_values_formatter.html" title="Class template special_values_formatter">special_values_formatter</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2421174"></a>Header &lt;<a href="../../../boost/date_time/special_values_parser.hpp" target="_top">boost/date_time/special_values_parser.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> charT&gt; <span class="bold"><strong>class</strong></span> <a href="../special_values_parser.html" title="Class template special_values_parser">special_values_parser</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2461161"></a>Header &lt;<a href="../../../boost/date_time/string_convert.hpp" target="_top">boost/date_time/string_convert.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputT, <span class="bold"><strong>typename</strong></span> OutputT&gt;
+      <span class="type">std::basic_string&lt; OutputT &gt;</span>
+      <a href="../convert_string_type.html" title="Function template convert_string_type">convert_string_type</a>(<span class="bold"><strong>const</strong></span> std::basic_string&lt; InputT &gt; &amp;);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2393421"></a>Header &lt;<a href="../../../boost/date_time/string_parse_tree.hpp" target="_top">boost/date_time/string_parse_tree.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt; <span class="bold"><strong>struct</strong></span> <a href="../parse_match_result.html" title="Struct template parse_match_result">parse_match_result</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt; <span class="bold"><strong>struct</strong></span> <a href="../string_parse_tree.html" title="Struct template string_parse_tree">string_parse_tree</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_ostream&lt; charT &gt; &amp;</span>
+      <a name="id2472728"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT &gt; &amp; os,
+                 parse_match_result&lt; charT &gt; &amp; mr);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2481608"></a>Header &lt;<a href="../../../boost/date_time/strings_from_facet.hpp" target="_top">boost/date_time/strings_from_facet.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::vector&lt; std::basic_string&lt; charT &gt; &gt;</span>
+      <a href="../gather_month_strings.html" title="Function template gather_month_strings">gather_month_strings</a>(<span class="bold"><strong>const</strong></span> std::locale &amp;, <span class="bold"><strong>bool</strong></span> = true);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::vector&lt; std::basic_string&lt; charT &gt; &gt;</span>
+      <a href="../gather_weekday_strings.html" title="Function template gather_weekday_strings">gather_weekday_strings</a>(<span class="bold"><strong>const</strong></span> std::locale &amp;, <span class="bold"><strong>bool</strong></span> = true);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2459854"></a>Header &lt;<a href="../../../boost/date_time/time.hpp" target="_top">boost/date_time/time.hpp</a>&gt;</h5></div></div></div>
+<p>This file contains the interface for the time associated classes.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> time_system&gt; <span class="bold"><strong>class</strong></span> <a href="../base_time.html" title="Class template base_time">base_time</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2399180"></a>Header &lt;<a href="../../../boost/date_time/time_clock.hpp" target="_top">boost/date_time/time_clock.hpp</a>&gt;</h5></div></div></div>
+<p>This file contains the interface for clock devices.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type&gt; <span class="bold"><strong>class</strong></span> <a href="../second_clock.html" title="Class template second_clock">second_clock</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2482464"></a>Header &lt;<a href="../../../boost/date_time/time_defs.hpp" target="_top">boost/date_time/time_defs.hpp</a>&gt;</h5></div></div></div>
+<p>This file contains nice definitions for handling the resoluion of various time reprsentations.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+
+    <span class="emphasis"><em>// </em></span>
+    <span class="bold"><strong>enum</strong></span> <a name="id2482483"></a>time_resolutions { sec, tenth, hundreth, milli, ten_thousandth,
+                            micro, nano, NumResolutions };
+
+    <span class="emphasis"><em>// </em></span>
+    <span class="bold"><strong>enum</strong></span> <a name="id2451935"></a>dst_flags { not_dst, is_dst, calculate };
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2451962"></a>Header &lt;<a href="../../../boost/date_time/time_duration.hpp" target="_top">boost/date_time/time_duration.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> rep_type&gt; <span class="bold"><strong>class</strong></span> <a href="../id2451976.html" title="Class template time_duration">time_duration</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> base_duration, boost::int64_t frac_of_second&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../subsecond_duration.html" title="Class template subsecond_duration">subsecond_duration</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2417782"></a>Header &lt;<a href="../../../boost/date_time/time_facet.hpp" target="_top">boost/date_time/time_facet.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT&gt; <span class="bold"><strong>struct</strong></span> <a href="../time_formats.html" title="Struct template time_formats">time_formats</a>;
+
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type, <span class="bold"><strong>typename</strong></span> CharT,
+             <span class="bold"><strong>typename</strong></span> OutItrT = std::ostreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt; &gt;
+     <span class="bold"><strong>class</strong></span> <a href="../time_facet.html" title="Class template time_facet">time_facet</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type, <span class="bold"><strong>typename</strong></span> CharT,
+             <span class="bold"><strong>typename</strong></span> InItrT = std::istreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt; &gt;
+     <span class="bold"><strong>class</strong></span> <a href="../time_input_facet.html" title="Class template time_input_facet">time_input_facet</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2406082"></a>Header &lt;<a href="../../../boost/date_time/time_formatting_streams.hpp" target="_top">boost/date_time/time_formatting_streams.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../id2406096.html" title="Class template ostream_time_duration_formatter">ostream_time_duration_formatter</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../ostream_time_formatter.html" title="Class template ostream_time_formatter">ostream_time_formatter</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_period_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../id2428972.html" title="Class template ostream_time_period_formatter">ostream_time_period_formatter</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2405705"></a>Header &lt;<a href="../../../boost/date_time/time_iterator.hpp" target="_top">boost/date_time/time_iterator.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type&gt; <span class="bold"><strong>class</strong></span> <a href="../time_itr.html" title="Class template time_itr">time_itr</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2440787"></a>Header &lt;<a href="../../../boost/date_time/time_parsing.hpp" target="_top">boost/date_time/time_parsing.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+
+    <span class="emphasis"><em>// computes exponential math like 2^8 =&gt; 256, only works with positive integers </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> int_type&gt;
+      <span class="type">int_type</span> <a name="power"></a>power(int_type base, int_type exponent);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration&gt;
+      <span class="type"><a href="../id2451976.html" title="Class template time_duration">time_duration</a></span> <a href="../id2440843.html" title="Function template parse_delimited_time_duration">parse_delimited_time_duration</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+    <span class="emphasis"><em>// Utility function to split appart string. </em></span>
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2440897"></a>split(<span class="bold"><strong>const</strong></span> std::string &amp; s, <span class="bold"><strong>char</strong></span> sep, std::string &amp; first,
+               std::string &amp; second);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type&gt;
+      <span class="type">time_type</span> <a name="parse_delimited_time"></a>parse_delimited_time(<span class="bold"><strong>const</strong></span> std::string &amp; s, <span class="bold"><strong>char</strong></span> sep);
+
+    <span class="emphasis"><em>// Parse time duration part of an iso time of form: [-]hhmmss[.fff...] (eg: 120259.123 is 12 hours, 2 min, 59 seconds, 123000 microseconds). </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration&gt;
+      <span class="type"><a href="../id2451976.html" title="Class template time_duration">time_duration</a></span> <a name="id2395397"></a>parse_undelimited_time_duration(<span class="bold"><strong>const</strong></span> std::string &amp; s);
+
+    <span class="emphasis"><em>// Parse time string of form YYYYMMDDThhmmss where T is delimeter between date and time. </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type&gt;
+      <span class="type">time_type</span> <a name="parse_iso_time"></a>parse_iso_time(<span class="bold"><strong>const</strong></span> std::string &amp; s, <span class="bold"><strong>char</strong></span> sep);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2463060"></a>Header &lt;<a href="../../../boost/date_time/time_resolution_traits.hpp" target="_top">boost/date_time/time_resolution_traits.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>struct</strong></span> <a href="../id2463074.html" title="Struct time_resolution_traits_bi32_impl">time_resolution_traits_bi32_impl</a>;
+    <span class="bold"><strong>struct</strong></span> <a href="../id2463150.html" title="Struct time_resolution_traits_adapted32_impl">time_resolution_traits_adapted32_impl</a>;
+    <span class="bold"><strong>struct</strong></span> <a href="../id2405579.html" title="Struct time_resolution_traits_bi64_impl">time_resolution_traits_bi64_impl</a>;
+    <span class="bold"><strong>struct</strong></span> <a href="../id2405655.html" title="Struct time_resolution_traits_adapted64_impl">time_resolution_traits_adapted64_impl</a>;
+
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> frac_sec_type, time_resolutions res,
+             #<span class="bold"><strong>if</strong></span>(defined(BOOST_MSVC)&amp;&amp;(_MSC_VER&lt;=1200)) boost::int64_t resolution_adjust,
+             #<span class="bold"><strong>else</strong></span> <span class="bold"><strong>typename</strong></span> frac_sec_type::int_type resolution_adjust,
+             #endif <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span> frac_digits,
+             <span class="bold"><strong>typename</strong></span> v_type = boost::int32_t&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../time_resolution_traits.html" title="Class template time_resolution_traits">time_resolution_traits</a>;
+
+    <span class="bold"><strong>typedef</strong></span> time_resolution_traits&lt; <a href="../id2463150.html" title="Struct time_resolution_traits_adapted32_impl">time_resolution_traits_adapted32_impl</a>, milli, 1000, 3 &gt; milli_res;
+    <span class="bold"><strong>typedef</strong></span> time_resolution_traits&lt; <a href="../id2405655.html" title="Struct time_resolution_traits_adapted64_impl">time_resolution_traits_adapted64_impl</a>, micro, 1000000, 6 &gt; micro_res;
+    <span class="bold"><strong>typedef</strong></span> time_resolution_traits&lt; <a href="../id2405655.html" title="Struct time_resolution_traits_adapted64_impl">time_resolution_traits_adapted64_impl</a>, nano, 1000000000, 9 &gt; nano_res;
+
+    <span class="emphasis"><em>// Simple function to calculate absolute value of a numeric type. </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">T</span> <a name="absolute_value"></a>absolute_value(T x);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2471523"></a>Header &lt;<a href="../../../boost/date_time/time_system_counted.hpp" target="_top">boost/date_time/time_system_counted.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> config&gt; <span class="bold"><strong>struct</strong></span> <a href="../counted_time_rep.html" title="Struct template counted_time_rep">counted_time_rep</a>;
+
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_rep&gt; <span class="bold"><strong>class</strong></span> <a href="../counted_time_system.html" title="Class template counted_time_system">counted_time_system</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2478063"></a>Header &lt;<a href="../../../boost/date_time/time_system_split.hpp" target="_top">boost/date_time/time_system_split.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> config, boost::int32_t ticks_per_second&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../split_timedate_system.html" title="Class template split_timedate_system">split_timedate_system</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2443927"></a>Header &lt;<a href="../../../boost/date_time/time_zone_base.hpp" target="_top">boost/date_time/time_zone_base.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type, <span class="bold"><strong>typename</strong></span> CharT = <span class="bold"><strong>char</strong></span>&gt; <span class="bold"><strong>class</strong></span> <a href="../time_zone_base.html" title="Class template time_zone_base">time_zone_base</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration_type&gt; <span class="bold"><strong>class</strong></span> <a href="../id2473370.html" title="Class template dst_adjustment_offsets">dst_adjustment_offsets</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2473483"></a>Header &lt;<a href="../../../boost/date_time/time_zone_names.hpp" target="_top">boost/date_time/time_zone_names.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT = <span class="bold"><strong>char</strong></span>&gt; <span class="bold"><strong>class</strong></span> <a href="../time_zone_names_base.html" title="Class template time_zone_names_base">time_zone_names_base</a>;
+
+    <span class="bold"><strong>typedef</strong></span> <a href="../time_zone_names_base.html" title="Class template time_zone_names_base">time_zone_names_base</a>&lt; <span class="bold"><strong>char</strong></span> &gt; time_zone_names; <span class="emphasis"><em>// Specialization of timezone names for standard char. </em></span>
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2433012"></a>Header &lt;<a href="../../../boost/date_time/tz_db_base.hpp" target="_top">boost/date_time/tz_db_base.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>struct</strong></span> <a href="../data_not_accessible.html" title="Struct data_not_accessible">data_not_accessible</a>;
+    <span class="bold"><strong>struct</strong></span> <a href="../bad_field_count.html" title="Struct bad_field_count">bad_field_count</a>;
+
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_zone_type, <span class="bold"><strong>typename</strong></span> rule_type&gt; <span class="bold"><strong>class</strong></span> <a href="../tz_db_base.html" title="Class template tz_db_base">tz_db_base</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2462849"></a>Header &lt;<a href="../../../boost/date_time/wrapping_int.hpp" target="_top">boost/date_time/wrapping_int.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> int_type_, int_type_ wrap_val&gt; <span class="bold"><strong>class</strong></span> <a href="../wrapping_int.html" title="Class template wrapping_int">wrapping_int</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> int_type_, int_type_ wrap_min, int_type_ wrap_max&gt;
+     <span class="bold"><strong>class</strong></span> <a href="../wrapping_int2.html" title="Class template wrapping_int2">wrapping_int2</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2453871"></a>Header &lt;<a href="../../../boost/date_time/year_month_day.hpp" target="_top">boost/date_time/year_month_day.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> date_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> YearType, <span class="bold"><strong>typename</strong></span> MonthType, <span class="bold"><strong>typename</strong></span> DayType&gt;
+     <span class="bold"><strong>struct</strong></span> <a href="../year_month_day_base.html" title="Struct template year_month_day_base">year_month_day_base</a>;
+  }
+}</pre>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="gregorian_reference"></a>Gregorian Reference</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="doxy.html#id2482699">Header &lt;boost/date_time/gregorian/conversion.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2482773">Header &lt;boost/date_time/gregorian/formatters.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2482078">Header &lt;boost/date_time/gregorian/formatters_limited.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2482095">Header &lt;boost/date_time/gregorian/greg_calendar.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2482201">Header &lt;boost/date_time/gregorian/greg_date.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2452632">Header &lt;boost/date_time/gregorian/greg_day.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2452786">Header &lt;boost/date_time/gregorian/greg_day_of_year.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2452853">Header &lt;boost/date_time/gregorian/greg_duration.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2459983">Header &lt;boost/date_time/gregorian/greg_duration_types.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2460086">Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2409109">Header &lt;boost/date_time/gregorian/greg_month.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2409485">Header &lt;boost/date_time/gregorian/greg_weekday.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2480231">Header &lt;boost/date_time/gregorian/greg_year.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2480354">Header &lt;boost/date_time/gregorian/greg_ymd.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2480392">Header &lt;boost/date_time/gregorian/gregorian.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2480405">Header &lt;boost/date_time/gregorian/gregorian_io.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2456038">Header &lt;boost/date_time/gregorian/gregorian_types.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2441300">Header &lt;boost/date_time/gregorian/parsers.hpp&gt;</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2482699"></a>Header &lt;<a href="../../../boost/date_time/gregorian/conversion.hpp" target="_top">boost/date_time/gregorian/conversion.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> gregorian {
+
+    <span class="emphasis"><em>// Converts a date to a tm struct. Throws out_of_range exception if date is a special value. </em></span>
+    <span class="type">tm</span> <a name="id2482712"></a>to_tm(<span class="bold"><strong>const</strong></span> <a href="../boost/gregorian/date.html" title="Class date">date</a> &amp; d);
+
+    <span class="emphasis"><em>// Converts a tm structure into a date dropping the any time values. </em></span>
+    <span class="type"><a href="../boost/gregorian/date.html" title="Class date">date</a></span> <a name="date_from_tm"></a>date_from_tm(<span class="bold"><strong>const</strong></span> tm &amp; datetm);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2482773"></a>Header &lt;<a href="../../../boost/date_time/gregorian/formatters.hpp" target="_top">boost/date_time/gregorian/formatters.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> gregorian {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_string&lt; charT &gt;</span> <a name="id2482787"></a>to_simple_string_type(<span class="bold"><strong>const</strong></span> <a href="../boost/gregorian/date.html" title="Class date">date</a> &amp; d);
+
+    <span class="emphasis"><em>// To YYYY-mmm-DD string where mmm 3 char month name. Example: 2002-Jan-01. </em></span>
+    <span class="type">std::string</span> <a name="id2482818"></a>to_simple_string(<span class="bold"><strong>const</strong></span> <a href="../boost/gregorian/date.html" title="Class date">date</a> &amp; d);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_string&lt; charT &gt;</span> <a name="id2482846"></a>to_simple_string_type(<span class="bold"><strong>const</strong></span> date_period &amp; d);
+
+    <span class="emphasis"><em>// Convert date period to simple string. Example: [2002-Jan-01/2002-Jan-02]. </em></span>
+    <span class="type">std::string</span> <a name="id2482874"></a>to_simple_string(<span class="bold"><strong>const</strong></span> date_period &amp; d);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_string&lt; charT &gt;</span> <a name="id2482899"></a>to_iso_string_type(<span class="bold"><strong>const</strong></span> date_period &amp; d);
+
+    <span class="emphasis"><em>// Date period to iso standard format CCYYMMDD/CCYYMMDD. Example: 20021225/20021231. </em></span>
+    <span class="type">std::string</span> <a name="id2473021"></a>to_iso_string(<span class="bold"><strong>const</strong></span> date_period &amp; d);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_string&lt; charT &gt;</span> <a name="id2473046"></a>to_iso_extended_string_type(<span class="bold"><strong>const</strong></span> <a href="../boost/gregorian/date.html" title="Class date">date</a> &amp; d);
+
+    <span class="emphasis"><em>// Convert to iso extended format string CCYY-MM-DD. Example 2002-12-31. </em></span>
+    <span class="type">std::string</span> <a name="id2473077"></a>to_iso_extended_string(<span class="bold"><strong>const</strong></span> <a href="../boost/gregorian/date.html" title="Class date">date</a> &amp; d);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_string&lt; charT &gt;</span> <a name="id2473105"></a>to_iso_string_type(<span class="bold"><strong>const</strong></span> <a href="../boost/gregorian/date.html" title="Class date">date</a> &amp; d);
+
+    <span class="emphasis"><em>// Convert to iso standard string YYYYMMDD. Example: 20021231. </em></span>
+    <span class="type">std::string</span> <a name="id2473136"></a>to_iso_string(<span class="bold"><strong>const</strong></span> <a href="../boost/gregorian/date.html" title="Class date">date</a> &amp; d);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_string&lt; charT &gt;</span> <a name="to_sql_string_type"></a>to_sql_string_type(<span class="bold"><strong>const</strong></span> <a href="../boost/gregorian/date.html" title="Class date">date</a> &amp; d);
+    <span class="type">std::string</span> <a name="to_sql_string"></a>to_sql_string(<span class="bold"><strong>const</strong></span> <a href="../boost/gregorian/date.html" title="Class date">date</a> &amp; d);
+
+    <span class="emphasis"><em>// Convert date period to simple string. Example: [2002-Jan-01/2002-Jan-02]. </em></span>
+    <span class="type">std::wstring</span> <a name="id2473220"></a>to_simple_wstring(<span class="bold"><strong>const</strong></span> date_period &amp; d);
+
+    <span class="emphasis"><em>// To YYYY-mmm-DD string where mmm 3 char month name. Example: 2002-Jan-01. </em></span>
+    <span class="type">std::wstring</span> <a name="id2473244"></a>to_simple_wstring(<span class="bold"><strong>const</strong></span> <a href="../boost/gregorian/date.html" title="Class date">date</a> &amp; d);
+
+    <span class="emphasis"><em>// Date period to iso standard format CCYYMMDD/CCYYMMDD. Example: 20021225/20021231. </em></span>
+    <span class="type">std::wstring</span> <a name="id2473273"></a>to_iso_wstring(<span class="bold"><strong>const</strong></span> date_period &amp; d);
+
+    <span class="emphasis"><em>// Convert to iso extended format string CCYY-MM-DD. Example 2002-12-31. </em></span>
+    <span class="type">std::wstring</span> <a name="id2473298"></a>to_iso_extended_wstring(<span class="bold"><strong>const</strong></span> <a href="../boost/gregorian/date.html" title="Class date">date</a> &amp; d);
+
+    <span class="emphasis"><em>// Convert to iso standard string YYYYMMDD. Example: 20021231. </em></span>
+    <span class="type">std::wstring</span> <a name="id2473326"></a>to_iso_wstring(<span class="bold"><strong>const</strong></span> <a href="../boost/gregorian/date.html" title="Class date">date</a> &amp; d);
+    <span class="type">std::wstring</span> <a name="to_sql_wstring"></a>to_sql_wstring(<span class="bold"><strong>const</strong></span> <a href="../boost/gregorian/date.html" title="Class date">date</a> &amp; d);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2482078"></a>Header &lt;<a href="../../../boost/date_time/gregorian/formatters_limited.hpp" target="_top">boost/date_time/gregorian/formatters_limited.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> gregorian {
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2482095"></a>Header &lt;<a href="../../../boost/date_time/gregorian/greg_calendar.hpp" target="_top">boost/date_time/gregorian/greg_calendar.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> gregorian {
+    <span class="bold"><strong>class</strong></span> <a href="../gregorian_calendar.html" title="Class gregorian_calendar">gregorian_calendar</a>;
+
+    <span class="bold"><strong>typedef</strong></span> date_time::int_adapter&lt; <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>long</strong></span> &gt; fancy_date_rep; <span class="emphasis"><em>// An internal date representation that includes infinities, not a date. </em></span>
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2482201"></a>Header &lt;<a href="../../../boost/date_time/gregorian/greg_date.hpp" target="_top">boost/date_time/gregorian/greg_date.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> gregorian {
+    <span class="bold"><strong>class</strong></span> <a href="../boost/gregorian/date.html" title="Class date">date</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2452632"></a>Header &lt;<a href="../../../boost/date_time/gregorian/greg_day.hpp" target="_top">boost/date_time/gregorian/greg_day.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> gregorian {
+    <span class="bold"><strong>struct</strong></span> <a href="../bad_day_of_month.html" title="Struct bad_day_of_month">bad_day_of_month</a>;
+
+    <span class="bold"><strong>class</strong></span> <a href="../greg_day.html" title="Class greg_day">greg_day</a>;
+
+    <span class="bold"><strong>typedef</strong></span> CV::simple_exception_policy&lt; <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span>, 1, 31, <a href="../bad_day_of_month.html" title="Struct bad_day_of_month">bad_day_of_month</a> &gt; greg_day_policies; <span class="emphasis"><em>// Policy class that declares error handling and day of month ranges. </em></span>
+    <span class="bold"><strong>typedef</strong></span> CV::constrained_value&lt; greg_day_policies &gt; greg_day_rep; <span class="emphasis"><em>// Generated represetation for gregorian day of month. </em></span>
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2452786"></a>Header &lt;<a href="../../../boost/date_time/gregorian/greg_day_of_year.hpp" target="_top">boost/date_time/gregorian/greg_day_of_year.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> gregorian {
+    <span class="bold"><strong>struct</strong></span> <a href="../bad_day_of_year.html" title="Struct bad_day_of_year">bad_day_of_year</a>;
+
+    <span class="bold"><strong>typedef</strong></span> CV::simple_exception_policy&lt; <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span>, 1, 366, <a href="../bad_day_of_year.html" title="Struct bad_day_of_year">bad_day_of_year</a> &gt; greg_day_of_year_policies; <span class="emphasis"><em>// A day of the year range (1..366). </em></span>
+    <span class="bold"><strong>typedef</strong></span> CV::constrained_value&lt; greg_day_of_year_policies &gt; greg_day_of_year_rep; <span class="emphasis"><em>// Define a range representation type for the day of the year 1..366. </em></span>
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2452853"></a>Header &lt;<a href="../../../boost/date_time/gregorian/greg_duration.hpp" target="_top">boost/date_time/gregorian/greg_duration.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> gregorian {
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::duration_traits_adapted date_duration_rep; <span class="emphasis"><em>// An internal date representation that includes infinities, not a date. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::date_duration&lt; date_duration_rep &gt; date_duration; <span class="emphasis"><em>// Durations in days for gregorian system. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_duration days; <span class="emphasis"><em>// Shorthand for date_duration. </em></span>
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2459983"></a>Header &lt;<a href="../../../boost/date_time/gregorian/greg_duration_types.hpp" target="_top">boost/date_time/gregorian/greg_duration_types.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> gregorian {
+    <span class="bold"><strong>struct</strong></span> <a href="../greg_durations_config.html" title="Struct greg_durations_config">greg_durations_config</a>;
+
+    <span class="bold"><strong>typedef</strong></span> date_time::months_duration&lt; <a href="../greg_durations_config.html" title="Struct greg_durations_config">greg_durations_config</a> &gt; months;
+    <span class="bold"><strong>typedef</strong></span> date_time::years_duration&lt; <a href="../greg_durations_config.html" title="Struct greg_durations_config">greg_durations_config</a> &gt; years;
+    <span class="bold"><strong>typedef</strong></span> date_time::weeks_duration&lt; date_time::duration_traits_adapted &gt; weeks;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2460086"></a>Header &lt;<a href="../../../boost/date_time/gregorian/greg_facet.hpp" target="_top">boost/date_time/gregorian/greg_facet.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> gregorian {
+    <span class="bold"><strong>struct</strong></span> <a href="../greg_facet_config.html" title="Struct greg_facet_config">greg_facet_config</a>;
+
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::date_names_put&lt; <a href="../greg_facet_config.html" title="Struct greg_facet_config">greg_facet_config</a> &gt; greg_base_facet; <span class="emphasis"><em>// Create the base facet type for gregorian::date. </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+      <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+      <a href="../id2460171.html" title="Function template operator&lt;&lt;"><span class="bold"><strong>operator</strong></span>&lt;&lt;</a>(std::basic_ostream&lt; charT, traits &gt; &amp;, <span class="bold"><strong>const</strong></span> <a href="../boost/gregorian/date.html" title="Class date">date</a> &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+      <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+      <a href="../id2460249.html" title="Function template operator&lt;&lt;"><span class="bold"><strong>operator</strong></span>&lt;&lt;</a>(std::basic_ostream&lt; charT, traits &gt; &amp;, <span class="bold"><strong>const</strong></span> <a href="../greg_month.html" title="Class greg_month">greg_month</a> &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+      <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+      <a href="../id2460311.html" title="Function template operator&lt;&lt;"><span class="bold"><strong>operator</strong></span>&lt;&lt;</a>(std::basic_ostream&lt; charT, traits &gt; &amp;, <span class="bold"><strong>const</strong></span> <a href="../greg_weekday.html" title="Class greg_weekday">greg_weekday</a> &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+      <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+      <a href="../id2460372.html" title="Function template operator&lt;&lt;"><span class="bold"><strong>operator</strong></span>&lt;&lt;</a>(std::basic_ostream&lt; charT, traits &gt; &amp;, <span class="bold"><strong>const</strong></span> date_period &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+      <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+      <a name="id2460466"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> date_duration &amp; dd);
+
+    <span class="emphasis"><em>// operator&lt;&lt; for gregorian::partial_date. Output: "Jan 1" </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+      <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+      <a name="id2460507"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> partial_date &amp; pd);
+
+    <span class="emphasis"><em>// operator&lt;&lt; for gregorian::nth_kday_of_month. Output: "first Mon of Jun" </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+      <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+      <a name="id2460554"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> nth_kday_of_month &amp; nkd);
+
+    <span class="emphasis"><em>// operator&lt;&lt; for gregorian::first_kday_of_month. Output: "first Mon of Jun" </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+      <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+      <a name="id2460600"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> first_kday_of_month &amp; fkd);
+
+    <span class="emphasis"><em>// operator&lt;&lt; for gregorian::last_kday_of_month. Output: "last Mon of Jun" </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+      <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+      <a name="id2460647"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> last_kday_of_month &amp; lkd);
+
+    <span class="emphasis"><em>// operator&lt;&lt; for gregorian::first_kday_after. Output: "first Mon after" </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+      <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+      <a name="id2460693"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> first_kday_after &amp; fka);
+
+    <span class="emphasis"><em>// operator&lt;&lt; for gregorian::first_kday_before. Output: "first Mon before" </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+      <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+      <a name="id2460740"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> first_kday_before &amp; fkb);
+
+    <span class="emphasis"><em>// operator&gt;&gt; for gregorian::date </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_istream&lt; charT &gt; &amp;</span>
+      <a name="id2460786"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; charT &gt; &amp; is, <a href="../boost/gregorian/date.html" title="Class date">date</a> &amp; d);
+
+    <span class="emphasis"><em>// operator&gt;&gt; for gregorian::date_duration </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_istream&lt; charT &gt; &amp;</span>
+      <a name="id2460830"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; charT &gt; &amp; is, date_duration &amp; dd);
+
+    <span class="emphasis"><em>// operator&gt;&gt; for gregorian::date_period </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_istream&lt; charT &gt; &amp;</span>
+      <a name="id2408848"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; charT &gt; &amp; is, date_period &amp; dp);
+
+    <span class="emphasis"><em>// generates a locale with the set of gregorian name-strings of type char* </em></span>
+    <span class="type">BOOST_DATE_TIME_DECL std::locale</span>
+    <a name="id2408888"></a>generate_locale(std::locale &amp; loc, <span class="bold"><strong>char</strong></span> type);
+
+    <span class="emphasis"><em>// Returns a pointer to a facet with a default set of names (English). </em></span>
+    <span class="type">BOOST_DATE_TIME_DECL boost::date_time::all_date_names_put&lt; <a href="../greg_facet_config.html" title="Struct greg_facet_config">greg_facet_config</a>, <span class="bold"><strong>char</strong></span> &gt; *</span>
+    <a name="id2408923"></a>create_facet_def(<span class="bold"><strong>char</strong></span> type);
+
+    <span class="emphasis"><em>// generates a locale with the set of gregorian name-strings of type wchar_t* </em></span>
+    <span class="type">BOOST_DATE_TIME_DECL std::locale</span>
+    <a name="id2408952"></a>generate_locale(std::locale &amp; loc, <span class="bold"><strong>wchar_t</strong></span> type);
+
+    <span class="emphasis"><em>// Returns a pointer to a facet with a default set of names (English). </em></span>
+    <span class="type">BOOST_DATE_TIME_DECL boost::date_time::all_date_names_put&lt; <a href="../greg_facet_config.html" title="Struct greg_facet_config">greg_facet_config</a>, <span class="bold"><strong>wchar_t</strong></span> &gt; *</span>
+    <a name="id2408986"></a>create_facet_def(<span class="bold"><strong>wchar_t</strong></span> type);
+
+    <span class="emphasis"><em>// operator&gt;&gt; for gregorian::greg_month - throws exception if invalid month given </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_istream&lt; charT &gt; &amp;</span>
+      <a name="id2409016"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; charT &gt; &amp; is, <a href="../greg_month.html" title="Class greg_month">greg_month</a> &amp; m);
+
+    <span class="emphasis"><em>// operator&gt;&gt; for gregorian::greg_weekday - throws exception if invalid weekday given </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_istream&lt; charT &gt; &amp;</span>
+      <a name="id2409060"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; charT &gt; &amp; is, <a href="../greg_weekday.html" title="Class greg_weekday">greg_weekday</a> &amp; wd);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2409109"></a>Header &lt;<a href="../../../boost/date_time/gregorian/greg_month.hpp" target="_top">boost/date_time/gregorian/greg_month.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> gregorian {
+    <span class="bold"><strong>struct</strong></span> <a href="../bad_month.html" title="Struct bad_month">bad_month</a>;
+
+    <span class="bold"><strong>class</strong></span> <a href="../greg_month.html" title="Class greg_month">greg_month</a>;
+
+    <span class="bold"><strong>typedef</strong></span> date_time::months_of_year months_of_year;
+    <span class="bold"><strong>typedef</strong></span> CV::simple_exception_policy&lt; <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span>, 1, 12, <a href="../bad_month.html" title="Struct bad_month">bad_month</a> &gt; greg_month_policies; <span class="emphasis"><em>// Build a policy class for the greg_month_rep. </em></span>
+    <span class="bold"><strong>typedef</strong></span> CV::constrained_value&lt; greg_month_policies &gt; greg_month_rep; <span class="emphasis"><em>// A constrained range that implements the gregorian_month rules. </em></span>
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2409485"></a>Header &lt;<a href="../../../boost/date_time/gregorian/greg_weekday.hpp" target="_top">boost/date_time/gregorian/greg_weekday.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> gregorian {
+    <span class="bold"><strong>struct</strong></span> <a href="../bad_weekday.html" title="Struct bad_weekday">bad_weekday</a>;
+
+    <span class="bold"><strong>class</strong></span> <a href="../greg_weekday.html" title="Class greg_weekday">greg_weekday</a>;
+
+    <span class="bold"><strong>typedef</strong></span> CV::simple_exception_policy&lt; <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span>, 0, 6, <a href="../bad_weekday.html" title="Struct bad_weekday">bad_weekday</a> &gt; greg_weekday_policies;
+    <span class="bold"><strong>typedef</strong></span> CV::constrained_value&lt; greg_weekday_policies &gt; greg_weekday_rep;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2480231"></a>Header &lt;<a href="../../../boost/date_time/gregorian/greg_year.hpp" target="_top">boost/date_time/gregorian/greg_year.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> gregorian {
+    <span class="bold"><strong>struct</strong></span> <a href="../bad_year.html" title="Struct bad_year">bad_year</a>;
+
+    <span class="bold"><strong>class</strong></span> <a href="../greg_year.html" title="Class greg_year">greg_year</a>;
+
+    <span class="bold"><strong>typedef</strong></span> CV::simple_exception_policy&lt; <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span>, 1400, 10000, <a href="../bad_year.html" title="Struct bad_year">bad_year</a> &gt; greg_year_policies; <span class="emphasis"><em>// Policy class that declares error handling gregorian year type. </em></span>
+    <span class="bold"><strong>typedef</strong></span> CV::constrained_value&lt; greg_year_policies &gt; greg_year_rep; <span class="emphasis"><em>// Generated representation for gregorian year. </em></span>
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2480354"></a>Header &lt;<a href="../../../boost/date_time/gregorian/greg_ymd.hpp" target="_top">boost/date_time/gregorian/greg_ymd.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> gregorian {
+    <span class="bold"><strong>typedef</strong></span> date_time::year_month_day_base&lt; <a href="../greg_year.html" title="Class greg_year">greg_year</a>, <a href="../greg_month.html" title="Class greg_month">greg_month</a>, <a href="../greg_day.html" title="Class greg_day">greg_day</a> &gt; greg_year_month_day;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2480392"></a>Header &lt;<a href="../../../boost/date_time/gregorian/gregorian.hpp" target="_top">boost/date_time/gregorian/gregorian.hpp</a>&gt;</h5></div></div></div>
+<p>Single file header that provides overall include for all elements of the gregorian date-time system. This includes the various types defined, but also other functions for formatting and parsing.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2480405"></a>Header &lt;<a href="../../../boost/date_time/gregorian/gregorian_io.hpp" target="_top">boost/date_time/gregorian/gregorian_io.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> gregorian {
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::period_formatter&lt; <span class="bold"><strong>wchar_t</strong></span> &gt; wperiod_formatter;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::period_formatter&lt; <span class="bold"><strong>char</strong></span> &gt; period_formatter;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::date_facet&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a>, <span class="bold"><strong>wchar_t</strong></span> &gt; wdate_facet;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::date_facet&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a>, <span class="bold"><strong>char</strong></span> &gt; date_facet;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::period_parser&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a>, <span class="bold"><strong>char</strong></span> &gt; period_parser;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::period_parser&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a>, <span class="bold"><strong>wchar_t</strong></span> &gt; wperiod_parser;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::special_values_formatter&lt; <span class="bold"><strong>char</strong></span> &gt; special_values_formatter;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::special_values_formatter&lt; <span class="bold"><strong>wchar_t</strong></span> &gt; wspecial_values_formatter;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::special_values_parser&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a>, <span class="bold"><strong>char</strong></span> &gt; special_values_parser;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::special_values_parser&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a>, <span class="bold"><strong>wchar_t</strong></span> &gt; wspecial_values_parser;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::date_input_facet&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a>, <span class="bold"><strong>char</strong></span> &gt; date_input_facet;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::date_input_facet&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a>, <span class="bold"><strong>wchar_t</strong></span> &gt; wdate_input_facet;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT&gt;
+      <span class="type">std::basic_ostream&lt; CharT, TraitsT &gt; &amp;</span>
+      <a name="id2480565"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, TraitsT &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> <a href="../boost/gregorian/date.html" title="Class date">boost::gregorian::date</a> &amp; d);
+
+    <span class="emphasis"><em>// input operator for date </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+      <a name="id2480610"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; is, <a href="../boost/gregorian/date.html" title="Class date">date</a> &amp; d);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT&gt;
+      <span class="type">std::basic_ostream&lt; CharT, TraitsT &gt; &amp;</span>
+      <a name="id2480658"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, TraitsT &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> boost::gregorian::date_duration &amp; dd);
+
+    <span class="emphasis"><em>// input operator for date_duration </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+      <a name="id2480700"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; is, date_duration &amp; dd);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT&gt;
+      <span class="type">std::basic_ostream&lt; CharT, TraitsT &gt; &amp;</span>
+      <a name="id2480745"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, TraitsT &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> boost::gregorian::date_period &amp; dp);
+
+    <span class="emphasis"><em>// input operator for date_period </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+      <a name="id2480787"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; is, date_period &amp; dp);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT&gt;
+      <span class="type">std::basic_ostream&lt; CharT, TraitsT &gt; &amp;</span>
+      <a name="id2480833"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, TraitsT &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> <a href="../greg_month.html" title="Class greg_month">boost::gregorian::greg_month</a> &amp; gm);
+
+    <span class="emphasis"><em>// input operator for greg_month </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+      <a name="id2480878"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; is, <a href="../greg_month.html" title="Class greg_month">greg_month</a> &amp; m);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT&gt;
+      <span class="type">std::basic_ostream&lt; CharT, TraitsT &gt; &amp;</span>
+      <a name="id2480926"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, TraitsT &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> <a href="../greg_weekday.html" title="Class greg_weekday">boost::gregorian::greg_weekday</a> &amp; gw);
+
+    <span class="emphasis"><em>// input operator for greg_weekday </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+      <a name="id2480971"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; is, <a href="../greg_weekday.html" title="Class greg_weekday">greg_weekday</a> &amp; wd);
+
+    <span class="emphasis"><em>// input operator for greg_day </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+      <a name="id2481019"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; is, <a href="../greg_day.html" title="Class greg_day">greg_day</a> &amp; gd);
+
+    <span class="emphasis"><em>// input operator for greg_year </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+      <a name="id2455454"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; is, <a href="../greg_year.html" title="Class greg_year">greg_year</a> &amp; gy);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT&gt;
+      <span class="type">std::basic_ostream&lt; CharT, TraitsT &gt; &amp;</span>
+      <a name="id2455502"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, TraitsT &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> boost::gregorian::partial_date &amp; pd);
+
+    <span class="emphasis"><em>// input operator for partial_date </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+      <a name="id2455544"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; is, partial_date &amp; pd);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT&gt;
+      <span class="type">std::basic_ostream&lt; CharT, TraitsT &gt; &amp;</span>
+      <a name="id2455589"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, TraitsT &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> boost::gregorian::nth_day_of_the_week_in_month &amp; nkd);
+
+    <span class="emphasis"><em>// input operator for nth_day_of_the_week_in_month </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+      <a name="id2455632"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; is,
+                 nth_day_of_the_week_in_month &amp; nday);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT&gt;
+      <span class="type">std::basic_ostream&lt; CharT, TraitsT &gt; &amp;</span>
+      <a name="id2455678"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, TraitsT &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> boost::gregorian::first_day_of_the_week_in_month &amp; fkd);
+
+    <span class="emphasis"><em>// input operator for first_day_of_the_week_in_month </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+      <a name="id2455721"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; is,
+                 first_day_of_the_week_in_month &amp; fkd);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT&gt;
+      <span class="type">std::basic_ostream&lt; CharT, TraitsT &gt; &amp;</span>
+      <a name="id2455767"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, TraitsT &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> boost::gregorian::last_day_of_the_week_in_month &amp; lkd);
+
+    <span class="emphasis"><em>// input operator for last_day_of_the_week_in_month </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+      <a name="id2455810"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; is,
+                 last_day_of_the_week_in_month &amp; lkd);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT&gt;
+      <span class="type">std::basic_ostream&lt; CharT, TraitsT &gt; &amp;</span>
+      <a name="id2455856"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, TraitsT &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> boost::gregorian::first_day_of_the_week_after &amp; fda);
+
+    <span class="emphasis"><em>// input operator for first_day_of_the_week_after </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+      <a name="id2455899"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; is,
+                 first_day_of_the_week_after &amp; fka);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT&gt;
+      <span class="type">std::basic_ostream&lt; CharT, TraitsT &gt; &amp;</span>
+      <a name="id2455945"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, TraitsT &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> boost::gregorian::first_day_of_the_week_before &amp; fdb);
+
+    <span class="emphasis"><em>// input operator for first_day_of_the_week_before </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+      <a name="id2455988"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; is,
+                 first_day_of_the_week_before &amp; fkb);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2456038"></a>Header &lt;<a href="../../../boost/date_time/gregorian/gregorian_types.hpp" target="_top">boost/date_time/gregorian/gregorian_types.hpp</a>&gt;</h5></div></div></div>
+<p>Single file header that defines most of the types for the gregorian date-time system.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> gregorian {
+    <span class="bold"><strong>typedef</strong></span> date_time::period&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a>, date_duration &gt; date_period; <span class="emphasis"><em>// Date periods for the gregorian system. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::year_based_generator&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a> &gt; year_based_generator; <span class="emphasis"><em>// A unifying date_generator base type. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::partial_date&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a> &gt; partial_date; <span class="emphasis"><em>// A date generation object type. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::nth_kday_of_month&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a> &gt; nth_kday_of_month;
+    <span class="bold"><strong>typedef</strong></span> nth_kday_of_month nth_day_of_the_week_in_month;
+    <span class="bold"><strong>typedef</strong></span> date_time::first_kday_of_month&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a> &gt; first_kday_of_month;
+    <span class="bold"><strong>typedef</strong></span> first_kday_of_month first_day_of_the_week_in_month;
+    <span class="bold"><strong>typedef</strong></span> date_time::last_kday_of_month&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a> &gt; last_kday_of_month;
+    <span class="bold"><strong>typedef</strong></span> last_kday_of_month last_day_of_the_week_in_month;
+    <span class="bold"><strong>typedef</strong></span> date_time::first_kday_after&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a> &gt; first_kday_after;
+    <span class="bold"><strong>typedef</strong></span> first_kday_after first_day_of_the_week_after;
+    <span class="bold"><strong>typedef</strong></span> date_time::first_kday_before&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a> &gt; first_kday_before;
+    <span class="bold"><strong>typedef</strong></span> first_kday_before first_day_of_the_week_before;
+    <span class="bold"><strong>typedef</strong></span> date_time::day_clock&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a> &gt; day_clock; <span class="emphasis"><em>// A clock to get the current day from the local computer. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::date_itr_base&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a> &gt; date_iterator; <span class="emphasis"><em>// Base date_iterator type for gregorian types. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::date_itr&lt; date_time::day_functor&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a> &gt;, <a href="../boost/gregorian/date.html" title="Class date">date</a> &gt; day_iterator; <span class="emphasis"><em>// A day level iterator. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::date_itr&lt; date_time::week_functor&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a> &gt;, <a href="../boost/gregorian/date.html" title="Class date">date</a> &gt; week_iterator; <span class="emphasis"><em>// A week level iterator. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::date_itr&lt; date_time::month_functor&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a> &gt;, <a href="../boost/gregorian/date.html" title="Class date">date</a> &gt; month_iterator; <span class="emphasis"><em>// A month level iterator. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::date_itr&lt; date_time::year_functor&lt; <a href="../boost/gregorian/date.html" title="Class date">date</a> &gt;, <a href="../boost/gregorian/date.html" title="Class date">date</a> &gt; year_iterator; <span class="emphasis"><em>// A year level iterator. </em></span>
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2441300"></a>Header &lt;<a href="../../../boost/date_time/gregorian/parsers.hpp" target="_top">boost/date_time/gregorian/parsers.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> gregorian {
+    <span class="type">special_values</span> <a href="../special_value_from_string.html" title="Function special_value_from_string">special_value_from_string</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+    <span class="emphasis"><em>// Deprecated: Use from_simple_string. </em></span>
+    <span class="type"><a href="../boost/gregorian/date.html" title="Class date">date</a></span> <a name="from_string"></a>from_string(std::string s);
+
+    <span class="emphasis"><em>// From delimited date string where with order year-month-day eg: 2002-1-25 or 2003-Jan-25 (full month name is also accepted). </em></span>
+    <span class="type"><a href="../boost/gregorian/date.html" title="Class date">date</a></span> <a name="from_simple_string"></a>from_simple_string(std::string s);
+
+    <span class="emphasis"><em>// From delimited date string where with order year-month-day eg: 1-25-2003 or Jan-25-2003 (full month name is also accepted). </em></span>
+    <span class="type"><a href="../boost/gregorian/date.html" title="Class date">date</a></span> <a name="from_us_string"></a>from_us_string(std::string s);
+
+    <span class="emphasis"><em>// From delimited date string where with order day-month-year eg: 25-1-2002 or 25-Jan-2003 (full month name is also accepted). </em></span>
+    <span class="type"><a href="../boost/gregorian/date.html" title="Class date">date</a></span> <a name="from_uk_string"></a>from_uk_string(std::string s);
+
+    <span class="emphasis"><em>// From iso type date string where with order year-month-day eg: 20020125. </em></span>
+    <span class="type"><a href="../boost/gregorian/date.html" title="Class date">date</a></span> <a name="from_undelimited_string"></a>from_undelimited_string(std::string s);
+
+    <span class="emphasis"><em>// From iso type date string where with order year-month-day eg: 20020125. </em></span>
+    <span class="type"><a href="../boost/gregorian/date.html" title="Class date">date</a></span> <a name="date_from_iso_string"></a>date_from_iso_string(<span class="bold"><strong>const</strong></span> std::string &amp; s);
+
+    <span class="emphasis"><em>// Stream should hold a date in the form of: 2002-1-25. Month number, abbrev, or name are accepted. </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> iterator_type&gt;
+      <span class="type"><a href="../boost/gregorian/date.html" title="Class date">date</a></span> <a name="from_stream"></a>from_stream(iterator_type beg, iterator_type end);
+
+    <span class="emphasis"><em>// Function to parse a date_period from a string (eg: [2003-Oct-31/2003-Dec-25]). </em></span>
+    <span class="type">date_period</span> <a name="date_period_from_string"></a>date_period_from_string(<span class="bold"><strong>const</strong></span> std::string &amp; s);
+
+    <span class="emphasis"><em>// Function to parse a date_period from a wstring (eg: [2003-Oct-31/2003-Dec-25]). </em></span>
+    <span class="type">date_period</span> <a name="date_period_from_wstring"></a>date_period_from_wstring(<span class="bold"><strong>const</strong></span> std::wstring &amp; s);
+  }
+}</pre>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="posix_time_reference"></a>Posix Time Reference</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="doxy.html#id2441635">Header &lt;boost/date_time/posix_time/conversion.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2441816">Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2442808">Header &lt;boost/date_time/posix_time/posix_time.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2442818">Header &lt;boost/date_time/posix_time/posix_time_config.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2443401">Header &lt;boost/date_time/posix_time/posix_time_duration.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2444321">Header &lt;boost/date_time/posix_time/posix_time_io.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2444677">Header &lt;boost/date_time/posix_time/posix_time_legacy_io.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2444968">Header &lt;boost/date_time/posix_time/posix_time_system.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2445009">Header &lt;boost/date_time/posix_time/posix_time_types.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2445116">Header &lt;boost/date_time/posix_time/ptime.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2445276">Header &lt;boost/date_time/posix_time/time_formatters.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2474452">Header &lt;boost/date_time/posix_time/time_formatters_limited.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2474638">Header &lt;boost/date_time/posix_time/time_parsers.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2474742">Header &lt;boost/date_time/posix_time/time_period.hpp&gt;</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2441635"></a>Header &lt;<a href="../../../boost/date_time/posix_time/conversion.hpp" target="_top">boost/date_time/posix_time/conversion.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> posix_time {
+
+    <span class="emphasis"><em>// Function that converts a time_t into a ptime. </em></span>
+    <span class="type"><a href="../ptime.html" title="Class ptime">ptime</a></span> <a name="from_time_t"></a>from_time_t(std::time_t t);
+
+    <span class="emphasis"><em>// Convert a time to a tm structure truncating any fractional seconds. </em></span>
+    <span class="type">tm</span> <a name="id2441677"></a>to_tm(<span class="bold"><strong>const</strong></span> <a href="../ptime.html" title="Class ptime">boost::posix_time::ptime</a> &amp; t);
+
+    <span class="emphasis"><em>// Convert a time_duration to a tm structure truncating any fractional seconds and zeroing fields for date components. </em></span>
+    <span class="type">tm</span> <a name="id2441705"></a>to_tm(<span class="bold"><strong>const</strong></span> <a href="../id2442833.html" title="Class time_duration">boost::posix_time::time_duration</a> &amp; td);
+
+    <span class="emphasis"><em>// Convert a tm struct to a ptime ignoring is_dst flag. </em></span>
+    <span class="type"><a href="../ptime.html" title="Class ptime">ptime</a></span> <a name="ptime_from_tm"></a>ptime_from_tm(<span class="bold"><strong>const</strong></span> tm &amp; timetm);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type&gt; <span class="type">time_type</span> <a href="../from_ftime.html" title="Function template from_ftime">from_ftime</a>(<span class="bold"><strong>const</strong></span> FILETIME &amp;);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2441816"></a>Header &lt;<a href="../../../boost/date_time/posix_time/date_duration_operators.hpp" target="_top">boost/date_time/posix_time/date_duration_operators.hpp</a>&gt;</h5></div></div></div>
+<p>Operators for ptime and optional gregorian types. Operators use snap-to-end-of-month behavior. Further details on this behavior can be found in reference for date_time/date_duration_types.hpp and documentation for month and year iterators.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> posix_time {
+    <span class="type"><a href="../ptime.html" title="Class ptime">ptime</a></span> <a href="../id2441838.html" title="Function operator+"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> <a href="../ptime.html" title="Class ptime">ptime</a> &amp;, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp;);
+    <span class="type"><a href="../ptime.html" title="Class ptime">ptime</a></span> <a href="../id2441885.html" title="Function operator+="><span class="bold"><strong>operator</strong></span>+=</a>(<a href="../ptime.html" title="Class ptime">ptime</a> &amp;, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp;);
+    <span class="type"><a href="../ptime.html" title="Class ptime">ptime</a></span> <a href="../id2441931.html" title="Function operator-"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> <a href="../ptime.html" title="Class ptime">ptime</a> &amp;, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp;);
+    <span class="type"><a href="../ptime.html" title="Class ptime">ptime</a></span> <a href="../id2441978.html" title="Function operator-="><span class="bold"><strong>operator</strong></span>-=</a>(<a href="../ptime.html" title="Class ptime">ptime</a> &amp;, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp;);
+    <span class="type"><a href="../ptime.html" title="Class ptime">ptime</a></span> <a href="../id2442024.html" title="Function operator+"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> <a href="../ptime.html" title="Class ptime">ptime</a> &amp;, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp;);
+    <span class="type"><a href="../ptime.html" title="Class ptime">ptime</a></span> <a href="../id2442665.html" title="Function operator+="><span class="bold"><strong>operator</strong></span>+=</a>(<a href="../ptime.html" title="Class ptime">ptime</a> &amp;, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp;);
+    <span class="type"><a href="../ptime.html" title="Class ptime">ptime</a></span> <a href="../id2442711.html" title="Function operator-"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> <a href="../ptime.html" title="Class ptime">ptime</a> &amp;, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp;);
+    <span class="type"><a href="../ptime.html" title="Class ptime">ptime</a></span> <a href="../id2442758.html" title="Function operator-="><span class="bold"><strong>operator</strong></span>-=</a>(<a href="../ptime.html" title="Class ptime">ptime</a> &amp;, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp;);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2442808"></a>Header &lt;<a href="../../../boost/date_time/posix_time/posix_time.hpp" target="_top">boost/date_time/posix_time/posix_time.hpp</a>&gt;</h5></div></div></div>
+<p>Global header file to get all of posix time types</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2442818"></a>Header &lt;<a href="../../../boost/date_time/posix_time/posix_time_config.hpp" target="_top">boost/date_time/posix_time/posix_time_config.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> posix_time {
+    <span class="bold"><strong>class</strong></span> <a href="../id2442833.html" title="Class time_duration">time_duration</a>;
+
+    <span class="bold"><strong>struct</strong></span> <a href="../simple_time_rep.html" title="Struct simple_time_rep">simple_time_rep</a>;
+
+    <span class="bold"><strong>class</strong></span> <a href="../posix_time_system_config.html" title="Class posix_time_system_config">posix_time_system_config</a>;
+    <span class="bold"><strong>class</strong></span> <a href="../id2443265.html" title="Class millisec_posix_time_system_config">millisec_posix_time_system_config</a>;
+
+    <span class="bold"><strong>typedef</strong></span> date_time::time_resolution_traits&lt; boost::date_time::time_resolution_traits_adapted64_impl, boost::date_time::nano, 1000000000, 9 &gt; time_res_traits;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2443401"></a>Header &lt;<a href="../../../boost/date_time/posix_time/posix_time_duration.hpp" target="_top">boost/date_time/posix_time/posix_time_duration.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> posix_time {
+    <span class="bold"><strong>class</strong></span> <a href="../hours.html" title="Class hours">hours</a>;
+    <span class="bold"><strong>class</strong></span> <a href="../minutes.html" title="Class minutes">minutes</a>;
+    <span class="bold"><strong>class</strong></span> <a href="../seconds.html" title="Class seconds">seconds</a>;
+
+    <span class="bold"><strong>typedef</strong></span> date_time::subsecond_duration&lt; <a href="../id2442833.html" title="Class time_duration">time_duration</a>, 1000 &gt; millisec; <span class="emphasis"><em>// Allows expression of durations as milli seconds. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::subsecond_duration&lt; <a href="../id2442833.html" title="Class time_duration">time_duration</a>, 1000 &gt; milliseconds;
+    <span class="bold"><strong>typedef</strong></span> date_time::subsecond_duration&lt; <a href="../id2442833.html" title="Class time_duration">time_duration</a>, 1000000 &gt; microsec; <span class="emphasis"><em>// Allows expression of durations as micro seconds. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::subsecond_duration&lt; <a href="../id2442833.html" title="Class time_duration">time_duration</a>, 1000000 &gt; microseconds;
+    <span class="bold"><strong>typedef</strong></span> date_time::subsecond_duration&lt; <a href="../id2442833.html" title="Class time_duration">time_duration</a>, 1000000000 &gt; nanosec; <span class="emphasis"><em>// Allows expression of durations as nano seconds. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::subsecond_duration&lt; <a href="../id2442833.html" title="Class time_duration">time_duration</a>, 1000000000 &gt; nanoseconds;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2444321"></a>Header &lt;<a href="../../../boost/date_time/posix_time/posix_time_io.hpp" target="_top">boost/date_time/posix_time/posix_time_io.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> posix_time {
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::time_facet&lt; <a href="../ptime.html" title="Class ptime">ptime</a>, <span class="bold"><strong>wchar_t</strong></span> &gt; wtime_facet; <span class="emphasis"><em>// ptime_input_facet is depricated and will be phased out. use time_input_facet instead </em></span>
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::time_facet&lt; <a href="../ptime.html" title="Class ptime">ptime</a>, <span class="bold"><strong>char</strong></span> &gt; time_facet;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::time_input_facet&lt; <a href="../ptime.html" title="Class ptime">ptime</a>, <span class="bold"><strong>wchar_t</strong></span> &gt; wtime_input_facet;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::time_input_facet&lt; <a href="../ptime.html" title="Class ptime">ptime</a>, <span class="bold"><strong>char</strong></span> &gt; time_input_facet;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT&gt;
+      <span class="type">std::basic_ostream&lt; CharT, TraitsT &gt; &amp;</span>
+      <a name="id2444394"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, TraitsT &gt; &amp; os, <span class="bold"><strong>const</strong></span> <a href="../ptime.html" title="Class ptime">ptime</a> &amp; p);
+
+    <span class="emphasis"><em>// input operator for ptime </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+      <a name="id2444440"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; is, <a href="../ptime.html" title="Class ptime">ptime</a> &amp; pt);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT&gt;
+      <span class="type">std::basic_ostream&lt; CharT, TraitsT &gt; &amp;</span>
+      <a name="id2444488"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, TraitsT &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> boost::posix_time::time_period &amp; p);
+
+    <span class="emphasis"><em>// input operator for time_period </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+      <a name="id2444529"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; is, time_period &amp; tp);
+
+    <span class="emphasis"><em>// ostream operator for posix_time::time_duration </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_ostream&lt; CharT, Traits &gt; &amp;</span>
+      <a name="id2444575"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, Traits &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> <a href="../id2442833.html" title="Class time_duration">time_duration</a> &amp; td);
+
+    <span class="emphasis"><em>// input operator for time_duration </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+      <a name="id2444625"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; is, <a href="../id2442833.html" title="Class time_duration">time_duration</a> &amp; td);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2444677"></a>Header &lt;<a href="../../../boost/date_time/posix_time/posix_time_legacy_io.hpp" target="_top">boost/date_time/posix_time/posix_time_legacy_io.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> posix_time {
+
+    <span class="emphasis"><em>// ostream operator for posix_time::time_duration </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+      <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+      <a name="id2444692"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> <a href="../id2442833.html" title="Class time_duration">time_duration</a> &amp; td);
+
+    <span class="emphasis"><em>// ostream operator for posix_time::ptime </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+      <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+      <a name="id2444742"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os, <span class="bold"><strong>const</strong></span> <a href="../ptime.html" title="Class ptime">ptime</a> &amp; t);
+
+    <span class="emphasis"><em>// ostream operator for posix_time::time_period </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+      <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+      <a name="id2444791"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> time_period &amp; tp);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_istream&lt; charT &gt; &amp;</span>
+      <a name="id2444838"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; charT &gt; &amp; is, <a href="../id2442833.html" title="Class time_duration">time_duration</a> &amp; td);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_istream&lt; charT &gt; &amp;</span>
+      <a name="id2444878"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; charT &gt; &amp; is, <a href="../ptime.html" title="Class ptime">ptime</a> &amp; pt);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_istream&lt; charT &gt; &amp;</span>
+      <a href="../id2444918.html" title="Function template operator&gt;&gt;"><span class="bold"><strong>operator</strong></span>&gt;&gt;</a>(std::basic_istream&lt; charT &gt; &amp;, time_period &amp;);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2444968"></a>Header &lt;<a href="../../../boost/date_time/posix_time/posix_time_system.hpp" target="_top">boost/date_time/posix_time/posix_time_system.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> posix_time {
+    <span class="bold"><strong>typedef</strong></span> date_time::split_timedate_system&lt; posix_time_system_config, 1000000000 &gt; posix_time_system;
+    <span class="bold"><strong>typedef</strong></span> date_time::counted_time_rep&lt; millisec_posix_time_system_config &gt; int64_time_rep;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2445009"></a>Header &lt;<a href="../../../boost/date_time/posix_time/posix_time_types.hpp" target="_top">boost/date_time/posix_time/posix_time_types.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> posix_time {
+    <span class="bold"><strong>typedef</strong></span> date_time::time_itr&lt; <a href="../ptime.html" title="Class ptime">ptime</a> &gt; time_iterator; <span class="emphasis"><em>// Iterator over a defined time duration. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::second_clock&lt; <a href="../ptime.html" title="Class ptime">ptime</a> &gt; second_clock; <span class="emphasis"><em>// A time clock that has a resolution of one second. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::microsec_clock&lt; <a href="../ptime.html" title="Class ptime">ptime</a> &gt; microsec_clock; <span class="emphasis"><em>// A time clock that has a resolution of one microsecond. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::null_dst_rules&lt; ptime::date_type, <a href="../id2442833.html" title="Class time_duration">time_duration</a> &gt; no_dst; <span class="emphasis"><em>// Define a dst null dst rule for the posix_time system. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::us_dst_rules&lt; ptime::date_type, <a href="../id2442833.html" title="Class time_duration">time_duration</a> &gt; us_dst; <span class="emphasis"><em>// Define US dst rule calculator for the posix_time system. </em></span>
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2445116"></a>Header &lt;<a href="../../../boost/date_time/posix_time/ptime.hpp" target="_top">boost/date_time/posix_time/ptime.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> posix_time {
+    <span class="bold"><strong>class</strong></span> <a href="../ptime.html" title="Class ptime">ptime</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2445276"></a>Header &lt;<a href="../../../boost/date_time/posix_time/time_formatters.hpp" target="_top">boost/date_time/posix_time/time_formatters.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> posix_time {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_string&lt; charT &gt;</span> <a name="id2474094"></a>to_simple_string_type(<a href="../id2442833.html" title="Class time_duration">time_duration</a> td);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_string&lt; charT &gt;</span> <a name="id2474126"></a>to_iso_string_type(<a href="../id2442833.html" title="Class time_duration">time_duration</a> td);
+
+    <span class="emphasis"><em>// Time to simple format CCYY-mmm-dd hh:mm:ss.fffffff. </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_string&lt; charT &gt;</span> <a name="id2474158"></a>to_simple_string_type(<a href="../ptime.html" title="Class ptime">ptime</a> t);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_string&lt; charT &gt;</span> <a name="id2474194"></a>to_simple_string_type(time_period tp);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_string&lt; charT &gt;</span> <a name="id2474221"></a>to_iso_string_type(<a href="../ptime.html" title="Class ptime">ptime</a> t);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::basic_string&lt; charT &gt;</span> <a name="id2474253"></a>to_iso_extended_string_type(<a href="../ptime.html" title="Class ptime">ptime</a> t);
+
+    <span class="emphasis"><em>// Time duration to wstring -hh::mm::ss.fffffff. Example: 10:09:03.0123456. </em></span>
+    <span class="type">std::wstring</span> <a name="id2474285"></a>to_simple_wstring(<a href="../id2442833.html" title="Class time_duration">time_duration</a> td);
+
+    <span class="emphasis"><em>// Time duration in iso format -hhmmss,fffffff Example: 10:09:03,0123456. </em></span>
+    <span class="type">std::wstring</span> <a name="id2474314"></a>to_iso_wstring(<a href="../id2442833.html" title="Class time_duration">time_duration</a> td);
+    <span class="type">std::wstring</span> <a name="id2474342"></a>to_simple_wstring(<a href="../ptime.html" title="Class ptime">ptime</a> t);
+
+    <span class="emphasis"><em>// Convert to wstring of form [YYYY-mmm-DD HH:MM::SS.ffffff/YYYY-mmm-DD HH:MM::SS.fffffff]. </em></span>
+    <span class="type">std::wstring</span> <a name="id2474366"></a>to_simple_wstring(time_period tp);
+
+    <span class="emphasis"><em>// Convert iso short form YYYYMMDDTHHMMSS where T is the date-time separator. </em></span>
+    <span class="type">std::wstring</span> <a name="id2474391"></a>to_iso_wstring(<a href="../ptime.html" title="Class ptime">ptime</a> t);
+
+    <span class="emphasis"><em>// Convert to form YYYY-MM-DDTHH:MM:SS where T is the date-time separator. </em></span>
+    <span class="type">std::wstring</span> <a name="id2474420"></a>to_iso_extended_wstring(<a href="../ptime.html" title="Class ptime">ptime</a> t);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2474452"></a>Header &lt;<a href="../../../boost/date_time/posix_time/time_formatters_limited.hpp" target="_top">boost/date_time/posix_time/time_formatters_limited.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> posix_time {
+
+    <span class="emphasis"><em>// Time duration to string -hh::mm::ss.fffffff. Example: 10:09:03.0123456. </em></span>
+    <span class="type">std::string</span> <a name="id2474467"></a>to_simple_string(<a href="../id2442833.html" title="Class time_duration">time_duration</a> td);
+
+    <span class="emphasis"><em>// Time duration in iso format -hhmmss,fffffff Example: 10:09:03,0123456. </em></span>
+    <span class="type">std::string</span> <a name="id2474496"></a>to_iso_string(<a href="../id2442833.html" title="Class time_duration">time_duration</a> td);
+
+    <span class="emphasis"><em>// Time to simple format CCYY-mmm-dd hh:mm:ss.fffffff. </em></span>
+    <span class="type">std::string</span> <a name="id2474524"></a>to_simple_string(<a href="../ptime.html" title="Class ptime">ptime</a> t);
+
+    <span class="emphasis"><em>// Convert to string of form [YYYY-mmm-DD HH:MM::SS.ffffff/YYYY-mmm-DD HH:MM::SS.fffffff]. </em></span>
+    <span class="type">std::string</span> <a name="id2474552"></a>to_simple_string(time_period tp);
+
+    <span class="emphasis"><em>// Convert iso short form YYYYMMDDTHHMMSS where T is the date-time separator. </em></span>
+    <span class="type">std::string</span> <a name="id2474577"></a>to_iso_string(<a href="../ptime.html" title="Class ptime">ptime</a> t);
+
+    <span class="emphasis"><em>// Convert to form YYYY-MM-DDTHH:MM:SS where T is the date-time separator. </em></span>
+    <span class="type">std::string</span> <a name="id2474606"></a>to_iso_extended_string(<a href="../ptime.html" title="Class ptime">ptime</a> t);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2474638"></a>Header &lt;<a href="../../../boost/date_time/posix_time/time_parsers.hpp" target="_top">boost/date_time/posix_time/time_parsers.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> posix_time {
+    <span class="type"><a href="../id2442833.html" title="Class time_duration">time_duration</a></span> <a href="../duration_from_string.html" title="Function duration_from_string">duration_from_string</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+    <span class="type"><a href="../ptime.html" title="Class ptime">ptime</a></span> <a name="time_from_string"></a>time_from_string(<span class="bold"><strong>const</strong></span> std::string &amp; s);
+    <span class="type"><a href="../ptime.html" title="Class ptime">ptime</a></span> <a name="from_iso_string"></a>from_iso_string(<span class="bold"><strong>const</strong></span> std::string &amp; s);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2474742"></a>Header &lt;<a href="../../../boost/date_time/posix_time/time_period.hpp" target="_top">boost/date_time/posix_time/time_period.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> posix_time {
+    <span class="bold"><strong>typedef</strong></span> date_time::period&lt; <a href="../ptime.html" title="Class ptime">ptime</a>, <a href="../id2442833.html" title="Class time_duration">time_duration</a> &gt; time_period; <span class="emphasis"><em>// Time period type. </em></span>
+  }
+}</pre>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="local_time_reference"></a>Local Time Reference</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="doxy.html#id2474804">Header &lt;boost/date_time/local_time/conversion.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2474850">Header &lt;boost/date_time/local_time/custom_time_zone.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2475160">Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2475564">Header &lt;boost/date_time/local_time/dst_transition_day_rules.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2475866">Header &lt;boost/date_time/local_time/local_date_time.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2477207">Header &lt;boost/date_time/local_time/local_time_io.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2447809">Header &lt;boost/date_time/local_time/local_time_serialize.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2447856">Header &lt;boost/date_time/local_time/local_time_types.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2447946">Header &lt;boost/date_time/local_time/posix_time_zone.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2448620">Header &lt;boost/date_time/local_time/time_zone.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="doxy.html#id2448961">Header &lt;boost/date_time/local_time/tz_database.hpp&gt;</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2474804"></a>Header &lt;<a href="../../../boost/date_time/local_time/conversion.hpp" target="_top">boost/date_time/local_time/conversion.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> local_time {
+
+    <span class="emphasis"><em>// Function that creates a tm struct from a local_date_time. </em></span>
+    <span class="type">tm</span> <a name="id2474818"></a>to_tm(<span class="bold"><strong>const</strong></span> local_date_time &amp; lt);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2474850"></a>Header &lt;<a href="../../../boost/date_time/local_time/custom_time_zone.hpp" target="_top">boost/date_time/local_time/custom_time_zone.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> local_time {
+    <span class="bold"><strong>class</strong></span> <a href="../custom_time_zone.html" title="Class custom_time_zone">custom_time_zone</a>;
+
+    <span class="bold"><strong>typedef</strong></span> boost::shared_ptr&lt; dst_calc_rule &gt; dst_calc_rule_ptr;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2475160"></a>Header &lt;<a href="../../../boost/date_time/local_time/date_duration_operators.hpp" target="_top">boost/date_time/local_time/date_duration_operators.hpp</a>&gt;</h5></div></div></div>
+<p>Operators for local_date_time and optional gregorian types. Operators use snap-to-end-of-month behavior. Further details on this behavior can be found in reference for date_time/date_duration_types.hpp and documentation for month and year iterators.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> local_time {
+    <span class="type">local_date_time</span>
+    <a href="../id2475183.html" title="Function operator+"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> local_date_time &amp;, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp;);
+    <span class="type">local_date_time</span>
+    <a href="../id2475230.html" title="Function operator+="><span class="bold"><strong>operator</strong></span>+=</a>(local_date_time &amp;, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp;);
+    <span class="type">local_date_time</span>
+    <a href="../id2475277.html" title="Function operator-"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> local_date_time &amp;, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp;);
+    <span class="type">local_date_time</span>
+    <a href="../id2475325.html" title="Function operator-="><span class="bold"><strong>operator</strong></span>-=</a>(local_date_time &amp;, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp;);
+    <span class="type">local_date_time</span>
+    <a href="../id2475371.html" title="Function operator+"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> local_date_time &amp;, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp;);
+    <span class="type">local_date_time</span>
+    <a href="../id2475419.html" title="Function operator+="><span class="bold"><strong>operator</strong></span>+=</a>(local_date_time &amp;, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp;);
+    <span class="type">local_date_time</span>
+    <a href="../id2475466.html" title="Function operator-"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> local_date_time &amp;, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp;);
+    <span class="type">local_date_time</span>
+    <a href="../id2475514.html" title="Function operator-="><span class="bold"><strong>operator</strong></span>-=</a>(local_date_time &amp;, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp;);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2475564"></a>Header &lt;<a href="../../../boost/date_time/local_time/dst_transition_day_rules.hpp" target="_top">boost/date_time/local_time/dst_transition_day_rules.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> local_time {
+    <span class="bold"><strong>struct</strong></span> <a href="../partial_date_rule_spec.html" title="Struct partial_date_rule_spec">partial_date_rule_spec</a>;
+    <span class="bold"><strong>struct</strong></span> <a href="../first_last_rule_spec.html" title="Struct first_last_rule_spec">first_last_rule_spec</a>;
+    <span class="bold"><strong>struct</strong></span> <a href="../last_last_rule_spec.html" title="Struct last_last_rule_spec">last_last_rule_spec</a>;
+    <span class="bold"><strong>struct</strong></span> <a href="../nth_last_rule_spec.html" title="Struct nth_last_rule_spec">nth_last_rule_spec</a>;
+    <span class="bold"><strong>struct</strong></span> <a href="../nth_kday_rule_spec.html" title="Struct nth_kday_rule_spec">nth_kday_rule_spec</a>;
+
+    <span class="bold"><strong>typedef</strong></span> date_time::dst_day_calc_rule&lt; gregorian::date &gt; dst_calc_rule; <span class="emphasis"><em>// Provides rule of the form starting Apr 30 ending Oct 21. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::day_calc_dst_rule&lt; partial_date_rule_spec &gt; partial_date_dst_rule; <span class="emphasis"><em>// Provides rule of the form first Sunday in April, last Saturday in Oct. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::day_calc_dst_rule&lt; first_last_rule_spec &gt; first_last_dst_rule; <span class="emphasis"><em>// Provides rule of the form first Sunday in April, last Saturday in Oct. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::day_calc_dst_rule&lt; last_last_rule_spec &gt; last_last_dst_rule; <span class="emphasis"><em>// Provides rule of the form last Sunday in April, last Saturday in Oct. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::day_calc_dst_rule&lt; nth_last_rule_spec &gt; nth_last_dst_rule; <span class="emphasis"><em>// Provides rule in form of [1st|2nd|3rd|4th] Sunday in April, last Sunday in Oct. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::day_calc_dst_rule&lt; nth_kday_rule_spec &gt; nth_kday_dst_rule; <span class="emphasis"><em>// Provides rule in form of [1st|2nd|3rd|4th] Sunday in April/October. </em></span>
+    <span class="bold"><strong>typedef</strong></span> date_time::day_calc_dst_rule&lt; nth_kday_rule_spec &gt; nth_day_of_the_week_in_month_dst_rule; <span class="emphasis"><em>// Provides rule in form of [1st|2nd|3rd|4th] Sunday in April/October. </em></span>
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2475866"></a>Header &lt;<a href="../../../boost/date_time/local_time/local_date_time.hpp" target="_top">boost/date_time/local_time/local_date_time.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> local_time {
+    <span class="bold"><strong>struct</strong></span> <a href="../ambiguous_result.html" title="Struct ambiguous_result">ambiguous_result</a>;
+    <span class="bold"><strong>struct</strong></span> <a href="../time_label_invalid.html" title="Struct time_label_invalid">time_label_invalid</a>;
+    <span class="bold"><strong>struct</strong></span> <a href="../dst_not_valid.html" title="Struct dst_not_valid">dst_not_valid</a>;
+
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> utc_time_ = posix_time::ptime,
+             <span class="bold"><strong>typename</strong></span> tz_type = date_time::time_zone_base&lt;utc_time_&gt; &gt;
+     <span class="bold"><strong>class</strong></span> <a href="../local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a>;
+
+    <span class="bold"><strong>typedef</strong></span> <a href="../local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a> local_date_time; <span class="emphasis"><em>// Use the default parameters to define local_date_time. </em></span>
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2477207"></a>Header &lt;<a href="../../../boost/date_time/local_time/local_time_io.hpp" target="_top">boost/date_time/local_time/local_time_io.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> local_time {
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::time_facet&lt; local_date_time, <span class="bold"><strong>wchar_t</strong></span> &gt; wlocal_time_facet;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::time_facet&lt; local_date_time, <span class="bold"><strong>char</strong></span> &gt; local_time_facet;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::time_input_facet&lt; local_date_time::utc_time_type, <span class="bold"><strong>wchar_t</strong></span> &gt; wlocal_time_input_facet;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::time_input_facet&lt; local_date_time::utc_time_type, <span class="bold"><strong>char</strong></span> &gt; local_time_input_facet;
+
+    <span class="emphasis"><em>// operator&lt;&lt; for local_date_time - see local_time docs for formatting details </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT&gt;
+      <span class="type">std::basic_ostream&lt; CharT, TraitsT &gt; &amp;</span>
+      <a name="id2477270"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, TraitsT &gt; &amp; os,
+                 <span class="bold"><strong>const</strong></span> local_date_time &amp; ldt);
+
+    <span class="emphasis"><em>// input operator for local_date_time </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+      <a name="id2447757"></a><span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; is,
+                 local_date_time &amp; ldt);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2447809"></a>Header &lt;<a href="../../../boost/date_time/local_time/local_time_serialize.hpp" target="_top">boost/date_time/local_time/local_time_serialize.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> serialization {
+    <span class="type"></span> <a name="id2447824"></a>BOOST_SERIALIZATION_SPLIT_FREE(boost::date_time::time_zone_base );
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2447856"></a>Header &lt;<a href="../../../boost/date_time/local_time/local_time_types.hpp" target="_top">boost/date_time/local_time/local_time_types.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> local_time {
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::period&lt; local_date_time, boost::posix_time::time_duration &gt; local_time_period;
+    <span class="bold"><strong>typedef</strong></span> date_time::time_itr&lt; local_date_time &gt; local_time_iterator;
+    <span class="bold"><strong>typedef</strong></span> date_time::second_clock&lt; local_date_time &gt; local_sec_clock;
+    <span class="bold"><strong>typedef</strong></span> date_time::microsec_clock&lt; local_date_time &gt; local_microsec_clock;
+    <span class="bold"><strong>typedef</strong></span> boost::shared_ptr&lt; <a href="../time_zone.html" title="Class time_zone">time_zone</a> &gt; time_zone_ptr; <span class="emphasis"><em>// Shared Pointer for time_zone and posix_time_zone objects. </em></span>
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2447946"></a>Header &lt;<a href="../../../boost/date_time/local_time/posix_time_zone.hpp" target="_top">boost/date_time/local_time/posix_time_zone.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> local_time {
+    <span class="bold"><strong>struct</strong></span> <a href="../bad_offset.html" title="Struct bad_offset">bad_offset</a>;
+    <span class="bold"><strong>struct</strong></span> <a href="../bad_adjustment.html" title="Struct bad_adjustment">bad_adjustment</a>;
+
+    <span class="bold"><strong>class</strong></span> <a href="../posix_time_zone.html" title="Class posix_time_zone">posix_time_zone</a>;
+
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::time_zone_names time_zone_names;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::dst_adjustment_offsets&lt; boost::posix_time::time_duration &gt; dst_adjustment_offsets;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::time_zone_base&lt; boost::posix_time::ptime &gt; time_zone;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2448620"></a>Header &lt;<a href="../../../boost/date_time/local_time/time_zone.hpp" target="_top">boost/date_time/local_time/time_zone.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> local_time {
+    <span class="bold"><strong>class</strong></span> <a href="../time_zone.html" title="Class time_zone">time_zone</a>;
+
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::time_zone_names time_zone_names;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::dst_adjustment_offsets&lt; boost::posix_time::time_duration &gt; dst_adjustment_offsets;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::time_zone_base&lt; boost::posix_time::ptime &gt; time_zone;
+    <span class="bold"><strong>typedef</strong></span> boost::shared_ptr&lt; dst_calc_rule &gt; dst_calc_rule_ptr;
+    <span class="bold"><strong>typedef</strong></span> boost::date_time::time_zone_base&lt; boost::posix_time::ptime &gt; time_zone_base;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2448961"></a>Header &lt;<a href="../../../boost/date_time/local_time/tz_database.hpp" target="_top">boost/date_time/local_time/tz_database.hpp</a>&gt;</h5></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> local_time {
+    <span class="bold"><strong>typedef</strong></span> date_time::tz_db_base&lt; <a href="../custom_time_zone.html" title="Class custom_time_zone">custom_time_zone</a>, nth_kday_dst_rule &gt; tz_database; <span class="emphasis"><em>// Object populated with boost::shared_ptr&lt;time_zone_base&gt; objects. </em></span>
+  }
+}</pre>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="examples.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../date_time.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../day_functor.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/date_time/examples.html b/doc/html/date_time/examples.html
new file mode 100644
index 0000000000..416a61a28e
--- /dev/null
+++ b/doc/html/date_time/examples.html
@@ -0,0 +1,1155 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Examples</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../date_time.html" title="Chapter 3. Boost.Date_Time">
+<link rel="prev" href="details.html" title="Details">
+<link rel="next" href="doxy.html" title="Library Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="details.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../date_time.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="doxy.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="date_time.examples"></a>Examples</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="examples.html#date_time.examples.dates_as_strings">Dates as Strings</a></span></dt>
+<dt><span class="section"><a href="examples.html#date_time.examples.days_alive">Days Alive</a></span></dt>
+<dt><span class="section"><a href="examples.html#date_time.examples.days_between_new_year">Days Between New Years</a></span></dt>
+<dt><span class="section"><a href="examples.html#date_time.examples.end_of_month_day">Last Day of the Months</a></span></dt>
+<dt><span class="section"><a href="examples.html#date_time.examples.localization">Localization Demonstration</a></span></dt>
+<dt><span class="section"><a href="examples.html#date_time.examples.date_period_calc">Date Period Calculations</a></span></dt>
+<dt><span class="section"><a href="examples.html#date_time.examples.print_holidays">Print Holidays</a></span></dt>
+<dt><span class="section"><a href="examples.html#date_time.examples.print_month">Print Month</a></span></dt>
+<dt><span class="section"><a href="examples.html#date_time.examples.month_add">Month Adding</a></span></dt>
+<dt><span class="section"><a href="examples.html#date_time.examples.time_math">Time Math</a></span></dt>
+<dt><span class="section"><a href="examples.html#date_time.examples.print_hours">Print Hours</a></span></dt>
+<dt><span class="section"><a href="examples.html#date_time.examples.local_utc_conversion">Local to UTC Conversion</a></span></dt>
+<dt><span class="section"><a href="examples.html#date_time.examples.time_periods">Time Periods</a></span></dt>
+<dt><span class="section"><a href="examples.html#date_time.examples.simple_time_zone">Simple Time Zones</a></span></dt>
+<dt><span class="section"><a href="examples.html#date_time.examples.calc_rules">Daylight Savings Calc Rules</a></span></dt>
+<dt><span class="section"><a href="examples.html#date_time.examples.flight">Flight Time Example</a></span></dt>
+<dt><span class="section"><a href="examples.html#date_time.examples.seconds_since_epoch">Seconds Since Epoch</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.examples.dates_as_strings"></a>Dates as Strings</h4></div></div></div>
+<p>
+ Various parsing and output of strings.
+ </p>
+<pre class="programlisting">
+
+
+ /* The following is a simple example that shows conversion of dates
+ * to and from a std::string.
+ *
+ * Expected output:
+ * 2001-Oct-09
+ * 2001-10-09
+ * Tuesday October 9, 2001
+ * An expected exception is next:
+ * Exception: Month number is out of range 1..12
+ */
+
+ #include "boost/date_time/gregorian/gregorian.hpp"
+ #include &lt;iostream&gt;
+ #include &lt;string&gt;
+
+ int
+ main()
+ {
+
+ using namespace boost::gregorian;
+
+ try {
+ // The following date is in ISO 8601 extended format (CCYY-MM-DD)
+ std::string s("2001-10-9"); //2001-October-09
+ date d(from_simple_string(s));
+ std::cout &lt;&lt; to_simple_string(d) &lt;&lt; std::endl;
+
+ //Read ISO Standard(CCYYMMDD) and output ISO Extended
+ std::string ud("20011009"); //2001-Oct-09
+ date d1(from_undelimited_string(ud));
+ std::cout &lt;&lt; to_iso_extended_string(d1) &lt;&lt; std::endl;
+
+ //Output the parts of the date - Tuesday October 9, 2001
+ date::ymd_type ymd = d1.year_month_day();
+ greg_weekday wd = d1.day_of_week();
+ std::cout &lt;&lt; wd.as_long_string() &lt;&lt; " "
+ &lt;&lt; ymd.month.as_long_string() &lt;&lt; " "
+ &lt;&lt; ymd.day &lt;&lt; ", " &lt;&lt; ymd.year
+ &lt;&lt; std::endl;
+
+ //Let's send in month 25 by accident and create an exception
+ std::string bad_date("20012509"); //2001-??-09
+ std::cout &lt;&lt; "An expected exception is next: " &lt;&lt; std::endl;
+ date wont_construct(from_undelimited_string(bad_date));
+ //use wont_construct so compiler doesn't complain, but you wont get here!
+ std::cout &lt;&lt; "oh oh, you shouldn't reach this line: "
+ &lt;&lt; to_iso_string(wont_construct) &lt;&lt; std::endl;
+ }
+ catch(std::exception&amp; e) {
+ std::cout &lt;&lt; " Exception: " &lt;&lt; e.what() &lt;&lt; std::endl;
+ }
+
+
+ return 0;
+ }
+
+
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.examples.days_alive"></a>Days Alive</h4></div></div></div>
+<p>
+ Calculate the number of days you have been living using durations and dates.
+ </p>
+<pre class="programlisting"><code class="literal"><span class="comment">/* Short example that calculates the number of days since user was born.
+ * Demonstrates comparisons of durations, use of the day_clock,
+ * and parsing a date from a string.
+ */</span><span class="preprocessor">
+
+#include</span><span class="string"> "boost/date_time/gregorian/gregorian.hpp"</span><span class="preprocessor">
+#include</span><span class="special"> &lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span><span class="keyword">
+
+int</span><span class="identifier">
+main</span><span class="special">()</span><span class="special">
+{</span><span class="keyword">
+
+ using</span><span class="keyword"> namespace</span><span class="identifier"> boost</span><span class="special">::</span><span class="identifier">gregorian</span><span class="special">;</span><span class="identifier">
+ std</span><span class="special">::</span><span class="identifier">string</span><span class="identifier"> s</span><span class="special">;</span><span class="identifier">
+ std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"> &lt;&lt;</span><span class="string"> "Enter birth day YYYY-MM-DD (eg: 2002-02-01): "</span><span class="special">;</span><span class="identifier">
+ std</span><span class="special">::</span><span class="identifier">cin</span><span class="special"> &gt;&gt;</span><span class="identifier"> s</span><span class="special">;</span><span class="keyword">
+ try</span><span class="special"> {</span><span class="identifier">
+ date</span><span class="identifier"> birthday</span><span class="special">(</span><span class="identifier">from_simple_string</span><span class="special">(</span><span class="identifier">s</span><span class="special">));</span><span class="identifier">
+ date</span><span class="identifier"> today</span><span class="special"> =</span><span class="identifier"> day_clock</span><span class="special">::</span><span class="identifier">local_day</span><span class="special">();</span><span class="identifier">
+ days</span><span class="identifier"> days_alive</span><span class="special"> =</span><span class="identifier"> today</span><span class="special"> -</span><span class="identifier"> birthday</span><span class="special">;</span><span class="identifier">
+ days</span><span class="identifier"> one_day</span><span class="special">(</span><span class="number">1</span><span class="special">);</span><span class="keyword">
+ if</span><span class="special"> (</span><span class="identifier">days_alive</span><span class="special"> ==</span><span class="identifier"> one_day</span><span class="special">)</span><span class="special"> {</span><span class="identifier">
+ std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"> &lt;&lt;</span><span class="string"> "Born yesterday, very funny"</span><span class="special"> &lt;&lt;</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span><span class="special">
+ }</span><span class="keyword">
+ else</span><span class="keyword"> if</span><span class="special"> (</span><span class="identifier">days_alive</span><span class="special"> &lt;</span><span class="identifier"> days</span><span class="special">(</span><span class="number">0</span><span class="special">))</span><span class="special"> {</span><span class="identifier">
+ std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"> &lt;&lt;</span><span class="string"> "Not born yet, hmm: "</span><span class="special"> &lt;&lt;</span><span class="identifier"> days_alive</span><span class="special">.</span><span class="identifier">days</span><span class="special">()</span><span class="special">
+ &lt;&lt;</span><span class="string"> " days"</span><span class="special"> &lt;&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span><span class="special">
+ }</span><span class="keyword">
+ else</span><span class="special"> {</span><span class="identifier">
+ std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"> &lt;&lt;</span><span class="string"> "Days alive: "</span><span class="special"> &lt;&lt;</span><span class="identifier"> days_alive</span><span class="special">.</span><span class="identifier">days</span><span class="special">()</span><span class="special"> &lt;&lt;</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span><span class="special">
+ }</span><span class="special">
+
+ }</span><span class="keyword">
+ catch</span><span class="special">(...)</span><span class="special"> {</span><span class="identifier">
+ std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"> &lt;&lt;</span><span class="string"> "Bad date entered: "</span><span class="special"> &lt;&lt;</span><span class="identifier"> s</span><span class="special"> &lt;&lt;</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span><span class="special">
+ }</span><span class="keyword">
+ return</span><span class="number"> 0</span><span class="special">;</span><span class="special">
+}</span></code></pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.examples.days_between_new_year"></a>Days Between New Years</h4></div></div></div>
+<p>
+ Calculate the number of days till new years
+ </p>
+<pre class="programlisting">
+
+ /* Provides a simple example of using a date_generator, and simple
+ * mathematical operatorations, to calculate the days since
+ * New Years day of this year, and days until next New Years day.
+ *
+ * Expected results:
+ * Adding together both durations will produce 366 (365 in a leap year).
+ */
+ #include &lt;iostream&gt;
+ #include "boost/date_time/gregorian/gregorian.hpp"
+
+ int
+ main()
+ {
+
+ using namespace boost::gregorian;
+
+ date today = day_clock::local_day();
+ partial_date new_years_day(1,Jan);
+ //Subtract two dates to get a duration
+ days days_since_year_start = today - new_years_day.get_date(today.year());
+ std::cout &lt;&lt; "Days since Jan 1: " &lt;&lt; days_since_year_start.days()
+ &lt;&lt; std::endl;
+
+ days days_until_year_start = new_years_day.get_date(today.year()+1) - today;
+ std::cout &lt;&lt; "Days until next Jan 1: " &lt;&lt; days_until_year_start.days()
+ &lt;&lt; std::endl;
+ return 0;
+ };
+
+
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.examples.end_of_month_day"></a>Last Day of the Months</h4></div></div></div>
+<p>
+ Example that gets a month and a year from the user and finds the last day of each remaining month of that year.
+ </p>
+<pre class="programlisting">
+
+ /* Simple program that finds the last day of the given month,
+ * then displays the last day of every month left in the given year.
+ */
+
+ #include "boost/date_time/gregorian/gregorian.hpp"
+ #include &lt;iostream&gt;
+
+ int
+ main()
+ {
+ using namespace boost::gregorian;
+
+ greg_year year(1400);
+ greg_month month(1);
+
+ // get a month and a year from the user
+ try {
+ int y, m;
+ std::cout &lt;&lt; " Enter Year(ex: 2002): ";
+ std::cin &gt;&gt; y;
+ year = greg_year(y);
+ std::cout &lt;&lt; " Enter Month(1..12): ";
+ std::cin &gt;&gt; m;
+ month = greg_month(m);
+ }
+ catch(bad_year by) {
+ std::cout &lt;&lt; "Invalid Year Entered: " &lt;&lt; by.what() &lt;&lt; '\n'
+ &lt;&lt; "Using minimum values for month and year." &lt;&lt; std::endl;
+ }
+ catch(bad_month bm) {
+ std::cout &lt;&lt; "Invalid Month Entered" &lt;&lt; bm.what() &lt;&lt; '\n'
+ &lt;&lt; "Using minimum value for month. " &lt;&lt; std::endl;
+ }
+
+ date start_of_next_year(year+1, Jan, 1);
+ date d(year, month, 1);
+
+ // add another month to d until we enter the next year.
+ while (d &lt; start_of_next_year){
+ std::cout &lt;&lt; to_simple_string(d.end_of_month()) &lt;&lt; std::endl;
+ d += months(1);
+ }
+
+ return 0;
+ }
+
+
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.examples.localization"></a>Localization Demonstration</h4></div></div></div>
+<p>
+ The boost::date_time library provides the ability to create customized locale facets. Date ordering, language, seperators, and abbreviations can be customized.
+ </p>
+<pre class="programlisting">
+
+ /* The following shows the creation of a facet for the output of
+ * dates in German (please forgive me for any errors in my German --
+ * I'm not a native speaker).
+ */
+
+ #include "boost/date_time/gregorian/gregorian.hpp"
+ #include &lt;iostream&gt;
+ #include &lt;algorithm&gt;
+
+ /* Define a series of char arrays for short and long name strings
+ * to be associated with German date output (US names will be
+ * retrieved from the locale). */
+ const char* const de_short_month_names[] =
+ {
+ "Jan", "Feb", "Mar", "Apr", "Mai", "Jun",
+ "Jul", "Aug", "Sep", "Okt", "Nov", "Dez", "NAM"
+ };
+ const char* const de_long_month_names[] =
+ {
+ "Januar", "Februar", "Marz", "April", "Mai",
+ "Juni", "Juli", "August", "September", "Oktober",
+ "November", "Dezember", "NichtDerMonat"
+ };
+ const char* const de_long_weekday_names[] =
+ {
+ "Sonntag", "Montag", "Dienstag", "Mittwoch",
+ "Donnerstag", "Freitag", "Samstag"
+ };
+ const char* const de_short_weekday_names[] =
+ {
+ "Son", "Mon", "Die","Mit", "Don", "Fre", "Sam"
+ };
+
+
+ int main()
+ {
+ using namespace boost::gregorian;
+
+ // create some gregorian objects to output
+ date d1(2002, Oct, 1);
+ greg_month m = d1.month();
+ greg_weekday wd = d1.day_of_week();
+
+ // create a facet and a locale for German dates
+ date_facet* german_facet = new date_facet();
+ std::cout.imbue(std::locale(std::locale::classic(), german_facet));
+
+ // create the German name collections
+ date_facet::input_collection_type short_months, long_months,
+ short_weekdays, long_weekdays;
+ std::copy(&amp;de_short_month_names[0], &amp;de_short_month_names[11],
+ std::back_inserter(short_months));
+ std::copy(&amp;de_long_month_names[0], &amp;de_long_month_names[11],
+ std::back_inserter(long_months));
+ std::copy(&amp;de_short_weekday_names[0], &amp;de_short_weekday_names[6],
+ std::back_inserter(short_weekdays));
+ std::copy(&amp;de_long_weekday_names[0], &amp;de_long_weekday_names[6],
+ std::back_inserter(long_weekdays));
+
+ // replace the default names with ours
+ // NOTE: date_generators and special_values were not replaced as
+ // they are not used in this example
+ german_facet-&gt;short_month_names(short_months);
+ german_facet-&gt;long_month_names(long_months);
+ german_facet-&gt;short_weekday_names(short_weekdays);
+ german_facet-&gt;long_weekday_names(long_weekdays);
+
+ // output the date in German using short month names
+ german_facet-&gt;format("%d.%m.%Y");
+ std::cout &lt;&lt; d1 &lt;&lt; std::endl; //01.10.2002
+
+ german_facet-&gt;month_format("%B");
+ std::cout &lt;&lt; m &lt;&lt; std::endl; //Oktober
+
+ german_facet-&gt;weekday_format("%A");
+ std::cout &lt;&lt; wd &lt;&lt; std::endl; //Dienstag
+
+
+ // Output the same gregorian objects using US names
+ date_facet* us_facet = new date_facet();
+ std::cout.imbue(std::locale(std::locale::classic(), us_facet));
+
+ us_facet-&gt;format("%m/%d/%Y");
+ std::cout &lt;&lt; d1 &lt;&lt; std::endl; // 10/01/2002
+
+ // English names, iso order (year-month-day), '-' separator
+ us_facet-&gt;format("%Y-%b-%d");
+ std::cout &lt;&lt; d1 &lt;&lt; std::endl; // 2002-Oct-01
+
+ return 0;
+
+ }
+
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.examples.date_period_calc"></a>Date Period Calculations</h4></div></div></div>
+<p>
+ Calculates if a date is in an 'irregular' collection of periods using period calculation functions.
+ </p>
+<pre class="programlisting">
+
+ /*
+ This example demonstrates a simple use of periods for the calculation
+ of date information.
+
+ The example calculates if a given date is a weekend or holiday
+ given an exclusion set. That is, each weekend or holiday is
+ entered into the set as a time interval. Then if a given date
+ is contained within any of the intervals it is considered to
+ be within the exclusion set and hence is a offtime.
+
+ Output:
+ Number Excluded Periods: 5
+ 20020202/20020203
+ 20020209/20020210
+ 20020212/20020212
+ 20020216/20020217
+ In Exclusion Period: 20020216 --&gt; 20020216/20020217
+ 20020223/20020224
+
+ */
+
+
+ #include "boost/date_time/gregorian/gregorian.hpp"
+ #include &lt;set&gt;
+ #include &lt;algorithm&gt;
+ #include &lt;iostream&gt;
+
+ typedef std::set&lt;boost::gregorian::date_period&gt; date_period_set;
+
+ //Simple population of the exclusion set
+ date_period_set
+ generateExclusion()
+ {
+ using namespace boost::gregorian;
+ date_period periods_array[] =
+ { date_period(date(2002,Feb,2), date(2002,Feb,4)),//weekend of 2nd-3rd
+ date_period(date(2002,Feb,9), date(2002,Feb,11)),
+ date_period(date(2002,Feb,16), date(2002,Feb,18)),
+ date_period(date(2002,Feb,23), date(2002,Feb,25)),
+ date_period(date(2002,Feb,12), date(2002,Feb,13))//a random holiday 2-12
+ };
+ const int num_periods = sizeof(periods_array)/sizeof(date_period);
+
+ date_period_set ps;
+ //insert the periods in the set
+ std::insert_iterator&lt;date_period_set&gt; itr(ps, ps.begin());
+ std::copy(periods_array, periods_array+num_periods, itr );
+ return ps;
+
+ }
+
+
+ int main()
+ {
+ using namespace boost::gregorian;
+
+ date_period_set ps = generateExclusion();
+ std::cout &lt;&lt; "Number Excluded Periods: " &lt;&lt; ps.size() &lt;&lt; std::endl;
+
+ date d(2002,Feb,16);
+ date_period_set::const_iterator i = ps.begin();
+ //print the periods, check for containment
+ for (;i != ps.end(); i++) {
+ std::cout &lt;&lt; to_iso_string(*i) &lt;&lt; std::endl;
+ //if date is in exclusion period then print it
+ if (i-&gt;contains(d)) {
+ std::cout &lt;&lt; "In Exclusion Period: "
+ &lt;&lt; to_iso_string(d) &lt;&lt; " --&gt; " &lt;&lt; to_iso_string(*i)
+ &lt;&lt; std::endl;
+ }
+ }
+
+ return 0;
+
+ }
+
+
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.examples.print_holidays"></a>Print Holidays</h4></div></div></div>
+<p>
+ This is an example of using functors to define a holiday schedule
+ </p>
+<pre class="programlisting">
+
+
+ /* Generate a set of dates using a collection of date generators
+ * Output looks like:
+ * Enter Year: 2002
+ * 2002-Jan-01 [Tue]
+ * 2002-Jan-21 [Mon]
+ * 2002-Feb-12 [Tue]
+ * 2002-Jul-04 [Thu]
+ * 2002-Sep-02 [Mon]
+ * 2002-Nov-28 [Thu]
+ * 2002-Dec-25 [Wed]
+ * Number Holidays: 7
+ */
+
+ #include "boost/date_time/gregorian/gregorian.hpp"
+ #include &lt;algorithm&gt;
+ #include &lt;functional&gt;
+ #include &lt;vector&gt;
+ #include &lt;iostream&gt;
+ #include &lt;set&gt;
+
+ void
+ print_date(boost::gregorian::date d)
+ {
+ using namespace boost::gregorian;
+ #if defined(BOOST_DATE_TIME_NO_LOCALE)
+ std::cout &lt;&lt; to_simple_string(d) &lt;&lt; " [" &lt;&lt; d.day_of_week() &lt;&lt; "]\n";
+ #else
+ std::cout &lt;&lt; d &lt;&lt; " [" &lt;&lt; d.day_of_week() &lt;&lt; "]\n";
+ #endif
+ }
+
+
+ int
+ main() {
+
+ std::cout &lt;&lt; "Enter Year: ";
+ int year;
+ std::cin &gt;&gt; year;
+
+ using namespace boost::gregorian;
+
+ //define a collection of holidays fixed by month and day
+ std::vector&lt;year_based_generator*&gt; holidays;
+ holidays.push_back(new partial_date(1,Jan)); //Western New Year
+ holidays.push_back(new partial_date(4,Jul)); //US Independence Day
+ holidays.push_back(new partial_date(25, Dec));//Christmas day
+
+
+ //define a shorthand for the nth_day_of_the_week_in_month function object
+ typedef nth_day_of_the_week_in_month nth_dow;
+
+ //US labor day
+ holidays.push_back(new nth_dow(nth_dow::first, Monday, Sep));
+ //MLK Day
+ holidays.push_back(new nth_dow(nth_dow::third, Monday, Jan));
+ //Pres day
+ holidays.push_back(new nth_dow(nth_dow::second, Tuesday, Feb));
+ //Thanksgiving
+ holidays.push_back(new nth_dow(nth_dow::fourth, Thursday, Nov));
+
+ typedef std::set&lt;date&gt; date_set;
+ date_set all_holidays;
+
+ for(std::vector&lt;year_based_generator*&gt;::iterator it = holidays.begin();
+ it != holidays.end(); ++it)
+ {
+ all_holidays.insert((*it)-&gt;get_date(year));
+ }
+
+ //print the holidays to the screen
+ std::for_each(all_holidays.begin(), all_holidays.end(), print_date);
+ std::cout &lt;&lt; "Number Holidays: " &lt;&lt; all_holidays.size() &lt;&lt; std::endl;
+
+ return 0;
+ }
+
+
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.examples.print_month"></a>Print Month</h4></div></div></div>
+<p>
+ Simple utility to print out days of the month with the days of a month. Demontstrates date iteration (date_time::date_itr).
+ </p>
+<pre class="programlisting">
+
+ /* This example prints all the dates in a month. It demonstrates
+ * the use of iterators as well as functions of the gregorian_calendar
+ *
+ * Output:
+ * Enter Year: 2002
+ * Enter Month(1..12): 2
+ * 2002-Feb-01 [Fri]
+ * 2002-Feb-02 [Sat]
+ * 2002-Feb-03 [Sun]
+ * 2002-Feb-04 [Mon]
+ * 2002-Feb-05 [Tue]
+ * 2002-Feb-06 [Wed]
+ * 2002-Feb-07 [Thu]
+ */
+
+ #include "boost/date_time/gregorian/gregorian.hpp"
+ #include &lt;iostream&gt;
+
+ int
+ main()
+ {
+ std::cout &lt;&lt; "Enter Year: ";
+ int year, month;
+ std::cin &gt;&gt; year;
+ std::cout &lt;&lt; "Enter Month(1..12): ";
+ std::cin &gt;&gt; month;
+
+ using namespace boost::gregorian;
+ try {
+ //Use the calendar to get the last day of the month
+ int eom_day = gregorian_calendar::end_of_month_day(year,month);
+ date endOfMonth(year,month,eom_day);
+
+ //construct an iterator starting with firt day of the month
+ day_iterator ditr(date(year,month,1));
+ //loop thru the days and print each one
+ for (; ditr &lt;= endOfMonth; ++ditr) {
+ #if defined(BOOST_DATE_TIME_NO_LOCALE)
+ std::cout &lt;&lt; to_simple_string(*ditr) &lt;&lt; " ["
+ #else
+ std::cout &lt;&lt; *ditr &lt;&lt; " ["
+ #endif
+ &lt;&lt; ditr-&gt;day_of_week() &lt;&lt; "]"
+ &lt;&lt; std::endl;
+ }
+ }
+ catch(std::exception&amp; e) {
+
+ std::cout &lt;&lt; "Error bad date, check your entry: \n"
+ &lt;&lt; " Details: " &lt;&lt; e.what() &lt;&lt; std::endl;
+ }
+ return 0;
+ }
+
+
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.examples.month_add"></a>Month Adding</h4></div></div></div>
+<p>
+ Adding a month to a day without the use of iterators.
+ </p>
+<pre class="programlisting">
+
+ /* Simple program that uses the gregorian calendar to progress by exactly
+ * one month, irregardless of how many days are in that month.
+ *
+ * This method can be used as an alternative to iterators
+ */
+
+ #include "boost/date_time/gregorian/gregorian.hpp"
+ #include &lt;iostream&gt;
+
+ int
+ main()
+ {
+
+ using namespace boost::gregorian;
+
+ date d = day_clock::local_day();
+ add_month mf(1);
+ date d2 = d + mf.get_offset(d);
+ std::cout &lt;&lt; "Today is: " &lt;&lt; to_simple_string(d) &lt;&lt; ".\n"
+ &lt;&lt; "One month from today will be: " &lt;&lt; to_simple_string(d2)
+ &lt;&lt; std::endl;
+
+ return 0;
+ }
+
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.examples.time_math"></a>Time Math</h4></div></div></div>
+<p>
+ Various types of calculations with times and time durations.
+ </p>
+<pre class="programlisting">
+
+ /* Some simple examples of constructing and calculating with times
+ * Output:
+ * 2002-Feb-01 00:00:00 - 2002-Feb-01 05:04:02.001000000 = -5:04:02.001000000
+ */
+
+ #include "boost/date_time/posix_time/posix_time.hpp"
+ #include &lt;iostream&gt;
+
+ int
+ main()
+ {
+ using namespace boost::posix_time;
+ using namespace boost::gregorian;
+
+ date d(2002,Feb,1); //an arbitrary date
+ //construct a time by adding up some durations durations
+ ptime t1(d, hours(5)+minutes(4)+seconds(2)+millisec(1));
+ //construct a new time by subtracting some times
+ ptime t2 = t1 - hours(5)- minutes(4)- seconds(2)- millisec(1);
+ //construct a duration by taking the difference between times
+ time_duration td = t2 - t1;
+
+ std::cout &lt;&lt; to_simple_string(t2) &lt;&lt; " - "
+ &lt;&lt; to_simple_string(t1) &lt;&lt; " = "
+ &lt;&lt; to_simple_string(td) &lt;&lt; std::endl;
+
+ return 0;
+ }
+
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.examples.print_hours"></a>Print Hours</h4></div></div></div>
+<p>
+ Demonstrate time iteration, clock retrieval, and simple calculation.
+ </p>
+<pre class="programlisting">
+
+ /* Print the remaining hours of the day
+ * Uses the clock to get the local time
+ * Use an iterator to iterate over the remaining hours
+ * Retrieve the date part from a time
+ *
+ * Expected Output something like:
+ *
+ * 2002-Mar-08 16:30:59
+ * 2002-Mar-08 17:30:59
+ * 2002-Mar-08 18:30:59
+ * 2002-Mar-08 19:30:59
+ * 2002-Mar-08 20:30:59
+ * 2002-Mar-08 21:30:59
+ * 2002-Mar-08 22:30:59
+ * 2002-Mar-08 23:30:59
+ * Time left till midnight: 07:29:01
+ */
+
+ #include "boost/date_time/posix_time/posix_time.hpp"
+ #include &lt;iostream&gt;
+
+ int
+ main()
+ {
+ using namespace boost::posix_time;
+ using namespace boost::gregorian;
+
+ //get the current time from the clock -- one second resolution
+ ptime now = second_clock::local_time();
+ //Get the date part out of the time
+ date today = now.date();
+ date tommorrow = today + days(1);
+ ptime tommorrow_start(tommorrow); //midnight
+
+ //iterator adds by one hour
+ time_iterator titr(now,hours(1));
+ for (; titr &lt; tommorrow_start; ++titr) {
+ std::cout &lt;&lt; to_simple_string(*titr) &lt;&lt; std::endl;
+ }
+
+ time_duration remaining = tommorrow_start - now;
+ std::cout &lt;&lt; "Time left till midnight: "
+ &lt;&lt; to_simple_string(remaining) &lt;&lt; std::endl;
+ return 0;
+ }
+
+
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.examples.local_utc_conversion"></a>Local to UTC Conversion</h4></div></div></div>
+<p>
+ Demonstrate utc to local and local to utc calculations including dst.
+ </p>
+<pre class="programlisting">
+
+
+ /* Demonstrate conversions between a local time and utc
+ * Output:
+ *
+ * UTC &lt;--&gt; New York while DST is NOT active (5 hours)
+ * 2001-Dec-31 19:00:00 in New York is 2002-Jan-01 00:00:00 UTC time
+ * 2002-Jan-01 00:00:00 UTC is 2001-Dec-31 19:00:00 New York time
+ *
+ * UTC &lt;--&gt; New York while DST is active (4 hours)
+ * 2002-May-31 20:00:00 in New York is 2002-Jun-01 00:00:00 UTC time
+ * 2002-Jun-01 00:00:00 UTC is 2002-May-31 20:00:00 New York time
+ *
+ * UTC &lt;--&gt; Arizona (7 hours)
+ * 2002-May-31 17:00:00 in Arizona is 2002-Jun-01 00:00:00 UTC time
+ */
+
+ #include "boost/date_time/posix_time/posix_time.hpp"
+ #include "boost/date_time/local_time_adjustor.hpp"
+ #include "boost/date_time/c_local_time_adjustor.hpp"
+ #include &lt;iostream&gt;
+
+ int
+ main()
+ {
+ using namespace boost::posix_time;
+ using namespace boost::gregorian;
+
+ //This local adjustor depends on the machine TZ settings-- highly dangerous!
+ typedef boost::date_time::c_local_adjustor&lt;ptime&gt; local_adj;
+ ptime t10(date(2002,Jan,1), hours(7));
+ ptime t11 = local_adj::utc_to_local(t10);
+ std::cout &lt;&lt; "UTC &lt;--&gt; Zone base on TZ setting" &lt;&lt; std::endl;
+ std::cout &lt;&lt; to_simple_string(t11) &lt;&lt; " in your TZ is "
+ &lt;&lt; to_simple_string(t10) &lt;&lt; " UTC time "
+ &lt;&lt; std::endl;
+ time_duration td = t11 - t10;
+ std::cout &lt;&lt; "A difference of: "
+ &lt;&lt; to_simple_string(td) &lt;&lt; std::endl;
+
+
+ //eastern timezone is utc-5
+ typedef boost::date_time::local_adjustor&lt;ptime, -5, us_dst&gt; us_eastern;
+
+ ptime t1(date(2001,Dec,31), hours(19)); //5 hours b/f midnight NY time
+
+ std::cout &lt;&lt; "\nUTC &lt;--&gt; New York while DST is NOT active (5 hours)"
+ &lt;&lt; std::endl;
+ ptime t2 = us_eastern::local_to_utc(t1);
+ std::cout &lt;&lt; to_simple_string(t1) &lt;&lt; " in New York is "
+ &lt;&lt; to_simple_string(t2) &lt;&lt; " UTC time "
+ &lt;&lt; std::endl;
+
+ ptime t3 = us_eastern::utc_to_local(t2);//back should be the same
+ std::cout &lt;&lt; to_simple_string(t2) &lt;&lt; " UTC is "
+ &lt;&lt; to_simple_string(t3) &lt;&lt; " New York time "
+ &lt;&lt; "\n\n";
+
+ ptime t4(date(2002,May,31), hours(20)); //4 hours b/f midnight NY time
+ std::cout &lt;&lt; "UTC &lt;--&gt; New York while DST is active (4 hours)" &lt;&lt; std::endl;
+ ptime t5 = us_eastern::local_to_utc(t4);
+ std::cout &lt;&lt; to_simple_string(t4) &lt;&lt; " in New York is "
+ &lt;&lt; to_simple_string(t5) &lt;&lt; " UTC time "
+ &lt;&lt; std::endl;
+
+ ptime t6 = us_eastern::utc_to_local(t5);//back should be the same
+ std::cout &lt;&lt; to_simple_string(t5) &lt;&lt; " UTC is "
+ &lt;&lt; to_simple_string(t6) &lt;&lt; " New York time "
+ &lt;&lt; "\n" &lt;&lt; std::endl;
+
+
+ //Arizona timezone is utc-7 with no dst
+ typedef boost::date_time::local_adjustor&lt;ptime, -7, no_dst&gt; us_arizona;
+
+ ptime t7(date(2002,May,31), hours(17));
+ std::cout &lt;&lt; "UTC &lt;--&gt; Arizona (7 hours)" &lt;&lt; std::endl;
+ ptime t8 = us_arizona::local_to_utc(t7);
+ std::cout &lt;&lt; to_simple_string(t7) &lt;&lt; " in Arizona is "
+ &lt;&lt; to_simple_string(t8) &lt;&lt; " UTC time "
+ &lt;&lt; std::endl;
+
+ return 0;
+ }
+
+
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.examples.time_periods"></a>Time Periods</h4></div></div></div>
+<p>
+ Demonstrate some simple uses of time periods.
+ </p>
+<pre class="programlisting">
+
+
+ /* Some simple examples of constructing and calculating with times
+ * Returns:
+ * [2002-Feb-01 00:00:00/2002-Feb-01 23:59:59.999999999]
+ * contains 2002-Feb-01 03:00:05
+ * [2002-Feb-01 00:00:00/2002-Feb-01 23:59:59.999999999]
+ * intersected with
+ * [2002-Feb-01 00:00:00/2002-Feb-01 03:00:04.999999999]
+ * is
+ * [2002-Feb-01 00:00:00/2002-Feb-01 03:00:04.999999999]
+ */
+
+ #include "boost/date_time/posix_time/posix_time.hpp"
+ #include &lt;iostream&gt;
+
+ using namespace boost::posix_time;
+ using namespace boost::gregorian;
+
+ //Create a simple period class to contain all the times in a day
+ class day_period : public time_period
+ {
+ public:
+ day_period(date d) : time_period(ptime(d),//midnight
+ ptime(d,hours(24)))
+ {}
+
+ };
+
+ int
+ main()
+ {
+
+ date d(2002,Feb,1); //an arbitrary date
+ //a period that represents a day
+ day_period dp(d);
+ ptime t(d, hours(3)+seconds(5)); //an arbitray time on that day
+ if (dp.contains(t)) {
+ std::cout &lt;&lt; to_simple_string(dp) &lt;&lt; " contains "
+ &lt;&lt; to_simple_string(t) &lt;&lt; std::endl;
+ }
+ //a period that represents part of the day
+ time_period part_of_day(ptime(d, hours(0)), t);
+ //intersect the 2 periods and print the results
+ if (part_of_day.intersects(dp)) {
+ time_period result = part_of_day.intersection(dp);
+ std::cout &lt;&lt; to_simple_string(dp) &lt;&lt; " intersected with\n"
+ &lt;&lt; to_simple_string(part_of_day) &lt;&lt; " is \n"
+ &lt;&lt; to_simple_string(result) &lt;&lt; std::endl;
+ }
+
+
+ return 0;
+ }
+
+
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.examples.simple_time_zone"></a>Simple Time Zones</h4></div></div></div>
+<p>
+ Example usage of custom_time_zone as well as posix_time_zone.
+ </p>
+<pre class="programlisting">
+
+ /* A simple example for using a custom_time_zone and a posix_time_zone.
+ */
+
+ #include "boost/date_time/local_time/local_time.hpp"
+ #include &lt;iostream&gt;
+
+ int
+ main()
+ {
+ using namespace boost;
+ using namespace local_time;
+ using namespace gregorian;
+ using posix_time::time_duration;
+
+ /***** custom_time_zone *****/
+
+ // create the dependent objects for a custom_time_zone
+ time_zone_names tzn("Eastern Standard Time", "EST",
+ "Eastern Daylight Time", "EDT");
+ time_duration utc_offset(-5,0,0);
+ dst_adjustment_offsets adj_offsets(time_duration(1,0,0),
+ time_duration(2,0,0),
+ time_duration(2,0,0));
+ // rules for this zone are:
+ // start on first Sunday of April at 2 am
+ // end on last Sunday of October at 2 am
+ // so we use a first_last_dst_rule
+ first_day_of_the_week_in_month start_rule(Sunday, Apr);
+ last_day_of_the_week_in_month end_rule(Sunday, Oct);
+ shared_ptr&lt;dst_calc_rule&gt; nyc_rules(new first_last_dst_rule(start_rule,
+ end_rule));
+ // create more dependent objects for a non-dst custom_time_zone
+ time_zone_names tzn2("Mountain Standard Time", "MST",
+ "", ""); // no dst means empty dst strings
+ time_duration utc_offset2(-7,0,0);
+ dst_adjustment_offsets adj_offsets2(time_duration(0,0,0),
+ time_duration(0,0,0),
+ time_duration(0,0,0));
+ // no dst means we need a null pointer to the rules
+ shared_ptr&lt;dst_calc_rule&gt; phx_rules;
+
+ // create the custom_time_zones
+ time_zone_ptr nyc_1(new custom_time_zone(tzn, utc_offset,
+ adj_offsets, nyc_rules));
+ time_zone_ptr phx_1(new custom_time_zone(tzn2, utc_offset2,
+ adj_offsets2, phx_rules));
+
+ /***** posix_time_zone *****/
+
+ // create posix_time_zones that are the duplicates of the
+ // custom_time_zones created above. See posix_time_zone documentation
+ // for details on full zone names.
+ std::string nyc_string, phx_string;
+ nyc_string = "EST-05:00:00EDT+01:00:00,M4.1.0/02:00:00,M10.5.0/02:00:00";
+ // nyc_string = "EST-05EDT,M4.1.0,M10.5.0"; // shorter when defaults used
+ phx_string = "MST-07"; // no-dst
+ time_zone_ptr nyc_2(new posix_time_zone(nyc_string));
+ time_zone_ptr phx_2(new posix_time_zone(phx_string));
+
+
+ /***** show the sets are equal *****/
+
+ std::cout &lt;&lt; "The first zone is in daylight savings from:\n "
+ &lt;&lt; nyc_1-&gt;dst_local_start_time(2004) &lt;&lt; " through "
+ &lt;&lt; nyc_1-&gt;dst_local_end_time(2004) &lt;&lt; std::endl;
+
+ std::cout &lt;&lt; "The second zone is in daylight savings from:\n "
+ &lt;&lt; nyc_2-&gt;dst_local_start_time(2004) &lt;&lt; " through "
+ &lt;&lt; nyc_2-&gt;dst_local_end_time(2004) &lt;&lt; std::endl;
+
+ std::cout &lt;&lt; "The third zone (no daylight savings):\n "
+ &lt;&lt; phx_1-&gt;std_zone_abbrev() &lt;&lt; " and "
+ &lt;&lt; phx_1-&gt;base_utc_offset() &lt;&lt; std::endl;
+
+ std::cout &lt;&lt; "The fourth zone (no daylight savings):\n "
+ &lt;&lt; phx_2-&gt;std_zone_abbrev() &lt;&lt; " and "
+ &lt;&lt; phx_2-&gt;base_utc_offset() &lt;&lt; std::endl;
+
+ return 0;
+ }
+
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.examples.calc_rules"></a>Daylight Savings Calc Rules</h4></div></div></div>
+<p>
+ Example of creating various Daylight Savings Calc Rule objects.
+ </p>
+<pre class="programlisting">
+
+ /* A simple example for creating various dst_calc_rule instances
+ */
+
+ #include "boost/date_time/gregorian/gregorian.hpp"
+ #include "boost/date_time/local_time/local_time.hpp"
+ #include &lt;iostream&gt;
+
+ int
+ main()
+ {
+ using namespace boost;
+ using namespace local_time;
+ using namespace gregorian;
+
+ /***** create the necessary date_generator objects *****/
+ // starting generators
+ first_day_of_the_week_in_month fd_start(Sunday, May);
+ last_day_of_the_week_in_month ld_start(Sunday, May);
+ nth_day_of_the_week_in_month nkd_start(nth_day_of_the_week_in_month::third,
+ Sunday, May);
+ partial_date pd_start(1, May);
+ // ending generators
+ first_day_of_the_week_in_month fd_end(Sunday, Oct);
+ last_day_of_the_week_in_month ld_end(Sunday, Oct);
+ nth_day_of_the_week_in_month nkd_end(nth_day_of_the_week_in_month::third,
+ Sunday, Oct);
+ partial_date pd_end(31, Oct);
+
+ /***** create the various dst_calc_rule objects *****/
+ dst_calc_rule_ptr pdr(new partial_date_dst_rule(pd_start, pd_end));
+ dst_calc_rule_ptr flr(new first_last_dst_rule(fd_start, ld_end));
+ dst_calc_rule_ptr llr(new last_last_dst_rule(ld_start, ld_end));
+ dst_calc_rule_ptr nlr(new nth_last_dst_rule(nkd_start, ld_end));
+ dst_calc_rule_ptr ndr(new nth_day_of_the_week_in_month_dst_rule(nkd_start,
+ nkd_end));
+
+ return 0;
+ }
+
+
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.examples.flight"></a>Flight Time Example</h4></div></div></div>
+<p>This example shows a program that calculates the arrival time of a plane that flys from Phoenix to New York. During the flight New York shifts into daylight savings time (Phoenix doesn't because Arizona doesn't use dst).</p>
+<pre class="programlisting"><code class="literal"><span class="preprocessor">#include</span><span class="string"> "boost/date_time/local_time/local_time.hpp"</span><span class="preprocessor">
+#include</span><span class="special"> &lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span><span class="comment">
+
+/* This example shows a program that calculates the arrival time of a plane
+ * that flys from Phoenix to New York. During the flight New York shifts
+ * into daylight savings time (Phoenix doesn't because Arizona doesn't use
+ * dst).
+ *
+ *
+ */</span><span class="keyword">
+
+int</span><span class="identifier"> main</span><span class="special">()</span><span class="special">
+{</span><span class="keyword">
+ using</span><span class="keyword"> namespace</span><span class="identifier"> boost</span><span class="special">::</span><span class="identifier">gregorian</span><span class="special">;</span><span class="keyword">
+ using</span><span class="keyword"> namespace</span><span class="identifier"> boost</span><span class="special">::</span><span class="identifier">local_time</span><span class="special">;</span><span class="keyword">
+ using</span><span class="keyword"> namespace</span><span class="identifier"> boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">;</span><span class="comment">
+
+
+ //setup some timezones for creating and adjusting local times
+ //This user editable file can be found in libs/date_time/data.
+</span><span class="identifier"> tz_database</span><span class="identifier"> tz_db</span><span class="special">;</span><span class="identifier">
+ tz_db</span><span class="special">.</span><span class="identifier">load_from_file</span><span class="special">(</span><span class="string">"date_time_zonespec.csv"</span><span class="special">);</span><span class="identifier">
+ time_zone_ptr</span><span class="identifier"> nyc_tz</span><span class="special"> =</span><span class="identifier"> tz_db</span><span class="special">.</span><span class="identifier">time_zone_from_region</span><span class="special">(</span><span class="string">"America/New_York"</span><span class="special">);</span><span class="comment">
+ //Use a
+</span><span class="identifier"> time_zone_ptr</span><span class="identifier"> phx_tz</span><span class="special">(</span><span class="keyword">new</span><span class="identifier"> posix_time_zone</span><span class="special">(</span><span class="string">"MST-07:00:00"</span><span class="special">));</span><span class="comment">
+
+ //local departure time in phoenix is 11 pm on april 2 2005
+ // (ny changes to dst on apr 3 at 2 am)
+</span><span class="identifier"> local_date_time</span><span class="identifier"> phx_departure</span><span class="special">(</span><span class="identifier">date</span><span class="special">(</span><span class="number">2005</span><span class="special">,</span><span class="identifier"> Apr</span><span class="special">,</span><span class="number"> 2</span><span class="special">),</span><span class="identifier"> hours</span><span class="special">(</span><span class="number">23</span><span class="special">),</span><span class="identifier">
+ phx_tz</span><span class="special">,</span><span class="identifier">
+ local_date_time</span><span class="special">::</span><span class="identifier">NOT_DATE_TIME_ON_ERROR</span><span class="special">);</span><span class="identifier">
+
+ time_duration</span><span class="identifier"> flight_length</span><span class="special"> =</span><span class="identifier"> hours</span><span class="special">(</span><span class="number">4</span><span class="special">)</span><span class="special"> +</span><span class="identifier"> minutes</span><span class="special">(</span><span class="number">30</span><span class="special">);</span><span class="identifier">
+ local_date_time</span><span class="identifier"> phx_arrival</span><span class="special"> =</span><span class="identifier"> phx_departure</span><span class="special"> +</span><span class="identifier"> flight_length</span><span class="special">;</span><span class="identifier">
+ local_date_time</span><span class="identifier"> nyc_arrival</span><span class="special"> =</span><span class="identifier"> phx_arrival</span><span class="special">.</span><span class="identifier">local_time_in</span><span class="special">(</span><span class="identifier">nyc_tz</span><span class="special">);</span><span class="identifier">
+
+ std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"> &lt;&lt;</span><span class="string"> "departure phx time: "</span><span class="special"> &lt;&lt;</span><span class="identifier"> phx_departure</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="identifier">
+ std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"> &lt;&lt;</span><span class="string"> "arrival phx time: "</span><span class="special"> &lt;&lt;</span><span class="identifier"> phx_arrival</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="identifier">
+ std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"> &lt;&lt;</span><span class="string"> "arrival nyc time: "</span><span class="special"> &lt;&lt;</span><span class="identifier"> nyc_arrival</span><span class="special"> &lt;&lt;</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span><span class="special">
+
+}</span></code></pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.examples.seconds_since_epoch"></a>Seconds Since Epoch</h4></div></div></div>
+<p>
+ Example of calculating seconds elapsed since epoch (1970-Jan-1) using local_date_time.
+ </p>
+<pre class="programlisting">
+
+ /* This example demonstrates the use of the time zone database and
+ * local time to calculate the number of seconds since the UTC
+ * time_t epoch 1970-01-01 00:00:00. Note that the selected timezone
+ * could be any timezone supported in the time zone database file which
+ * can be modified and updated as needed by the user.
+ *
+ * To solve this problem the following steps are required:
+ * 1) Get a timezone from the tz database for the local time
+ * 2) Construct a local time using the timezone
+ * 3) Construct a posix_time::ptime for the time_t epoch time
+ * 4) Convert the local_time to utc and subtract the epoch time
+ *
+ */
+
+ #include "boost/date_time/local_time/local_time.hpp"
+ #include &lt;iostream&gt;
+
+ int main()
+ {
+ using namespace boost::gregorian;
+ using namespace boost::local_time;
+ using namespace boost::posix_time;
+
+ tz_database tz_db;
+ try {
+ tz_db.load_from_file("../data/date_time_zonespec.csv");
+ }catch(data_not_accessible dna) {
+ std::cerr &lt;&lt; "Error with time zone data file: " &lt;&lt; dna.what() &lt;&lt; std::endl;
+ exit(EXIT_FAILURE);
+ }catch(bad_field_count bfc) {
+ std::cerr &lt;&lt; "Error with time zone data file: " &lt;&lt; bfc.what() &lt;&lt; std::endl;
+ exit(EXIT_FAILURE);
+ }
+
+ time_zone_ptr nyc_tz = tz_db.time_zone_from_region("America/New_York");
+ date in_date(2004,10,04);
+ time_duration td(12,14,32);
+ // construct with local time value
+ // create not-a-date-time if invalid (eg: in dst transition)
+ local_date_time nyc_time(in_date,
+ td,
+ nyc_tz,
+ local_date_time::NOT_DATE_TIME_ON_ERROR);
+
+ std::cout &lt;&lt; nyc_time &lt;&lt; std::endl;
+
+ ptime time_t_epoch(date(1970,1,1));
+ std::cout &lt;&lt; time_t_epoch &lt;&lt; std::endl;
+
+ // first convert nyc_time to utc via the utc_time()
+ // call and subtract the ptime.
+ time_duration diff = nyc_time.utc_time() - time_t_epoch;
+
+ //Expected 1096906472
+ std::cout &lt;&lt; "Seconds diff: " &lt;&lt; diff.total_seconds() &lt;&lt; std::endl;
+
+ }
+
+ </pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="details.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../date_time.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="doxy.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/date_time/examples/general_usage_examples.html b/doc/html/date_time/examples/general_usage_examples.html
new file mode 100644
index 0000000000..1de08b466a
--- /dev/null
+++ b/doc/html/date_time/examples/general_usage_examples.html
@@ -0,0 +1,126 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>General Usage Examples</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../../date_time.html" title="Chapter 3. Boost.Date_Time">
+<link rel="prev" href="../../date_time.html" title="Chapter 3. Boost.Date_Time">
+<link rel="next" href="../gregorian.html" title="Gregorian">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../date_time.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../date_time.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../gregorian.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="date_time.examples.general_usage_examples"></a>General Usage Examples</h3></div></div></div>
+<p>
+ The following provides some sample usage of dates.
+ See <a href="../gregorian.html" title="Gregorian">Date Programming</a>
+ for more details.
+
+ </p>
+<pre class="programlisting"><span class="keyword">using namespace</span> boost::gregorian;
+ date weekstart(<span class="number">2002</span>,Feb,<span class="number">1</span>);
+ date weekend = weekstart + week(<span class="number">1</span>);
+ date d2 = d1 + days(<span class="number">5</span>);
+ date today = day_clock::local_day();
+ if (d2 &gt;= today) {} <span class="comment">//date comparison operators</span>
+
+ date_period thisWeek(d1,d2);
+ <span class="keyword">if</span> (thisWeek.contains(today)) {}<span class="comment">//do something
+
+ //iterate and print the week</span>
+ day_iterator itr(weekstart);
+ <span class="keyword">while</span> (itr &lt;= weekend) {
+ std::cout &lt;&lt; (*itr) &lt;&lt; std::endl;
+ ++itr;
+ }
+ <span class="comment">//input streaming</span>
+ std::stringstream ss(<span class="string">"2004-Jan-1"</span>);
+ ss &gt;&gt; d3;
+
+ <span class="comment">//date generator functions</span>
+ date d5 = next_weekday(d4, Sunday); <span class="comment">//calculate Sunday following d4
+
+ //US labor day is first Monday in Sept</span>
+ nth_day_of_the_week_in_month labor_day(nth_dow::first,Monday, Sep);
+ <span class="comment">//calculate a specific date for 2004 from functor</span>
+ date d6 = labor_day.get_date(<span class="number">2004</span>);
+ </pre>
+<p>
+
+ The following provides some example code using times.
+ See <a href="../posix_time.html" title="Posix Time">Time Programming</a>
+ for more details.
+
+ </p>
+<pre class="programlisting"><span class="keyword">using namespace</span> boost::posix_time;
+ date d(<span class="number">2002</span>,Feb,<span class="number">1</span>); <span class="comment">//an arbitrary date</span>
+ ptime t1(d, hours(<span class="number">5</span>)+nanosec(<span class="number">100</span>)); <span class="comment">//date + time of day offset</span>
+ ptime t2 = t1 - minutes(<span class="number">4</span>)+seconds(<span class="number">2</span>);
+ ptime now = second_clock::local_time(); <span class="comment">//use the clock</span>
+ date today = now.date(); <span class="comment">//Get the date part out of the time</span>
+ date tomorrow = today + date_duration(<span class="number">1</span>);
+ ptime tomorrow_start(tomorrow); <span class="comment">//midnight
+
+ //input streaming</span>
+ std::stringstream ss(<span class="string">"2004-Jan-1 05:21:33.20"</span>);
+ ss &gt;&gt; t2;
+
+ <span class="comment">//starting at current time iterator adds by one hour</span>
+ time_iterator titr(now,hours(<span class="number">1</span>));
+ <span class="keyword">for</span> (; titr &lt; tomorrow_start; ++titr) {
+ std::cout &lt;&lt; (*titr) &lt;&lt; std::endl;
+ }
+ </pre>
+<p>
+ The following provides some example code using times.
+ See <a href="../local_time.html" title="Local Time">Local Time Programming</a>
+ for more details.
+
+ </p>
+<pre class="programlisting"><span class="keyword">using namespace</span> boost::local_time;
+ <span class="comment">//setup some timezones for creating and adjusting times
+ //first time zone uses the time zone file for regional timezone definitions</span>
+ tz_database tz_db;
+ tz_db.load_from_file(<span class="string">"date_time_zonespec.csv"</span>);
+ time_zone_ptr nyc_tz = tz_db.time_zone_from_region(<span class="string">"America/New_York"</span>);
+ <span class="comment">//This timezone uses a posix time zone string definition to create a time zone</span>
+ time_zone_ptr phx_tz(new posix_time_zone(<span class="string">"MST-07:00:00"</span>));
+
+ <span class="comment">//local departure time in phoenix is 11 pm on April 2 2005
+ // Note that New York changes to daylight savings on Apr 3 at 2 am)</span>
+ local_date_time phx_departure(date(<span class="number">2005</span>, Apr, <span class="number">2</span>), hours(<span class="number">23</span>), phx_tz,
+ local_date_time::NOT_DATE_TIME_ON_ERROR);
+
+ time_duration flight_length = hours(<span class="number">4</span>) + minutes(<span class="number">30</span>);
+ local_date_time phx_arrival = phx_departure + flight_length;
+ <span class="comment">//convert the phx time to a nyz time</span>
+ local_date_time nyc_arrival = phx_arrival.local_time_in(nyc_tz);
+
+ <span class="comment">//2005-Apr-03 06:30:00 EDT</span>
+ std::cout &lt;&lt; nyc_arrival &lt;&lt; std::endl;
+ </pre>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../date_time.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../date_time.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../gregorian.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/date_time/gregorian.html b/doc/html/date_time/gregorian.html
new file mode 100644
index 0000000000..fedce54a09
--- /dev/null
+++ b/doc/html/date_time/gregorian.html
@@ -0,0 +1,1278 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Gregorian</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../date_time.html" title="Chapter 3. Boost.Date_Time">
+<link rel="prev" href="examples/general_usage_examples.html" title="General Usage Examples">
+<link rel="next" href="posix_time.html" title="Posix Time">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="examples/general_usage_examples.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../date_time.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="posix_time.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="date_time.gregorian"></a>Gregorian</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="gregorian.html#date_time.gregorian.date_class">Date</a></span></dt>
+<dt><span class="section"><a href="gregorian.html#date_time.gregorian.date_duration">Date Duration (aka Days)</a></span></dt>
+<dt><span class="section"><a href="gregorian.html#date_time.gregorian.date_period">Date Period</a></span></dt>
+<dt><span class="section"><a href="gregorian.html#date_time.gregorian.date_iterators">Date Iterators</a></span></dt>
+<dt><span class="section"><a href="gregorian.html#date_time.gregorian.date_algorithms">Date Generators/Algorithms</a></span></dt>
+<dt><span class="section"><a href="gregorian.html#date_time.gregorian.gregorian_calendar">Gregorian Calendar</a></span></dt>
+</dl></div>
+<h2>
+<a name="id2580129"></a>Gregorian Date System</h2>
+<p><a href="gregorian.html#greg_intro">Introduction</a> --
+ <a href="gregorian.html#greg_ex">Usage Examples</a></p>
+<a name="greg_intro"></a><h3>
+<a name="id2580154"></a>Introduction</h3>
+<p>The gregorian date system provides a date programming system based the Gregorian Calendar. The first introduction of the Gregorian calendar was in 1582 to fix an error in the Julian Calendar. However, many local jurisdictions did not adopt this change until much later. Thus there is potential confusion with historical dates.
+ </p>
+<p>The implemented calendar is a "propleptic Gregorian calendar" which extends dates back prior to the Gregorian Calendar's first adoption in 1582. The current implementation supports dates in the range 1400-Jan-01 to 9999-Dec-31. Many references will represent dates prior to 1582 using the Julian Calendar, so caution is in order if accurate calculations are required on historic dates. See <a href="http://emr.cs.iit.edu/home/reingold/calendar-book/second-edition" target="_top">Calendrical Calculations</a> by Reingold &amp; Dershowitz for more details. Date information from Calendrical Calculations has been used to cross-test the correctness of the Gregorian calendar implementation.
+ </p>
+<p>All types for the gregorian system are found in namespace boost::gregorian. The library supports a convenience header boost/date_time/gregorian/gregorian_types.hpp that will include all the classes of the library with no input/output dependency. Another header boost/date_time/gregorian/gregorian.hpp will include the types and the input/output code.
+ </p>
+<p>The class <a href="gregorian.html#date_time.gregorian.date_class" title="Date">boost::gregorian::date</a> is the primary temporal type for users. If you are interested in learning about writing programs do specialized date calculations such as finding the "first sunday in april" see the date <a href="gregorian.html#date_time.gregorian.date_algorithms" title="Date Generators/Algorithms">generators and algorithms page</a>.
+ </p>
+<a name="greg_ex"></a><h3>
+<a name="id2580233"></a>Usage Examples</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Example</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td valign="top"><div class="literallayout"><p><a href="examples.html#date_time.examples.days_alive" title="Days Alive">Days Alive</a>   <br>
+<a href="examples.html#date_time.examples.days_between_new_year" title="Days Between New Years">Days Between New Years</a></p></div></td>
+<td>Simple date arithmetic. Retrieve current day from clock.</td>
+</tr>
+<tr>
+<td valign="top"><div class="literallayout"><p><a href="examples.html#date_time.examples.dates_as_strings" title="Dates as Strings">Dates as strings</a></p></div></td>
+<td>Simple parsing and formatting of dates from/to strings</td>
+</tr>
+<tr>
+<td valign="top"><div class="literallayout"><p><a href="examples.html#date_time.examples.date_period_calc" title="Date Period Calculations">Date Period Calculations</a></p></div></td>
+<td>See if a date is in a set of date periods (eg: is it a holiday/weekend)</td>
+</tr>
+<tr>
+<td valign="top"><div class="literallayout"><p><a href="examples.html#date_time.examples.print_month" title="Print Month">Print a month</a></p></div></td>
+<td>Small utility program which prints out all the days in a month from command line. Need to know if 1999-Jan-1 was a Friday or a Saturday? This program shows how to do it.</td>
+</tr>
+<tr>
+<td valign="top"><div class="literallayout"><p><a href="examples.html#date_time.examples.print_holidays" title="Print Holidays">Print Holidays</a></p></div></td>
+<td>Uses date generators to convert abstract specification into concrete set of dates.</td>
+</tr>
+</tbody>
+</table></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.gregorian.date_class"></a>Date</h4></div></div></div>
+<a href="gregorian.html#date_intro">Introduction</a> --
+ <a href="gregorian.html#date_header">Header</a> --
+ <a href="gregorian.html#date_construction">Construction</a> --
+ <a href="gregorian.html#date_construct_from_string">Construct from String</a> --
+ <a href="gregorian.html#date_construct_from_clock">Construct from Clock</a> --
+ <a href="gregorian.html#date_accessors">Accessors</a> --
+ <a href="gregorian.html#date_convert_to_string">Convert to String</a> --
+ <a href="gregorian.html#date_operators">Operators</a> --
+ <a href="gregorian.html#date_tm_funcs">Struct tm Functions</a><a name="date_intro"></a><h3>
+<a name="id2580456"></a>Introduction</h3>
+<p>
+ The class boost::gregorian::date is the primary interface for date programming. In general,
+ the date class is immutable once constructed although it does allow assignment from another
+ date.
+ Techniques for creating dates include reading the
+ <a href="gregorian.html#date_construct_from_clock">current date from the clock</a>,
+ using <a href="gregorian.html#date_time.gregorian.date_iterators" title="Date Iterators">date iterators</a>, and
+ <a href="gregorian.html#date_time.gregorian.date_algorithms" title="Date Generators/Algorithms">date algorithms or generators</a>.
+ </p>
+<p>
+ Internally boost::gregorian::date is stored as a 32 bit integer type. The class is specifically
+ designed to NOT contain virtual functions. This design allows for efficient
+ calculation and memory usage with large collections of dates.
+ </p>
+<p>
+ The construction of a date ensures validates all input such that it is not possible to
+ construct and 'invalid' date. That is 2001-Feb-29 cannot be constructed as a date.
+ Various exceptions derived from std::out_of_range are thrown to indicate which aspect
+ of the date input is invalid. Note that the
+ special value not-a-date-time can be used as 'invalid' or 'null' date if so desired.
+ </p>
+<a name="date_header"></a><h3>
+<a name="id2580512"></a>Header</h3>
+<pre class="programlisting">#include "boost/date_time/gregorian/gregorian.hpp" //include all types plus i/o
+or
+#include "boost/date_time/gregorian/gregorian_types.hpp" //no i/o just types</pre>
+<a name="date_construction"></a><h3>
+<a name="id2580529"></a>Construction</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date(greg_year, greg_month, greg_day)</pre></td>
+<td>Construct from parts of date. Throws bad_year, bad_day_of_month, or bad_day_month (derivatives of std::out_of_range) if the year, month or day are out of range.</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,10);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date(date d)</pre></td>
+<td>Copy constructor</td>
+</tr>
+<tr><td><pre class="screen">date d1(d);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date(special_values sv)</pre></td>
+<td>Constructor for infinities, not-a-date-time, max_date_time, and min_date_time</td>
+</tr>
+<tr><td><pre class="screen">date d1(neg_infin);
+date d2(pos_infin);
+date d3(not_a_date_time);
+date d4(max_date_time);
+date d5(min_date_time);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date()</pre></td>
+<td>Default constructor. Creates a date object initialized to not_a_date_time. NOTE: this constructor can be disabled by defining DATE_TIME_NO_DEFAULT_CONSTRUCTOR (see compiler_config.hpp)</td>
+</tr>
+<tr><td><pre class="screen">date d; // d =&gt; not_a_date_time</pre></td></tr>
+</tbody>
+</table></div>
+<a name="date_construct_from_string"></a><h3>
+<a name="id2580651"></a>Construct from String</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date from_string(std::string)</pre></td>
+<td>From delimited date string where with order year-month-day eg: 2002-1-25</td>
+</tr>
+<tr><td><pre class="screen">std::string ds("2002/1/25");
+date d(from_string(ds));</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date from_undelimited_string(std::string)</pre></td>
+<td>From iso type date string where with order year-month-day eg: 20020125</td>
+</tr>
+<tr><td><pre class="screen">std::string ds("20020125");
+date d(from_undelimited_string(ds));</pre></td></tr>
+</tbody>
+</table></div>
+<a name="date_construct_from_clock"></a><h3>
+<a name="id2580728"></a>Construct from Clock</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">day_clock::local_day()</pre></td>
+<td>Get the local day based on the time zone settings of the computer.</td>
+</tr>
+<tr><td><pre class="screen">date d(day_clock::local_day());</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">day_clock::universal_day()</pre></td>
+<td>Get the UTC day.</td>
+</tr>
+<tr><td><pre class="screen">date d(day_clock::universal_day());</pre></td></tr>
+</tbody>
+</table></div>
+<a name="date_accessors"></a><h3>
+<a name="id2580801"></a>Accessors</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">greg_year year() const</pre></td>
+<td>Get the year part of the date.</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,10);
+d.year(); // --&gt; 2002</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">greg_month month() const</pre></td>
+<td>Get the month part of the date.</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,10);
+d.month(); // --&gt; 1</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">greg_day day() const</pre></td>
+<td> Get the day part of the date.</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,10);
+d.day(); // --&gt; 10</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">greg_ymd year_month_day() const</pre></td>
+<td>Return a year_month_day struct. More efficient when all 3 parts of the date are needed.</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,10);
+date::ymd_type ymd = d.year_month_day();
+// ymd.year --&gt; 2002,
+// ymd.month --&gt; 1,
+// ymd.day --&gt; 10</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">greg_day_of_week day_of_week() const</pre></td>
+<td>Get the day of the week (eg: Sunday, Monday, etc.</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,10);
+d.day(); // --&gt; Thursday</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">greg_day_of_year day_of_year() const</pre></td>
+<td>Get the day of the year. Number from 1 to 366 </td>
+</tr>
+<tr><td><pre class="screen">date d(2000,Jan,10);
+d.day_of_year(); // --&gt; 10</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date end_of_month() const</pre></td>
+<td>Returns a <code class="computeroutput">date</code> object set to the last day of the calling objects current month.</td>
+</tr>
+<tr><td><pre class="screen">date d(2000,Jan,10);
+d.day_of_year(); // --&gt; 2000-Jan-31</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_infinity() const</pre></td>
+<td>Returns true if date is either positive or negative infinity</td>
+</tr>
+<tr><td><pre class="screen">date d(pos_infin);
+d.is_infinity(); // --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_neg_infinity() const</pre></td>
+<td>Returns true if date is negative infinity</td>
+</tr>
+<tr><td><pre class="screen">date d(neg_infin);
+d.is_neg_infinity(); // --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_pos_infinity() const</pre></td>
+<td>Returns true if date is positive infinity</td>
+</tr>
+<tr><td><pre class="screen">date d(neg_infin);
+d.is_pos_infinity(); // --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_not_a_date() const</pre></td>
+<td>Returns true if value is not a date</td>
+</tr>
+<tr><td><pre class="screen">date d(not_a_date_time);
+d.is_not_a_date(); // --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_special() const</pre></td>
+<td>Returns true if date is any <code class="computeroutput">special_value</code>
+</td>
+</tr>
+<tr><td><pre class="screen">date d(pos_infin);
+date d2(not_a_date_time);
+date d3(2005,Mar,1);
+d.is_special(); // --&gt; true
+d2.is_special(); // --&gt; true
+d3.is_special(); // --&gt; false</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">special_value as_special() const</pre></td>
+<td>Returns represented <code class="computeroutput">special_value</code> or <code class="computeroutput">not_special</code> if the represented date is a normal date.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">long modjulian_day() const</pre></td>
+<td>Returns the modified julian day for the date.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">long julian_day() const</pre></td>
+<td>Returns the julian day for the date.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">int week_number() const</pre></td>
+<td>Returns the ISO 8601 week number for the date.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date end_of_month_day() const</pre></td>
+<td>Returns the last day of the month for the date.</td>
+</tr>
+<tr><td><pre class="screen">date d(2000,Feb,1);
+//gets Feb 28 -- 2000 was leap year
+date eom = d.end_of_month_day();</pre></td></tr>
+</tbody>
+</table></div>
+<a name="date_convert_to_string"></a><h3>
+<a name="id2581232"></a>Convert to String</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string to_simple_string(date d)</pre></td>
+<td>To <code class="computeroutput">YYYY-mmm-DD</code> string where <code class="computeroutput">mmm</code> 3 char month name.</td>
+</tr>
+<tr><td><pre class="screen">"2002-Jan-01"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string to_iso_string(date d)</pre></td>
+<td>To <code class="computeroutput">YYYYMMDD</code> where all components are integers.</td>
+</tr>
+<tr><td><pre class="screen">"20020131"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string to_iso_extended_string(date d)</pre></td>
+<td> To <code class="computeroutput">YYYY-MM-DD</code> where all components are integers.</td>
+</tr>
+<tr><td><pre class="screen">"2002-01-31"</pre></td></tr>
+</tbody>
+</table></div>
+<a name="date_operators"></a><h3>
+<a name="id2581350"></a>Operators</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator&lt;&lt;</pre></td>
+<td>Stream output operator</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,1);
+std::cout &lt;&lt; d &lt;&lt; std::endl;</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator&gt;&gt;</pre></td>
+<td>Stream input operator. <span class="strong"><strong>Note:</strong></span> As of version 1.33, streaming operations have been greatly improved. See <a href="date_time_io.html" title="Date Time Input/Output">Date Time IO System</a> for details on exceptions and error conditions.</td>
+</tr>
+<tr><td><pre class="screen">date d(not_a_date_time);
+stringstream ss("2002-Jan-01");
+ss &gt;&gt; d;</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator==, operator!=,
+operator&gt;, operator&lt;,
+operator&gt;=, operator&lt;=</pre></td>
+<td>A full complement of comparison operators</td>
+</tr>
+<tr><td><pre class="screen">d1 == d2, etc</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date operator+(date_duration) const</pre></td>
+<td>Return a date adding a day offset</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,1);
+date_duration dd(1);
+date d2 = d + dd;</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date operator-(date_duration) const</pre></td>
+<td>Return a date by adding a day offset</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,1);
+date_duration dd(1);
+date d2 = d - dd;</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date_duration operator-(date) const</pre></td>
+<td>Return a date_duration by subtracting two dates</td>
+</tr>
+<tr><td><pre class="screen">date d1(2002,Jan,1);
+date d2(2002,Jan,2);
+date_duration dd = d2-d1;</pre></td></tr>
+</tbody>
+</table></div>
+<a name="date_tm_funcs"></a><h3>
+<a name="id2581530"></a>Struct tm Functions</h3>
+<p>Functions for converting a <code class="computeroutput">date</code> object to, and from, a <code class="computeroutput">tm</code> struct are provided.</p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">tm to_tm(date)</pre></td>
+<td>A function for converting a <code class="computeroutput">date</code> object to a <code class="computeroutput">tm</code> struct. The fields: <code class="computeroutput">tm_hour</code>, <code class="computeroutput">tm_min</code>, and <code class="computeroutput">tm_sec</code> are set to zero. The <code class="computeroutput">tm_isdst</code> field is set to -1.</td>
+</tr>
+<tr><td><pre class="screen">date d(2005,Jan,1);
+tm d_tm = to_tm(d);
+/* tm_year =&gt; 105
+ tm_mon =&gt; 0
+ tm_mday =&gt; 1
+ tm_wday =&gt; 6 (Saturday)
+ tm_yday =&gt; 0
+ tm_hour =&gt; 0
+ tm_min =&gt; 0
+ tm_sec =&gt; 0
+ tm_isddst =&gt; -1 */</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date date_from_tm(tm datetm)</pre></td>
+<td>A function for converting a <code class="computeroutput">tm</code> struct to a <code class="computeroutput">date</code> object. The fields: <code class="computeroutput">tm_wday </code>, <code class="computeroutput">tm_yday </code>, <code class="computeroutput">tm_hour</code>, <code class="computeroutput">tm_min</code>, <code class="computeroutput">tm_sec</code>, and <code class="computeroutput">tm_isdst</code> are ignored.</td>
+</tr>
+<tr><td><pre class="screen">tm d_tm;
+d_tm.tm_year = 105;
+d_tm.tm_mon = 0;
+d_tm.tm_mday = 1;
+date d = date_from_tm(d_tm);
+// d =&gt; 2005-Jan-01</pre></td></tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.gregorian.date_duration"></a>Date Duration (aka Days)</h4></div></div></div>
+<a href="gregorian.html#duration_intro">Introduction</a> --
+ <a href="gregorian.html#duration_header">Header</a> --
+ <a href="gregorian.html#duration_construction">Construction</a> --
+ <a href="gregorian.html#duration_accessors">Accessors</a> --
+ <a href="gregorian.html#duration_operators">Operators</a> --
+ <a href="gregorian.html#additional_duration_types">Additional Duration Types</a><a name="duration_intro"></a><h3>
+<a name="id2581768"></a>Introduction</h3>
+<p>
+ The class boost::gregorian::date_duration is a simple day count used for arithmetic with <a href="gregorian.html#date_time.gregorian.date_class" title="Date">gregorian::date</a>. A duration can be either positive or negative.
+ </p>
+<p>
+ As of version 1_32 the date_duration class has been typedef'd as days in the boost::gregorian namespace. Throughout the examples you will find days used instead of date_duration.
+ </p>
+<a name="duration_header"></a><h3>
+<a name="id2581795"></a>Header</h3>
+<pre class="programlisting">#include "boost/date_time/gregorian/gregorian.hpp" //include all types plus i/o
+or
+#include "boost/date_time/gregorian/gregorian_types.hpp" //no i/o just types</pre>
+<a name="duration_construction"></a><h3>
+<a name="id2581813"></a>Construction</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date_duration(long)</pre></td>
+<td>Create a duration count.</td>
+</tr>
+<tr><td><pre class="screen">date_duration dd(3); //3 days</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">days(special_values sv)</pre></td>
+<td>Constructor for infinities, not-a-date-time, max_date_time, and min_date_time</td>
+</tr>
+<tr><td><pre class="screen">days dd1(neg_infin);
+days dd2(pos_infin);
+days dd3(not_a_date_time);
+days dd4(max_date_time);
+days dd5(min_date_time);</pre></td></tr>
+</tbody>
+</table></div>
+<a name="duration_accessors"></a><h3>
+<a name="id2581888"></a>Accessors</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">long days() const</pre></td>
+<td>Get the day count.</td>
+</tr>
+<tr><td><pre class="screen">date_duration dd(3); dd.days() --&gt; 3</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_negative() const</pre></td>
+<td>True if number of days is less than zero.</td>
+</tr>
+<tr><td><pre class="screen">date_duration dd(-1); dd.is_negative() --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">static date_duration unit()</pre></td>
+<td>Return smallest possible unit of duration type.</td>
+</tr>
+<tr><td><pre class="screen">date_duration::unit() --&gt; date_duration(1)</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_special() const</pre></td>
+<td>Returns true if days is any <code class="computeroutput">special_value</code>
+</td>
+</tr>
+<tr><td><pre class="screen">days dd(pos_infin);
+days dd2(not_a_date_time);
+days dd3(25);
+dd.is_special(); // --&gt; true
+dd2.is_special(); // --&gt; true
+dd3.is_special(); // --&gt; false</pre></td></tr>
+</tbody>
+</table></div>
+<a name="duration_operators"></a><h3>
+<a name="id2582014"></a>Operators</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator&lt;&lt;, operator&gt;&gt;</pre></td>
+<td>Streaming operators. <span class="strong"><strong>Note:</strong></span> As of version 1.33, streaming operations have been greatly improved. See <a href="date_time_io.html" title="Date Time Input/Output">Date Time IO System</a> for more details (including exceptions and error conditions).</td>
+</tr>
+<tr><td><pre class="screen">date d(not_a_date_time);
+stringstream ss("2002-Jan-01");
+ss &gt;&gt; d;
+std::cout &lt;&lt; d; // "2002-Jan-01"
+</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator==, operator!=,
+operator&gt;, operator&lt;,
+operator&gt;=, operator&lt;=</pre></td>
+<td>A full complement of comparison operators</td>
+</tr>
+<tr><td><pre class="screen">dd1 == dd2, etc</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date_duration operator+(date_duration) const</pre></td>
+<td>Add date durations.</td>
+</tr>
+<tr><td><pre class="screen">date_duration dd1(3);
+date_duration dd2(5);
+date_duration dd3 = dd1 + dd2;</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date_duration operator-(date_duration) const</pre></td>
+<td>Subtract durations.</td>
+</tr>
+<tr><td><pre class="screen">date_duration dd1(3);
+date_duration dd2(5);
+date_duration dd3 = dd1 - dd2;</pre></td></tr>
+</tbody>
+</table></div>
+<a name="additional_duration_types"></a><h3>
+<a name="id2582151"></a>Additional Duration Types</h3>
+<p>These additional types are logical representations of spans of days.</p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">months(int num_of_months)</pre></td>
+<td>A logical month representation. Depending on the usage, this <code class="computeroutput">months</code> object may cover a span of 28 to 31 days. The objects also use a snap to end-of-month behavior when used in conjunction with a date that is the last day of a given month. <span class="strong"><strong>WARNING: this behavior may lead to unexpected results.</strong></span> See: <a href="gregorian.html#snap_to_details">Reversibility of Operations Pitfall</a> for complete details and alternatives.</td>
+</tr>
+<tr><td><pre class="screen">months single(1);
+date leap_year(2004,Jan,31);
+date norm_year(2005,Jan,31);
+leap_year + single; // =&gt; 2004-Feb-29
+norm_year + single; // =&gt; 2005-Feb-28
+date(2005,Jan,1) + single; // =&gt; 2005-Feb-01
+date(2005,Feb,1) + single; // =&gt; 2005-Mar-01
+date(2005,Feb,28) + single; // =&gt; 2005-Mar-31</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">years(int num_of_years)</pre></td>
+<td>A logical representation of a year. The <code class="computeroutput">years</code> object has the same behavior as the <code class="computeroutput">months</code> objects with regards to the end-of-the-month.</td>
+</tr>
+<tr><td><pre class="screen">years single(1);
+date(2003,Feb,28) + single;
+// results in =&gt; 2004-Feb-29
+date(2004,Feb,29) + single;
+// results in =&gt; 2005-Feb-28</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">weeks(int num_of_weeks)</pre></td>
+<td>A duration type representing a number of <code class="computeroutput">n * 7</code> days.</td>
+</tr>
+<tr><td><pre class="screen">weeks single(1);
+date(2005,Jan,1) + single; // =&gt; 2005-Jan-08</pre></td></tr>
+</tbody>
+</table></div>
+<p><a name="snap_to_details"></a></p>
+<h4>
+<a name="id2582308"></a>Reversibility of Operations Pitfall</h4>
+<p>A natural expectation when adding a number of months to a date, and then subtracting the same number of months, is to end up exactly where you started. This is most often the result the <code class="computeroutput">date_time</code> library provides but there is one significant exception: The snap-to-end-of-month behavior implemented by the <a href="gregorian.html#additional_duration_types">months</a> duration type. The <a href="gregorian.html#additional_duration_types">months</a> duration type may provide unexpected results when the starting day is the 28th, 29th, or 30th in a 31 day month. The <a href="gregorian.html#iterators_intro">month_iterator</a> is not effected by this issue and is therefore included in the examples to illustrate a possible alternative.
+</p>
+<p>When the starting date is in the middle of a month, adding or subtracting any number of months will result in a date that is the same day of month (e.g. if you start on the 15th, you will end on the 15th). When a date is the last day of the month, adding or subtracting any number of months will give a result that is also the last day of the month (e.g if you start on Jan 31st, you will land on: Feb 28th, Mar 31st, etc).
+ </p>
+<pre class="programlisting">
+ // using months duration type
+ date d(2005, Nov, 30); // last day of November
+ d + months(1); // result is last day of December "2005-Dec-31"
+ d - months(1); // result is last day of October "2005-Oct-31"
+
+ // using month_iterator
+ month_iterator itr(d); // last day of November
+ ++itr; // result is last day of December "2005-Dec-31"
+ --itr; // back to original starting point "2005-Nov-30"
+ --itr; // last day of October "2005-Oct-31"
+ </pre>
+<p>If the start date is the 28th, 29th, or 30th in a 31 day month, the result of adding or subtracting a month may result in the snap-to-end-of-month behavior kicking in unexpectedly. This would cause the final result to be different that the starting date.
+ </p>
+<pre class="programlisting">
+ // using months duration type
+ date d(2005, Nov, 29);
+ d += months(1); // "2005-Dec-29"
+ d += months(1); // "2006-Jan-29"
+ d += months(1); // "2006-Feb-28" --&gt; snap-to-end-of-month behavior kicks in
+ d += months(1); // "2006-Mar-31" --&gt; unexpected result
+ d -= months(4); // "2005-Nov-30" --&gt; unexpected result, not where we started
+
+ // using month_iterator
+ month_iterator itr(date(2005, Dec, 30));
+ ++itr; // "2006-Jan-30" --&gt; ok
+ ++itr; // "2006-Feb-28" --&gt; snap-to DOES NOT kick in
+ ++itr; // "2006-Mar-30" --&gt; ok
+ --itr; // "2006-Feb-28" --&gt; ok
+ --itr; // "2006-Jan-30" --&gt; ok
+ --itr; // "2005-Dec-30" --&gt; ok, back where we started
+ </pre>
+<p>The additional duration types (<code class="computeroutput">months</code>, <code class="computeroutput">years</code>, and <code class="computeroutput">weeks</code>) are provided as a convenience and can be easily removed to insure this pitfall never occurs. To remove these types simply undefine BOOST_DATE_TIME_OPTIONAL_GREGORIAN_TYPES.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.gregorian.date_period"></a>Date Period</h4></div></div></div>
+<a href="gregorian.html#period_intro">Introduction</a> --
+ <a href="gregorian.html#period_header">Header</a> --
+ <a href="gregorian.html#period_construction">Construction</a> --
+ <a href="gregorian.html#period_accessors">Accessors</a> --
+ <a href="gregorian.html#period_convert_to_string">Convert to String</a> --
+ <a href="gregorian.html#period_operators">Operators</a><a name="period_intro"></a><h3>
+<a name="id2582488"></a>Introduction</h3>
+<p>
+ The class boost::gregorian::date_period provides direct representation for ranges between two dates. Periods provide the ability to simplify some types of calculations by simplifying the conditional logic of the program. For example, testing if a date is within an irregular schedule such as a weekend or holiday can be accomplished using collections of date periods. This is facilitated by several methods that allow evaluation if a date_period intersects with another date period, and to generate the period resulting from the intersection. The <a href="examples.html#date_time.examples.date_period_calc" title="Date Period Calculations">date period calculation example</a> provides an example of this.
+ </p>
+<p>
+ A period that is created with beginning and end points being equal, or with a duration of zero, is known as a zero length period. Zero length periods are considered invalid (it is perfectly legal to construct an invalid period). For these periods, the <code class="computeroutput">last</code> point will always be one unit less that the <code class="computeroutput">begin</code> point.
+ </p>
+<p>
+ Date periods used in combination with infinity values have the ability to represent complex concepts such as 'until further notice'.
+ </p>
+<a name="period_header"></a><h3>
+<a name="id2582541"></a>Header</h3>
+<pre class="programlisting">#include "boost/date_time/gregorian/gregorian.hpp" //include all types plus i/o
+or
+#include "boost/date_time/gregorian/gregorian_types.hpp" //no i/o just types</pre>
+<a name="period_construction"></a><h3>
+<a name="id2582558"></a>Construction</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date_period(date, date)</pre></td>
+<td>Create a period as [begin, end). If end is &lt;= begin then the period will be invalid.</td>
+</tr>
+<tr><td><pre class="screen">date_period dp(date(2002,Jan,10),
+ date(2002,Jan,12));</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date_period(date, days)</pre></td>
+<td>Create a period as [begin, begin+len) where end point would be begin+len. If len is &lt;= zero then the period will be defined as invalid.</td>
+</tr>
+<tr><td><pre class="screen">date_period dp(date(2002,Jan,10),
+ days(2));</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date_period(date_period)</pre></td>
+<td> Copy constructor</td>
+</tr>
+<tr><td><pre class="screen">date_period dp1(dp);</pre></td></tr>
+</tbody>
+</table></div>
+<a name="period_accessors"></a><h3>
+<a name="id2582657"></a>Accessors</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date begin()</pre></td>
+<td> Return first day of period.</td>
+</tr>
+<tr><td><pre class="screen">date_period dp(date(2002,Jan,1),
+ date(2002,Jan,10));
+dp.begin() --&gt; 2002-Jan-01</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date last()</pre></td>
+<td>Return last date in the period</td>
+</tr>
+<tr><td><pre class="screen">date_period dp(date(2002,Jan,1),
+ date(2002,Jan,10));
+dp.last() --&gt; 2002-Jan-09</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date end()</pre></td>
+<td>Return one past the last in period</td>
+</tr>
+<tr><td><pre class="screen">date_period dp(date(2002,Jan,1),
+ date(2002,Jan,10));
+dp.end() --&gt; 2002-Jan-10</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">days length()</pre></td>
+<td>Return the length of the date_period</td>
+</tr>
+<tr><td><pre class="screen">date_period dp(date(2002,Jan,1),
+ days(2));
+dp.length() --&gt; 2</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_null()</pre></td>
+<td>True if period is not well formed. eg: end less than or equal to begin.</td>
+</tr>
+<tr><td><pre class="screen">date_period dp(date(2002,Jan,10),
+ date(2002,Jan,1));
+dp.begin() --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool contains(date)</pre></td>
+<td>True if date is within the period. Zero length periods cannot contain any points</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,1);
+date_period dp(d, date(2002,Jan,10));
+dp.contains(date(2002,Jan,2));// true
+date_period dp2(d, d);
+dp.contains(date(2002,Jan,1));// false</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool contains(date_period)</pre></td>
+<td>True if date period is within the period</td>
+</tr>
+<tr><td><pre class="screen">date_period dp1(date(2002,Jan,1),
+ date(2002,Jan,10));
+date_period dp2(date(2002,Jan,2),
+ date(2002,Jan,3));
+dp1.contains(dp2) --&gt; true
+dp2.contains(dp1) --&gt; false</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool intersects(date_period)</pre></td>
+<td>True if periods overlap</td>
+</tr>
+<tr><td><pre class="screen">date_period dp1(date(2002,Jan,1),
+ date(2002,Jan,10));
+date_period dp2(date(2002,Jan,2),
+ date(2002,Jan,3));
+dp2.intersects(dp1) --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date_period intersection(date_period)</pre></td>
+<td>Calculate the intersection of 2 periods. Null if no intersection.</td>
+</tr>
+<tr><td><pre class="screen">date_period dp1(date(2002,Jan,1),
+ date(2002,Jan,10));
+date_period dp2(date(2002,Jan,2),
+ date(2002,Jan,3));
+dp2.intersection(dp1) --&gt; dp2</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date_period is_adjacent(date_period)</pre></td>
+<td>Check if two periods are adjacent, but not overlapping.</td>
+</tr>
+<tr><td><pre class="screen">date_period dp1(date(2002,Jan,1),
+ date(2002,Jan,3));
+date_period dp2(date(2002,Jan,3),
+ date(2002,Jan,10));
+dp2.is_adjacent(dp1) --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date_period is_after(date)</pre></td>
+<td>Determine the period is after a given date.</td>
+</tr>
+<tr><td><pre class="screen">date_period dp1(date(2002,Jan,10),
+ date(2002,Jan,30));
+date d(2002,Jan,3);
+dp1.is_after(d) --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date_period is_before(date)</pre></td>
+<td>Determine the period is before a given date.</td>
+</tr>
+<tr><td><pre class="screen">date_period dp1(date(2002,Jan,1),
+ date(2002,Jan,3));
+date d(2002,Jan,10);
+dp1.is_before(d) --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date_period merge(date_period)</pre></td>
+<td>Returns union of two periods. Null if no intersection.</td>
+</tr>
+<tr><td><pre class="screen">date_period dp1(date(2002,Jan,1),
+ date(2002,Jan,10));
+date_period dp2(date(2002,Jan,9),
+ date(2002,Jan,31));
+dp2.merge(dp1)
+// 2002-Jan-01/2002-Jan-31</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date_period span(date_period)</pre></td>
+<td>Combines two periods and any gap between them such that begin = min(p1.begin, p2.begin) and end = max(p1.end , p2.end)</td>
+</tr>
+<tr><td><pre class="screen">
+date_period dp1(date(2002,Jan,1),
+ date(2002,Jan,5));
+date_period dp2(date(2002,Jan,9),
+ date(2002,Jan,31));
+dp2.span(dp1); // 2002-Jan-01/2002-Jan-31</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date_period shift(days)</pre></td>
+<td>Add duration to both begin and end.</td>
+</tr>
+<tr><td><pre class="screen">date_period dp1(date(2002,Jan,1),
+ date(2002,Jan,10));
+dp1.shift(days(1));
+// 2002-Jan-02/2002-Jan-11</pre></td></tr>
+</tbody>
+</table></div>
+<a name="period_convert_to_string"></a><h3>
+<a name="id2583058"></a>Convert to String</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string to_simple_string(date_period dp)</pre></td>
+<td>To <code class="computeroutput">[YYYY-mmm-DD/YYYY-mmm-DD]</code> string where <code class="computeroutput">mmm</code> is 3 char month name.</td>
+</tr>
+<tr><td><pre class="screen">[2002-Jan-01/2002-Jan-31]</pre></td></tr>
+</tbody>
+</table></div>
+<a name="period_operators"></a><h3>
+<a name="id2583122"></a>Operators</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator&lt;&lt;</pre></td>
+<td>ostream operator for date_period. Uses facet to format time points. Typical output: [2002-Jan-01/2002-Jan-31].</td>
+</tr>
+<tr><td><pre class="screen">std::cout &lt;&lt; dp &lt;&lt; std::endl;</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator&gt;&gt;</pre></td>
+<td>istream operator for date_period. Uses facet to parse time points.</td>
+</tr>
+<tr><td><pre class="screen">"[2002-Jan-01/2002-Jan-31]"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator==, operator!=,
+operator&gt;, operator&lt;</pre></td>
+<td>A full complement of comparison operators</td>
+</tr>
+<tr><td><pre class="screen">dp1 == dp2, etc</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator&lt;</pre></td>
+<td>True if dp1.end() less than dp2.begin()</td>
+</tr>
+<tr><td><pre class="screen">dp1 &lt; dp2, etc</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator&gt;</pre></td>
+<td>True if dp1.begin() greater than dp2.end()</td>
+</tr>
+<tr><td><pre class="screen">dp1 &gt; dp2, etc</pre></td></tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.gregorian.date_iterators"></a>Date Iterators</h4></div></div></div>
+<a href="gregorian.html#iterators_intro">Introduction</a> --
+ <a href="gregorian.html#iterators_header">Header</a> --
+ <a href="gregorian.html#iterators_overview">Overview</a><a name="iterators_intro"></a><h3>
+<a name="id2583295"></a>Introduction</h3>
+<p>
+ Date iterators provide a standard mechanism for iteration through dates. Date iterators are a model of <a href="http://www.sgi.com/tech/stl/BidirectionalIterator.html" target="_top">Bidirectional Iterator</a> and can be used to populate collections with dates and other date generation tasks. For example, the <a href="examples.html#date_time.examples.print_month" title="Print Month">print month</a> example iterates through all the days in a month and prints them.
+ </p>
+<p>
+ All of the iterators here derive from boost::gregorian::date_iterator.
+ </p>
+<a name="iterators_header"></a><h3>
+<a name="id2583330"></a>Header</h3>
+<pre class="programlisting">#include "boost/date_time/gregorian/gregorian.hpp" //include all types plus i/o
+or
+#include "boost/date_time/gregorian/gregorian_types.hpp" //no i/o just types</pre>
+<a name="iterators_overview"></a><h3>
+<a name="id2583348"></a>Overview</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date_iterator</pre></td>
+<td>Common (abstract) base class for all day level iterators.</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">day_iterator(date start_date, int day_count=1)</pre></td>
+<td>Iterate <code class="computeroutput">day_count</code> days at a time. This iterator does not provide postfix increment/decrement operators. Only prefix operators are provided.</td>
+</tr>
+<tr><td><pre class="screen">day_iterator day_itr(date(2005,Jan,1));
+++d_itr; // 2005-Jan-02
+day_iterator 2day_itr(date(2005,Feb,1),2);
+++2d_itr; // 2005-Feb-03</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">week_iterator(...)
+ Parameters:
+ date start_date
+ int week_offset (defaults to 1)</pre></td>
+<td>Iterate <code class="computeroutput">week_offset</code> weeks at a time. This iterator does not provide postfix increment/decrement operators. Only prefix operators are provided.</td>
+</tr>
+<tr><td><pre class="screen">week_iterator wk_itr(date(2005,Jan,1));
+++wk_itr; // 2005-Jan-08
+week_iterator 2wk_itr(date(2005,Jan,1),2);
+++2wk_itr; // 2005-Feb-15</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">month_iterator(...)
+ Parameters:
+ date start_date
+ int month_offset (defaults to 1)</pre></td>
+<td>Iterate <code class="computeroutput">month_offset</code> months. There are special rules for handling the end of the month. These are: if start date is last day of the month, always adjust to last day of the month. If date is beyond the end of the month (e.g. Jan 31 + 1 month) adjust back to end of month (for more details and examples of this, see <a href="gregorian.html#snap_to_details">Reversibility of Operations Pitfall</a>. <span class="strong"><strong>NOTE:</strong></span> the <code class="computeroutput">month_iterator</code> is not effected by this pitfall.) This iterator does not provide postfix increment/decrement operators. Only prefix operators are provided.</td>
+</tr>
+<tr><td><pre class="screen">month_iterator m_itr(date(2005,Jan,1));
+++m_itr; // 2005-Feb-01
+month_iterator 2m_itr(date(2005,Feb,1),2);
+++2m_itr; // 2005-Apr-01</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">year_iterator(...)
+ Parameters:
+ date start_date
+ int year_offset (defaults to 1)</pre></td>
+<td>Iterate year_offset years. The year_iterator will always land on the day of the date parameter except when date is Feb 28 in a non-leap year. In this case the iterator will return Feb 29 for leap years (eg: 2003-Feb-28, 2004-Feb-29, 2005-Feb-28). This iterator does not provide postfix increment/decrement operators. Only prefix operators are provided.</td>
+</tr>
+<tr><td><pre class="screen">year_iterator y_itr(date(2005,Jan,1));
+++y_itr; // 2006-Jan-01
+year_iterator 2y_itr(date(2005,Feb,1),2);
+++2y_itr; // 2007-Feb-01</pre></td></tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.gregorian.date_algorithms"></a>Date Generators/Algorithms</h4></div></div></div>
+<h2>
+<a name="id2583550"></a>Date Generators/Algorithms</h2>
+<a href="gregorian.html#algo_intro">Introduction</a> --
+ <a href="gregorian.html#algo_header">Header</a> --
+ <a href="gregorian.html#algo_overview">Class Overview</a> --
+ <a href="gregorian.html#algo_func_overview">Function Overview</a><a name="algo_intro"></a><h3>
+<a name="id2583591"></a>Introduction</h3>
+<p>
+ Date algorithms or generators are tools for generating other dates or schedules of dates. A generator function starts with some part of a date such as a month and day and is supplied another part to then generate a concrete date. This allows the programmer to represent concepts such as "The first Sunday in February" and then create a concrete set of dates when provided with one or more years.
+ <span class="emphasis"><em>Note</em></span>: As of boost version 1_31_0, date generator names have been changed. Old names are still available but are no longer documented and may someday be deprecated
+ </p>
+<p>Also provided are stand-alone functions for generating a date, or calculation a duration of days. These functions take a date object and a weekday object as parameters.
+ </p>
+<p>All date generator classes and functions are in the boost::gregorian namespace.
+ </p>
+<p>
+ The <a href="examples.html#date_time.examples.print_holidays" title="Print Holidays">print holidays</a> example shows a detailed usage example.
+ </p>
+<a name="algo_header"></a><h3>
+<a name="id2583636"></a>Header</h3>
+<pre class="programlisting">#include "boost/date_time/gregorian/gregorian.hpp"</pre>
+<a name="algo_overview"></a><h3>
+<a name="id2583651"></a>Overview</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Class and get_date Parameter</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">year_based_generator
+date get_date(greg_year year)</pre></td>
+<td>A unifying (abstract) date_generator base type for: <code class="computeroutput">partial_date</code>, <code class="computeroutput">nth_day_of_the_week_in_month</code>, <code class="computeroutput">first_day_of_the_week_in_month</code>, and <code class="computeroutput">last_day_of_the_week_in_month</code>.</td>
+</tr>
+<tr><td>The <a href="examples.html#date_time.examples.print_holidays" title="Print Holidays">print holidays</a> example shows a detailed usage example.</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">last_day_of_the_week_in_month(greg_weekday,
+ greg_month)
+date get_date(greg_year year)</pre></td>
+<td>Calculate something like last Monday of January</td>
+</tr>
+<tr><td><pre class="screen">last_day_of_the_week_in_month lwdm(Monday,Jan);
+date d = lwdm.get_date(2002);
+//2002-Jan-28</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">first_day_of_the_week_in_month(greg_weekday,
+ greg_month)
+date get_date(greg_year year)</pre></td>
+<td>Calculate something like first Monday of January</td>
+</tr>
+<tr><td><pre class="screen">first_day_of_the_week_in_month fdm(Monday,Jan);
+date d = fdm.get_date(2002);
+//2002-Jan-07</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">nth_day_of_the_week_in_month(week_num,
+ greg_weekday,
+ greg_month)
+date get_date(greg_year year)</pre></td>
+<td>
+<code class="computeroutput">week_num</code> is a public enum member of <code class="computeroutput">nth_day_of_the_week_in_month</code>. Calculate something like first Monday of January, second Tuesday of March, Third Sunday of December, etc. (first through fifth are provided, fifth is the equivalent of last)</td>
+</tr>
+<tr><td><pre class="screen">typedef nth_day_of_the_week_in_month nth_dow;
+nth_dow ndm(nth_dow::third, Monday,Jan);
+date d = ndm.get_date(2002);
+//2002-Jan-21</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">partial_date(greg_day, greg_month)
+date get_date(greg_year year)</pre></td>
+<td>Generates a date by applying the year to the given month and day.</td>
+</tr>
+<tr><td><pre class="screen">partial_date pd(1,Jan);
+date d = pd.get_date(2002);
+//2002-Jan-01</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">first_day_of_the_week_after(greg_weekday)
+date get_date(date d)</pre></td>
+<td>Calculate something like First Sunday after Jan 1,2002</td>
+</tr>
+<tr><td><pre class="screen">first_day_of_the_week_after fdaf(Monday);
+date d = fdaf.get_date(date(2002,Jan,1));
+//2002-Jan-07</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">first_day_of_the_week_before(greg_weekday)
+date get_date(date d)</pre></td>
+<td>Calculate something like First Monday before Feb 1,2002</td>
+</tr>
+<tr><td><pre class="screen">first_day_of_the_week_before fdbf(Monday);
+date d = fdbf.get_date(date(2002,Feb,1));
+//2002-Jan-28</pre></td></tr>
+</tbody>
+</table></div>
+<a name="algo_func_overview"></a><h3>
+<a name="id2583890"></a>Function Overview</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Function Prototype</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">days days_until_weekday date, greg_weekday)</pre></td>
+<td> Calculates the number of days from given date until given weekday.</td>
+</tr>
+<tr><td><pre class="screen">date d(2004,Jun,1); // Tuesday
+greg_weekday gw(Friday);
+days_until_weekday(d, gw); // 3 days</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">days days_before_weekday(date, greg_weekday)</pre></td>
+<td> Calculates the number of day from given date to previous given weekday.</td>
+</tr>
+<tr><td><pre class="screen">date d(2004,Jun,1); // Tuesday
+greg_weekday gw(Friday);
+days_before_weekday(d, gw); // 4 days</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date next_weekday(date, greg_weekday)</pre></td>
+<td> Generates a date object representing the date of the following weekday from the given date.</td>
+</tr>
+<tr><td><pre class="screen">date d(2004,Jun,1); // Tuesday
+greg_weekday gw(Friday);
+next_weekday(d, gw); // 2004-Jun-4</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date previous_weekday(date, greg_weekday)</pre></td>
+<td> Generates a date object representing the date of the previous weekday from the given date.</td>
+</tr>
+<tr><td><pre class="screen">date d(2004,Jun,1); // Tuesday
+greg_weekday gw(Friday);
+previous_weekday(d, gw); // 2004-May-28</pre></td></tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.gregorian.gregorian_calendar"></a>Gregorian Calendar</h4></div></div></div>
+<a href="gregorian.html#gregcal_intro">Introduction</a> --
+ <a href="gregorian.html#gregcal_header">Header</a> --
+ <a href="gregorian.html#gregcal_functions">Functions</a><a name="gregcal_intro"></a><h3>
+<a name="id2584048"></a>Introduction</h3>
+<p>
+ The class boost::gregorian::gregorian_calendar implements the functions necessary to create the gregorian date system. It converts to the year-month-day form of a date to a day number representation and back.
+ </p>
+<p>
+ For most purposes this class is simply accessed by <a href="gregorian.html#date_time.gregorian.date_class" title="Date">gregorian::date</a> and is not used directly by the user. However, there are useful functions that might be of use such as the end_of_month_day function.
+ </p>
+<p>
+ The <a href="examples.html#date_time.examples.print_month" title="Print Month">print month</a> example demonstrates this.
+ </p>
+<a name="gregcal_header"></a><h3>
+<a name="id2584087"></a>Header</h3>
+<pre class="programlisting">#include "boost/date_time/gregorian/gregorian.hpp" //include all types plus i/o
+or
+#include "boost/date_time/gregorian/gregorian_types.hpp" //no i/o just types</pre>
+<a name="gregcal_functions"></a><h3>
+<a name="id2584104"></a>Functions</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">static short day_of_week(ymd_type)</pre></td>
+<td>Return the day of the week (0==Sunday, 1==Monday, etc)</td>
+</tr>
+<tr><td>See also <a href="gregorian.html#date_time.gregorian.date_class" title="Date">gregorian::date</a> day_of_week</td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">static date_int_type day_number(ymd_type)</pre></td>
+<td> Convert a ymd_type into a day number. The day number is an absolute number of days since the epoch start.</td>
+</tr>
+<tr><td> </td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">static short end_of_month_day(year_type,
+ month_type)</pre></td>
+<td>Given a year and month determine the last day of the month.</td>
+</tr>
+<tr><td> </td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">static ymd_type from_day_number(date_int_type)</pre></td>
+<td> Convert a day number to a ymd struct.</td>
+</tr>
+<tr><td> </td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">static bool is_leap_year(year_type)</pre></td>
+<td>Returns true if specified year is a leap year.</td>
+</tr>
+<tr><td><pre class="screen">gregorian_calendar::is_leap_year(2000)
+//--&gt; true</pre></td></tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="examples/general_usage_examples.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../date_time.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="posix_time.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/date_time/local_time.html b/doc/html/date_time/local_time.html
new file mode 100644
index 0000000000..77e76a08ff
--- /dev/null
+++ b/doc/html/date_time/local_time.html
@@ -0,0 +1,1497 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Local Time</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../date_time.html" title="Chapter 3. Boost.Date_Time">
+<link rel="prev" href="posix_time.html" title="Posix Time">
+<link rel="next" href="date_time_io.html" title="Date Time Input/Output">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="posix_time.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../date_time.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="date_time_io.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="date_time.local_time"></a>Local Time</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="local_time.html#date_time.local_time.time_zone_base">Time Zone (abstract)</a></span></dt>
+<dt><span class="section"><a href="local_time.html#date_time.local_time.posix_time_zone">Posix Time Zone</a></span></dt>
+<dt><span class="section"><a href="local_time.html#date_time.local_time.tz_database">Time Zone Database</a></span></dt>
+<dt><span class="section"><a href="local_time.html#date_time.local_time.custom_time_zone">Custom Time Zone</a></span></dt>
+<dt><span class="section"><a href="local_time.html#date_time.local_time.local_date_time">Local Date Time</a></span></dt>
+<dt><span class="section"><a href="local_time.html#date_time.local_time.local_time_period">Local Time Period</a></span></dt>
+</dl></div>
+<h2>
+<a name="id2588373"></a>Local Time System</h2>
+<p><a href="local_time.html#local_intro">Introduction</a> --
+ <a href="local_time.html#local_ex">Usage Examples</a></p>
+<a name="local_intro"></a><h3>
+<a name="id2588399"></a>Introduction</h3>
+<p>
+ The library supports 4 main extensions for the management of local times. This includes
+ </p>
+<table class="simplelist" border="0" summary="Simple list">
+<tr><td>local_date_time -- locally adjusted time point</td></tr>
+<tr><td>posix_time_zone -- time zone defined by posix string (eg: "EST10EDT,M10.5.0,M3.5.0/03")</td></tr>
+<tr><td>time_zone_database -- get time zones by region from .csv file (eg: America/New York)</td></tr>
+<tr><td>time_zone -- abstract time zone interface</td></tr>
+</table>
+<p>
+ Together, these extensions define a time system adjusted for recording times related to a specific earth location. This time system utilizes all the features and benefits of the posix_time system (see <a href="posix_time.html" title="Posix Time">posix_time</a> for full details). It uses a time_zone object which contains all the necessary data/rules to enable adjustments to and from various time zones. The time_zone objects used in date_time are handled via a boost::shared_ptr&lt;boost::local_time::time_zone&gt;.
+ </p>
+<p>
+ The phrase "wall-clock" refers to the time that would be shown on a wall clock in a particular time zone at any point in time. Local_time uses a time zone object to account for differences in time zones and daylight savings adjustments. For example: While 5:00 pm, October 10, 2004 in Sydney Australia occurs at exactly the same instant as 3:00 am, October 10, 2004 in New York USA, it is a 14 hour difference in wall-clock times. However, a point in time just one day later will result in a 16 hour difference in wall-clock time due to daylight savings adjustments in both time zones. The local_time system tracks these by means of a time point, stored as UTC, and time_zone objects that contain all the necessary data to correctly calculate wall-clock times.
+ </p>
+<a name="local_ex"></a><h3>
+<a name="id2588463"></a>Usage Examples</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Example</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><a href="examples.html#date_time.examples.simple_time_zone" title="Simple Time Zones">Simple Time Zone</a></td>
+<td>Side by side examples of Time Zone usage. Both <span class="type">custom_time_zone</span> and <span class="type">posix_time_zone</span> are shown.</td>
+</tr>
+<tr>
+<td><a href="examples.html#date_time.examples.calc_rules" title="Daylight Savings Calc Rules">Daylight Savings Calc Rules</a></td>
+<td>Simple example showing the creation of all five <span class="type">dst_calc_rule</span> types.</td>
+</tr>
+<tr>
+<td><a href="examples.html#date_time.examples.seconds_since_epoch" title="Seconds Since Epoch">Seconds Since Epoch</a></td>
+<td>Example that calculates the total seconds elapsed since the epoch (1970-Jan-01) utilizing local_date_time.</td>
+</tr>
+</tbody>
+</table></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.local_time.time_zone_base"></a>Time Zone (abstract)</h4></div></div></div>
+<a href="local_time.html#time_zone_base_intro">Introduction</a> --
+ <a href="local_time.html#time_zone_base_header">Header</a> --
+ <a href="local_time.html#time_zone_base_constr">Construction</a> --
+ <a href="local_time.html#time_zone_base_accessors">Accessors</a><a name="time_zone_base_intro"></a><h3>
+<a name="id2588585"></a>Introduction</h3>
+<p>
+ The time_zone_base class is an abstract base class template for representing time zones. Time zones are a set of data and rules that provide information about a time zone. The date_time library handles time_zones by means of a boost::shared_ptr&lt;time_zone_base&gt;. A user's custom time zone class will work in the date_time library by means of this shared_ptr.
+ </p>
+<p>
+ For convienience, the time_zone_base class is typedef'd as time_zone. All references in the documentation to time_zone, are referring to this typedef.
+ </p>
+<a name="time_zone_base_header"></a><h3>
+<a name="id2588610"></a>Header</h3>
+<p>
+ The time_zone_base class is defined in the header:
+ </p>
+<pre class="programlisting">#include "boost/date_time/time_zone_base.hpp"
+ </pre>
+<a name="time_zone_base_constr"></a><h3>
+<a name="id2588629"></a>Construction</h3>
+<p>
+ A default constructor is provided in the time_zone_base class. There are no private data members in this base class to initialize.
+ </p>
+<p>
+ Template parameters are time_type (typically posix_time::ptime) and CharT (defaults to char).
+ </p>
+<a name="time_zone_base_accessors"></a><h3>
+<a name="id2588648"></a>Accessors</h3>
+<p>
+ All of the accessors listed here are pure virtual functions.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Syntax</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td valign="top"><pre class="screen">
+string_type dst_zone_abbrev();</pre></td>
+<td>Returns the daylight savings abbreviation for the represented time zone.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">
+string_type std_zone_abbrev();</pre></td>
+<td>Returns the standard abbreviation for the represented time zone.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">
+string_type dst_zone_name();</pre></td>
+<td>Returns the daylight savings name for the represented time zone.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">
+string_type std_zone_name();</pre></td>
+<td>Returns the standard name for the represented time zone.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">bool has_dst();</pre></td>
+<td>Returns true if this time zone does not make a daylight savings shift.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">
+time_type dst_local_start_time(year_type);</pre></td>
+<td>The date and time daylight savings time begins in given year.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">
+time_type dst_local_end_time(year_type);</pre></td>
+<td valign="top">The date and time daylight savings time ends in given year.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">
+time_duration_type base_utc_offset();</pre></td>
+<td>The amount of time offset from UTC (typically in hours).</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">
+time_duration_type dst_offset();</pre></td>
+<td>The amount of time shifted during daylight savings.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">
+std::string to_posix_string();</pre></td>
+<td>Returns a posix time zone string representation of this time_zone_base object. For a detailed description of a posix time zone string see <a href="local_time.html#date_time.local_time.posix_time_zone" title="Posix Time Zone">posix_time_zone</a>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.local_time.posix_time_zone"></a>Posix Time Zone</h4></div></div></div>
+<a href="local_time.html#posix_time_zone_intro">Introduction</a> --
+ <a href="local_time.html#posix_time_zone_notes">Important Notes</a> --
+ <a href="local_time.html#posix_time_zone_header">Header</a> --
+ <a href="local_time.html#posix_time_zone_constr">Construction</a> --
+ <a href="local_time.html#posix_time_zone_accessors">Accessors</a><a name="posix_time_zone_intro"></a><h3>
+<a name="id2588864"></a>Introduction</h3>
+<p>
+ A posix_time_zone object is a set of data and rules that provide information about a time zone. Information such as the offset from UTC, it's name and abbreviation, as well as daylight savings rules, called <a href="local_time.html#date_time.local_time.dst_calc_rules">dst_calc_rules</a>. These rules are stored as a boost::shared_ptr&lt;dst_calc_rules&gt;.
+ </p>
+<p>
+ As a convenience, a typedef for shared_ptr&lt;dst_calc_rules&gt; is provided.
+ </p>
+<pre class="programlisting">typedef boost::shared_ptr&lt;dst_calc_rules&gt; local_time::dst_calc_rule_ptr;</pre>
+<p>
+ A posix_time_zone is unique in that the object is created from a Posix time zone string (IEEE Std 1003.1). A POSIX time zone string takes the form of:
+ </p>
+<div class="literallayout"><p><br>
+      "std offset dst [offset],start[/time],end[/time]" (w/no spaces).</p></div>
+<p>'std' specifies the abbrev of the time zone. 'offset' is the offset from UTC. 'dst' specifies the abbrev of the time zone during daylight savings time. The second offset is how many hours changed during DST. 'start' and 'end' are the dates when DST goes into (and out of) effect. 'offset' takes the form of:
+ </p>
+<div class="literallayout"><p><br>
+      [+|-]hh[:mm[:ss]] {h=0-23, m/s=0-59}</p></div>
+<p>'time' and 'offset' take the same form. 'start' and 'end' can be one of three forms:
+ </p>
+<div class="literallayout"><p><br>
+      Mm.w.d {month=1-12, week=1-5 (5 is always last), day=0-6} <br>
+      Jn {n=1-365 Feb29 is never counted} <br>
+      n {n=0-365 Feb29 is counted in leap years}</p></div>
+<p>
+ Exceptions will be thrown under the following conditions:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>An exception will be thrown for an invalid date spec (see <a href="gregorian.html#date_time.gregorian.date_class" title="Date">date class</a>).</li>
+<li>A boost::local_time::bad_offset exception will be thrown for:</li>
+<li>A DST start or end offset that is negative or more than 24 hours.</li>
+<li>A UTC zone that is greater than +12 or less than -12 hours.</li>
+<li>A boost::local_time::bad_adjustment exception will be thrown for a DST adjustment that is 24 hours or more (positive or negative)</li>
+</ul></div>
+<p>As stated above, the 'offset' and '/time' portions of the string are not required. If they are not given they default to 01:00 for 'offset', and 02:00 for both occurrences of '/time'.
+ </p>
+<p>
+ Some examples are:
+ </p>
+<div class="literallayout"><p><br>
+      "PST-8PDT01:00:00,M4.1.0/02:00:00,M10.1.0/02:00:00"<br>
+      "PST-8PDT,M4.1.0,M10.1.0"</p></div>
+<p>These two are actually the same specification (defaults were used in the second string). This zone lies eight hours west of GMT and makes a one hour shift forward during daylight savings time. Daylight savings for this zone starts on the first Sunday of April at 2am, and ends on the first Sunday of October at 2am.
+ </p>
+<div class="literallayout"><p><br>
+      "MST-7"</p></div>
+<p>This zone is as simple as it gets. This zone lies seven hours west of GMT and has no daylight savings.
+ </p>
+<div class="literallayout"><p><br>
+      "EST10EDT,M10.5.0,M3.5.0/03"</p></div>
+<p>This string describes the time zone for Sydney Australia. It lies ten hours east of GMT and makes a one hour shift forward during daylight savings. Being located in the southern hemisphere, daylight savings begins on the last Sunday in October at 2am and ends on the last Sunday in March at 3am.
+ </p>
+<div class="literallayout"><p><br>
+      "FST+3FDT02:00,J60/00,J304/02"</p></div>
+<p>This specification describes a fictitious zone that lies three hours east of GMT. It makes a two hour shift forward for daylight savings which begins on March 1st at midnight, and ends on October 31st at 2am. The 'J' designation in the start/end specs signifies that counting starts at one and February 29th is never counted.
+ </p>
+<div class="literallayout"><p><br>
+      "FST+3FDT,59,304"</p></div>
+<p>This specification is significant because of the '59'. The lack of 'J' for the start and end dates, indicates that the Julian day-count begins at zero and ends at 365. If you do the math, you'll see that allows for a total of 366 days. This is fine in leap years, but in non-leap years '59' (Feb-29) does not exist. This will construct a valid posix_time_zone object but an exception will be thrown if the date of '59' is accessed in a non-leap year. Ex:
+ </p>
+<pre class="programlisting">posix_time_zone leap_day(std::string("FST+3FDT,59,304"));
+leap_day.dst_local_start_time(2004); // ok
+leap_day.dst_local_start_time(2003); // Exception thrown</pre>
+<p>
+ The posix_time_zone objects are used via a boost::shared_ptr&lt;local_time::time_zone_base&gt;. As a convenience, a typedef for boost::shared_ptr&lt;local_time::time_zone_base&gt; is provided:
+ </p>
+<pre class="programlisting">typedef boost::shared_ptr&lt;time_zone_base&gt; local_time::time_zone_ptr;</pre>
+<p>
+ See <a href="examples.html#date_time.examples.simple_time_zone" title="Simple Time Zones">Simple time zone</a> for a side by side example of time_zone and posix_time_zone usage.
+ </p>
+<a name="posix_time_zone_notes"></a><h3>
+<a name="id2589083"></a>Important Notes</h3>
+<div class="itemizedlist"><ul type="disc">
+<li>posix_time_zone objects use the standard and daylight savings abbreviations in place of the full names (see <a href="local_time.html#posix_time_zone_accessors">Accessors</a> below).</li>
+<li>'Jn' and 'n' date specifications can not be mixed in a specification string. Ex: "FST+3FDT,59,J304" </li>
+<li>'n' date specification of 59 represents Feb-29. Do not attempt to access in a non-leap year or an exception will be thrown.</li>
+</ul></div>
+<a name="posix_time_zone_header"></a><h3>
+<a name="id2589113"></a>Header</h3>
+<p>
+ The inclusion of a single header will bring in all boost::local_time types, functions, and IO operators.
+ </p>
+<pre class="programlisting">#include "boost/date_time/local_time/local_time.hpp"</pre>
+<a name="posix_time_zone_constr"></a><h3>
+<a name="id2589132"></a>Construction</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Syntax</th>
+<th>Example</th>
+</tr></thead>
+<tbody><tr>
+<td valign="top"><pre class="screen">posix_time_zone(std::string)</pre></td>
+<td><pre class="screen">std::string nyc("EST-5EDT,M4.1.0,M10.5.0");
+time_zone_ptr zone(new posix_time_zone(nyc));</pre></td>
+</tr></tbody>
+</table></div>
+<a name="posix_time_zone_accessors"></a><h3>
+<a name="id2589173"></a>Accessors</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string dst_zone_abbrev()</pre></td>
+<td>Returns the daylight savings abbreviation for the represented time zone.</td>
+</tr>
+<tr><td><pre class="screen">nyc_zone_sh_ptr-&gt;dst_zone_abbrev(); // "EDT"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string std_zone_abbrev()</pre></td>
+<td>Returns the standard abbreviation for the represented time zone.</td>
+</tr>
+<tr><td><pre class="screen">nyc_zone_sh_ptr-&gt;std_zone_abbrev(); // "EST"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string dst_zone_name()</pre></td>
+<td>Returns the daylight savings ABBREVIATION for the represented time zone.</td>
+</tr>
+<tr><td><pre class="screen">nyc_zone_sh_ptr-&gt;dst_zone_name(); // "EDT"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string std_zone_name()</pre></td>
+<td>Returns the standard ABBREVIATION for the represented time zone.</td>
+</tr>
+<tr><td><pre class="screen">nyc_zone_sh_ptr-&gt;std_zone_name(); // "EST"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool has_dst()</pre></td>
+<td>Returns true when time_zone's shared_ptr to dst_calc_rules is not NULL.</td>
+</tr>
+<tr><td><pre class="screen">nyc_zone_sh_ptr-&gt;has_dst(); // true
+phx_zone_sh_ptr-&gt;has_dst(); // false</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">
+ptime dst_local_start_time(greg_year)</pre></td>
+<td>The date and time daylight savings time begins in given year. Returns not_a_date_time if this zone has no daylight savings.</td>
+</tr>
+<tr><td><pre class="screen">nyc_zone_sh_ptr-&gt;dst_local_start_time(2004);
+// 2004-Apr-04 02:00</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">
+ptime dst_local_end_time(greg_year)</pre></td>
+<td>The date and time daylight savings time ends in given year. Returns not_a_date_time if this zone has no daylight savings.</td>
+</tr>
+<tr><td><pre class="screen">nyc_zone_sh_ptr-&gt;dst_local_end_time(2004);
+// 2004-Oct-31 02:00</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">
+time_duration base_utc_offset()</pre></td>
+<td>The amount of time offset from UTC (typically in hours).</td>
+</tr>
+<tr><td><pre class="screen">nyc_zone_sh_ptr-&gt;base_utc_offset(); // -05:00</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">posix_time::time_duration dst_offset()</pre></td>
+<td>The amount of time shifted during daylight savings.</td>
+</tr>
+<tr><td><pre class="screen">nyc_zone_sh_ptr-&gt;dst_offset(); // 01:00</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string to_posix_string()</pre></td>
+<td>Returns a posix time zone string representation of this time_zone_base object. Depending on how the time_zone object was created, the date-spec format of the string will be in either 'M' notation or 'n' notation. Every possible date-spec that can be represented in 'J' notation can also be represented in 'n' notation. The reverse is not true so only 'n' notation is used for these types of date-specs. For a detailed description of a posix time zone string see <a href="local_time.html#date_time.local_time.posix_time_zone" title="Posix Time Zone">posix_time_zone</a>.</td>
+</tr>
+<tr><td><pre class="screen">nyc_zone_sh_ptr-&gt;to_posix_string();
+// "EST-05EDT+01,M4.1.0/02:00,M10.5.0/02:00"
+phx_zone_sh_ptr-&gt;to_posix_string();
+// "MST-07"
+ </pre></td></tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.local_time.tz_database"></a>Time Zone Database</h4></div></div></div>
+<a href="local_time.html#tz_database_intro">Introduction</a> --
+ <a href="local_time.html#tz_database_header">Header</a> --
+ <a href="local_time.html#tz_database_constr">Construction</a> --
+ <a href="local_time.html#tz_database_accessors">Accessors</a> --
+ <a href="local_time.html#tz_database_datafile">Data File Details</a><a name="tz_database_intro"></a><h3>
+<a name="id2589511"></a>Introduction</h3>
+<p>
+ The local_time system depends on the ability to store time zone information. Our Time Zone Database (tz_database) is a means of permanently storing that data. The specifications for many time zones (377 at this time) are provided. These specifications are based on data found in the <a href="http://www.twinsun.com/tz/tz-link.htm" target="_top">zoneinfo datebase</a>. The specifications are stored in the file:</p>
+<pre class="screen">libs/date_time/data/date_time_zonespec.csv</pre>
+<p>. While this file already contains specifications for many time zones, it's real intent is for the user to modify it by adding (or removing) time zones to fit their application. See <a href="local_time.html#tz_database_datafile">Data File Details</a> to learn how this is accomplished.
+ </p>
+<a name="tz_database_header"></a><h3>
+<a name="id2589551"></a>Header</h3>
+<p>
+ The inclusion of a single header will bring in all boost::local_time types, functions, and IO operators.
+ </p>
+<pre class="programlisting">#include "boost/date_time/local_time/local_time.hpp"
+ </pre>
+<a name="tz_database_constr"></a><h3>
+<a name="id2589570"></a>Construction</h3>
+<p>
+ The only constructor takes no arguments and creates an empty database. It is up to the user to populate the database. This is typically achieved by loading the desired datafile, but can also be accomplished by means of the <code class="computeroutput">add_record(...)</code> function (see the <a href="local_time.html#tz_database_accessors">Accessors table</a>). A <code class="computeroutput">local_time::data_not_accessible</code> exception will be thrown if given zonespec file cannot be found. <code class="computeroutput">local_time::bad_field_count</code> exception will be thrown if the number of fields in given zonespec file is incorrect.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">tz_database()</pre></td>
+<td>Constructor creates an empty database.</td>
+</tr>
+<tr><td><pre class="screen">tz_database tz_db;</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool load_from_file(std::string)</pre></td>
+<td>Parameter is path to a time zone spec csv file (see <a href="local_time.html#tz_database_datafile">Data File Details</a> for details on the contents of this file). This function populates the database with time zone records found in the zone spec file. A <code class="computeroutput">local_time::data_not_accessible</code> exception will be thrown if given zonespec file cannot be found. <code class="computeroutput">local_time::bad_field_count</code> exception will be thrown if the number of fields in given zonespec file is incorrect.</td>
+</tr>
+<tr><td><pre class="screen">tz_database tz_db;
+tz_db.load_from_file("./date_time_zonespec.csv");</pre></td></tr>
+</tbody>
+</table></div>
+<a name="tz_database_accessors"></a><h3>
+<a name="id2589701"></a>Accessors</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool tz_db.add_record(std::string id,
+ <a href="local_time.html#date_time.local_time.custom_time_zone_ptr">time_zone_ptr</a> tz);</pre></td>
+<td>Adds a time_zone, or a posix_time_zone, to the database. ID is the region name for this zone (Ex: "America/Phoenix").</td>
+</tr>
+<tr><td><pre class="screen">time_zone_ptr zone(
+ new posix_time_zone("PST-8PDT,M4.1.0,M10.1.0")
+);
+std::string id("America/West_Coast");
+tz_db.add_record(id, zone);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_zone_ptr
+ tz_db.time_zone_from_region(string id);</pre></td>
+<td>Returns a time_zone, via a time_zone_ptr, that matches the region listed in the data file. A null pointer is returned if no match is found.
+ </td>
+</tr>
+<tr><td><pre class="screen">time_zone_ptr nyc =
+ tz_db.time_zone_from_region("America/New_York");</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">vector&lt;string&gt; tz_db.region_list();</pre></td>
+<td>Returns a vector of strings that holds all the region ID strings from the database.</td>
+</tr>
+<tr><td><pre class="screen">std::vector&lt;std::string&gt; regions;
+regions = tz_db.region_list();</pre></td></tr>
+</tbody>
+</table></div>
+<a name="tz_database_datafile"></a><h3>
+<a name="id2589818"></a>Data File Details</h3>
+<a href="local_time.html#tz_database_fields">Field Description/Details</a><p>
+ The csv file containing the zone_specs used by the boost::local_time::tz_database is intended to be customized by the library user. When customizing this file (or creating your own) the file must follow a specific format.
+ </p>
+<p>
+ This first line is expected to contain column headings and is therefore
+not processed by the tz_database.
+ </p>
+<p>
+ Each record (line) must have eleven fields. Some of those fields can be empty. Every field (even empty ones) must be enclosed in double-quotes.
+ </p>
+<div class="literallayout"><p><br>
+      Ex:<br>
+      "America/Phoenix" &lt;- string enclosed in quotes<br>
+      ""                &lt;- empty field<br>
+    </p></div>
+<p>
+ Some fields represent a length of time. The format of these fields must be:
+ </p>
+<div class="literallayout"><p><br>
+      "{+|-}hh:mm[:ss]" &lt;- length-of-time format<br>
+    </p></div>
+<p>
+ Where the plus or minus is mandatory and the seconds are optional.
+ </p>
+<p>
+ Since some time zones do not use daylight savings it is not always necessary for every field in a zone_spec to contain a value. All zone_specs must have at least ID and GMT offset. Zones that use daylight savings must have all fields filled except: STD ABBR, STD NAME, DST NAME. You should take note that DST ABBR is mandatory for zones that use daylight savings (see field descriptions for further details).
+ </p>
+<a name="tz_database_fields"></a><h3>
+<a name="id2589885"></a>Field Description/Details</h3>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ ID
+ <p>
+ Contains the identifying string for the zone_spec. Any string will do as long as it's unique. No two ID's can be the same.
+ </p>
+</li>
+<li>
+ STD ABBR
+ </li>
+<li>
+ STD NAME
+ </li>
+<li>
+ DST ABBR
+ </li>
+<li>
+ DST NAME
+ <p>
+ These four are all the names and abbreviations used by the time zone being described. While any string will do in these fields, care should be taken. These fields hold the strings that will be used in the output of many of the local_time classes.
+ </p>
+</li>
+<li>
+ GMT offset
+ <p>
+ This is the number of hours added to utc to get the local time before any daylight savings adjustments are made. Some examples are: America/New_York offset -5 hours, and Africa/Cairo offset +2 hours. The format must follow the length-of-time format described above.
+ </p>
+</li>
+<li>
+ DST adjustment
+ <p>
+ The amount of time added to gmt_offset when daylight savings is in effect. The format must follow the length-of-time format described above.
+ </p>
+<p>
+ NOTE: more rule capabilities are needed - this portion of the tz_database is incomplete
+ </p>
+</li>
+<li>
+ DST Start Date rule
+ <p>
+ This is a specially formatted string that describes the day of year in which the transition take place. It holds three fields of it's own, separated by semicolons.
+ </p>
+<div class="orderedlist"><ol type="1">
+<li>
+ The first field indicates the "nth" weekday of the month. The possible values are: 1 (first), 2 (second), 3 (third), 4 (fourth), 5 (fifth), and -1 (last).
+ </li>
+<li>
+ The second field indicates the day-of-week from 0-6 (Sun=0).
+ </li>
+<li>
+ The third field indicates the month from 1-12 (Jan=1).
+ </li>
+</ol></div>
+<p>
+ Examples are: "-1;5;9"="Last Friday of September", "2;1;3"="Second Monday of March"
+ </p>
+</li>
+<li>
+ Start time
+ <p>
+ Start time is the number of hours past midnight, on the day of the start transition, the transition takes place. More simply put, the time of day the transition is made (in 24 hours format). The format must follow the length-of-time format described above with the exception that it must always be positive.
+ </p>
+</li>
+<li>
+ DST End date rule
+ <p>
+ See DST Start date rule. The difference here is this is the day daylight savings ends (transition to STD).
+ </p>
+</li>
+<li>
+ End time
+ <p>
+ Same as Start time.
+ </p>
+</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.local_time.custom_time_zone"></a>Custom Time Zone</h4></div></div></div>
+<a href="local_time.html#custom_time_zone_intro">Introduction</a> --
+ <a href="local_time.html#custom_time_zone_header">Header</a> --
+ <a href="local_time.html#custom_time_zone_constr">Construction</a> --
+ <a href="local_time.html#custom_time_zone_accessors">Accessors</a> --
+ <a href="local_time.html#custom_time_zone_dependents">Dependent Types</a><a name="custom_time_zone_intro"></a><h3>
+<a name="id2590047"></a>Introduction</h3>
+<p>
+ A custom_time_zone object is a set of data and rules that provide information about a time zone. Information such as the offset from UTC, it's name and abbreviation, as well as daylight savings rules, called <a href="local_time.html#date_time.local_time.dst_calc_rules">dst_calc_rules</a>. These rules are handled via a boost::shared_ptr&lt;dst_calc_rules&gt;. Not all time zones utilize daylight savings, therefore, time_zone objects can be used with a NULL-assigned shared_ptr.
+ </p>
+<p>
+ As a convenience, a typedef for shared_ptr&lt;dst_calc_rules&gt; is provided.
+ </p>
+<pre class="programlisting">typedef boost::shared_ptr&lt;dst_calc_rules&gt; local_time::dst_calc_rule_ptr;</pre>
+<a name="date_time.local_time.custom_time_zone_ptr"></a><p>
+ The time_zone objects are used via a boost::shared_ptr&lt;local_time::time_zone&gt;. As a convenience, a typedef for boost::shared_ptr&lt;local_time::time_zone&gt; is provided:
+ </p>
+<pre class="programlisting">typedef boost::shared_ptr&lt;time_zone&gt; local_time::time_zone_ptr;</pre>
+<a name="custom_time_zone_header"></a><h3>
+<a name="id2590110"></a>Header</h3>
+<p>
+ The inclusion of a single header will bring in all boost::local_time types, functions, and IO operators.
+ </p>
+<pre class="programlisting">#include "boost/date_time/local_time/local_time.hpp"</pre>
+<a name="custom_time_zone_constr"></a><h3>
+<a name="id2590130"></a>Construction</h3>
+<p>
+ Construction of a custom_time_zone is dependent on four objects: a
+ <a href="posix_time.html#date_time.posix_time.time_duration" title="Time Duration">time_duration</a>, a <a href="local_time.html#time_zone_names">time_zone_names</a>, a <a href="local_time.html#dst_adjustment_offsets">dst_adjustment_offsets</a>, and a shared_ptr to a <a href="local_time.html#date_time.local_time.dst_calc_rules">dst_calc_rule</a>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Syntax</th>
+<th>Example</th>
+</tr></thead>
+<tbody><tr>
+<td valign="top"><pre class="screen">custom_time_zone(...)
+ Parameters:
+ <a href="local_time.html#time_zone_names">names</a>,
+ <a href="posix_time.html#date_time.posix_time.time_duration" title="Time Duration">gmt_offset</a>,
+ <a href="local_time.html#dst_adjustment_offsets">dst_offsets</a>,
+ <a href="local_time.html#date_time.local_time.dst_calc_rules">dst_rules</a></pre></td>
+<td>See <a href="examples.html#date_time.examples.simple_time_zone" title="Simple Time Zones">simple_time_zone</a> example for time_zone usage</td>
+</tr></tbody>
+</table></div>
+<a name="custom_time_zone_accessors"></a><h3>
+<a name="id2590239"></a>Accessors</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string dst_zone_abbrev()</pre></td>
+<td>Returns the daylight savings abbreviation for the represented time zone.</td>
+</tr>
+<tr><td><pre class="screen">nyc_zone_sh_ptr-&gt;dst_zone_abbrev();
+// "EDT"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string std_zone_abbrev()</pre></td>
+<td>Returns the standard abbreviation for the represented time zone.</td>
+</tr>
+<tr><td><pre class="screen">nyc_zone_sh_ptr-&gt;std_zone_abbrev();
+// "EST"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string dst_zone_name()</pre></td>
+<td>Returns the daylight savings name for the represented time zone.</td>
+</tr>
+<tr><td><pre class="screen">nyc_zone_sh_ptr-&gt;dst_zone_name();
+// "Eastern Daylight Time"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string std_zone_name()</pre></td>
+<td>Returns the standard name for the represented time zone.</td>
+</tr>
+<tr><td><pre class="screen">nyc_zone_sh_ptr-&gt;std_zone_name();
+// "Eastern Standard Time"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool has_dst()</pre></td>
+<td>Returns true when custom_time_zone's shared_ptr to dst_calc_rules is not NULL.</td>
+</tr>
+<tr><td><pre class="screen">nyc_zone_sh_ptr-&gt;has_dst();
+// true
+phx_zone_sh_ptr-&gt;has_dst();
+// false</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">dst_local_start_time(...)
+ Return Type:
+ ptime
+ Parameter:
+ greg_year</pre></td>
+<td>The date and time daylight savings time begins in given year. Returns not_a_date_time if this zone has no daylight savings.</td>
+</tr>
+<tr><td><pre class="screen">nyc_ptr-&gt;dst_local_start_time(2004);
+// 2004-Apr-04 02:00</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">dst_local_end_time(...)
+ Return Type:
+ ptime
+ Parameter:
+ greg_year</pre></td>
+<td>The date and time daylight savings time ends in given year. Returns not_a_date_time if this zone has no daylight savings.</td>
+</tr>
+<tr><td><pre class="screen">nyc_ptr-&gt;dst_local_end_time(2004);
+// 2004-Oct-31 02:00</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_duration base_utc_offset()</pre></td>
+<td>The amount of time offset from UTC (typically in hours).</td>
+</tr>
+<tr><td><pre class="screen">nyc_ptr-&gt;base_utc_offset();
+// -05:00</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_duration dst_offset()</pre></td>
+<td>The amount of time shifted during daylight savings.</td>
+</tr>
+<tr><td><pre class="screen">nyc_zone_sh_ptr-&gt;dst_offset();
+// 01:00</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string to_posix_string()</pre></td>
+<td>Returns a posix time zone string representation of this time_zone object. Depending on how the time_zone object was created, the date-spec format of the string will be in either 'M' notation or 'n' notation. Every possible date-spec that can be represented in 'J' notation can also be represented in 'n' notation. The reverse is not true so only 'n' notation is used for these types of date-specs. For a detailed description of a posix time zone string see <a href="local_time.html#date_time.local_time.posix_time_zone" title="Posix Time Zone">posix_time_zone</a>.</td>
+</tr>
+<tr><td><pre class="screen">nyc_ptr-&gt;to_posix_string();
+// "EST-05EDT+01,M4.1.0/02:00,M10.5.0/02:00"
+phx_ptr-&gt;to_posix_string();
+// "MST-07"
+ </pre></td></tr>
+</tbody>
+</table></div>
+<a name="custom_time_zone_dependents"></a><h3>
+<a name="id2590526"></a>Dependent Types</h3>
+<a href="local_time.html#time_zone_names">Time Zone Names</a> --
+ <a href="local_time.html#dst_adjustment_offsets">Dst Adjustment Offsets</a> --
+ <a href="local_time.html#date_time.local_time.dst_calc_rules">Daylight Savings Calc Rules</a><a name="time_zone_names"></a><h3>
+<a name="id2590558"></a>Time Zone Names</h3>
+<p>
+ The time_zone_names_base type is an immutable template class of four strings. One each for the name and abbreviation in standard time and daylight savings time. The time_zone_names type is a typedef of time_zone_names_base&lt;char&gt;.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_zone_names(...)
+ Parameters:
+ string std_name
+ string std_abbrev
+ string dst_name
+ string dst_abbrev</pre></td>
+<td>The only constructor, all four strings must be provided.</td>
+</tr>
+<tr><td><pre class="screen">string sn("Eastern Standard Time");
+string sa("EST");
+string dn("Eastern Daylight Time");
+string da("EDT");
+time_zone_names nyc_names(sn, sa,
+ dn, da);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string std_zone_name()</pre></td>
+<td>Returns the standard zone name</td>
+</tr>
+<tr><td><pre class="screen">nyc_names.std_zone_name();
+// "Eastern Standard Time"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string std_zone_abbrev()</pre></td>
+<td>Returns the standard zone abbreviation</td>
+</tr>
+<tr><td><pre class="screen">nyc_names.std_zone_abbrev();
+// "EST"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string dst_zone_name()</pre></td>
+<td>Returns the daylight savings zone name</td>
+</tr>
+<tr><td><pre class="screen">nyc_names.std_zone_name();
+// "Eastern Daylight Time"</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string dst_zone_abbrev()</pre></td>
+<td>Returns the daylight savings zone abbreviation</td>
+</tr>
+<tr><td><pre class="screen">nyc_names.std_zone_abbrev();
+// "EDT"</pre></td></tr>
+</tbody>
+</table></div>
+<a name="dst_adjustment_offsets"></a><h3>
+<a name="id2590712"></a>Dst Adjustment Offsets</h3>
+<p>
+ The dst_adjustment_offsets type is a collection of three <a href="posix_time.html#date_time.posix_time.time_duration" title="Time Duration">time_duration</a> objects.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">dst_adjustment_offsets(...)
+ Parameters:
+ time_duration dst_adjust
+ time_duration start_offset
+ time_duration end_offset</pre></td>
+<td>The first time_duration is the daylight savings adjustment. The second is the time which daylight savings starts on the start day. The third is the time daylight savings ends on the ending day.</td>
+</tr>
+<tr><td><pre class="screen">
+dst_adjustment_offsets(hours(1),
+ hours(2),
+ hours(2));</pre></td></tr>
+</tbody>
+</table></div>
+<a name="date_time.local_time.dst_calc_rules"></a><h3>
+<a name="id2590783"></a>Daylight Savings Calc Rules</h3>
+<p>
+ Daylight savings calc rules, named dst_calc_rules, are a series of objects that group appropriate <a href="gregorian.html#date_time.gregorian.date_algorithms" title="Date Generators/Algorithms">date_generators</a> together to form rule sets. The individual rules objects are used via dst_calc_rule_ptr.
+ </p>
+<p>
+ For a complete example of all five dst_calc_rule types, see: <a href="examples.html#date_time.examples.calc_rules" title="Daylight Savings Calc Rules">calc_rules example</a>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Syntax</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td valign="top"><pre class="screen">partial_date_dst_rule(...)
+ Parameters:
+ start_rule
+ end_rule</pre></td>
+<td>Both the start and end rules are of type gregorian::partial_date.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">first_last_dst_rule(...)
+ Parameters:
+ start_rule
+ end_rule</pre></td>
+<td>The DST start rule is of type gregorian::first_day_of_the_week_in_month and the end rule is of type gregorian::last_day_of_the_week_in_month.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">last_last_dst_rule(...)
+ Parameters:
+ start_rule
+ end_rule</pre></td>
+<td>Both the start and end rules are of type gregorian::last_day_of_the_week_in_month.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">nth_last_dst_rule(...)
+ Parameters:
+ start_rule
+ end_rule</pre></td>
+<td>The DST start rule is of type gregorian::nth_day_of_the_week_in_month and the end rule is of type gregorian::last_day_of_the_week_in_month.</td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">nth_kday_dst_rule(...)
+ Parameters:
+ start_rule
+ end_rule)
+(see note* below)</pre></td>
+<td>Both rules are of type gregorian::nth_day_of_the_week_in_month.</td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ * Note: The name "nth_kday_dst_rule" is a bit cryptic. Therefore, a more descriptive name, "nth_day_of_the_week_in_month_dst_rule", is also provided.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.local_time.local_date_time"></a>Local Date Time</h4></div></div></div>
+<a href="local_time.html#local_date_time_intro">Introduction</a> --
+ <a href="local_time.html#local_date_time_header">Header</a> --
+ <a href="local_time.html#local_date_time_clock_constr">Construct From Clock</a> --
+ <a href="local_time.html#local_date_time_constr">Construction</a> --
+ <a href="local_time.html#local_date_time_accessors">Accessors</a> --
+ <a href="local_time.html#local_date_time_operators">Operators</a> --
+ <a href="local_time.html#local_date_time_tm_func">Struct tm Functions</a><a name="local_date_time_intro"></a><h3>
+<a name="id2590976"></a>Introduction</h3>
+<p>
+ A local_date_time object is a point in time and an associated time zone. The time is represented internally as UTC.
+ </p>
+<a name="local_date_time_header"></a><h3>
+<a name="id2590991"></a>Header</h3>
+<p>
+ The inclusion of a single header will bring in all boost::local_time types,
+functions, and IO operators.
+ </p>
+<pre class="programlisting">
+ #include "boost/date_time/local_time/local_time.hpp"
+ </pre>
+<a name="local_date_time_clock_constr"></a><h3>
+<a name="id2591010"></a>Construct From Clock</h3>
+<p>
+ Creation of a local_date_time object from clock is possible with either second, or sub second resolution.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Syntax</th>
+<th>Example</th>
+</tr></thead>
+<tbody>
+<tr>
+<td valign="top"><pre class="screen">local_microsec_clock(...)
+ Return Type:
+ local_date_time
+ Parameter:
+ time_zone_ptr</pre></td>
+<td><pre class="screen">time_zone_ptr zone(
+ new posix_time_zone("MST-07")
+);
+local_date_time ldt =
+ local_microsec_clock::local_time(
+ zone);</pre></td>
+</tr>
+<tr>
+<td valign="top"><pre class="screen">local_sec_clock(...)
+ Return Type:
+ local_date_time
+ Parameter:
+ time_zone_ptr</pre></td>
+<td><pre class="screen">time_zone_ptr zone(
+ new posix_time_zone("MST-07")
+);
+local_date_time ldt =
+ local_sec_clock::local_time(zone);</pre></td>
+</tr>
+</tbody>
+</table></div>
+<a name="local_date_time_constr"></a><h3>
+<a name="id2591076"></a>Construction</h3>
+<p>
+ Construction of a local_date_time object can be done with a ptime and a time_zone_ptr where the ptime represents UTC time. Construction with a wall-clock representation takes the form of a date, a time_duration, a time_zone_ptr, and a fourth parameter that addresses the following complication.
+ </p>
+<p>
+ Construction from a wall-clock rep may result in differing shifts for a particular time zone, depending on daylight savings rules for that zone. This means it is also possible to create a local_date_time with a non-existent, or duplicated, UTC representation. These cases occur during the forward shift in time that is the transition into daylight savings and during the backward shift that is the transition out of daylight savings. The user has two options for handling these cases: a bool flag that states if the time is daylight savings, or an enum that states what to do when either of these cases are encountered.
+ </p>
+<p>
+ The bool flag is ignored when the given time_zone has no daylight savings specification. When the daylight savings status of a given time label is calculated and it does not match the flag, a <code class="computeroutput">local_time::dst_not_valid</code> exception is thrown. If a time label is invalid (does not exist), a <code class="computeroutput">local_time::time_label_invalid</code> exception is thrown.
+ </p>
+<p>
+ There are two elements in the <code class="computeroutput">local_date_time::DST_CALC_OPTIONS</code> enum: <code class="computeroutput">EXCEPTION_ON_ERROR</code> and <code class="computeroutput">NOT_DATE_TIME_ON_ERROR</code>. The possible exceptions thrown are a <code class="computeroutput">local_time::ambiguous_result</code> or a <code class="computeroutput">local_time::time_label_invalid</code>. The <code class="computeroutput">NOT_DATE_TIME_ON_ERROR</code> sets the time value to the special value <code class="computeroutput">local_time::not_a_date_time</code> in the event of either a invalid or an ambiguous time label.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">local_date_time(...)
+ Parameters:
+ posix_time::ptime
+ time_zone_ptr</pre></td>
+<td>The given time is expected to be UTC. Therefore, the given time will be adjusted according to the offset described in the time zone.</td>
+</tr>
+<tr><td><pre class="screen">
+// 3am, 2004-Nov-05 local time
+ptime pt(date(2004,Nov,5),
+ hours(10));
+time_zone_ptr zone(
+ new posix_time_zone("MST-07"));
+local_date_time az(pt, zone);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">local_date_time(...)
+ Parameters:
+ date
+ time_duration
+ time_zone_ptr
+ bool</pre></td>
+<td>The passed time information understood to be in the passed tz. The DST flag must be passed to indicate whether the time is in daylight savings or not. May throw a <code class="computeroutput">dst_not_valid</code> or <code class="computeroutput">time_label_invalid</code> exception.</td>
+</tr>
+<tr><td><pre class="screen">date d(2004,Nov,5);
+time_duration td(5,0,0,0);
+string z("PST-8PDT,M4.1.0,M10.1.0")
+time_zone_ptr zone(
+ new posix_time_zone(z));
+local_date_time nyc(d, td,
+ zone, false);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">local_date_time(...)
+ Parameters:
+ date
+ time_duration
+ time_zone_ptr
+ DST_CALC_OPTIONS</pre></td>
+<td>The passed time information understood to be in the passed tz. The DST flag is calculated according to the specified rule. May throw a <code class="computeroutput">ambiguous_result</code> or <code class="computeroutput">time_label_invalid</code> exception.</td>
+</tr>
+<tr><td><pre class="screen">date d(2004,Nov,5);
+time_duration td(5,0,0,0);
+string z("PST-8PDT,M4.1.0,M10.1.0")
+time_zone_ptr zone(
+ new posix_time_zone(z));
+local_date_time nyc(d, td, zone,
+ NOT_DATE_TIME_ON_ERROR);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">local_date_time(local_date_time);</pre></td>
+<td>Copy Constructor.</td>
+</tr>
+<tr><td><pre class="screen">local_date_time az_2(az);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">local_date_time(...)
+ Parameters:
+ special_values
+ time_zone_ptr</pre></td>
+<td>Special Values constructor.</td>
+</tr>
+<tr><td><pre class="screen">time_zone_ptr zone(
+ new posix_time_zone("MST-07")
+);
+local_date_time nadt(not_a_date_time,
+ zone);
+// default NULL time_zone_ptr
+local_date_time nadt(pos_infin);</pre></td></tr>
+</tbody>
+</table></div>
+<a name="local_date_time_accessors"></a><h3>
+<a name="id2591344"></a>Accessors</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_zone_ptr zone()</pre></td>
+<td>Returns associated time_zone object via a time_zone_ptr</td>
+</tr>
+<tr><td><pre class="screen"></pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_dst()</pre></td>
+<td>Determines if time value is in DST for associated zone.</td>
+</tr>
+<tr><td> </td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime utc_time()</pre></td>
+<td>Converts the local time value to a UTC value.</td>
+</tr>
+<tr><td><pre class="screen">ptime pt(date(2004,Nov,5),
+ hours(10));
+time_zone_ptr zone(
+ new posix_time_zone("MST-07"));
+local_date_time az(pt, zone);
+az.utc_time(); // 10am 2004-Nov-5</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime local_time()</pre></td>
+<td>Returns the local time for this object (Wall-clock).</td>
+</tr>
+<tr><td><pre class="screen">ptime pt(date(2004,Nov,5),
+ hours(10));
+time_zone_ptr zone(
+ new posix_time_zone("MST-07"));
+local_date_time az(pt, zone);
+az.utc_time(); // 10am 2004-Nov-5
+az.local_time(); // 3am 2004-Nov-5</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">local_time_in(...)
+ Return Type:
+ local_date_time
+ Parameters:
+ time_zone_ptr
+ time_duration</pre></td>
+<td>Returns a local_date_time representing the same UTC time as calling object, plus optional time_duration, with given time zone.</td>
+</tr>
+<tr><td><pre class="screen">local_date_time nyc = az.local_time_in(nyc_zone);
+// nyc == 7am 2004-Nov-5</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_infinity() const</pre></td>
+<td>Returns true if local_date_time is either positive or negative infinity</td>
+</tr>
+<tr><td><pre class="screen">local_date_time ldt(pos_infin);
+ldt.is_infinity(); // --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_neg_infinity() const</pre></td>
+<td>Returns true if local_date_time is negative infinity</td>
+</tr>
+<tr><td><pre class="screen">local_date_time ldt(neg_infin);
+ldt.is_neg_infinity(); // --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_pos_infinity() const</pre></td>
+<td>Returns true if local_date_time is positive infinity</td>
+</tr>
+<tr><td><pre class="screen">local_date_time ldt(neg_infin);
+ldt.is_pos_infinity(); // --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_not_a_date_time() const</pre></td>
+<td>Returns true if value is not a date</td>
+</tr>
+<tr><td><pre class="screen">local_date_time ldt(not_a_date_time);
+ldt.is_not_a_date_time(); // --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_special() const</pre></td>
+<td>Returns true if local_date_time is any <code class="computeroutput">special_value</code>
+</td>
+</tr>
+<tr><td><pre class="screen">local_date_time ldt(pos_infin);
+local_date_time ldt2(not_a_date_time);
+time_zone_ptr
+ mst(new posix_time_zone("MST-07"));
+local_date_time
+ ldt3(local_sec_clock::local_time(mst));
+ldt.is_special(); // --&gt; true
+ldt2.is_special(); // --&gt; true
+ldt3.is_special(); // --&gt; false</pre></td></tr>
+</tbody>
+</table></div>
+<a name="local_date_time_operators"></a><h3>
+<a name="id2591612"></a>Operators</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator&lt;&lt;</pre></td>
+<td>Output streaming operator. This operator is part of the v1.33 IO addition to date_time. For complete details on this feature see <a href="date_time_io.html" title="Date Time Input/Output">Date Time IO</a>. The default output is shown in this example.</td>
+</tr>
+<tr><td><pre class="screen">
+time_zone_ptr zone(new posix_time_zone("MST-07");
+local_date_time ldt(date(2005,Jul,4),
+ hours(20),
+ false);
+std::cout &lt;&lt; ldt &lt;&lt; std::endl;
+// "2005-Jul-04 20:00:00 MST"
+ </pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator&gt;&gt;</pre></td>
+<td>Input streaming operator. This operator is part of the v1.33 IO addition to date_time. For complete details on this feature see <a href="date_time_io.html" title="Date Time Input/Output">Date Time IO</a>. At this time, <code class="computeroutput">local_date_time</code> objects can only be streamed in with a Posix Time Zone string. A complete description of a Posix Time Zone string can be found in the documentation for the <a href="local_time.html#posix_time_zone_intro">posix_time_zone</a> class.</td>
+</tr>
+<tr><td><pre class="screen">stringstream ss;
+ss.str("2005-Jul-04 20:00:00 MST-07");
+ss &gt;&gt; ldt;
+ </pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator==, operator!=,
+operator&gt;, operator&lt;,
+operator&gt;=, operator&lt;=</pre></td>
+<td>A full complement of comparison operators</td>
+</tr>
+<tr><td><pre class="screen">ldt1 == ldt2, etc</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator+, operator+=,
+operator-, operator-=</pre></td>
+<td>Addition, subtraction, and shortcut operators for <code class="computeroutput">local_date_time</code> and date duration types. These include: <code class="computeroutput">days</code>, <code class="computeroutput">months</code>, and <code class="computeroutput">years</code>.</td>
+</tr>
+<tr><td><pre class="screen">ldt + days(5), etc</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator+, operator+=,
+operator-, operator-=</pre></td>
+<td>Addition, subtraction, and shortcut operators for <code class="computeroutput">local_date_time</code> and <code class="computeroutput">time_duration</code>.</td>
+</tr>
+<tr><td><pre class="screen">ldt + hours(5), etc</pre></td></tr>
+</tbody>
+</table></div>
+<a name="local_date_time_tm_func"></a><h3>
+<a name="id2591830"></a>Struct tm Functions</h3>
+<p>Function for converting a <code class="computeroutput">local_date_time</code> object to a <code class="computeroutput">tm</code> struct is provided.</p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">tm to_tm(local_date_time)</pre></td>
+<td>A function for converting a <code class="computeroutput">local_date_time</code> object to a <code class="computeroutput">tm</code> struct.</td>
+</tr>
+<tr><td><pre class="screen">
+// 6am, 2005-Jul-05 local time
+std::string z("EST-05EDT,M4.1.0,M10.1.0");
+ptime pt(date(2005,Jul,5),
+ hours(10));
+time_zone_ptr zone( new posix_time_zone(z));
+local_date_time ldt(pt, zone);
+tm ldt_tm = to_tm(ldt);
+/* tm_year =&gt; 105
+ tm_mon =&gt; 6
+ tm_mday =&gt; 5
+ tm_wday =&gt; 2 (Tuesday)
+ tm_yday =&gt; 185
+ tm_hour =&gt; 6
+ tm_min =&gt; 0
+ tm_sec =&gt; 0
+ tm_isddst =&gt; 1 */</pre></td></tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.local_time.local_time_period"></a>Local Time Period</h4></div></div></div>
+<a href="local_time.html#local_time_period_intro">Introduction</a> --
+ <a href="local_time.html#local_time_period_header">Header</a> --
+ <a href="local_time.html#local_time_period_constr">Construction</a> --
+ <a href="local_time.html#local_time_period_accessors">Accessors</a> --
+ <a href="local_time.html#local_time_period_operators">Operators</a><a name="local_time_period_intro"></a><h3>
+<a name="id2591967"></a>Introduction</h3>
+<p>
+ The class <code class="computeroutput">boost::local_time::local_time_period</code> provides direct representation for ranges between two local times. Periods provide the ability to simplify some types of calculations by simplifying the conditional logic of the program.
+ </p>
+<p>
+ A period that is created with beginning and end points being equal, or with a duration of zero, is known as a zero length period. Zero length periods are considered invalid (it is perfectly legal to construct an invalid period). For these periods, the <code class="computeroutput">last</code> point will always be one unit less that the <code class="computeroutput">begin</code> point.
+ </p>
+<a name="local_time_period_header"></a><h3>
+<a name="id2592008"></a>Header</h3>
+<pre class="programlisting">#include "boost/date_time/local_time/local_time.hpp" //include all types plus i/o
+or
+#include "boost/date_time/local_time/local_time_types.hpp" //no i/o just types</pre>
+<a name="local_time_period_constr"></a><h3>
+<a name="id2592026"></a>Construction</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">local_time_period(...)
+ Parameters:
+ local_date_time beginning
+ local_date_time end</pre></td>
+<td> Create a period as [begin, end). If end is &lt;= begin then the period will be defined as invalid.</td>
+</tr>
+<tr><td><pre class="screen">time_zone_ptr
+ zone(new posix_time_zone("MST-07"));
+local_date_time
+ beg(ptime(date(2005,Jan,1),hours(0)), zone);
+local_date_time
+ end(ptime(date(2005,Feb,1),hours(0)), zone);
+// period for the entire month of Jan 2005
+local_time_period ltp(beg, end);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">local_time_period(...)
+ Parameters:
+ local_date_time beginning
+ time_duration length</pre></td>
+<td>Create a period as [begin, begin+len) where end would be begin+len. If len is &lt;= zero then the period will be defined as invalid.</td>
+</tr>
+<tr><td><pre class="screen">time_zone_ptr
+ zone(new posix_time_zone("MST-07"));
+local_date_time
+ beg(ptime(date(2005,Jan,1),hours(0)), zone);
+// period for the whole day of 2005-Jan-01
+local_time_period ltp(beg, hours(24));</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">local_time_period(local_time_period rhs)</pre></td>
+<td>Copy constructor</td>
+</tr>
+<tr><td><pre class="screen">local_time_period ltp1(ltp);</pre></td></tr>
+</tbody>
+</table></div>
+<a name="local_time_period_accessors"></a><h3>
+<a name="id2592137"></a>Accessors</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">local_date_time begin()</pre></td>
+<td>Return first local_date_time of the period.</td>
+</tr>
+<tr><td><pre class="screen">time_zone_ptr
+ zone(new posix_time_zone("MST-07"));
+local_date_time
+ ldt((ptime(date(2005,Jan,1)),hours(0)), zone);
+local_time_period ltp(ldt, hours(2));
+ltp.begin(); // =&gt; 2005-Jan-01 00:00:00</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">local_date_time last()</pre></td>
+<td>Return last local_date_time in the period</td>
+</tr>
+<tr><td><pre class="screen">time_zone_ptr
+ zone(new posix_time_zone("MST-07"));
+local_date_time
+ ldt((ptime(date(2005,Jan,1),hours(0))), zone);
+local_time_period ltp(ldt, hours(2));
+ltp.last(); // =&gt; 2005-Jan-01 01:59:59.999999999</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">local_date_time end()</pre></td>
+<td>Return one past the last in period</td>
+</tr>
+<tr><td><pre class="screen">time_zone_ptr
+ zone(new posix_time_zone("MST-07"));
+local_date_time
+ ldt((ptime(date(2005,Jan,1),hours(0))), zone);
+local_time_period ltp(ldt, hours(2));
+ltp.end(); // =&gt; 2005-Jan-01 02:00:00</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_duration length()</pre></td>
+<td>Return the length of the local_time period.</td>
+</tr>
+<tr><td><pre class="screen">time_zone_ptr
+ zone(new posix_time_zone("MST-07"));
+local_date_time
+ ldt((ptime(date(2005,Jan,1),hours(0))), zone);
+local_time_period ltp(ldt, hours(2));
+ltp.length(); // =&gt; 02:00:00</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_null()</pre></td>
+<td>True if period is not well formed. eg: end less than or equal to begin.</td>
+</tr>
+<tr><td><pre class="screen">time_zone_ptr
+ zone(new posix_time_zone("MST-07"));
+local_date_time
+ beg((ptime(date(2005,Feb,1),hours(0))), zone);
+local_date_time
+ end((ptime(date(2005,Jan,1),hours(0))), zone);
+local_time_period ltp(beg, end);
+ltp.is_null(); // =&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool contains(local_date_time)</pre></td>
+<td>True if local_date_time is within the period. Zero length periods cannot contain any points</td>
+</tr>
+<tr><td><pre class="screen">time_zone_ptr
+ zone(new posix_time_zone("MST-07"));
+local_date_time
+ beg((ptime(date(2005,Jan,1),hours(0))), zone);
+local_date_time
+ end((ptime(date(2005,Feb,1),hours(0))), zone);
+local_time_period jan_mst(beg, end);
+
+local_date_time
+ldt((ptime(date(2005,Jan,15),hours(12))), zone);
+jan_mst.contains(ldt); // =&gt; true
+
+local_time_period zero(beg, beg);
+zero.contains(beg); // false</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool contains(local_time_period)</pre></td>
+<td>True if period is within the period</td>
+</tr>
+<tr><td><pre class="screen">// using jan_mst period from previous example
+
+local_date_time
+ beg((ptime(date(2005,Jan,7),hours(0))), zone);
+local_time_period ltp(beg, hours(24));
+
+jan_mst.contains(ltp); // =&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool intersects(local_time_period)</pre></td>
+<td> True if periods overlap</td>
+</tr>
+<tr><td><pre class="screen">// using jan_mst period from previous example
+
+local_date_time
+ beg((ptime(date(2005,Jan,7),hours(0))), zone);
+local_date_time
+ end((ptime(date(2005,Feb,7),hours(0))), zone);
+local_time_period ltp(beg, end);
+
+jan_mst.intersects(ltp); // =&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">local_time_period intersection(local_time_period)</pre></td>
+<td>Calculate the intersection of 2 periods. Null if no intersection.</td>
+</tr>
+<tr><td><pre class="screen">// using jan_mst period from previous example
+
+local_date_time
+ beg((ptime(date(2005,Jan,7),hours(0))), zone);
+local_date_time
+ end((ptime(date(2005,Feb,7),hours(0))), zone);
+local_time_period ltp(beg, end);
+
+local_time_period res(jan_mst.intersection(ltp));
+// res =&gt; 2005-Jan-07 00:00:00 through
+// 2005-Jan-31 23:59:59.999999999 (inclusive)</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">local_time_period merge(local_time_period)</pre></td>
+<td>Returns union of two periods. Null if no intersection.</td>
+</tr>
+<tr><td><pre class="screen">// using jan_mst period from previous example
+
+local_date_time
+ beg((ptime(date(2005,Jan,7),hours(0))), zone);
+local_date_time
+ end((ptime(date(2005,Feb,7),hours(0))), zone);
+local_time_period ltp(beg, end);
+
+local_time_period res(jan_mst.merge(ltp));
+// res =&gt; 2005-Jan-07 00:00:00 through
+// 2005-Feb-06 23:59:59.999999999 (inclusive)</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">local_time_period span(local_time_period)</pre></td>
+<td>Combines two periods and any gap between them such that begin = min(p1.begin, p2.begin) and end = max(p1.end , p2.end).</td>
+</tr>
+<tr><td><pre class="screen">// using jan_mst period from previous example
+
+local_date_time
+ beg((ptime(date(2005,Mar,1),hours(0))), zone);
+local_date_time
+ end((ptime(date(2005,Apr,1),hours(0))), zone);
+local_time_period mar_mst(beg, end);
+
+local_time_period res(jan_mst.span(mar_mst));
+// res =&gt; 2005-Jan-01 00:00:00 through
+// 2005-Mar-31 23:59:59.999999999 (inclusive)</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">void shift(time_duration)</pre></td>
+<td>Add duration to both begin and end.</td>
+</tr>
+<tr><td><pre class="screen">local_date_time
+ beg((ptime(date(2005,Mar,1),hours(0))), zone);
+local_date_time
+ end((ptime(date(2005,Apr,1),hours(0))), zone);
+local_time_period mar_mst(beg, end);
+
+mar_mst.shift(hours(48));
+// mar_mst =&gt; 2005-Mar-03 00:00:00 through
+// 2005-Apr-02 23:59:59.999999999 (inclusive)</pre></td></tr>
+</tbody>
+</table></div>
+<a name="local_time_period_operators"></a><h3>
+<a name="id2592515"></a>Operators</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator==, operator!=</pre></td>
+<td>Equality operators. Periods are equal if ltp1.begin == ltp2.begin &amp;&amp; ltp1.last == ltp2.last</td>
+</tr>
+<tr><td><pre class="screen">if (ltp1 == ltp2) {...</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator&lt;</pre></td>
+<td>Ordering with no overlap. True if ltp1.end() less than ltp2.begin()</td>
+</tr>
+<tr><td><pre class="screen">if (ltp1 &lt; ltp2) {...</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator&gt;</pre></td>
+<td>Ordering with no overlap. True if ltp1.begin() greater than ltp2.end()</td>
+</tr>
+<tr><td><pre class="screen">if (ltp1 &gt; ltp2) {... etc</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator&lt;=, operator&gt;=</pre></td>
+<td>Defined in terms of the other operators.</td>
+</tr>
+<tr><td> </td></tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="posix_time.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../date_time.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="date_time_io.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/date_time/posix_time.html b/doc/html/date_time/posix_time.html
new file mode 100644
index 0000000000..70eb3df0ab
--- /dev/null
+++ b/doc/html/date_time/posix_time.html
@@ -0,0 +1,1300 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Posix Time</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../date_time.html" title="Chapter 3. Boost.Date_Time">
+<link rel="prev" href="gregorian.html" title="Gregorian">
+<link rel="next" href="local_time.html" title="Local Time">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="gregorian.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../date_time.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="local_time.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="date_time.posix_time"></a>Posix Time</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="posix_time.html#date_time.posix_time.ptime_class">Ptime</a></span></dt>
+<dt><span class="section"><a href="posix_time.html#date_time.posix_time.time_duration">Time Duration</a></span></dt>
+<dt><span class="section"><a href="posix_time.html#date_time.posix_time.time_period">Time Period</a></span></dt>
+<dt><span class="section"><a href="posix_time.html#date_time.posix_time.time_iterators">Time Iterators</a></span></dt>
+</dl></div>
+<h2>
+<a name="id2584238"></a>Posix Time System</h2>
+<p><a href="posix_time.html#posix_intro">Introduction</a> --
+ <a href="posix_time.html#posix_ex">Usage Examples</a></p>
+<a name="posix_intro"></a><h3>
+<a name="id2584264"></a>Introduction</h3>
+<p>
+ Defines a non-adjusted time system with nano-second/micro-second resolution and stable calculation properties. The nano-second resolution option uses 96 bits of underlying storage for each ptime while the micro-second resolution uses 64 bits per ptime (see <a href="details.html#date_time.buildinfo" title="Build-Compiler Information">Build Options</a> for details). This time system uses the Gregorian calendar to implement the date portion of the time representation.
+ </p>
+<a name="posix_ex"></a><h3>
+<a name="id2584291"></a>Usage Examples</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Example</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><a href="examples.html#date_time.examples.time_math" title="Time Math">Time Math</a></td>
+<td>A few simple calculations using ptime and time_durations.</td>
+</tr>
+<tr>
+<td><a href="examples.html#date_time.examples.print_hours" title="Print Hours">Print Hours</a></td>
+<td>Retrieve time from clock, use a time_iterator.</td>
+</tr>
+<tr>
+<td><a href="examples.html#date_time.examples.local_utc_conversion" title="Local to UTC Conversion">Local to UTC Conversion</a></td>
+<td>Demonstrates a couple different ways to convert a local to UTC time including daylight savings rules.</td>
+</tr>
+<tr>
+<td><a href="examples.html#date_time.examples.time_periods" title="Time Periods">Time Periods</a></td>
+<td>Some simple examples of intersection and display of time periods.</td>
+</tr>
+</tbody>
+</table></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.posix_time.ptime_class"></a>Ptime</h4></div></div></div>
+<a href="posix_time.html#ptime_intro">Introduction</a> --
+ <a href="posix_time.html#ptime_header">Header</a> --
+ <a href="posix_time.html#ptime_constr">Construction</a> --
+ <a href="posix_time.html#ptime_from_string">Construct from String</a> --
+ <a href="posix_time.html#ptime_from_clock">Construct from Clock</a> --
+ <a href="posix_time.html#ptime_from_funcs">Construct using Conversion functions</a> --
+ <a href="posix_time.html#ptime_accessors">Accessors</a> --
+ <a href="posix_time.html#ptime_to_string">Conversion To String</a> --
+ <a href="posix_time.html#ptime_operators">Operators</a> --
+ <a href="posix_time.html#ptime_struct_tm">Struct tm, time_t, and FILETIME Functions</a><a name="ptime_intro"></a><h3>
+<a name="id2584462"></a>Introduction</h3>
+<p>
+ The class boost::posix_time::ptime is the primary interface for time point manipulation. In general, the ptime class is immutable once constructed although it does allow assignment.
+ </p>
+<p>
+ Class ptime is dependent on <a href="gregorian.html#date_time.gregorian.date_class" title="Date">gregorian::date</a> for the interface to the date portion of a time point.
+ </p>
+<p>
+ Other techniques for creating times include <a href="posix_time.html#date_time.posix_time.time_iterators" title="Time Iterators">time iterators</a>.
+ </p>
+<a name="ptime_header"></a><h3>
+<a name="id2584500"></a>Header</h3>
+<pre class="programlisting">#include "boost/date_time/posix_time/posix_time.hpp" //include all types plus i/o
+or
+#include "boost/date_time/posix_time/posix_time_types.hpp" //no i/o just types</pre>
+<a name="ptime_constr"></a><h3>
+<a name="id2584518"></a>Construction</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime(date,time_duration)</pre></td>
+<td>Construct from a date and offset</td>
+</tr>
+<tr><td><pre class="screen">ptime t1(date(2002,Jan,10),
+ time_duration(1,2,3));
+ptime t2(date(2002,Jan,10),
+ hours(1)+nanosec(5));</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime(ptime)</pre></td>
+<td>Copy constructor</td>
+</tr>
+<tr><td><pre class="screen">ptime t3(t1)</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime(special_values sv)</pre></td>
+<td>Constructor for infinities, not-a-date-time, max_date_time, and min_date_time</td>
+</tr>
+<tr><td><pre class="screen">ptime d1(neg_infin);
+ptime d2(pos_infin);
+ptime d3(not_a_date_time);
+ptime d4(max_date_time);
+ptime d5(min_date_time);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime;</pre></td>
+<td>Default constructor. Creates a ptime object initialized to not_a_date_time. NOTE: this constructor can be disabled by defining DATE_TIME_NO_DEFAULT_CONSTRUCTOR (see compiler_config.hpp)</td>
+</tr>
+<tr><td><pre class="screen">ptime p; // p =&gt; not_a_date_time</pre></td></tr>
+</tbody>
+</table></div>
+<a name="ptime_from_string"></a><h3>
+<a name="id2584640"></a>Construct from String</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime time_from_string(std::string)</pre></td>
+<td>From delimited string. NOTE: Excess digits in fractional seconds will be dropped. Ex: "1:02:03.123456999" =&gt; 1:02:03.123456. This behavior is affected by the precision the library is compiled with (see <a href="details.html#date_time.buildinfo" title="Build-Compiler Information">Build-Compiler Information</a>.</td>
+</tr>
+<tr><td><pre class="screen">std::string ts("2002-01-20 23:59:59.000");
+ptime t(time_from_string(ts))</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime from_iso_string(std::string)</pre></td>
+<td>From non delimited iso form string.</td>
+</tr>
+<tr><td><pre class="screen">std::string ts("20020131T235959");
+ptime t(from_iso_string(ts))</pre></td></tr>
+</tbody>
+</table></div>
+<a name="ptime_from_clock"></a><h3>
+<a name="id2584726"></a>Construct from Clock</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime second_clock::local_time()</pre></td>
+<td>Get the local time, second level resolution, based on the time zone settings of the computer.</td>
+</tr>
+<tr><td><pre class="screen">ptime t(second_clock::local_time());</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime second_clock::universal_time()</pre></td>
+<td>Get the UTC time.</td>
+</tr>
+<tr><td><pre class="screen">ptime t(second_clock::universal_time())</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime microsec_clock::local_time()</pre></td>
+<td>Get the local time using a sub second resolution clock. On Unix systems this is implemented using GetTimeOfDay. On most Win32 platforms it is implemented using ftime. Win32 systems often do not achieve microsecond resolution via this API. If higher resolution is critical to your application test your platform to see the achieved resolution.</td>
+</tr>
+<tr><td><pre class="screen">ptime t(microsec_clock::local_time());</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime microsec_clock::universal_time()</pre></td>
+<td>Get the UTC time using a sub second resolution clock. On Unix systems this is implemented using GetTimeOfDay. On most Win32 platforms it is implemented using ftime. Win32 systems often do not achieve microsecond resolution via this API. If higher resolution is critical to your application test your platform to see the achieved resolution.</td>
+</tr>
+<tr><td><pre class="screen">ptime t(microsec_clock::universal_time());</pre></td></tr>
+</tbody>
+</table></div>
+<a name="ptime_from_funcs"></a><h3>
+<a name="id2584856"></a>Construct using Conversion Functions</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime from_time_t(time_t t);</pre></td>
+<td>Converts a time_t into a ptime.</td>
+</tr>
+<tr><td><pre class="screen">ptime t = from_time_t(tt);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime from_ftime&lt;ptime&gt;(FILETIME ft);</pre></td>
+<td>Creates a ptime object from a FILETIME structure.</td>
+</tr>
+<tr><td><pre class="screen">ptime t = from_ftime&lt;ptime&gt;(ft);</pre></td></tr>
+</tbody>
+</table></div>
+<a name="ptime_accessors"></a><h3>
+<a name="id2584933"></a>Accessors</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date date()</pre></td>
+<td>Get the date part of a time.</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,10);
+ptime t(d, hour(1));
+t.date() --&gt; 2002-Jan-10;</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_duration time_of_day()</pre></td>
+<td>Get the time offset in the day.</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,10);
+ptime t(d, hour(1));
+t.time_of_day() --&gt; 01:00:00;</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_infinity() const</pre></td>
+<td>Returns true if ptime is either positive or negative infinity</td>
+</tr>
+<tr><td><pre class="screen">ptime pt(pos_infin);
+pt.is_infinity(); // --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_neg_infinity() const</pre></td>
+<td>Returns true if ptime is negative infinity</td>
+</tr>
+<tr><td><pre class="screen">ptime pt(neg_infin);
+pt.is_neg_infinity(); // --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_pos_infinity() const</pre></td>
+<td>Returns true if ptime is positive infinity</td>
+</tr>
+<tr><td><pre class="screen">ptime pt(neg_infin);
+pt.is_pos_infinity(); // --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_not_a_date_time() const</pre></td>
+<td>Returns true if value is not a ptime</td>
+</tr>
+<tr><td><pre class="screen">ptime pt(not_a_date_time);
+pt.is_not_a_date_time(); // --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_special() const</pre></td>
+<td>Returns true if ptime is any <code class="computeroutput">special_value</code>
+</td>
+</tr>
+<tr><td><pre class="screen">ptime pt(pos_infin);
+ptime pt2(not_a_date_time);
+ptime pt3(date(2005,Mar,1), hours(10));
+pt.is_special(); // --&gt; true
+pt2.is_special(); // --&gt; true
+pt3.is_special(); // --&gt; false</pre></td></tr>
+</tbody>
+</table></div>
+<a name="ptime_to_string"></a><h3>
+<a name="id2585132"></a>Conversion to String</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string to_simple_string(ptime)</pre></td>
+<td>To <code class="computeroutput">YYYY-mmm-DD HH:MM:SS.fffffffff</code> string where <code class="computeroutput">mmm</code> 3 char month name. Fractional seconds only included if non-zero.</td>
+</tr>
+<tr><td><pre class="screen">2002-Jan-01 10:00:01.123456789</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string to_iso_string(ptime)</pre></td>
+<td>Convert to form <code class="computeroutput">YYYYMMDDTHHMMSS,fffffffff</code> where <code class="computeroutput">T</code> is the date-time separator</td>
+</tr>
+<tr><td><pre class="screen">20020131T100001,123456789</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string to_iso_extended_string(ptime)</pre></td>
+<td>Convert to form <code class="computeroutput">YYYY-MM-DDTHH:MM:SS,fffffffff</code> where <code class="computeroutput">T</code> is the date-time separator</td>
+</tr>
+<tr><td><pre class="screen">2002-01-31T10:00:01,123456789</pre></td></tr>
+</tbody>
+</table></div>
+<a name="ptime_operators"></a><h3>
+<a name="id2585265"></a>Operators</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator&lt;&lt;, operator&gt;&gt;</pre></td>
+<td>Streaming operators. <span class="strong"><strong>Note:</strong></span> As of version 1.33, streaming operations have been greatly improved. See <a href="date_time_io.html" title="Date Time Input/Output">Date Time IO System</a> for more details (including exceptions and error conditions).</td>
+</tr>
+<tr><td><pre class="screen">ptime pt(not_a_date_time);
+stringstream ss("2002-Jan-01 14:23:11");
+ss &gt;&gt; pt;
+std::cout &lt;&lt; pt; // "2002-Jan-01 14:23:11"
+ </pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator==, operator!=,
+operator&gt;, operator&lt;,
+operator&gt;=, operator&lt;=</pre></td>
+<td>A full complement of comparison operators</td>
+</tr>
+<tr><td><pre class="screen">t1 == t2, etc</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime operator+(days)</pre></td>
+<td>Return a ptime adding a day offset</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,1);
+ptime t(d,minutes(5));
+days dd(1);
+ptime t2 = t + dd;</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime operator-(days)</pre></td>
+<td>Return a ptime subtracting a day offset</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,1);
+ptime t(d,minutes(5));
+days dd(1);
+ptime t2 = t - dd;</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime operator+(time_duration)</pre></td>
+<td>Return a ptime adding a time duration</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,1);
+ptime t(d,minutes(5));
+ptime t2 = t + hours(1) + minutes(2);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime operator-(time_duration)</pre></td>
+<td>Return a ptime subtracting a time duration</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,1);
+ptime t(d,minutes(5));
+ptime t2 = t - minutes(2);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_duration operator-(ptime)</pre></td>
+<td>Take the difference between two times.</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,1);
+ptime t1(d,minutes(5));
+ptime t2(d,seconds(5));
+time_duration t3 = t2 - t1;//negative result</pre></td></tr>
+</tbody>
+</table></div>
+<a name="ptime_struct_tm"></a><h3>
+<a name="id2585472"></a>Struct tm, time_t, and FILETIME Functions</h3>
+<p>Functions for converting posix_time objects to, and from, <code class="computeroutput">tm</code> structs are provided as well as conversion from <code class="computeroutput">time_t</code> and <code class="computeroutput">FILETIME</code>.</p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">tm to_tm(ptime)</pre></td>
+<td>A function for converting a <code class="computeroutput">ptime</code> object to a <code class="computeroutput">tm</code> struct. The <code class="computeroutput">tm_isdst</code> field is set to -1.</td>
+</tr>
+<tr><td><pre class="screen">ptime pt(date(2005,Jan,1), time_duration(1,2,3));
+tm pt_tm = to_tm(pt);
+/* tm_year =&gt; 105
+ tm_mon =&gt; 0
+ tm_mday =&gt; 1
+ tm_wday =&gt; 6 (Saturday)
+ tm_yday =&gt; 0
+ tm_hour =&gt; 1
+ tm_min =&gt; 2
+ tm_sec =&gt; 3
+ tm_isddst =&gt; -1 */</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date date_from_tm(tm datetm)</pre></td>
+<td>A function for converting a <code class="computeroutput">tm</code> struct to a <code class="computeroutput">date</code> object. The fields: <code class="computeroutput">tm_wday </code>, <code class="computeroutput">tm_yday </code>, and <code class="computeroutput">tm_isdst</code> are ignored.</td>
+</tr>
+<tr><td><pre class="screen">tm pt_tm;
+pt_tm.tm_year = 105;
+pt_tm.tm_mon = 0;
+pt_tm.tm_mday = 1;
+pt_tm.tm_hour = 1;
+pt_tm.tm_min = 2;
+pt_tm.tm_sec = 3;
+ptime pt = ptime_from_tm(pt_tm);
+// pt =&gt; 2005-Jan-01 01:02:03</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">tm to_tm(time_duration)</pre></td>
+<td>A function for converting a <code class="computeroutput">time_duration</code> object to a <code class="computeroutput">tm</code> struct. The fields: <code class="computeroutput">tm_year</code>, <code class="computeroutput">tm_mon</code>, <code class="computeroutput">tm_mday</code>, <code class="computeroutput">tm_wday</code>, <code class="computeroutput">tm_yday</code> are set to zero. The <code class="computeroutput">tm_isdst</code> field is set to -1.</td>
+</tr>
+<tr><td><pre class="screen">time_duration td(1,2,3);
+tm td_tm = to_tm(td);
+/* tm_year =&gt; 0
+ tm_mon =&gt; 0
+ tm_mday =&gt; 0
+ tm_wday =&gt; 0
+ tm_yday =&gt; 0
+ tm_hour =&gt; 1
+ tm_min =&gt; 2
+ tm_sec =&gt; 3
+ tm_isddst =&gt; -1 */</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime from_time_t(std::time_t)</pre></td>
+<td>Creates a <code class="computeroutput">ptime</code> from the time_t parameter. The seconds held in the time_t are added to a time point of 1970-Jan-01.</td>
+</tr>
+<tr><td><pre class="screen">ptime pt(not_a_date_time);
+std::time_t t;
+t = 1118158776;
+pt = from_time_t(t);
+// pt =&gt; 2005-Jun-07 15:39:36</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime from_ftime&lt;ptime&gt;(FILETIME)</pre></td>
+<td>A template function that constructs a <code class="computeroutput">ptime</code> from a FILETIME struct.</td>
+</tr>
+<tr><td><pre class="screen">FILETIME ft;
+ft.dwHighDateTime = 29715317;
+ft.dwLowDateTime = 3865122988UL;
+ptime pt = from_ftime&lt;ptime&gt;(ft);
+// pt =&gt; 2005-Jun-07 15:30:57.039582000</pre></td></tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.posix_time.time_duration"></a>Time Duration</h4></div></div></div>
+<a href="posix_time.html#time_duration_intro">Introduction</a> --
+ <a href="posix_time.html#time_duration_header">Header</a> --
+ <a href="posix_time.html#time_duration_constr">Construction</a> --
+ <a href="posix_time.html#time_duration_count_constr">Count Based Construction</a> --
+ <a href="posix_time.html#time_duration_from_string">Construct from String</a> --
+ <a href="posix_time.html#time_duration_accessors">Accessors</a> --
+ <a href="posix_time.html#time_duration_to_string">Conversion To String</a> --
+ <a href="posix_time.html#time_duration_operators">Operators</a> --
+ <a href="posix_time.html#time_duration_struct_tm">Struct tm Functions</a><a name="time_duration_intro"></a><h3>
+<a name="id2585847"></a>Introduction</h3>
+<p>
+ The class boost::posix_time::time_duration the base type responsible for representing a length of time. A duration can be either positive or negative. The general time_duration class provides a constructor that takes a count of the number of hours, minutes, seconds, and fractional seconds count as shown in the code fragment below. The resolution of the time_duration is configure able at compile time. See <a href="details.html#date_time.buildinfo" title="Build-Compiler Information">Build-Compiler Information</a> for more information.
+ </p>
+<pre class="programlisting">using namespace boost::posix_time;
+time_duration td(1,2,3,4); //01:02:03.000000004 when resolution is nano seconds
+time_duration td(1,2,3,4); //01:02:03.000004 when resolution is micro seconds</pre>
+<p>
+ Several small helper classes that derive from a base time_duration, as shown below, to adjust for different resolutions. These classes can shorten code and make the intent clearer.
+ </p>
+<img src="../../../libs/date_time/doc/time_duration_inherit.png"><p>
+ As an example:
+ </p>
+<pre class="programlisting">using namespace boost::posix_time;
+
+time_duration td = hours(1) + seconds(10); //01:00:01
+td = hours(1) + nanoseconds(5); //01:00:00.000000005</pre>
+<p>
+ Note that the existence of the higher resolution classes (eg: nanoseconds) depends on the installation of the library. See <a href="details.html#date_time.buildinfo" title="Build-Compiler Information">Build-Compiler Information</a> for more information.
+ </p>
+<p>
+ Another way to handle this is to utilize the ticks_per_second() method of time_duration to
+ write code that is portable no matter how the library is compiled. The general equation
+ for calculating a resolution independent count is as follows:
+
+ </p>
+<pre class="programlisting">
+count*(time_duration_ticks_per_second / count_ticks_per_second)
+ </pre>
+<p>
+
+ For example, let's suppose we want to construct using a count that represents tenths
+ of a second. That is, each tick is 0.1 second.
+ </p>
+<pre class="programlisting">
+int number_of_tenths = 5;
+//create a resolution independent count -- divide by 10 since there are
+//10 tenths in a second.
+int count = number_of_tenths*(time_duration::ticks_per_second()/10);
+time_duration td(1,2,3,count); //01:02:03.5 //no matter the resolution settings
+ </pre>
+<a name="time_duration_header"></a><h3>
+<a name="id2585939"></a>Header</h3>
+<pre class="programlisting">#include "boost/date_time/posix_time/posix_time.hpp" //include all types plus i/o
+or
+#include "boost/date_time/posix_time/posix_time_types.hpp" //no i/o just types</pre>
+<a name="time_duration_constr"></a><h3>
+<a name="id2585957"></a>Construction</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_duration(hours,
+ minutes,
+ seconds,
+ fractional_seconds)</pre></td>
+<td>Construct a duration from the counts. The fractional_second parameter is a number of units and is therefore affected by the resolution the application is compiled with (see <a href="details.html#compile_options">Build-Compiler Information</a>). If the fractional_seconds argument exceeds the limit of the compiled precision, the excess value will be "carried over" into the seconds field. See above for techniques to creating a resolution independent count.</td>
+</tr>
+<tr><td><pre class="screen">time_duration td(1,2,3,9);
+//1 hr 2 min 3 sec 9 nanoseconds
+time_duration td2(1,2,3,123456789);
+time_duration td3(1,2,3,1000);
+// with microsecond resolution (6 digits)
+// td2 =&gt; "01:04:06.456789"
+// td3 =&gt; "01:02:03.001000"
+// with nanosecond resolution (9 digits)
+// td2 =&gt; "01:02:03.123456789"
+// td3 =&gt; "01:02:03.000001000"</pre></td></tr>
+<tr>
+<td valign="top"><pre class="screen">time_duration(special_value sv)</pre></td>
+<td>Special values constructor. <span class="strong"><strong>Important note</strong></span>: When a time_duration is a special value, either by construction or other means, the following accessor functions will give unpredictable results: <pre class="screen">hours(), minutes(), seconds(), ticks(),
+fractional_seconds(), total_nanoseconds(),
+total_microseconds(), total_milliseconds(),
+total_seconds()</pre>The remaining accessor functions will work as expected.</td>
+</tr>
+</tbody>
+</table></div>
+<a name="time_duration_count_constr"></a><h3>
+<a name="id2586061"></a>Count Based Construction</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">hours(long)</pre></td>
+<td>Number of hours</td>
+</tr>
+<tr><td><pre class="screen">time_duration td = hours(3);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">minutes(long)</pre></td>
+<td>Number of minutes</td>
+</tr>
+<tr><td><pre class="screen">time_duration td = minutes(3);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">seconds(long)</pre></td>
+<td> Number of seconds</td>
+</tr>
+<tr><td><pre class="screen">time_duration td = seconds(3);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">milliseconds(long)</pre></td>
+<td>Number of milliseconds.</td>
+</tr>
+<tr><td><pre class="screen">time_duration td = milliseconds(3);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">microseconds(long)</pre></td>
+<td>Number of microseconds.</td>
+</tr>
+<tr><td><pre class="screen">time_duration td = microseconds(3);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">nanoseconds(long)</pre></td>
+<td>Number of nanoseconds.</td>
+</tr>
+<tr><td><pre class="screen">time_duration td = nanoseconds(3);</pre></td></tr>
+</tbody>
+</table></div>
+<a name="time_duration_from_string"></a><h3>
+<a name="id2586220"></a>Construct from String</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_duration duration_from_string(std::string)</pre></td>
+<td>From delimited string. NOTE: Excess digits in fractional seconds will be dropped. Ex: "1:02:03.123456999" =&gt; 1:02:03.123456. This behavior is affected by the precision the library is compiled with (see <a href="details.html#date_time.buildinfo" title="Build-Compiler Information">Build-Compiler Information</a>.</td>
+</tr>
+<tr><td><pre class="screen">std::string ts("23:59:59.000");
+time_duration td(duration_from_string(ts));</pre></td></tr>
+</tbody>
+</table></div>
+<a name="time_duration_accessors"></a><h3>
+<a name="id2586285"></a>Accessors</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">long hours()</pre></td>
+<td>Get the number of normalized hours (will give unpredictable results if calling <code class="computeroutput">time_duration</code> is a <code class="computeroutput">special_value</code>).</td>
+</tr>
+<tr><td><pre class="screen">time_duration td(1,2,3);
+time_duration neg_td(-1,2,3);
+td.hours(); // --&gt; 1
+neg_td.hours(); // --&gt; -1</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">long minutes()</pre></td>
+<td>Get the number of minutes normalized +/-(0..59) (will give unpredictable results if calling <code class="computeroutput">time_duration</code> is a <code class="computeroutput">special_value</code>).</td>
+</tr>
+<tr><td><pre class="screen">time_duration td(1,2,3);
+time_duration neg_td(-1,2,3);
+td.minutes(); // --&gt; 2
+neg_td.minutes(); // --&gt; -2</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">long seconds()</pre></td>
+<td>Get the normalized number of second +/-(0..59) (will give unpredictable results if calling <code class="computeroutput">time_duration</code> is a <code class="computeroutput">special_value</code>).</td>
+</tr>
+<tr><td><pre class="screen">time_duration td(1,2,3);
+time_duration neg_td(-1,2,3);
+td.seconds(); // --&gt; 3
+neg_td.seconds(); // --&gt; -3</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">long total_seconds()</pre></td>
+<td>Get the total number of seconds truncating any fractional seconds (will give unpredictable results if calling <code class="computeroutput">time_duration</code> is a <code class="computeroutput">special_value</code>).</td>
+</tr>
+<tr><td><pre class="screen">time_duration td(1,2,3,10);
+td.total_seconds();
+// --&gt; (1*3600) + (2*60) + 3 == 3723</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">long total_milliseconds()</pre></td>
+<td>Get the total number of milliseconds truncating any remaining digits (will give unpredictable results if calling <code class="computeroutput">time_duration</code> is a <code class="computeroutput">special_value</code>).</td>
+</tr>
+<tr><td><pre class="screen">time_duration td(1,2,3,123456789);
+td.total_milliseconds();
+// HMS --&gt; (1*3600) + (2*60) + 3 == 3723 seconds
+// milliseconds is 3 decimal places
+// (3723 * 1000) + 123 == 3723123</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">long total_microseconds()</pre></td>
+<td>Get the total number of microseconds truncating any remaining digits (will give unpredictable results if calling <code class="computeroutput">time_duration</code> is a <code class="computeroutput">special_value</code>).</td>
+</tr>
+<tr><td><pre class="screen">time_duration td(1,2,3,123456789);
+td.total_microseconds();
+// HMS --&gt; (1*3600) + (2*60) + 3 == 3723 seconds
+// microseconds is 6 decimal places
+// (3723 * 1000000) + 123456 == 3723123456</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">long total_nanoseconds()</pre></td>
+<td>Get the total number of nanoseconds truncating any remaining digits (will give unpredictable results if calling <code class="computeroutput">time_duration</code> is a <code class="computeroutput">special_value</code>).</td>
+</tr>
+<tr><td><pre class="screen">time_duration td(1,2,3,123456789);
+td.total_nanoseconds();
+// HMS --&gt; (1*3600) + (2*60) + 3 == 3723 seconds
+// nanoseconds is 9 decimal places
+// (3723 * 1000000000) + 123456789
+// == 3723123456789</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">long fractional_seconds()</pre></td>
+<td>Get the number of fractional seconds (will give unpredictable results if calling <code class="computeroutput">time_duration</code> is a <code class="computeroutput">special_value</code>).</td>
+</tr>
+<tr><td><pre class="screen">time_duration td(1,2,3, 1000);
+td.fractional_seconds(); // --&gt; 1000</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_negative()</pre></td>
+<td>True if duration is negative.</td>
+</tr>
+<tr><td><pre class="screen">time_duration td(-1,0,0);
+td.is_negative(); // --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_duration invert_sign()</pre></td>
+<td>Generate a new duration with the sign inverted/</td>
+</tr>
+<tr><td><pre class="screen">time_duration td(-1,0,0);
+td.invert_sign(); // --&gt; 01:00:00</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">date_time::time_resolutions resolution()</pre></td>
+<td>Describes the resolution capability of the time_duration class. time_resolutions is an enum of resolution possibilities ranging from seconds to nanoseconds.</td>
+</tr>
+<tr><td><pre class="screen">time_duration::resolution() --&gt; nano</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_duration::num_fractional_digits()</pre></td>
+<td>Returns an unsigned short holding the number of fractional digits the time resolution has.</td>
+</tr>
+<tr><td><pre class="screen">unsigned short secs;
+secs = time_duration::num_fractional_digits();
+// 9 for nano, 6 for micro, etc.</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_duration::ticks_per_second()</pre></td>
+<td>Return the number of ticks in a second. For example, if the duration supports nanoseconds then the returned result will be 1000000.</td>
+</tr>
+<tr><td><pre class="screen">std::cout &lt;&lt; time_duration::ticks_per_second();</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">boost::int64_t ticks()</pre></td>
+<td>Return the raw count of the duration type (will give unpredictable results if calling <code class="computeroutput">time_duration</code> is a <code class="computeroutput">special_value</code>).</td>
+</tr>
+<tr><td><pre class="screen">time_duration td(0,0,0, 1000);
+td.ticks() // --&gt; 1000</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_duration unit()</pre></td>
+<td>Return smallest possible unit of duration type (1 nanosecond).</td>
+</tr>
+<tr><td><pre class="screen">time_duration::unit() --&gt; time_duration(0,0,0,1)</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_neg_infinity() const</pre></td>
+<td>Returns true if time_duration is negative infinity</td>
+</tr>
+<tr><td><pre class="screen">time_duration td(neg_infin);
+td.is_neg_infinity(); // --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_pos_infinity() const</pre></td>
+<td>Returns true if time_duration is positive infinity</td>
+</tr>
+<tr><td><pre class="screen">time_duration td(neg_infin);
+td.is_pos_infinity(); // --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_not_a_date_time() const</pre></td>
+<td>Returns true if value is not a time</td>
+</tr>
+<tr><td><pre class="screen">time_duration td(not_a_date_time);
+td.is_not_a_date_time(); // --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_special() const</pre></td>
+<td>Returns true if time_duration is any <code class="computeroutput">special_value</code>
+</td>
+</tr>
+<tr><td><pre class="screen">time_duration td(pos_infin);
+time_duration td2(not_a_date_time);
+time_duration td3(2,5,10);
+td.is_special(); // --&gt; true
+td2.is_special(); // --&gt; true
+td3.is_special(); // --&gt; false</pre></td></tr>
+</tbody>
+</table></div>
+<a name="time_duration_to_string"></a><h3>
+<a name="id2586902"></a>Conversion To String</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string to_simple_string(time_duration)</pre></td>
+<td>To <code class="computeroutput">HH:MM:SS.fffffffff</code> were <code class="computeroutput">fff</code> is fractional seconds that are only included if non-zero.</td>
+</tr>
+<tr><td><pre class="screen">10:00:01.123456789</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string to_iso_string(time_duration)</pre></td>
+<td>Convert to form <code class="computeroutput">HHMMSS,fffffffff</code>.</td>
+</tr>
+<tr><td><pre class="screen">100001,123456789</pre></td></tr>
+</tbody>
+</table></div>
+<a name="time_duration_operators"></a><h3>
+<a name="id2586995"></a>Operators</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator&lt;&lt;, operator&gt;&gt;</pre></td>
+<td>Streaming operators. <span class="strong"><strong>Note:</strong></span> As of version 1.33, streaming operations have been greatly improved. See <a href="date_time_io.html" title="Date Time Input/Output">Date Time IO System</a> for more details (including exceptions and error conditions).</td>
+</tr>
+<tr><td><pre class="screen">time_duration td(0,0,0);
+stringstream ss("14:23:11.345678");
+ss &gt;&gt; td;
+std::cout &lt;&lt; td; // "14:23:11.345678"
+ </pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator==, operator!=,
+operator&gt;, operator&lt;,
+operator&gt;=, operator&lt;=</pre></td>
+<td>A full complement of comparison operators</td>
+</tr>
+<tr><td><pre class="screen">dd1 == dd2, etc</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_duration operator+(time_duration)</pre></td>
+<td>Add durations.</td>
+</tr>
+<tr><td><pre class="screen">time_duration td1(hours(1)+minutes(2));
+time_duration td2(seconds(10));
+time_duration td3 = td1 + td2;</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_duration operator-(time_duration)</pre></td>
+<td>Subtract durations.</td>
+</tr>
+<tr><td><pre class="screen">time_duration td1(hours(1)+nanoseconds(2));
+time_duration td2 = td1 - minutes(1);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_duration operator/(int)</pre></td>
+<td>Divide the length of a duration by an integer value. Discards any remainder.</td>
+</tr>
+<tr><td><pre class="screen">hours(3)/2 == time_duration(1,30,0);
+nanosecond(3)/2 == nanosecond(1);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_duration operator*(int)</pre></td>
+<td>Multiply the length of a duration by an integer value.</td>
+</tr>
+<tr><td><pre class="screen">hours(3)*2 == hours(6);</pre></td></tr>
+</tbody>
+</table></div>
+<a name="time_duration_struct_tm"></a><h3>
+<a name="id2587178"></a>Struct tm, time_t, and FILETIME Functions</h3>
+<p>Function for converting a time_duration to a <code class="computeroutput">tm</code> struct is provided.</p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">tm to_tm(time_duration)</pre></td>
+<td>A function for converting a <code class="computeroutput">time_duration</code> object to a <code class="computeroutput">tm</code> struct. The fields: <code class="computeroutput">tm_year</code>, <code class="computeroutput">tm_mon</code>, <code class="computeroutput">tm_mday</code>, <code class="computeroutput">tm_wday</code>, <code class="computeroutput">tm_yday</code> are set to zero. The <code class="computeroutput">tm_isdst</code> field is set to -1.</td>
+</tr>
+<tr><td><pre class="screen">time_duration td(1,2,3);
+tm td_tm = to_tm(td);
+/* tm_year =&gt; 0
+ tm_mon =&gt; 0
+ tm_mday =&gt; 0
+ tm_wday =&gt; 0
+ tm_yday =&gt; 0
+ tm_hour =&gt; 1
+ tm_min =&gt; 2
+ tm_sec =&gt; 3
+ tm_isddst =&gt; -1 */</pre></td></tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.posix_time.time_period"></a>Time Period</h4></div></div></div>
+<a href="posix_time.html#time_period_intro">Introduction</a> --
+ <a href="posix_time.html#time_period_header">Header</a> --
+ <a href="posix_time.html#time_period_constr">Construction</a> --
+ <a href="posix_time.html#time_period_accessors">Accessors</a> --
+ <a href="posix_time.html#time_period_to_string">Conversion To String</a> --
+ <a href="posix_time.html#time_period_operators">Operators</a><a name="time_period_intro"></a><h3>
+<a name="id2587351"></a>Introduction</h3>
+<p>
+ The class boost::posix_time::time_period provides direct representation for ranges between two times. Periods provide the ability to simplify some types of calculations by simplifying the conditional logic of the program.
+ </p>
+<p>
+ A period that is created with beginning and end points being equal, or with a duration of zero, is known as a zero length period. Zero length periods are considered invalid (it is perfectly legal to construct an invalid period). For these periods, the <code class="computeroutput">last</code> point will always be one unit less that the <code class="computeroutput">begin</code> point.
+ </p>
+<p>
+ The <a href="examples.html#date_time.examples.time_periods" title="Time Periods">time periods example</a> provides an example of using time periods.
+ </p>
+<a name="time_period_header"></a><h3>
+<a name="id2587397"></a>Header</h3>
+<pre class="programlisting">#include "boost/date_time/posix_time/posix_time.hpp" //include all types plus i/o
+or
+#include "boost/date_time/posix_time/posix_time_types.hpp" //no i/o just types</pre>
+<a name="time_period_constr"></a><h3>
+<a name="id2587415"></a>Construction</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_period(ptime,
+ ptime)</pre></td>
+<td> Create a period as [begin, end). If end is &lt;= begin then the period will be defined as invalid.</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,01);
+ptime t(d, seconds(10)); //10 sec after midnight
+time_period tp(t, hours(3));</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_period(ptime,
+ time_duration)</pre></td>
+<td> Create a period as [begin, begin+len) where end would be begin+len. If len is &lt;= zero then the period will be defined as invalid.</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,01);
+ptime t1(d, seconds(10)); //10 sec after midnight
+ptime t2(d, hours(10)); //10 hours after midnight
+time_period tp(t1, t2);</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_period(time_period rhs)</pre></td>
+<td> Copy constructor</td>
+</tr>
+<tr><td><pre class="screen">time_period tp1(tp);</pre></td></tr>
+</tbody>
+</table></div>
+<a name="time_period_accessors"></a><h3>
+<a name="id2587521"></a>Accessors</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime begin()</pre></td>
+<td>Return first time of period.</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,01);
+ptime t1(d, seconds(10)); //10 sec after midnight
+ptime t2(d, hours(10)); //10 hours after midnight
+time_period tp(t1, t2);
+tp.begin(); // --&gt; 2002-Jan-01 00:00:10</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime last()</pre></td>
+<td>Return last time in the period</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,01);
+ptime t1(d, seconds(10)); //10 sec after midnight
+ptime t2(d, hours(10)); //10 hours after midnight
+time_period tp(t1, t2);
+tp.last();// --&gt; 2002-Jan-01 09:59:59.999999999</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">ptime end()</pre></td>
+<td> Return one past the last in period</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,01);
+ptime t1(d, seconds(10)); //10 sec after midnight
+ptime t2(d, hours(10)); //10 hours after midnight
+time_period tp(t1, t2);
+tp.last(); // --&gt; 2002-Jan-01 10:00:00</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_duration length()</pre></td>
+<td>Return the length of the time period.</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,01);
+ptime t1(d); //midnight
+time_period tp(t1, hours(1));
+tp.length() --&gt; 1 hour</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool is_null()</pre></td>
+<td>True if period is not well formed. eg: end is less than or equal to begin.</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,01);
+ptime t1(d, hours(12)); // noon on Jan 1st
+ptime t2(d, hours(9)); // 9am on Jan 1st
+time_period tp(t1, t2);
+tp.is_null(); // true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool contains(ptime)</pre></td>
+<td>True if ptime is within the period. Zero length periods cannot contain any points.</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,01);
+ptime t1(d, seconds(10)); //10 sec after midnight
+ptime t2(d, hours(10)); //10 hours after midnight
+ptime t3(d, hours(2)); //2 hours after midnight
+time_period tp(t1, t2);
+tp.contains(t3); // true
+time_period tp2(t1, t1);
+tp2.contains(t1); // false</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool contains(time_period)</pre></td>
+<td>True if period is within the period</td>
+</tr>
+<tr><td><pre class="screen">time_period tp1(ptime(d,hours(1)),
+ ptime(d,hours(12)));
+time_period tp2(ptime(d,hours(2)),
+ ptime(d,hours(4)));
+tp1.contains(tp2); // --&gt; true
+tp2.contains(tp1); // --&gt; false</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">bool intersects(time_period)</pre></td>
+<td> True if periods overlap</td>
+</tr>
+<tr><td><pre class="screen">time_period tp1(ptime(d,hours(1)),
+ ptime(d,hours(12)));
+time_period tp2(ptime(d,hours(2)),
+ ptime(d,hours(4)));
+tp2.intersects(tp1); // --&gt; true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_period intersection(time_period)</pre></td>
+<td>Calculate the intersection of 2 periods. Null if no intersection.</td>
+</tr>
+<tr><td> </td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_period merge(time_period)</pre></td>
+<td>Returns union of two periods. Null if no intersection.</td>
+</tr>
+<tr><td> </td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_period span(time_period)</pre></td>
+<td>Combines two periods and any gap between them such that begin = min(p1.begin, p2.begin) and end = max(p1.end , p2.end).</td>
+</tr>
+<tr><td> </td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_period shift(days)</pre></td>
+<td>Add duration to both begin and end.</td>
+</tr>
+<tr><td> </td></tr>
+</tbody>
+</table></div>
+<a name="time_period_to_string"></a><h3>
+<a name="id2587826"></a>Conversion To String</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">std::string
+ to_simple_string(time_period dp)</pre></td>
+<td>To <code class="computeroutput">[YYYY-mmm-DD hh:mm:ss.fffffffff/YYYY-mmm-DD hh:mm:ss.fffffffff]</code> string where <code class="computeroutput">mmm</code> is 3 char month name.</td>
+</tr>
+<tr><td><pre class="screen">[2002-Jan-01 01:25:10.000000001/
+ 2002-Jan-31 01:25:10.123456789]
+// string occupies one line</pre></td></tr>
+</tbody>
+</table></div>
+<a name="time_period_operators"></a><h3>
+<a name="id2587894"></a>Operators</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator&lt;&lt;</pre></td>
+<td>Output streaming operator for time duration. Uses facet to output [date time_of_day/date time_of_day]. The default is format is <code class="computeroutput">[YYYY-mmm-DD hh:mm:ss.fffffffff/YYYY-mmm-DD hh:mm:ss.fffffffff]</code> string where <code class="computeroutput">mmm</code> is 3 char month name and the fractional seconds are left out when zero.</td>
+</tr>
+<tr><td><pre class="screen">[2002-Jan-01 01:25:10.000000001/ \
+ 2002-Jan-31 01:25:10.123456789]</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator&gt;&gt;</pre></td>
+<td>Input streaming operator for time duration. Uses facet to read [date time_of_day/date time_of_day]. The default is format is <code class="computeroutput">[YYYY-mmm-DD hh:mm:ss.fffffffff/YYYY-mmm-DD hh:mm:ss.fffffffff]</code> string where <code class="computeroutput">mmm</code> is 3 char month name and the fractional seconds are left out when zero.</td>
+</tr>
+<tr><td><pre class="screen">[2002-Jan-01 01:25:10.000000001/ \
+ 2002-Jan-31 01:25:10.123456789]</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator==, operator!=</pre></td>
+<td>Equality operators. Periods are equal if p1.begin == p2.begin &amp;&amp; p1.last == p2.last</td>
+</tr>
+<tr><td><pre class="screen">if (tp1 == tp2) {...</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator&lt;</pre></td>
+<td>Ordering with no overlap. True if tp1.end() less than tp2.begin()</td>
+</tr>
+<tr><td><pre class="screen">if (tp1 &lt; tp2) {...</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator&gt;</pre></td>
+<td>Ordering with no overlap. True if tp1.begin() greater than tp2.end()</td>
+</tr>
+<tr><td><pre class="screen">if (tp1 &gt; tp2) {... etc</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator&lt;=, operator&gt;=</pre></td>
+<td>Defined in terms of the other operators.</td>
+</tr>
+<tr><td> </td></tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="date_time.posix_time.time_iterators"></a>Time Iterators</h4></div></div></div>
+<a href="posix_time.html#time_iter_intro">Introduction</a> --
+ <a href="posix_time.html#time_iter_header">Header</a> --
+ <a href="posix_time.html#time_iter_overview">Overview</a> --
+ <a href="posix_time.html#time_iter_operators">Operators</a><a name="time_iter_intro"></a><h3>
+<a name="id2588125"></a>Introduction</h3>
+<p>
+ Time iterators provide a mechanism for iteration through times. Time iterators are similar to <a href="http://www.sgi.com/tech/stl/BidirectionalIterator.html" target="_top">Bidirectional Iterators</a>. However, time_iterators are different than standard iterators in that there is no underlying sequence, just a calculation function. In addition, time_iterators are directly comparable against instances of <a href="posix_time.html#date_time.posix_time.ptime_class" title="Ptime">class ptime</a>. Thus a second iterator for the end point of the iteration is not required, but rather a point in time can be used directly. For example, the following code iterates using a 15 minute iteration interval. The <a href="examples.html#date_time.examples.print_hours" title="Print Hours">print hours</a> example also illustrates the use of the time_iterator.
+ </p>
+<pre class="programlisting">
+
+ #include "boost/date_time/posix_time/posix_time.hpp"
+ #include &lt;iostream&gt;
+
+
+ int
+ main()
+ {
+ using namespace boost::gregorian;
+ using namespace boost::posix_time;
+ date d(2000,Jan,20);
+ ptime start(d);
+ ptime end = start + hours(1);
+ time_iterator titr(start,minutes(15)); //increment by 15 minutes
+ //produces 00:00:00, 00:15:00, 00:30:00, 00:45:00
+ while (titr &lt; end) {
+ std::cout &lt;&lt; to_simple_string(*titr) &lt;&lt; std::endl;
+ ++titr;
+ }
+ std::cout &lt;&lt; "Now backward" &lt;&lt; std::endl;
+ //produces 01:00:00, 00:45:00, 00:30:00, 00:15:00
+ while (titr &gt; start) {
+ std::cout &lt;&lt; to_simple_string(*titr) &lt;&lt; std::endl;
+ --titr;
+ }
+ }
+
+ </pre>
+<a name="time_iter_header"></a><h3>
+<a name="id2588190"></a>Header</h3>
+<pre class="programlisting">#include "boost/date_time/posix_time/posix_time.hpp" //include all types plus i/o
+or
+#include "boost/date_time/posix_time/posix_time_types.hpp" //no i/o just types</pre>
+<a name="time_iter_overview"></a><h3>
+<a name="id2588208"></a>Overview</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Class</th>
+<th>Description</th>
+</tr>
+<tr><th>Construction Parameters</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">time_iterator</pre></td>
+<td>Iterate incrementing by the specified duration.</td>
+</tr>
+<tr><td><pre class="screen">ptime start_time, time_duration increment</pre></td></tr>
+</tbody>
+</table></div>
+<a name="time_iter_operators"></a><h3>
+<a name="id2588262"></a>Operators</h3>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead>
+<tr>
+<th rowspan="2" valign="top">Syntax</th>
+<th>Description</th>
+</tr>
+<tr><th>Example</th></tr>
+</thead>
+<tbody>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">operator==(const ptime&amp; rhs),
+operator!=(const ptime&amp; rhs),
+operator&gt;, operator&lt;,
+operator&gt;=, operator&lt;=</pre></td>
+<td>A full complement of comparison operators</td>
+</tr>
+<tr><td><pre class="screen">date d(2002,Jan,1);
+ptime start_time(d, hours(1));
+//increment by 10 minutes
+time_iterator titr(start_time, minutes(10));
+ptime end_time = start_time + hours(2);
+if (titr == end_time) // false
+if (titr != end_time) // true
+if (titr &gt;= end_time) // false
+if (titr &lt;= end_time) // true</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">prefix increment</pre></td>
+<td>Increment the iterator by the specified duration.</td>
+</tr>
+<tr><td><pre class="screen">//increment by 10 milli seconds
+time_iterator titr(start_time, milliseconds(10));
+++titr; // == start_time + 10 milliseconds</pre></td></tr>
+<tr>
+<td rowspan="2" valign="top"><pre class="screen">prefix decrement</pre></td>
+<td>Decrement the iterator by the specified time duration.</td>
+</tr>
+<tr><td><pre class="screen">time_duration td(1,2,3);
+time_iterator titr(start_time, td);
+--titr; // == start_time - 01:02:03</pre></td></tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="gregorian.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../date_time.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="local_time.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/date_time/serialization.html b/doc/html/date_time/serialization.html
new file mode 100644
index 0000000000..6b0a429f9d
--- /dev/null
+++ b/doc/html/date_time/serialization.html
@@ -0,0 +1,139 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Serialization</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../date_time.html" title="Chapter 3. Boost.Date_Time">
+<link rel="prev" href="date_time_io.html" title="Date Time Input/Output">
+<link rel="next" href="details.html" title="Details">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_time_io.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../date_time.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="details.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="date_time.serialization"></a>Serialization</h3></div></div></div>
+<p>
+ The boost::date_time library is compatible with the boost::serialization library's text and xml archives. The list of classes that are serializable are:
+ </p>
+<h3>
+<a name="id2599607"></a>boost::gregorian</h3>
+<div class="informaltable"><table class="table" width="100%">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><a href="gregorian.html#date_time.gregorian.date_class" title="Date">date</a></td>
+<td><a href="gregorian.html#date_time.gregorian.date_duration" title="Date Duration (aka Days)">date_duration</a></td>
+<td><a href="gregorian.html#date_time.gregorian.date_period" title="Date Period">date_period</a></td>
+</tr>
+<tr>
+<td><a href="gregorian.html#date_time.gregorian.date_algorithms" title="Date Generators/Algorithms">partial_date</a></td>
+<td><a href="gregorian.html#date_time.gregorian.date_algorithms" title="Date Generators/Algorithms">nth_day_of_week_in_month</a></td>
+<td><a href="gregorian.html#date_time.gregorian.date_algorithms" title="Date Generators/Algorithms">first_day_of_week_in_month</a></td>
+</tr>
+<tr>
+<td><a href="gregorian.html#date_time.gregorian.date_algorithms" title="Date Generators/Algorithms">last_day_of_week_in_month</a></td>
+<td><a href="gregorian.html#date_time.gregorian.date_algorithms" title="Date Generators/Algorithms">first_day_of_week_before</a></td>
+<td><a href="gregorian.html#date_time.gregorian.date_algorithms" title="Date Generators/Algorithms">first_day_of_week_after</a></td>
+</tr>
+<tr>
+<td>greg_month</td>
+<td>greg_day</td>
+<td>greg_weekday</td>
+</tr>
+</tbody>
+</table></div>
+<h3>
+<a name="id2599702"></a>boost::posix_time</h3>
+<div class="informaltable"><table class="table" width="100%">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody><tr>
+<td><a href="posix_time.html#date_time.posix_time.ptime_class" title="Ptime">ptime</a></td>
+<td><a href="posix_time.html#date_time.posix_time.time_duration" title="Time Duration">time_duration</a></td>
+<td><a href="posix_time.html#date_time.posix_time.time_period" title="Time Period">time_period</a></td>
+</tr></tbody>
+</table></div>
+<p>
+ No extra steps are required to build the date_time library for serialization use.
+ </p>
+<p>NOTE: due to a change in the serialization library interface, it is now required that all streamable objects be const prior to writing to the archive. The following template function will allow for this (and is used in the date_time tests). At this time no special steps are necessary to read from an archive.
+ </p>
+<pre class="programlisting">
+ template&lt;class archive_type, class temporal_type&gt;
+ void save_to(archive_type&amp; ar, const temporal_type&amp; tt)
+ {
+ ar &lt;&lt; tt;
+ }
+ </pre>
+<p>
+ Example text_archive usage:
+ </p>
+<pre class="programlisting">
+ using namespace boost::posix_time;
+ using namespace boost::gregorian;
+ ptime pt(date(2002, Feb, 14)), hours(10)), pt2(not_a_date_time);
+ std::ofstream ofs("tmp_file");
+ archive::test_oarchive oa(ofs);
+ save_to(oa, pt); // NOTE: no macro
+ ofs.close();
+ std::ifstream ifs("tmp_file");
+ archive::text_iarchive ia(ifs);
+ ia &gt;&gt; pt2; // NOTE: no macro
+ ifs.close();
+ pt == pt2; // true</pre>
+<p>
+ Example xml_archive usage:
+ </p>
+<pre class="programlisting">
+ using namespace boost::gregorian;
+ date d(2002, Feb, 14), d2(not_a_date_time);
+ std::ofstream ofs("tmp_file");
+ archive::xml_oarchive oa(ofs);
+ save_to(oa, BOOST_SERIALIZATION_NVP(d)); // macro required for xml_archive
+ ofs.close();
+ std::ifstream ifs("tmp_file");
+ archive::xml_iarchive ia(ifs);
+ ia &gt;&gt; BOOST_SERIALIZATION_NVP(d2); // macro required for xml_archive
+ ifs.close();
+ d == d2; // true</pre>
+<p>
+ To use the date_time serialization code, the proper header files must be explicitly included. The header files are:
+ </p>
+<pre class="programlisting">
+ boost/date_time/gregorian/greg_serialize.hpp</pre>
+<p>
+ and
+ </p>
+<pre class="programlisting">
+ boost/date_time/posix_time/time_serialize.hpp</pre>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_time_io.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../date_time.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="details.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/day_calc_dst_rule.html b/doc/html/day_calc_dst_rule.html
new file mode 100644
index 0000000000..9768d04ec3
--- /dev/null
+++ b/doc/html/day_calc_dst_rule.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template day_calc_dst_rule</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2427093" title="Header &lt;boost/date_time/dst_transition_generators.hpp&gt;">
+<link rel="prev" href="dst_day_calc_rule.html" title="Class template dst_day_calc_rule">
+<link rel="next" href="time_from_ftime.html" title="Function template time_from_ftime">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dst_day_calc_rule.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2427093"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_from_ftime.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="day_calc_dst_rule"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template day_calc_dst_rule</span></h2>
+<p>boost::date_time::day_calc_dst_rule &#8212; Canonical form for a class that provides day rule calculation. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> spec&gt;
+<span class="bold"><strong>class</strong></span> day_calc_dst_rule
+ : : <span class="bold"><strong>public</strong></span> boost::date_time::dst_day_calc_rule&lt; spec::date_type &gt;
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> spec::date_type      date_type; 
+  <span class="bold"><strong>typedef</strong></span> date_type::year_type year_type; 
+  <span class="bold"><strong>typedef</strong></span> spec::start_rule     start_rule;
+  <span class="bold"><strong>typedef</strong></span> spec::end_rule       end_rule;  
+
+  <span class="emphasis"><em>// <a href="day_calc_dst_rule.html#day_calc_dst_ruleconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="day_calc_dst_rule.html#id2501843-bb">day_calc_dst_rule</a>(start_rule, end_rule);
+
+  <span class="emphasis"><em>// <a href="day_calc_dst_rule.html#id2455172-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>virtual</strong></span> date_type</span> <a href="day_calc_dst_rule.html#id2455176-bb">start_day</a>(year_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="day_calc_dst_rule.html#id2416619-bb">start_rule_as_string</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> date_type</span> <a href="day_calc_dst_rule.html#id2440413-bb">end_day</a>(year_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="day_calc_dst_rule.html#id2446228-bb">end_rule_as_string</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2633909"></a><h2>Description</h2>
+<p>This class is used to generate specific sets of dst rules</p>
+<p></p>
+<div class="refsect2" lang="en">
+<a name="id2633917"></a><h3>
+<a name="day_calc_dst_ruleconstruct-copy-destruct"></a><code class="computeroutput">day_calc_dst_rule</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2501843-bb"></a>day_calc_dst_rule(start_rule dst_start, end_rule dst_end);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2633952"></a><h3>
+<a name="id2455172-bb"></a><code class="computeroutput">day_calc_dst_rule</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> date_type</span> <a name="id2455176-bb"></a>start_day(year_type y) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2416619-bb"></a>start_rule_as_string() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> date_type</span> <a name="id2440413-bb"></a>end_day(year_type y) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2446228-bb"></a>end_rule_as_string() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dst_day_calc_rule.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2427093"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_from_ftime.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/day_clock.html b/doc/html/day_clock.html
new file mode 100644
index 0000000000..16b38b2879
--- /dev/null
+++ b/doc/html/day_clock.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template day_clock</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2411166" title="Header &lt;boost/date_time/date_clock_device.hpp&gt;">
+<link rel="prev" href="boost/date_time/date.html" title="Class template date">
+<link rel="next" href="date_duration.html" title="Class template date_duration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/date_time/date.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2411166"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_duration.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="day_clock"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template day_clock</span></h2>
+<p>boost::date_time::day_clock &#8212; A clock providing day level services based on C time_t capabilities. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt;
+<span class="bold"><strong>class</strong></span> day_clock {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::ymd_type ymd_type;
+
+  <span class="emphasis"><em>// <a href="day_clock.html#id2419143-bb">public static functions</a></em></span>
+  <span class="type">date_type</span> <a href="day_clock.html#id2419147-bb">local_day</a>() ;
+  <span class="type">date_type::ymd_type</span> <a href="day_clock.html#id2467054-bb">local_day_ymd</a>() ;
+  <span class="type">date_type::ymd_type</span> <a href="day_clock.html#id2396215-bb">universal_day_ymd</a>() ;
+  <span class="type">date_type</span> <a href="day_clock.html#id2467300-bb">universal_day</a>() ;
+
+  <span class="emphasis"><em>// <a href="day_clock.html#id2441109-bb">private static functions</a></em></span>
+  <span class="type">::std::tm *</span> <a href="day_clock.html#id2441113-bb">get_local_time</a>(std::tm &amp;) ;
+  <span class="type">::std::tm *</span> <a href="day_clock.html#id2423655-bb">get_universal_time</a>(std::tm &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2609357"></a><h2>Description</h2>
+<p>This clock uses Posix interfaces as its implementation and hence uses the timezone settings of the operating system. Incorrect user settings will result in incorrect results for the calls to local_day. </p>
+<div class="refsect2" lang="en">
+<a name="id2609366"></a><h3>
+<a name="id2419143-bb"></a><code class="computeroutput">day_clock</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2419147-bb"></a>local_day() ;</pre></li>
+<li><pre class="literallayout"><span class="type">date_type::ymd_type</span> <a name="id2467054-bb"></a>local_day_ymd() ;</pre></li>
+<li><pre class="literallayout"><span class="type">date_type::ymd_type</span> <a name="id2396215-bb"></a>universal_day_ymd() ;</pre></li>
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2467300-bb"></a>universal_day() ;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2609457"></a><h3>
+<a name="id2441109-bb"></a><code class="computeroutput">day_clock</code> private static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">::std::tm *</span> <a name="id2441113-bb"></a>get_local_time(std::tm &amp; result) ;</pre></li>
+<li><pre class="literallayout"><span class="type">::std::tm *</span> <a name="id2423655-bb"></a>get_universal_time(std::tm &amp; result) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/date_time/date.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2411166"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_duration.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/day_functor.html b/doc/html/day_functor.html
new file mode 100644
index 0000000000..b6402e5c51
--- /dev/null
+++ b/doc/html/day_functor.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template day_functor</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2485277" title="Header &lt;boost/date_time/adjust_functors.hpp&gt;">
+<link rel="prev" href="date_time/doxy.html" title="Library Reference">
+<link rel="next" href="month_functor.html" title="Class template month_functor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_time/doxy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2485277"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="month_functor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="day_functor"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template day_functor</span></h2>
+<p>boost::date_time::day_functor &#8212; Functor to iterate a fixed number of days. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt;
+<span class="bold"><strong>class</strong></span> day_functor {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::duration_type duration_type;
+
+  <span class="emphasis"><em>// <a href="day_functor.html#day_functorconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="day_functor.html#id2513692-bb">day_functor</a>(<span class="bold"><strong>int</strong></span>);
+
+  <span class="emphasis"><em>// <a href="day_functor.html#id2432811-bb">public member functions</a></em></span>
+  <span class="type">duration_type</span> <a href="day_functor.html#id2506751-bb">get_offset</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="day_functor.html#id2525202-bb">get_neg_offset</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2605542"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2605545"></a><h3>
+<a name="day_functorconstruct-copy-destruct"></a><code class="computeroutput">day_functor</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2513692-bb"></a>day_functor(<span class="bold"><strong>int</strong></span> f);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2605584"></a><h3>
+<a name="id2432811-bb"></a><code class="computeroutput">day_functor</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2506751-bb"></a>get_offset(<span class="bold"><strong>const</strong></span> date_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2525202-bb"></a>get_neg_offset(<span class="bold"><strong>const</strong></span> date_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_time/doxy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2485277"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="month_functor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/days_before_weekday.html b/doc/html/days_before_weekday.html
new file mode 100644
index 0000000000..38b85c794f
--- /dev/null
+++ b/doc/html/days_before_weekday.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template days_before_weekday</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2508942" title="Header &lt;boost/date_time/date_generators.hpp&gt;">
+<link rel="prev" href="days_until_weekday.html" title="Function template days_until_weekday">
+<link rel="next" href="next_weekday.html" title="Function template next_weekday">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="days_until_weekday.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="next_weekday.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="days_before_weekday"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template days_before_weekday</span></h2>
+<p>boost::date_time::days_before_weekday &#8212; Calculates the number of days since the previous weekday. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> weekday_type&gt;
+  <span class="type">date_type::duration_type</span>
+  days_before_weekday(<span class="bold"><strong>const</strong></span> date_type &amp; d, <span class="bold"><strong>const</strong></span> weekday_type &amp; wd);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2626852"></a><h2>Description</h2>
+<p>Calculates the number of days since the previous weekday If the date given falls on a Sunday and the given weekday is Tuesday the result will be 5 days. The answer will be a positive number because Tuesday is 5 days before Sunday, not -5 days before. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="days_until_weekday.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="next_weekday.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/days_until_weekday.html b/doc/html/days_until_weekday.html
new file mode 100644
index 0000000000..da8487cca9
--- /dev/null
+++ b/doc/html/days_until_weekday.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template days_until_weekday</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2508942" title="Header &lt;boost/date_time/date_generators.hpp&gt;">
+<link rel="prev" href="first_kday_before.html" title="Class template first_kday_before">
+<link rel="next" href="days_before_weekday.html" title="Function template days_before_weekday">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="first_kday_before.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="days_before_weekday.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="days_until_weekday"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template days_until_weekday</span></h2>
+<p>boost::date_time::days_until_weekday &#8212; Calculates the number of days until the next weekday. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> weekday_type&gt;
+  <span class="type">date_type::duration_type</span>
+  days_until_weekday(<span class="bold"><strong>const</strong></span> date_type &amp; d, <span class="bold"><strong>const</strong></span> weekday_type &amp; wd);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2626784"></a><h2>Description</h2>
+<p>Calculates the number of days until the next weekday. If the date given falls on a Sunday and the given weekday is Tuesday the result will be 2 days </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="first_kday_before.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="days_before_weekday.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/dst_calc_engine.html b/doc/html/dst_calc_engine.html
new file mode 100644
index 0000000000..0cbc3563e7
--- /dev/null
+++ b/doc/html/dst_calc_engine.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template dst_calc_engine</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2510544" title="Header &lt;boost/date_time/dst_rules.hpp&gt;">
+<link rel="prev" href="dst_calculator.html" title="Class template dst_calculator">
+<link rel="next" href="us_dst_rules.html" title="Class template us_dst_rules">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dst_calculator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2510544"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="us_dst_rules.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="dst_calc_engine"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template dst_calc_engine</span></h2>
+<p>boost::date_time::dst_calc_engine &#8212; Compile-time configurable daylight savings time calculation engine. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> time_duration_type, <span class="bold"><strong>typename</strong></span> dst_traits&gt;
+<span class="bold"><strong>class</strong></span> dst_calc_engine {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::year_type                            year_type;    
+  <span class="bold"><strong>typedef</strong></span> date_type::calendar_type                        calendar_type;
+  <span class="bold"><strong>typedef</strong></span> <a href="dst_calculator.html" title="Class template dst_calculator">dst_calculator</a>&lt; date_type, time_duration_type &gt; dstcalc;      
+
+  <span class="emphasis"><em>// <a href="dst_calc_engine.html#id2420605-bb">public static functions</a></em></span>
+  <span class="type">time_is_dst_result</span>
+  <a href="dst_calc_engine.html#id2416353-bb">local_is_dst</a>(<span class="bold"><strong>const</strong></span> date_type &amp;, <span class="bold"><strong>const</strong></span> time_duration_type &amp;) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="dst_calc_engine.html#id2423485-bb">is_dst_boundary_day</a>(date_type) ;
+  <span class="type">time_duration_type</span> <a href="dst_calc_engine.html#id2458677-bb">dst_offset</a>() ;
+  <span class="type">date_type</span> <a href="dst_calc_engine.html#id2508391-bb">local_dst_start_day</a>(year_type) ;
+  <span class="type">date_type</span> <a href="dst_calc_engine.html#id2522676-bb">local_dst_end_day</a>(year_type) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2632457"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2632460"></a><h3>
+<a name="id2420605-bb"></a><code class="computeroutput">dst_calc_engine</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type">time_is_dst_result</span>
+<a name="id2416353-bb"></a>local_is_dst(<span class="bold"><strong>const</strong></span> date_type &amp; d, <span class="bold"><strong>const</strong></span> time_duration_type &amp; td) ;</pre>
+<p>Determines if the time is really in DST or not. Also checks for invalid and ambiguous.
+</p>
+</li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2423485-bb"></a>is_dst_boundary_day(date_type d) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_duration_type</span> <a name="id2458677-bb"></a>dst_offset() ;</pre></li>
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2508391-bb"></a>local_dst_start_day(year_type year) ;</pre></li>
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2522676-bb"></a>local_dst_end_day(year_type year) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dst_calculator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2510544"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="us_dst_rules.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/dst_calculator.html b/doc/html/dst_calculator.html
new file mode 100644
index 0000000000..8a5af2a55f
--- /dev/null
+++ b/doc/html/dst_calculator.html
@@ -0,0 +1,172 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template dst_calculator</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2510544" title="Header &lt;boost/date_time/dst_rules.hpp&gt;">
+<link rel="prev" href="all_date_names_put.html" title="Class template all_date_names_put">
+<link rel="next" href="dst_calc_engine.html" title="Class template dst_calc_engine">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="all_date_names_put.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2510544"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="dst_calc_engine.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="dst_calculator"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template dst_calculator</span></h2>
+<p>boost::date_time::dst_calculator &#8212; Dynamic class used to caluclate dst transition information. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type_, <span class="bold"><strong>typename</strong></span> time_duration_type_&gt;
+<span class="bold"><strong>class</strong></span> dst_calculator {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> time_duration_type_ time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> date_type_          date_type;         
+
+  <span class="emphasis"><em>// <a href="dst_calculator.html#id2434887-bb">public static functions</a></em></span>
+  <span class="type">time_is_dst_result</span>
+  <a href="dst_calculator.html#id2434891-bb">process_local_dst_start_day</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>long</strong></span>) ;
+  <span class="type">time_is_dst_result</span>
+  <a href="dst_calculator.html#id2416537-bb">process_local_dst_end_day</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>long</strong></span>) ;
+  <span class="type">time_is_dst_result</span>
+  <a href="dst_calculator.html#id2505648-bb">local_is_dst</a>(<span class="bold"><strong>const</strong></span> date_type &amp;, <span class="bold"><strong>const</strong></span> time_duration_type &amp;,
+               <span class="bold"><strong>const</strong></span> date_type &amp;, <span class="bold"><strong>const</strong></span> time_duration_type &amp;,
+               <span class="bold"><strong>const</strong></span> date_type &amp;, <span class="bold"><strong>const</strong></span> time_duration_type &amp;,
+               <span class="bold"><strong>const</strong></span> time_duration_type &amp;) ;
+  <span class="type">time_is_dst_result</span>
+  <a href="dst_calculator.html#id2397912-bb">local_is_dst</a>(<span class="bold"><strong>const</strong></span> date_type &amp;, <span class="bold"><strong>const</strong></span> time_duration_type &amp;,
+               <span class="bold"><strong>const</strong></span> date_type &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>const</strong></span> date_type &amp;,
+               <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>long</strong></span>) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2631826"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2631830"></a><h3>
+<a name="id2434887-bb"></a><code class="computeroutput">dst_calculator</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type">time_is_dst_result</span>
+<a name="id2434891-bb"></a>process_local_dst_start_day(<span class="bold"><strong>const</strong></span> time_duration_type &amp; time_of_day,
+                            <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> dst_start_offset_minutes,
+                            <span class="bold"><strong>long</strong></span> dst_length_minutes) ;</pre>
+<p>On this dst transition, the time label between the transition boundary and the boudary + the offset are invalid times. If before the boundary then still not in dst.
+
+</p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">dst_length_minutes</span></dt>
+<dd><p>Number of minutes to adjust clock forward </p></dd>
+<dt><span class="term">dst_start_offset_minutes</span></dt>
+<dd><p>Local day offset for start of dst </p></dd>
+<dt><span class="term">time_of_day</span></dt>
+<dd><p>Time offset in the day for the local time </p></dd>
+</dl>
+</div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">time_is_dst_result</span>
+<a name="id2416537-bb"></a>process_local_dst_end_day(<span class="bold"><strong>const</strong></span> time_duration_type &amp; time_of_day,
+                          <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> dst_end_offset_minutes,
+                          <span class="bold"><strong>long</strong></span> dst_length_minutes) ;</pre>
+<p>This is the calculation for the DST end day. On that day times prior to the conversion time - dst_length (1 am in US) are still in dst. Times between the above and the switch time are ambiguous. Times after the start_offset are not in dst.
+
+</p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">dst_end_offset_minutes</span></dt>
+<dd><p>Local time of day for end of dst </p></dd>
+<dt><span class="term">time_of_day</span></dt>
+<dd><p>Time offset in the day for the local time </p></dd>
+</dl>
+</div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">time_is_dst_result</span>
+<a name="id2505648-bb"></a>local_is_dst(<span class="bold"><strong>const</strong></span> date_type &amp; current_day,
+             <span class="bold"><strong>const</strong></span> time_duration_type &amp; time_of_day,
+             <span class="bold"><strong>const</strong></span> date_type &amp; dst_start_day,
+             <span class="bold"><strong>const</strong></span> time_duration_type &amp; dst_start_offset,
+             <span class="bold"><strong>const</strong></span> date_type &amp; dst_end_day,
+             <span class="bold"><strong>const</strong></span> time_duration_type &amp; dst_end_offset,
+             <span class="bold"><strong>const</strong></span> time_duration_type &amp; dst_length_minutes) ;</pre>
+<p>Determines if the time is really in DST or not. Also checks for invalid and ambiguous.
+
+</p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">current_day</span></dt>
+<dd><p>The day to check for dst </p></dd>
+<dt><span class="term">dst_end_day</span></dt>
+<dd><p>Ending day of dst for the given locality </p></dd>
+<dt><span class="term">dst_end_offset</span></dt>
+<dd><p>Time offset within day given in dst for dst boundary </p></dd>
+<dt><span class="term">dst_start_day</span></dt>
+<dd><p>Starting day of dst for the given locality </p></dd>
+<dt><span class="term">dst_start_offset</span></dt>
+<dd><p>Time offset within day for dst boundary </p></dd>
+<dt><span class="term">time_of_day</span></dt>
+<dd><p>Time offset within the day to check </p></dd>
+</dl>
+</div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">time_is_dst_result</span>
+<a name="id2397912-bb"></a>local_is_dst(<span class="bold"><strong>const</strong></span> date_type &amp; current_day,
+             <span class="bold"><strong>const</strong></span> time_duration_type &amp; time_of_day,
+             <span class="bold"><strong>const</strong></span> date_type &amp; dst_start_day,
+             <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> dst_start_offset_minutes,
+             <span class="bold"><strong>const</strong></span> date_type &amp; dst_end_day,
+             <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> dst_end_offset_minutes, <span class="bold"><strong>long</strong></span> dst_length_minutes) ;</pre>
+<p>Determines if the time is really in DST or not. Also checks for invalid and ambiguous.
+
+</p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">current_day</span></dt>
+<dd><p>The day to check for dst </p></dd>
+<dt><span class="term">dst_end_day</span></dt>
+<dd><p>Ending day of dst for the given locality </p></dd>
+<dt><span class="term">dst_end_offset_minutes</span></dt>
+<dd><p>Offset within day given in dst for dst boundary (eg 120 for US which is 02:00:00) </p></dd>
+<dt><span class="term">dst_length_minutes</span></dt>
+<dd><p>Length of dst adjusment (eg: 60 for US) </p></dd>
+<dt><span class="term">dst_start_day</span></dt>
+<dd><p>Starting day of dst for the given locality </p></dd>
+<dt><span class="term">dst_start_offset_minutes</span></dt>
+<dd><p>Offset within day for dst boundary (eg 120 for US which is 02:00:00) </p></dd>
+<dt><span class="term">time_of_day</span></dt>
+<dd><p>Time offset within the day to check </p></dd>
+</dl>
+</div>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="all_date_names_put.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2510544"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="dst_calc_engine.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/dst_day_calc_rule.html b/doc/html/dst_day_calc_rule.html
new file mode 100644
index 0000000000..390e810d6d
--- /dev/null
+++ b/doc/html/dst_day_calc_rule.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template dst_day_calc_rule</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2427093" title="Header &lt;boost/date_time/dst_transition_generators.hpp&gt;">
+<link rel="prev" href="null_dst_rules.html" title="Class template null_dst_rules">
+<link rel="next" href="day_calc_dst_rule.html" title="Class template day_calc_dst_rule">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="null_dst_rules.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2427093"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="day_calc_dst_rule.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="dst_day_calc_rule"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template dst_day_calc_rule</span></h2>
+<p>boost::date_time::dst_day_calc_rule &#8212; Defines base interface for calculating start and end date of daylight savings. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt;
+<span class="bold"><strong>class</strong></span> dst_day_calc_rule {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::year_type year_type;
+
+  <span class="emphasis"><em>// <a href="dst_day_calc_rule.html#dst_day_calc_ruleconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="dst_day_calc_rule.html#id2518084-bb">~dst_day_calc_rule</a>();
+
+  <span class="emphasis"><em>// <a href="dst_day_calc_rule.html#id2393334-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>virtual</strong></span> date_type</span> <a href="dst_day_calc_rule.html#id2393338-bb">start_day</a>(year_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="dst_day_calc_rule.html#id2457959-bb">start_rule_as_string</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> date_type</span> <a href="dst_day_calc_rule.html#id2457970-bb">end_day</a>(year_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="dst_day_calc_rule.html#id2513356-bb">end_rule_as_string</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2633527"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2633531"></a><h3>
+<a name="dst_day_calc_ruleconstruct-copy-destruct"></a><code class="computeroutput">dst_day_calc_rule</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2518084-bb"></a>~dst_day_calc_rule();</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2633566"></a><h3>
+<a name="id2393334-bb"></a><code class="computeroutput">dst_day_calc_rule</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> date_type</span> <a name="id2393338-bb"></a>start_day(year_type y) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2457959-bb"></a>start_rule_as_string() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> date_type</span> <a name="id2457970-bb"></a>end_day(year_type y) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2513356-bb"></a>end_rule_as_string() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="null_dst_rules.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2427093"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="day_calc_dst_rule.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/dst_not_valid.html b/doc/html/dst_not_valid.html
new file mode 100644
index 0000000000..b0e5dff328
--- /dev/null
+++ b/doc/html/dst_not_valid.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct dst_not_valid</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2475866" title="Header &lt;boost/date_time/local_time/local_date_time.hpp&gt;">
+<link rel="prev" href="time_label_invalid.html" title="Struct time_label_invalid">
+<link rel="next" href="local_date_time_base.html" title="Class template local_date_time_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_label_invalid.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475866"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="local_date_time_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="dst_not_valid"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct dst_not_valid</span></h2>
+<p>boost::local_time::dst_not_valid &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> dst_not_valid {
+  <span class="emphasis"><em>// <a href="dst_not_valid.html#dst_not_validconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="dst_not_valid.html#id2475955-bb">dst_not_valid</a>(std::string = "");
+
+  <span class="emphasis"><em>// <a href="dst_not_valid.html#id2475951-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2682798"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2682802"></a><h3>
+<a name="dst_not_validconstruct-copy-destruct"></a><code class="computeroutput">dst_not_valid</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2475955-bb"></a>dst_not_valid(std::string _msg = "");</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2682835"></a><h3>
+<a name="id2475951-bb"></a><code class="computeroutput">dst_not_valid</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_label_invalid.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475866"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="local_date_time_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/duplicate_option_error.html b/doc/html/duplicate_option_error.html
new file mode 100644
index 0000000000..1a0a883154
--- /dev/null
+++ b/doc/html/duplicate_option_error.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class duplicate_option_error</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2473651" title="Header &lt;boost/program_options/options_description.hpp&gt;">
+<link rel="prev" href="options_description.html" title="Class options_description">
+<link rel="next" href="basic_parsed_options.html" title="Class template basic_parsed_options">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="options_description.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2473651"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="basic_parsed_options.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="duplicate_option_error"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class duplicate_option_error</span></h2>
+<p>boost::program_options::duplicate_option_error &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> duplicate_option_error : <span class="bold"><strong>public</strong></span> boost::program_options::error {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="duplicate_option_error.html#duplicate_option_errorconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="duplicate_option_error.html#id2348778-bb">duplicate_option_error</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+  <span class="emphasis"><em>// <a href="duplicate_option_error.html#id2348773-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2722622"></a><h2>Description</h2>
+<p>Class thrown when duplicate option description is found. </p>
+<div class="refsect2" lang="en">
+<a name="id2722628"></a><h3>
+<a name="duplicate_option_errorconstruct-copy-destruct"></a><code class="computeroutput">duplicate_option_error</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2348778-bb"></a>duplicate_option_error(<span class="bold"><strong>const</strong></span> std::string &amp; what);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2722669"></a><h3>
+<a name="id2348773-bb"></a><code class="computeroutput">duplicate_option_error</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="options_description.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2473651"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="basic_parsed_options.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/duration_from_string.html b/doc/html/duration_from_string.html
new file mode 100644
index 0000000000..c4669ffa79
--- /dev/null
+++ b/doc/html/duration_from_string.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function duration_from_string</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2474638" title="Header &lt;boost/date_time/posix_time/time_parsers.hpp&gt;">
+<link rel="prev" href="ptime.html" title="Class ptime">
+<link rel="next" href="custom_time_zone.html" title="Class custom_time_zone">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ptime.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2474638"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="custom_time_zone.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="duration_from_string"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function duration_from_string</span></h2>
+<p>boost::posix_time::duration_from_string &#8212; Creates a time_duration object from a delimited string. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="id2442833.html" title="Class time_duration">time_duration</a></span> duration_from_string(<span class="bold"><strong>const</strong></span> std::string &amp; s);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2680309"></a><h2>Description</h2>
+<p>Expected format for string is "[-]h[h][:mm][:ss][.fff]". A negative duration will be created if the first character in string is a '-', all other '-' will be treated as delimiters. Accepted delimiters are "-:,.". </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ptime.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2474638"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="custom_time_zone.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/duration_traits_adapted.html b/doc/html/duration_traits_adapted.html
new file mode 100644
index 0000000000..460bb38375
--- /dev/null
+++ b/doc/html/duration_traits_adapted.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct duration_traits_adapted</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2412320" title="Header &lt;boost/date_time/date_duration.hpp&gt;">
+<link rel="prev" href="duration_traits_long.html" title="Struct duration_traits_long">
+<link rel="next" href="weeks_duration.html" title="Class template weeks_duration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="duration_traits_long.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2412320"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="weeks_duration.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="duration_traits_adapted"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct duration_traits_adapted</span></h2>
+<p>boost::date_time::duration_traits_adapted &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> duration_traits_adapted {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="bold"><strong>long</strong></span>                                  int_type; 
+  <span class="bold"><strong>typedef</strong></span> <a href="int_adapter.html" title="Class template int_adapter">boost::date_time::int_adapter</a>&lt; <span class="bold"><strong>long</strong></span> &gt; impl_type;
+
+  <span class="emphasis"><em>// <a href="duration_traits_adapted.html#id2399836-bb">public static functions</a></em></span>
+  <span class="type">int_type</span> <a href="duration_traits_adapted.html#id2399840-bb">as_number</a>(impl_type) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2610869"></a><h2>Description</h2>
+<p>Struct for instantiating date_duration <span class="bold"><strong>WITH</strong></span> special values functionality. Allows for transparent implementation of either date_duration&lt;long&gt; or date_duration&lt;int_adapter&lt;long&gt; &gt; </p>
+<div class="refsect2" lang="en">
+<a name="id2610884"></a><h3>
+<a name="id2399836-bb"></a><code class="computeroutput">duration_traits_adapted</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">int_type</span> <a name="id2399840-bb"></a>as_number(impl_type i) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="duration_traits_long.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2412320"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="weeks_duration.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/duration_traits_long.html b/doc/html/duration_traits_long.html
new file mode 100644
index 0000000000..6cc1eed18b
--- /dev/null
+++ b/doc/html/duration_traits_long.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct duration_traits_long</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2412320" title="Header &lt;boost/date_time/date_duration.hpp&gt;">
+<link rel="prev" href="date_duration.html" title="Class template date_duration">
+<link rel="next" href="duration_traits_adapted.html" title="Struct duration_traits_adapted">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_duration.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2412320"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="duration_traits_adapted.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="duration_traits_long"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct duration_traits_long</span></h2>
+<p>boost::date_time::duration_traits_long &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> duration_traits_long {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="bold"><strong>long</strong></span> int_type; 
+  <span class="bold"><strong>typedef</strong></span> <span class="bold"><strong>long</strong></span> impl_type;
+
+  <span class="emphasis"><em>// <a href="duration_traits_long.html#id2500227-bb">public static functions</a></em></span>
+  <span class="type">int_type</span> <a href="duration_traits_long.html#id2446437-bb">as_number</a>(impl_type) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2610727"></a><h2>Description</h2>
+<p>Struct for instantiating date_duration with <span class="bold"><strong>NO</strong></span> special values functionality. Allows for transparent implementation of either date_duration&lt;long&gt; or date_duration&lt;int_adapter&lt;long&gt; &gt; </p>
+<div class="refsect2" lang="en">
+<a name="id2610742"></a><h3>
+<a name="id2500227-bb"></a><code class="computeroutput">duration_traits_long</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">int_type</span> <a name="id2446437-bb"></a>as_number(impl_type i) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_duration.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2412320"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="duration_traits_adapted.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/empty_formatter.html b/doc/html/empty_formatter.html
new file mode 100644
index 0000000000..915a201dcd
--- /dev/null
+++ b/doc/html/empty_formatter.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template empty_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2356089" title="Header &lt;boost/algorithm/string/formatter.hpp&gt;">
+<link rel="prev" href="identity_formatter.html" title="Function template identity_formatter">
+<link rel="next" href="starts_with.html" title="Function starts_with">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="identity_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2356089"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="starts_with.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="empty_formatter"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template empty_formatter</span></h2>
+<p>boost::algorithm::empty_formatter &#8212; Empty formatter. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT&gt; <span class="type"><span class="emphasis"><em>unspecified</em></span></span> empty_formatter(<span class="bold"><strong>const</strong></span> RangeT &amp; );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2760603"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">empty_formatter</code> . Empty formatter always returns an empty sequence.</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">empty_formatter</code> object. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="identity_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2356089"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="starts_with.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ends_with.html b/doc/html/ends_with.html
new file mode 100644
index 0000000000..784f82972a
--- /dev/null
+++ b/doc/html/ends_with.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function ends_with</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2589054" title="Header &lt;boost/algorithm/string/predicate.hpp&gt;">
+<link rel="prev" href="istarts_with.html" title="Function template istarts_with">
+<link rel="next" href="iends_with.html" title="Function template iends_with">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="istarts_with.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2589054"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="iends_with.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ends_with"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function ends_with</span></h2>
+<p>boost::algorithm::ends_with &#8212; 'Ends with' predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> ends_with(<span class="bold"><strong>const</strong></span> Range1T &amp; Input, <span class="bold"><strong>const</strong></span> Range2T &amp; Test, PredicateT Comp);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> ends_with(<span class="bold"><strong>const</strong></span> Range1T &amp; Input, <span class="bold"><strong>const</strong></span> Range2T &amp; Test);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2761717"></a><h2>Description</h2>
+<p>This predicate holds when the test string is a suffix of the Input. In other words, if the input ends with the test. When the optional predicate is specified, it is used for character-wise comparison.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Comp</span></dt>
+<dd><p>An element comparison predicate </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">Test</span></dt>
+<dd><p>A test sequence </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ The result of the test<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="istarts_with.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2589054"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="iends_with.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/environment_iterator.html b/doc/html/environment_iterator.html
new file mode 100644
index 0000000000..e8eeb0f269
--- /dev/null
+++ b/doc/html/environment_iterator.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class environment_iterator</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2380073" title="Header &lt;boost/program_options/environment_iterator.hpp&gt;">
+<link rel="prev" href="id2358254.html" title="Type style_t">
+<link rel="next" href="eof_iterator.html" title="Class template eof_iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2358254.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2380073"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="eof_iterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="environment_iterator"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class environment_iterator</span></h2>
+<p>boost::environment_iterator &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> environment_iterator : <span class="bold"><strong>public</strong></span> boost::eof_iterator&lt; environment_iterator, std::pair&lt; std::string, std::string &gt; &gt;
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="environment_iterator.html#environment_iteratorconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="environment_iterator.html#id2479457-bb">environment_iterator</a>(<span class="bold"><strong>char</strong></span> **);
+  <a href="environment_iterator.html#id2338594-bb">environment_iterator</a>();
+
+  <span class="emphasis"><em>// <a href="environment_iterator.html#id2340015-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="environment_iterator.html#id2340019-bb">get</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2717261"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2717264"></a><h3>
+<a name="environment_iteratorconstruct-copy-destruct"></a><code class="computeroutput">environment_iterator</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2479457-bb"></a>environment_iterator(<span class="bold"><strong>char</strong></span> ** environment);</pre></li>
+<li><pre class="literallayout"><a name="id2338594-bb"></a>environment_iterator();</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2717318"></a><h3>
+<a name="id2340015-bb"></a><code class="computeroutput">environment_iterator</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2340019-bb"></a>get() ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2358254.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2380073"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="eof_iterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/eof_iterator.html b/doc/html/eof_iterator.html
new file mode 100644
index 0000000000..f078ddd149
--- /dev/null
+++ b/doc/html/eof_iterator.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template eof_iterator</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2338601" title="Header &lt;boost/program_options/eof_iterator.hpp&gt;">
+<link rel="prev" href="environment_iterator.html" title="Class environment_iterator">
+<link rel="next" href="error.html" title="Class error">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="environment_iterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2338601"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="error.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="eof_iterator"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template eof_iterator</span></h2>
+<p>boost::eof_iterator &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Derived, <span class="bold"><strong>typename</strong></span> ValueType&gt;
+<span class="bold"><strong>class</strong></span> eof_iterator {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="eof_iterator.html#eof_iteratorconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="eof_iterator.html#id2380484-bb">eof_iterator</a>();
+
+  <span class="emphasis"><em>// <a href="eof_iterator.html#id2380480-bb">public member functions</a></em></span>
+
+  <span class="emphasis"><em>// <a href="eof_iterator.html#id2380486-bb">protected member functions</a></em></span>
+  <span class="type">ValueType &amp;</span> <a href="eof_iterator.html#id2401200-bb">value</a>() ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="eof_iterator.html#id2360641-bb">found_eof</a>() ;
+
+  <span class="emphasis"><em>// <a href="eof_iterator.html#id2354668-bb">private member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="eof_iterator.html#id2354672-bb">increment</a>() ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="eof_iterator.html#id2479389-bb">equal</a>(<span class="bold"><strong>const</strong></span> <a href="eof_iterator.html" title="Class template eof_iterator">eof_iterator</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> ValueType &amp;</span> <a href="eof_iterator.html#id2351288-bb">dereference</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2717617"></a><h2>Description</h2>
+<p>The 'eof_iterator' class is useful for constructing forward iterators in cases where iterator extract data from some source and it's easy to detect 'eof' -- i.e. the situation where there's no data. One apparent example is reading lines from a file.</p>
+<p>Implementing such iterators using 'iterator_facade' directly would require to create class with three core operation, a couple of constructors. When using 'eof_iterator', the derived class should define only one method to get new value, plus a couple of constructors.</p>
+<p>The basic idea is that iterator has 'eof' bit. Two iterators are equal only if both have their 'eof' bits set. The 'get' method either obtains the new value or sets the 'eof' bit.</p>
+<p>Specifically, derived class should define:</p>
+<p>1. A default constructor, which creates iterator with 'eof' bit set. The constructor body should call 'found_eof' method defined here. 2. Some other constructor. It should initialize some 'data pointer' used in iterator operation and then call 'get'. 3. The 'get' method. It should operate this way:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>look at some 'data pointer' to see if new element is available; if not, it should call 'found_eof'.</p></li>
+<li><p>extract new element and store it at location returned by the 'value' method.</p></li>
+<li><p>advance the data pointer.</p></li>
+</ul></div>
+<p>Essentially, the 'get' method has the functionality of both 'increment' and 'dereference'. It's very good for the cases where data extraction implicitly moves data pointer, like for stream operation. </p>
+<div class="refsect2" lang="en">
+<a name="id2717669"></a><h3>
+<a name="eof_iteratorconstruct-copy-destruct"></a><code class="computeroutput">eof_iterator</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2380484-bb"></a>eof_iterator();</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2717701"></a><h3>
+<a name="id2380480-bb"></a><code class="computeroutput">eof_iterator</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2717720"></a><h3>
+<a name="id2380486-bb"></a><code class="computeroutput">eof_iterator</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type">ValueType &amp;</span> <a name="id2401200-bb"></a>value() ;</pre>
+<p>Returns the reference which should be used by derived class to store the next value. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2360641-bb"></a>found_eof() ;</pre>
+<p>Should be called by derived class to indicate that it can't produce next element. </p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2717784"></a><h3>
+<a name="id2354668-bb"></a><code class="computeroutput">eof_iterator</code> private member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2354672-bb"></a>increment() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2479389-bb"></a>equal(<span class="bold"><strong>const</strong></span> <a href="eof_iterator.html" title="Class template eof_iterator">eof_iterator</a> &amp; other) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> ValueType &amp;</span> <a name="id2351288-bb"></a>dereference() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="environment_iterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2338601"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="error.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/equals.html b/doc/html/equals.html
new file mode 100644
index 0000000000..31511e6fce
--- /dev/null
+++ b/doc/html/equals.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function equals</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2589054" title="Header &lt;boost/algorithm/string/predicate.hpp&gt;">
+<link rel="prev" href="icontains.html" title="Function template icontains">
+<link rel="next" href="iequals.html" title="Function template iequals">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="icontains.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2589054"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="iequals.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="equals"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function equals</span></h2>
+<p>boost::algorithm::equals &#8212; 'Equals' predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> equals(<span class="bold"><strong>const</strong></span> Range1T &amp; Input, <span class="bold"><strong>const</strong></span> Range2T &amp; Test, PredicateT Comp);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> equals(<span class="bold"><strong>const</strong></span> Range1T &amp; Input, <span class="bold"><strong>const</strong></span> Range2T &amp; Test);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2762287"></a><h2>Description</h2>
+<p>This predicate holds when the test container is equal to the input container i.e. all elements in both containers are same. When the optional predicate is specified, it is used for character-wise comparison.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Comp</span></dt>
+<dd><p>An element comparison predicate </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">Test</span></dt>
+<dd><p>A test sequence </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ The result of the test<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is a two-way version of <code class="computeroutput">std::equal</code> algorithm<p>This function provides the strong exception-safety guarantee </p></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="icontains.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2589054"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="iequals.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/erase_all.html b/doc/html/erase_all.html
new file mode 100644
index 0000000000..1510b2f766
--- /dev/null
+++ b/doc/html/erase_all.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template erase_all</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="erase_all_copy.html" title="Function erase_all_copy">
+<link rel="next" href="ierase_all_copy.html" title="Function ierase_all_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_all_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ierase_all_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="erase_all"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template erase_all</span></h2>
+<p>boost::algorithm::erase_all &#8212; Erase all algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> erase_all(SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> RangeT &amp; Search);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2753778"></a><h2>Description</h2>
+<p>Remove all the occurrences of the string from the input. The input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for. </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_all_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ierase_all_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/erase_all_copy.html b/doc/html/erase_all_copy.html
new file mode 100644
index 0000000000..7c572afd32
--- /dev/null
+++ b/doc/html/erase_all_copy.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function erase_all_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="ierase_nth.html" title="Function template ierase_nth">
+<link rel="next" href="erase_all.html" title="Function template erase_all">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ierase_nth.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_all.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="erase_all_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function erase_all_copy</span></h2>
+<p>boost::algorithm::erase_all_copy &#8212; Erase all algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">OutputIteratorT</span>
+  erase_all_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> Range1T &amp; Input,
+                 <span class="bold"><strong>const</strong></span> Range2T &amp; Search);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type">SequenceT</span> erase_all_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> RangeT &amp; Search);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2753667"></a><h2>Description</h2>
+<p>Remove all the occurrences of the string from the input. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for. </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ierase_nth.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_all.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/erase_all_regex.html b/doc/html/erase_all_regex.html
new file mode 100644
index 0000000000..b0fffc1701
--- /dev/null
+++ b/doc/html/erase_all_regex.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template erase_all_regex</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2556226" title="Header &lt;boost/algorithm/string/regex.hpp&gt;">
+<link rel="prev" href="erase_all_regex_copy.html" title="Function erase_all_regex_copy">
+<link rel="next" href="find_all_regex.html" title="Function template find_all_regex">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_all_regex_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_all_regex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="erase_all_regex"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template erase_all_regex</span></h2>
+<p>boost::algorithm::erase_all_regex &#8212; Erase all regex algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> erase_all_regex(SequenceT &amp; Input,
+                       <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+                       match_flag_type Flags = match_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2765134"></a><h2>Description</h2>
+<p>Erase all substrings, matching given regex, from the input. The input string is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Flags</span></dt>
+<dd><p>Regex options </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Rx</span></dt>
+<dd><p>A regular expression </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_all_regex_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_all_regex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/erase_all_regex_copy.html b/doc/html/erase_all_regex_copy.html
new file mode 100644
index 0000000000..3a243662af
--- /dev/null
+++ b/doc/html/erase_all_regex_copy.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function erase_all_regex_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2556226" title="Header &lt;boost/algorithm/string/regex.hpp&gt;">
+<link rel="prev" href="erase_regex.html" title="Function template erase_regex">
+<link rel="next" href="erase_all_regex.html" title="Function template erase_all_regex">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_regex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_all_regex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="erase_all_regex_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function erase_all_regex_copy</span></h2>
+<p>boost::algorithm::erase_all_regex_copy &#8212; Erase all regex algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> CharT,
+         <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+  <span class="type">OutputIteratorT</span>
+  erase_all_regex_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> RangeT &amp; Input,
+                       <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+                       match_flag_type Flags = match_default);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+  <span class="type">SequenceT</span> erase_all_regex_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input,
+                                 <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+                                 match_flag_type Flags = match_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2765000"></a><h2>Description</h2>
+<p>Erase all substrings, matching given regex, from the input. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Flags</span></dt>
+<dd><p>Regex options </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">Rx</span></dt>
+<dd><p>A regular expression </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_regex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_all_regex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/erase_first.html b/doc/html/erase_first.html
new file mode 100644
index 0000000000..495e962249
--- /dev/null
+++ b/doc/html/erase_first.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template erase_first</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="erase_first_copy.html" title="Function erase_first_copy">
+<link rel="next" href="ierase_first_copy.html" title="Function ierase_first_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_first_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ierase_first_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="erase_first"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template erase_first</span></h2>
+<p>boost::algorithm::erase_first &#8212; Erase first algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> erase_first(SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> RangeT &amp; Search);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2752093"></a><h2>Description</h2>
+<p>Remove the first occurrence of the substring from the input. The input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for. </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_first_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ierase_first_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/erase_first_copy.html b/doc/html/erase_first_copy.html
new file mode 100644
index 0000000000..50c972bd98
--- /dev/null
+++ b/doc/html/erase_first_copy.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function erase_first_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="erase_range.html" title="Function template erase_range">
+<link rel="next" href="erase_first.html" title="Function template erase_first">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_first.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="erase_first_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function erase_first_copy</span></h2>
+<p>boost::algorithm::erase_first_copy &#8212; Erase first algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">OutputIteratorT</span>
+  erase_first_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> Range1T &amp; Input,
+                   <span class="bold"><strong>const</strong></span> Range2T &amp; Search);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type">SequenceT</span> erase_first_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> RangeT &amp; Search);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2751981"></a><h2>Description</h2>
+<p>Remove the first occurrence of the substring from the input. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_first.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/erase_head.html b/doc/html/erase_head.html
new file mode 100644
index 0000000000..7a5441a4fb
--- /dev/null
+++ b/doc/html/erase_head.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template erase_head</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="erase_head_copy.html" title="Function erase_head_copy">
+<link rel="next" href="erase_tail_copy.html" title="Function erase_tail_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_head_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_tail_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="erase_head"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template erase_head</span></h2>
+<p>boost::algorithm::erase_head &#8212; Erase head algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> erase_head(SequenceT &amp; Input, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> N);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2754304"></a><h2>Description</h2>
+<p>Remove the head from the input. The head is a prefix of a sequence of given size. If the sequence is shorter then required, the whole string is considered to be the head. The input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">N</span></dt>
+<dd><p>Length of the head </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_head_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_tail_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/erase_head_copy.html b/doc/html/erase_head_copy.html
new file mode 100644
index 0000000000..50a1e84501
--- /dev/null
+++ b/doc/html/erase_head_copy.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function erase_head_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="ierase_all.html" title="Function template ierase_all">
+<link rel="next" href="erase_head.html" title="Function template erase_head">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ierase_all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_head.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="erase_head_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function erase_head_copy</span></h2>
+<p>boost::algorithm::erase_head_copy &#8212; Erase head algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type">OutputIteratorT</span>
+  erase_head_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> RangeT &amp; Input,
+                  <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> N);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+  <span class="type">SequenceT</span> erase_head_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> N);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2754192"></a><h2>Description</h2>
+<p>Remove the head from the input. The head is a prefix of a sequence of given size. If the sequence is shorter then required, the whole string is considered to be the head. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">N</span></dt>
+<dd><p>Length of the head </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ierase_all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_head.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/erase_last.html b/doc/html/erase_last.html
new file mode 100644
index 0000000000..497c90035c
--- /dev/null
+++ b/doc/html/erase_last.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template erase_last</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="erase_last_copy.html" title="Function erase_last_copy">
+<link rel="next" href="ierase_last_copy.html" title="Function ierase_last_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_last_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ierase_last_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="erase_last"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template erase_last</span></h2>
+<p>boost::algorithm::erase_last &#8212; Erase last algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> erase_last(SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> RangeT &amp; Search);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2752622"></a><h2>Description</h2>
+<p>Remove the last occurrence of the substring from the input. The input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_last_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ierase_last_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/erase_last_copy.html b/doc/html/erase_last_copy.html
new file mode 100644
index 0000000000..37af8667f0
--- /dev/null
+++ b/doc/html/erase_last_copy.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function erase_last_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="ierase_first.html" title="Function template ierase_first">
+<link rel="next" href="erase_last.html" title="Function template erase_last">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ierase_first.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_last.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="erase_last_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function erase_last_copy</span></h2>
+<p>boost::algorithm::erase_last_copy &#8212; Erase last algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">OutputIteratorT</span>
+  erase_last_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> Range1T &amp; Input,
+                  <span class="bold"><strong>const</strong></span> Range2T &amp; Search);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type">SequenceT</span> erase_last_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> RangeT &amp; Search);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2752509"></a><h2>Description</h2>
+<p>Remove the last occurrence of the substring from the input. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for. </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ierase_first.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_last.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/erase_nth.html b/doc/html/erase_nth.html
new file mode 100644
index 0000000000..38b53083a0
--- /dev/null
+++ b/doc/html/erase_nth.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template erase_nth</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="erase_nth_copy.html" title="Function erase_nth_copy">
+<link rel="next" href="ierase_nth_copy.html" title="Function ierase_nth_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_nth_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ierase_nth_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="erase_nth"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template erase_nth</span></h2>
+<p>boost::algorithm::erase_nth &#8212; Erase nth algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> erase_nth(SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> RangeT &amp; Search, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> Nth);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2753193"></a><h2>Description</h2>
+<p>Remove the Nth occurrence of the substring in the input. The input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Nth</span></dt>
+<dd><p>An index of the match to be replaced. The index is 0-based. </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for. </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_nth_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ierase_nth_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/erase_nth_copy.html b/doc/html/erase_nth_copy.html
new file mode 100644
index 0000000000..3f6bb27de0
--- /dev/null
+++ b/doc/html/erase_nth_copy.html
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function erase_nth_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="ierase_last.html" title="Function template ierase_last">
+<link rel="next" href="erase_nth.html" title="Function template erase_nth">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ierase_last.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_nth.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="erase_nth_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function erase_nth_copy</span></h2>
+<p>boost::algorithm::erase_nth_copy &#8212; Erase nth algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">OutputIteratorT</span>
+  erase_nth_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> Range1T &amp; Input,
+                 <span class="bold"><strong>const</strong></span> Range2T &amp; Search, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> Nth);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type">SequenceT</span> erase_nth_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> RangeT &amp; Search,
+                           <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> Nth);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2753062"></a><h2>Description</h2>
+<p>Remove the Nth occurrence of the substring in the input. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Nth</span></dt>
+<dd><p>An index of the match to be replaced. The index is 0-based. </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ierase_last.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_nth.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/erase_range.html b/doc/html/erase_range.html
new file mode 100644
index 0000000000..e3a8b18dde
--- /dev/null
+++ b/doc/html/erase_range.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template erase_range</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="erase_range_copy.html" title="Function erase_range_copy">
+<link rel="next" href="erase_first_copy.html" title="Function erase_first_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_range_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_first_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="erase_range"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template erase_range</span></h2>
+<p>boost::algorithm::erase_range &#8212; Erase range algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> erase_range(SequenceT &amp; Input,
+                   <span class="bold"><strong>const</strong></span> iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_iterator&lt; SequenceT &gt;::type &gt; &amp; SearchRange);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2751852"></a><h2>Description</h2>
+<p>Remove the given range from the input. The input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">SearchRange</span></dt>
+<dd><p>A range in the input to be removed </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_range_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_first_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/erase_range_copy.html b/doc/html/erase_range_copy.html
new file mode 100644
index 0000000000..fa8bd9f0e9
--- /dev/null
+++ b/doc/html/erase_range_copy.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function erase_range_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="id2567673.html" title="Type token_compress_mode_type">
+<link rel="next" href="erase_range.html" title="Function template erase_range">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2567673.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_range.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="erase_range_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function erase_range_copy</span></h2>
+<p>boost::algorithm::erase_range_copy &#8212; Erase range algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type">OutputIteratorT</span>
+  erase_range_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> RangeT &amp; Input,
+                   <span class="bold"><strong>const</strong></span> iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_const_iterator&lt; RangeT &gt;::type &gt; &amp; SearchRange);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+  <span class="type">SequenceT</span> erase_range_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input,
+                             <span class="bold"><strong>const</strong></span> iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_const_iterator&lt; SequenceT &gt;::type &gt; &amp; SearchRange);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2751736"></a><h2>Description</h2>
+<p>Remove the given range from the input. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">SearchRange</span></dt>
+<dd><p>A range in the input to be removed </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2567673.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_range.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/erase_regex.html b/doc/html/erase_regex.html
new file mode 100644
index 0000000000..336dc2f57a
--- /dev/null
+++ b/doc/html/erase_regex.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template erase_regex</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2556226" title="Header &lt;boost/algorithm/string/regex.hpp&gt;">
+<link rel="prev" href="erase_regex_copy.html" title="Function erase_regex_copy">
+<link rel="next" href="erase_all_regex_copy.html" title="Function erase_all_regex_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_regex_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_all_regex_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="erase_regex"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template erase_regex</span></h2>
+<p>boost::algorithm::erase_regex &#8212; Erase regex algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> erase_regex(SequenceT &amp; Input,
+                   <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+                   match_flag_type Flags = match_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2764835"></a><h2>Description</h2>
+<p>Remove a substring matching given regex from the input. The input string is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Flags</span></dt>
+<dd><p>Regex options </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Rx</span></dt>
+<dd><p>A regular expression </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_regex_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_all_regex_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/erase_regex_copy.html b/doc/html/erase_regex_copy.html
new file mode 100644
index 0000000000..9458ee4ba3
--- /dev/null
+++ b/doc/html/erase_regex_copy.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function erase_regex_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2556226" title="Header &lt;boost/algorithm/string/regex.hpp&gt;">
+<link rel="prev" href="replace_all_regex.html" title="Function template replace_all_regex">
+<link rel="next" href="erase_regex.html" title="Function template erase_regex">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_all_regex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_regex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="erase_regex_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function erase_regex_copy</span></h2>
+<p>boost::algorithm::erase_regex_copy &#8212; Erase regex algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> CharT,
+         <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+  <span class="type">OutputIteratorT</span>
+  erase_regex_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> RangeT &amp; Input,
+                   <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+                   match_flag_type Flags = match_default);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+  <span class="type">SequenceT</span> erase_regex_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input,
+                             <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+                             match_flag_type Flags = match_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2764702"></a><h2>Description</h2>
+<p>Remove a substring matching given regex from the input. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Flags</span></dt>
+<dd><p>Regex options </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">Rx</span></dt>
+<dd><p>A regular expression </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_all_regex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_regex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/erase_tail.html b/doc/html/erase_tail.html
new file mode 100644
index 0000000000..fb2391b7e7
--- /dev/null
+++ b/doc/html/erase_tail.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template erase_tail</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="erase_tail_copy.html" title="Function erase_tail_copy">
+<link rel="next" href="find.html" title="Function template find">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_tail_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="erase_tail"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template erase_tail</span></h2>
+<p>boost::algorithm::erase_tail &#8212; Erase tail algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> erase_tail(SequenceT &amp; Input, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> N);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2754546"></a><h2>Description</h2>
+<p>Remove the tail from the input. The tail is a suffix of a sequence of given size. If the sequence is shorter then required, the whole string is considered to be the tail. The input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">N</span></dt>
+<dd><p>Length of the head </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_tail_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/erase_tail_copy.html b/doc/html/erase_tail_copy.html
new file mode 100644
index 0000000000..f7002b1087
--- /dev/null
+++ b/doc/html/erase_tail_copy.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function erase_tail_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="erase_head.html" title="Function template erase_head">
+<link rel="next" href="erase_tail.html" title="Function template erase_tail">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_head.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_tail.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="erase_tail_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function erase_tail_copy</span></h2>
+<p>boost::algorithm::erase_tail_copy &#8212; Erase tail algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type">OutputIteratorT</span>
+  erase_tail_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> RangeT &amp; Input,
+                  <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> N);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+  <span class="type">SequenceT</span> erase_tail_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> N);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2754433"></a><h2>Description</h2>
+<p>Remove the tail from the input. The tail is a suffix of a sequence of given size. If the sequence is shorter then required, the whole string is considered to be the tail. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">N</span></dt>
+<dd><p>Length of the head </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_head.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_tail.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/error.html b/doc/html/error.html
new file mode 100644
index 0000000000..7b359bbe5e
--- /dev/null
+++ b/doc/html/error.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class error</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2399042" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="eof_iterator.html" title="Class template eof_iterator">
+<link rel="next" href="invalid_syntax.html" title="Class invalid_syntax">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="eof_iterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="invalid_syntax.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="error"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class error</span></h2>
+<p>boost::program_options::error &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> error {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="error.html#errorconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="error.html#id2479483-bb">error</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+  <span class="emphasis"><em>// <a href="error.html#id2348866-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2718166"></a><h2>Description</h2>
+<p>Base class for all errors in the library. </p>
+<div class="refsect2" lang="en">
+<a name="id2718173"></a><h3>
+<a name="errorconstruct-copy-destruct"></a><code class="computeroutput">error</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2479483-bb"></a>error(<span class="bold"><strong>const</strong></span> std::string &amp; what);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2718212"></a><h3>
+<a name="id2348866-bb"></a><code class="computeroutput">error</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="eof_iterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="invalid_syntax.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/eu_dst_trait.html b/doc/html/eu_dst_trait.html
new file mode 100644
index 0000000000..45594f7a33
--- /dev/null
+++ b/doc/html/eu_dst_trait.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct template eu_dst_trait</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2503510" title="Header &lt;boost/date_time/local_timezone_defs.hpp&gt;">
+<link rel="prev" href="us_dst_trait.html" title="Struct template us_dst_trait">
+<link rel="next" href="uk_dst_trait.html" title="Struct template uk_dst_trait">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="us_dst_trait.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2503510"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="uk_dst_trait.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="eu_dst_trait"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template eu_dst_trait</span></h2>
+<p>boost::date_time::eu_dst_trait &#8212; Rules for daylight savings start in the EU (Last Sun in Mar). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt;
+<span class="bold"><strong>struct</strong></span> eu_dst_trait {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::day_of_week_type                day_of_week_type;  
+  <span class="bold"><strong>typedef</strong></span> date_type::month_type                      month_type;        
+  <span class="bold"><strong>typedef</strong></span> <a href="last_kday_of_month.html" title="Class template last_kday_of_month">date_time::last_kday_of_month</a>&lt; date_type &gt; start_rule_functor;
+  <span class="bold"><strong>typedef</strong></span> <a href="last_kday_of_month.html" title="Class template last_kday_of_month">date_time::last_kday_of_month</a>&lt; date_type &gt; end_rule_functor;  
+
+  <span class="emphasis"><em>// <a href="eu_dst_trait.html#id2484991-bb">public static functions</a></em></span>
+  <span class="type">day_of_week_type</span> <a href="eu_dst_trait.html#id2484995-bb">start_day</a>() ;
+  <span class="type">month_type</span> <a href="eu_dst_trait.html#id2442348-bb">start_month</a>() ;
+  <span class="type">day_of_week_type</span> <a href="eu_dst_trait.html#id2442361-bb">end_day</a>() ;
+  <span class="type">month_type</span> <a href="eu_dst_trait.html#id2414469-bb">end_month</a>() ;
+  <span class="type"><span class="bold"><strong>int</strong></span></span> <a href="eu_dst_trait.html#id2414482-bb">dst_start_offset_minutes</a>() ;
+  <span class="type"><span class="bold"><strong>int</strong></span></span> <a href="eu_dst_trait.html#id2509071-bb">dst_end_offset_minutes</a>() ;
+  <span class="type"><span class="bold"><strong>int</strong></span></span> <a href="eu_dst_trait.html#id2509628-bb">dst_shift_length_minutes</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2644427"></a><h2>Description</h2>
+<p>These amount to the following:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>Start of dst day is last Sunday in March</p></li>
+<li><p>End day of dst is last Sunday in Oct</p></li>
+<li><p>Going forward switch time is 2:00 am (offset 120 minutes)</p></li>
+<li><p>Going back switch time is 3:00 am (off set 180 minutes)</p></li>
+<li><p>Shift duration is one hour (60 minutes) </p></li>
+</ul></div>
+<div class="refsect2" lang="en">
+<a name="id2644454"></a><h3>
+<a name="id2484991-bb"></a><code class="computeroutput">eu_dst_trait</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">day_of_week_type</span> <a name="id2484995-bb"></a>start_day() ;</pre></li>
+<li><pre class="literallayout"><span class="type">month_type</span> <a name="id2442348-bb"></a>start_month() ;</pre></li>
+<li><pre class="literallayout"><span class="type">day_of_week_type</span> <a name="id2442361-bb"></a>end_day() ;</pre></li>
+<li><pre class="literallayout"><span class="type">month_type</span> <a name="id2414469-bb"></a>end_month() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="id2414482-bb"></a>dst_start_offset_minutes() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="id2509071-bb"></a>dst_end_offset_minutes() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="id2509628-bb"></a>dst_shift_length_minutes() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="us_dst_trait.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2503510"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="uk_dst_trait.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/find.html b/doc/html/find.html
new file mode 100644
index 0000000000..9ff91dd797
--- /dev/null
+++ b/doc/html/find.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template find</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2487443" title="Header &lt;boost/algorithm/string/find.hpp&gt;">
+<link rel="prev" href="erase_tail.html" title="Function template erase_tail">
+<link rel="next" href="find_first.html" title="Function template find_first">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_tail.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2487443"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_first.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="find"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template find</span></h2>
+<p>boost::algorithm::find &#8212; Generic find algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> FinderT&gt;
+  <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; RangeT &gt;::type &gt;</span>
+  find(RangeT &amp; Input, FinderT Finder);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2755146"></a><h2>Description</h2>
+<p>Search the input using the given finder.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Finder</span></dt>
+<dd><p>Finder object used for searching. </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>A string which will be searched. </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An <code class="computeroutput">iterator_range</code> delimiting the match. Returned iterator is either <code class="computeroutput">RangeT::iterator</code> or <code class="computeroutput">RangeT::const_iterator</code> , depending on the constness of the input parameter. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_tail.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2487443"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_first.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/find_all.html b/doc/html/find_all.html
new file mode 100644
index 0000000000..307d9b7a37
--- /dev/null
+++ b/doc/html/find_all.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template find_all</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2541245" title="Header &lt;boost/algorithm/string/split.hpp&gt;">
+<link rel="prev" href="has_const_time_erase.html" title="Class template has_const_time_erase">
+<link rel="next" href="ifind_all.html" title="Function template ifind_all">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="has_const_time_erase.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2541245"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ifind_all.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="find_all"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template find_all</span></h2>
+<p>boost::algorithm::find_all &#8212; Find all algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceSequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">SequenceSequenceT &amp;</span>
+  find_all(SequenceSequenceT &amp; Result, Range1T &amp; Input,
+           <span class="bold"><strong>const</strong></span> Range2T &amp; Search);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2772357"></a><h2>Description</h2>
+<p>This algorithm finds all occurrences of the search string in the input.</p>
+<p>Each part is copied and added as a new element to the output container. Thus the result container must be able to hold copies of the matches (in a compatible structure like std::string) or a reference to it (e.g. using the iterator range class). Examples of such a container are <code class="computeroutput">std::vector&lt;std::string&gt;</code> or <code class="computeroutput">std::list&lt;boost::iterator_range&lt;std::string::iterator&gt;&gt;</code></p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>A container which will be searched. </p></dd>
+<dt><span class="term">Result</span></dt>
+<dd><p>A container that can hold copies of references to the substrings </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for. </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ A reference the result<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Prior content of the result will be overwritten.<p>This function provides the strong exception-safety guarantee </p></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="has_const_time_erase.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2541245"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ifind_all.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/find_all_regex.html b/doc/html/find_all_regex.html
new file mode 100644
index 0000000000..0fe619ea48
--- /dev/null
+++ b/doc/html/find_all_regex.html
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template find_all_regex</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2556226" title="Header &lt;boost/algorithm/string/regex.hpp&gt;">
+<link rel="prev" href="erase_all_regex.html" title="Function template erase_all_regex">
+<link rel="next" href="split_regex.html" title="Function template split_regex">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_all_regex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="split_regex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="find_all_regex"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template find_all_regex</span></h2>
+<p>boost::algorithm::find_all_regex &#8212; Find all regex algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceSequenceT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> CharT,
+         <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+  <span class="type">SequenceSequenceT &amp;</span>
+  find_all_regex(SequenceSequenceT &amp; Result, <span class="bold"><strong>const</strong></span> RangeT &amp; Input,
+                 <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+                 match_flag_type Flags = match_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2765248"></a><h2>Description</h2>
+<p>This algorithm finds all substrings matching the give regex in the input.</p>
+<p>Each part is copied and added as a new element to the output container. Thus the result container must be able to hold copies of the matches (in a compatible structure like std::string) or a reference to it (e.g. using the iterator range class). Examples of such a container are <code class="computeroutput">std::vector&lt;std::string&gt;</code> or <code class="computeroutput">std::list&lt;boost::iterator_range&lt;std::string::iterator&gt;&gt;</code></p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Flags</span></dt>
+<dd><p>Regex options </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>A container which will be searched. </p></dd>
+<dt><span class="term">Result</span></dt>
+<dd><p>A container that can hold copies of references to the substrings. </p></dd>
+<dt><span class="term">Rx</span></dt>
+<dd><p>A regular expression </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ A reference to the result<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Prior content of the result will be overwritten.<p>This function provides the strong exception-safety guarantee </p></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_all_regex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="split_regex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/find_first.html b/doc/html/find_first.html
new file mode 100644
index 0000000000..eb48259320
--- /dev/null
+++ b/doc/html/find_first.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template find_first</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2487443" title="Header &lt;boost/algorithm/string/find.hpp&gt;">
+<link rel="prev" href="find.html" title="Function template find">
+<link rel="next" href="ifind_first.html" title="Function template ifind_first">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2487443"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ifind_first.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="find_first"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template find_first</span></h2>
+<p>boost::algorithm::find_first &#8212; Find first algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; Range1T &gt;::type &gt;</span>
+  find_first(Range1T &amp; Input, <span class="bold"><strong>const</strong></span> Range2T &amp; Search);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2755263"></a><h2>Description</h2>
+<p>Search for the first occurence of the substring in the input.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>A string which will be searched. </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for. </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An <code class="computeroutput">iterator_range</code> delimiting the match. Returned iterator is either <code class="computeroutput">RangeT::iterator</code> or <code class="computeroutput">RangeT::const_iterator</code> , depending on the constness of the input parameter.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2487443"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ifind_first.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/find_format.html b/doc/html/find_format.html
new file mode 100644
index 0000000000..ba5b80933e
--- /dev/null
+++ b/doc/html/find_format.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template find_format</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2441187" title="Header &lt;boost/algorithm/string/find_format.hpp&gt;">
+<link rel="prev" href="find_format_copy.html" title="Function find_format_copy">
+<link rel="next" href="find_format_all_copy.html" title="Function find_format_all_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_format_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2441187"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_format_all_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="find_format"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template find_format</span></h2>
+<p>boost::algorithm::find_format &#8212; Generic replace algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> FinderT, <span class="bold"><strong>typename</strong></span> FormatterT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> find_format(SequenceT &amp; Input, FinderT Finder, FormatterT Formatter);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2757047"></a><h2>Description</h2>
+<p>Use the Finder to search for a substring. Use the Formatter to format this substring and replace it in the input. The input is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Finder</span></dt>
+<dd><p>A Finder object used to search for a match to be replaced </p></dd>
+<dt><span class="term">Formatter</span></dt>
+<dd><p>A Formatter object used to format a match </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_format_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2441187"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_format_all_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/find_format_all.html b/doc/html/find_format_all.html
new file mode 100644
index 0000000000..0ce43fa9a8
--- /dev/null
+++ b/doc/html/find_format_all.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template find_format_all</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2441187" title="Header &lt;boost/algorithm/string/find_format.hpp&gt;">
+<link rel="prev" href="find_format_all_copy.html" title="Function find_format_all_copy">
+<link rel="next" href="id2559243.html" title="Function template regex_finder">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_format_all_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2441187"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2559243.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="find_format_all"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template find_format_all</span></h2>
+<p>boost::algorithm::find_format_all &#8212; Generic replace all algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> FinderT, <span class="bold"><strong>typename</strong></span> FormatterT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> find_format_all(SequenceT &amp; Input, FinderT Finder,
+                       FormatterT Formatter);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2757320"></a><h2>Description</h2>
+<p>Use the Finder to search for a substring. Use the Formatter to format this substring and replace it in the input. Repeat this for all matching substrings.The input is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Finder</span></dt>
+<dd><p>A Finder object used to search for a match to be replaced </p></dd>
+<dt><span class="term">Formatter</span></dt>
+<dd><p>A Formatter object used to format a match </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_format_all_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2441187"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2559243.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/find_format_all_copy.html b/doc/html/find_format_all_copy.html
new file mode 100644
index 0000000000..1bac024ace
--- /dev/null
+++ b/doc/html/find_format_all_copy.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function find_format_all_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2441187" title="Header &lt;boost/algorithm/string/find_format.hpp&gt;">
+<link rel="prev" href="find_format.html" title="Function template find_format">
+<link rel="next" href="find_format_all.html" title="Function template find_format_all">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_format.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2441187"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_format_all.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="find_format_all_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function find_format_all_copy</span></h2>
+<p>boost::algorithm::find_format_all_copy &#8212; Generic replace all algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> FinderT,
+         <span class="bold"><strong>typename</strong></span> FormatterT&gt;
+  <span class="type">OutputIteratorT</span>
+  find_format_all_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> RangeT &amp; Input,
+                       FinderT Finder, FormatterT Formatter);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> FinderT, <span class="bold"><strong>typename</strong></span> FormatterT&gt;
+  <span class="type">SequenceT</span> find_format_all_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, FinderT Finder,
+                                 FormatterT Formatter);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2757194"></a><h2>Description</h2>
+<p>Use the Finder to search for a substring. Use the Formatter to format this substring and replace it in the input. Repeat this for all matching substrings. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Finder</span></dt>
+<dd><p>A Finder object used to search for a match to be replaced </p></dd>
+<dt><span class="term">Formatter</span></dt>
+<dd><p>A Formatter object used to format a match </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_format.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2441187"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_format_all.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/find_format_copy.html b/doc/html/find_format_copy.html
new file mode 100644
index 0000000000..8355da1fab
--- /dev/null
+++ b/doc/html/find_format_copy.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function find_format_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2441187" title="Header &lt;boost/algorithm/string/find_format.hpp&gt;">
+<link rel="prev" href="find_token.html" title="Function template find_token">
+<link rel="next" href="find_format.html" title="Function template find_format">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_token.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2441187"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_format.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="find_format_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function find_format_copy</span></h2>
+<p>boost::algorithm::find_format_copy &#8212; Generic replace algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> FinderT,
+         <span class="bold"><strong>typename</strong></span> FormatterT&gt;
+  <span class="type">OutputIteratorT</span>
+  find_format_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> RangeT &amp; Input,
+                   FinderT Finder, FormatterT Formatter);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> FinderT, <span class="bold"><strong>typename</strong></span> FormatterT&gt;
+  <span class="type">SequenceT</span> find_format_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, FinderT Finder,
+                             FormatterT Formatter);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2756924"></a><h2>Description</h2>
+<p>Use the Finder to search for a substring. Use the Formatter to format this substring and replace it in the input. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Finder</span></dt>
+<dd><p>A Finder object used to search for a match to be replaced </p></dd>
+<dt><span class="term">Formatter</span></dt>
+<dd><p>A Formatter object used to format a match </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_token.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2441187"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_format.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/find_head.html b/doc/html/find_head.html
new file mode 100644
index 0000000000..b18adb2257
--- /dev/null
+++ b/doc/html/find_head.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template find_head</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2487443" title="Header &lt;boost/algorithm/string/find.hpp&gt;">
+<link rel="prev" href="ifind_nth.html" title="Function template ifind_nth">
+<link rel="next" href="find_tail.html" title="Function template find_tail">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ifind_nth.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2487443"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_tail.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="find_head"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template find_head</span></h2>
+<p>boost::algorithm::find_head &#8212; Find head algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; RangeT &gt;::type &gt;</span>
+  find_head(RangeT &amp; Input, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> N);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2756090"></a><h2>Description</h2>
+<p>Get the head of the input. Head is a prefix of the string of the given size. If the input is shorter then required, whole input if considered to be the head.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">N</span></dt>
+<dd><p>Length of the head </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An <code class="computeroutput">iterator_range</code> delimiting the match. Returned iterator is either <code class="computeroutput">Range1T::iterator</code> or <code class="computeroutput">Range1T::const_iterator</code> , depending on the constness of the input parameter.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ifind_nth.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2487443"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_tail.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/find_iterator.html b/doc/html/find_iterator.html
new file mode 100644
index 0000000000..73488193c5
--- /dev/null
+++ b/doc/html/find_iterator.html
@@ -0,0 +1,110 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template find_iterator</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2382464" title="Header &lt;boost/algorithm/string/find_iterator.hpp&gt;">
+<link rel="prev" href="id2586835.html" title="Function template regex_formatter">
+<link rel="next" href="split_iterator.html" title="Class template split_iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2586835.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2382464"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="split_iterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="find_iterator"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template find_iterator</span></h2>
+<p>boost::algorithm::find_iterator &#8212; find_iterator </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> IteratorT&gt;
+<span class="bold"><strong>class</strong></span> find_iterator {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="find_iterator.html#find_iteratorconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="find_iterator.html#id2479359-bb">find_iterator</a>();
+  <a href="find_iterator.html#id2559405-bb">find_iterator</a>(<span class="bold"><strong>const</strong></span> <a href="find_iterator.html" title="Class template find_iterator">find_iterator</a> &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> FinderT&gt; <a href="find_iterator.html#id2506218-bb">find_iterator</a>(IteratorT, IteratorT, FinderT);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> FinderT, <span class="bold"><strong>typename</strong></span> RangeT&gt; <a href="find_iterator.html#id2362903-bb">find_iterator</a>(RangeT &amp;, FinderT);
+
+  <span class="emphasis"><em>// <a href="find_iterator.html#id2380448-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="find_iterator.html#id2380453-bb">eof</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="find_iterator.html#id2493799-bb">private member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>const</strong></span> match_type &amp;</span> <a href="find_iterator.html#id2493803-bb">dereference</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="find_iterator.html#id2377799-bb">increment</a>() ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="find_iterator.html#id2377811-bb">equal</a>(<span class="bold"><strong>const</strong></span> <a href="find_iterator.html" title="Class template find_iterator">find_iterator</a> &amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2758041"></a><h2>Description</h2>
+<p>Find iterator encapsulates a Finder and allows for incremental searching in a string. Each increment moves the iterator to the next match.</p>
+<p>Find iterator is a readable forward traversal iterator.</p>
+<p>Dereferencing the iterator yields an iterator_range delimiting the current match. </p>
+<div class="refsect2" lang="en">
+<a name="id2758056"></a><h3>
+<a name="find_iteratorconstruct-copy-destruct"></a><code class="computeroutput">find_iterator</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2479359-bb"></a>find_iterator();</pre>
+<p>Construct null iterator. All null iterators are equal.</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ eof()==true </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2559405-bb"></a>find_iterator(<span class="bold"><strong>const</strong></span> <a href="find_iterator.html" title="Class template find_iterator">find_iterator</a> &amp; Other);</pre>
+<p>Construct a copy of the find_iterator </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> FinderT&gt;
+  <a name="id2506218-bb"></a>find_iterator(IteratorT Begin, IteratorT End, FinderT Finder);</pre>
+<p>Construct new find_iterator for a given finder and a range. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> FinderT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <a name="id2362903-bb"></a>find_iterator(RangeT &amp; Col, FinderT Finder);</pre>
+<p>Construct new find_iterator for a given finder and a range. </p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2758200"></a><h3>
+<a name="id2380448-bb"></a><code class="computeroutput">find_iterator</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2380453-bb"></a>eof() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Check the eof condition. Eof condition means that there is nothing more to be searched i.e. find_iterator is after the last match. </p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2758250"></a><h3>
+<a name="id2493799-bb"></a><code class="computeroutput">find_iterator</code> private member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> match_type &amp;</span> <a name="id2493803-bb"></a>dereference() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2377799-bb"></a>increment() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2377811-bb"></a>equal(<span class="bold"><strong>const</strong></span> <a href="find_iterator.html" title="Class template find_iterator">find_iterator</a> &amp; Other) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2586835.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2382464"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="split_iterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/find_last.html b/doc/html/find_last.html
new file mode 100644
index 0000000000..23e1f3ff5e
--- /dev/null
+++ b/doc/html/find_last.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template find_last</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2487443" title="Header &lt;boost/algorithm/string/find.hpp&gt;">
+<link rel="prev" href="ifind_first.html" title="Function template ifind_first">
+<link rel="next" href="ifind_last.html" title="Function template ifind_last">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ifind_first.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2487443"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ifind_last.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="find_last"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template find_last</span></h2>
+<p>boost::algorithm::find_last &#8212; Find last algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; Range1T &gt;::type &gt;</span>
+  find_last(Range1T &amp; Input, <span class="bold"><strong>const</strong></span> Range2T &amp; Search);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2755529"></a><h2>Description</h2>
+<p>Search for the last occurence of the substring in the input.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>A string which will be searched. </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for. </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An <code class="computeroutput">iterator_range</code> delimiting the match. Returned iterator is either <code class="computeroutput">Range1T::iterator</code> or <code class="computeroutput">Range1T::const_iterator</code> , depending on the constness of the input parameter.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ifind_first.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2487443"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ifind_last.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/find_nth.html b/doc/html/find_nth.html
new file mode 100644
index 0000000000..5cea634a8f
--- /dev/null
+++ b/doc/html/find_nth.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template find_nth</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2487443" title="Header &lt;boost/algorithm/string/find.hpp&gt;">
+<link rel="prev" href="ifind_last.html" title="Function template ifind_last">
+<link rel="next" href="ifind_nth.html" title="Function template ifind_nth">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ifind_last.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2487443"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ifind_nth.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="find_nth"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template find_nth</span></h2>
+<p>boost::algorithm::find_nth &#8212; Find n-th algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; Range1T &gt;::type &gt;</span>
+  find_nth(Range1T &amp; Input, <span class="bold"><strong>const</strong></span> Range2T &amp; Search, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> Nth);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2755806"></a><h2>Description</h2>
+<p>Search for the n-th (zero-indexed) occurence of the substring in the input.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>A string which will be searched. </p></dd>
+<dt><span class="term">Nth</span></dt>
+<dd><p>An index (zero-indexed) of the match to be found. </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for. </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An <code class="computeroutput">iterator_range</code> delimiting the match. Returned iterator is either <code class="computeroutput">Range1T::iterator</code> or <code class="computeroutput">Range1T::const_iterator</code> , depending on the constness of the input parameter. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ifind_last.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2487443"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ifind_nth.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/find_regex.html b/doc/html/find_regex.html
new file mode 100644
index 0000000000..158a2213cc
--- /dev/null
+++ b/doc/html/find_regex.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template find_regex</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2556226" title="Header &lt;boost/algorithm/string/regex.hpp&gt;">
+<link rel="prev" href="all.html" title="Function template all">
+<link rel="next" href="replace_regex_copy.html" title="Function replace_regex_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_regex_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="find_regex"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template find_regex</span></h2>
+<p>boost::algorithm::find_regex &#8212; Find regex algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+  <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; RangeT &gt;::type &gt;</span>
+  find_regex(RangeT &amp; Input, <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+             match_flag_type Flags = match_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2763732"></a><h2>Description</h2>
+<p>Search for a substring matching the given regex in the input.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Flags</span></dt>
+<dd><p>Regex options </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>A container which will be searched. </p></dd>
+<dt><span class="term">Rx</span></dt>
+<dd><p>A regular expression </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An <code class="computeroutput">iterator_range</code> delimiting the match. Returned iterator is either <code class="computeroutput">RangeT::iterator</code> or <code class="computeroutput">RangeT::const_iterator</code> , depending on the constness of the input parameter.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_regex_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/find_tail.html b/doc/html/find_tail.html
new file mode 100644
index 0000000000..c79852a13d
--- /dev/null
+++ b/doc/html/find_tail.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template find_tail</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2487443" title="Header &lt;boost/algorithm/string/find.hpp&gt;">
+<link rel="prev" href="find_head.html" title="Function template find_head">
+<link rel="next" href="find_token.html" title="Function template find_token">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_head.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2487443"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_token.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="find_tail"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template find_tail</span></h2>
+<p>boost::algorithm::find_tail &#8212; Find tail algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; RangeT &gt;::type &gt;</span>
+  find_tail(RangeT &amp; Input, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> N);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2756215"></a><h2>Description</h2>
+<p>Get the head of the input. Head is a suffix of the string of the given size. If the input is shorter then required, whole input if considered to be the tail.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">N</span></dt>
+<dd><p>Length of the tail </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An <code class="computeroutput">iterator_range</code> delimiting the match. Returned iterator is either <code class="computeroutput">RangeT::iterator</code> or <code class="computeroutput">RangeT::const_iterator</code> , depending on the constness of the input parameter.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_head.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2487443"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_token.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/find_token.html b/doc/html/find_token.html
new file mode 100644
index 0000000000..90b003c62f
--- /dev/null
+++ b/doc/html/find_token.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template find_token</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2487443" title="Header &lt;boost/algorithm/string/find.hpp&gt;">
+<link rel="prev" href="find_tail.html" title="Function template find_tail">
+<link rel="next" href="find_format_copy.html" title="Function find_format_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_tail.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2487443"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_format_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="find_token"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template find_token</span></h2>
+<p>boost::algorithm::find_token &#8212; Find token algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+  <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; RangeT &gt;::type &gt;</span>
+  find_token(RangeT &amp; Input, PredicateT Pred,
+             token_compress_mode_type eCompress = token_compress_off);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2756336"></a><h2>Description</h2>
+<p>Look for a given token in the string. Token is a character that matches the given predicate. If the "token compress mode" is enabled, adjacent tokens are considered to be one match.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>A input string. </p></dd>
+<dt><span class="term">Pred</span></dt>
+<dd><p>An unary predicate to identify a token </p></dd>
+<dt><span class="term">eCompress</span></dt>
+<dd><p>Enable/Disable compressing of adjacent tokens </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An <code class="computeroutput">iterator_range</code> delimiting the match. Returned iterator is either <code class="computeroutput">RangeT::iterator</code> or <code class="computeroutput">RangeT::const_iterator</code> , depending on the constness of the input parameter.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_tail.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2487443"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_format_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/first_finder.html b/doc/html/first_finder.html
new file mode 100644
index 0000000000..bfcaadbc88
--- /dev/null
+++ b/doc/html/first_finder.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function first_finder</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2447201" title="Header &lt;boost/algorithm/string/finder.hpp&gt;">
+<link rel="prev" href="make_split_iterator.html" title="Function template make_split_iterator">
+<link rel="next" href="last_finder.html" title="Function last_finder">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_split_iterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2447201"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="last_finder.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="first_finder"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function first_finder</span></h2>
+<p>boost::algorithm::first_finder &#8212; "First" finder </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ContainerT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> first_finder(<span class="bold"><strong>const</strong></span> ContainerT &amp; Search);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ContainerT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> first_finder(<span class="bold"><strong>const</strong></span> ContainerT &amp; Search, PredicateT Comp);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2759530"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">first_finder</code> . The finder searches for the first occurrence of the string in a given input. The result is given as an <code class="computeroutput">iterator_range</code> delimiting the match.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for. </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">first_finder</code> object </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_split_iterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2447201"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="last_finder.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/first_kday_after.html b/doc/html/first_kday_after.html
new file mode 100644
index 0000000000..62ebf2b599
--- /dev/null
+++ b/doc/html/first_kday_after.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template first_kday_after</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2508942" title="Header &lt;boost/date_time/date_generators.hpp&gt;">
+<link rel="prev" href="last_kday_of_month.html" title="Class template last_kday_of_month">
+<link rel="next" href="first_kday_before.html" title="Class template first_kday_before">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="last_kday_of_month.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="first_kday_before.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="first_kday_after"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template first_kday_after</span></h2>
+<p>boost::date_time::first_kday_after &#8212; Calculate something like "First Sunday after Jan 1,2002. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt;
+<span class="bold"><strong>class</strong></span> first_kday_after {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::calendar_type        calendar_type;   
+  <span class="bold"><strong>typedef</strong></span> calendar_type::day_of_week_type day_of_week_type;
+  <span class="bold"><strong>typedef</strong></span> date_type::duration_type        duration_type;   
+
+  <span class="emphasis"><em>// <a href="first_kday_after.html#first_kday_afterconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="first_kday_after.html#id2504009-bb">first_kday_after</a>(day_of_week_type);
+
+  <span class="emphasis"><em>// <a href="first_kday_after.html#id2423916-bb">public member functions</a></em></span>
+  <span class="type">date_type</span> <a href="first_kday_after.html#id2411050-bb">get_date</a>(date_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type">day_of_week_type</span> <a href="first_kday_after.html#id2501883-bb">day_of_week</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2626345"></a><h2>Description</h2>
+<p>Date generator that takes a date and finds kday after </p>
+<pre class="programlisting"> typedef boost::date_time::first_kday_after&lt;date&gt; firstkdayafter;
+ firstkdayafter fkaf(Monday);
+ fkaf.get_date(date(2002,Feb,1));
+</pre>
+<div class="refsect2" lang="en">
+<a name="id2626362"></a><h3>
+<a name="first_kday_afterconstruct-copy-destruct"></a><code class="computeroutput">first_kday_after</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2504009-bb"></a>first_kday_after(day_of_week_type dow);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2626396"></a><h3>
+<a name="id2423916-bb"></a><code class="computeroutput">first_kday_after</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2411050-bb"></a>get_date(date_type start_day) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">day_of_week_type</span> <a name="id2501883-bb"></a>day_of_week() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="last_kday_of_month.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="first_kday_before.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/first_kday_before.html b/doc/html/first_kday_before.html
new file mode 100644
index 0000000000..ab2337ec4d
--- /dev/null
+++ b/doc/html/first_kday_before.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template first_kday_before</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2508942" title="Header &lt;boost/date_time/date_generators.hpp&gt;">
+<link rel="prev" href="first_kday_after.html" title="Class template first_kday_after">
+<link rel="next" href="days_until_weekday.html" title="Function template days_until_weekday">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="first_kday_after.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="days_until_weekday.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="first_kday_before"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template first_kday_before</span></h2>
+<p>boost::date_time::first_kday_before &#8212; Calculate something like "First Sunday before Jan 1,2002. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt;
+<span class="bold"><strong>class</strong></span> first_kday_before {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::calendar_type        calendar_type;   
+  <span class="bold"><strong>typedef</strong></span> calendar_type::day_of_week_type day_of_week_type;
+  <span class="bold"><strong>typedef</strong></span> date_type::duration_type        duration_type;   
+
+  <span class="emphasis"><em>// <a href="first_kday_before.html#first_kday_beforeconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="first_kday_before.html#id2522066-bb">first_kday_before</a>(day_of_week_type);
+
+  <span class="emphasis"><em>// <a href="first_kday_before.html#id2406156-bb">public member functions</a></em></span>
+  <span class="type">date_type</span> <a href="first_kday_before.html#id2406160-bb">get_date</a>(date_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type">day_of_week_type</span> <a href="first_kday_before.html#id2522052-bb">day_of_week</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2626607"></a><h2>Description</h2>
+<p>Date generator that takes a date and finds kday after </p>
+<pre class="programlisting"> typedef boost::date_time::first_kday_before&lt;date&gt; firstkdaybefore;
+ firstkdaybefore fkbf(Monday);
+ fkbf.get_date(date(2002,Feb,1));
+</pre>
+<div class="refsect2" lang="en">
+<a name="id2626624"></a><h3>
+<a name="first_kday_beforeconstruct-copy-destruct"></a><code class="computeroutput">first_kday_before</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2522066-bb"></a>first_kday_before(day_of_week_type dow);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2626658"></a><h3>
+<a name="id2406156-bb"></a><code class="computeroutput">first_kday_before</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2406160-bb"></a>get_date(date_type start_day) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">day_of_week_type</span> <a name="id2522052-bb"></a>day_of_week() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="first_kday_after.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="days_until_weekday.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/first_kday_of_month.html b/doc/html/first_kday_of_month.html
new file mode 100644
index 0000000000..8bb56f73bc
--- /dev/null
+++ b/doc/html/first_kday_of_month.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template first_kday_of_month</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2508942" title="Header &lt;boost/date_time/date_generators.hpp&gt;">
+<link rel="prev" href="nth_kday_of_month.html" title="Class template nth_kday_of_month">
+<link rel="next" href="last_kday_of_month.html" title="Class template last_kday_of_month">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nth_kday_of_month.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="last_kday_of_month.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="first_kday_of_month"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template first_kday_of_month</span></h2>
+<p>boost::date_time::first_kday_of_month &#8212; Useful generator functor for finding holidays and daylight savings. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt;
+<span class="bold"><strong>class</strong></span> first_kday_of_month
+ : : <span class="bold"><strong>public</strong></span> boost::date_time::year_based_generator&lt; date_type &gt;
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::calendar_type        calendar_type;   
+  <span class="bold"><strong>typedef</strong></span> calendar_type::day_of_week_type day_of_week_type;
+  <span class="bold"><strong>typedef</strong></span> calendar_type::month_type       month_type;      
+  <span class="bold"><strong>typedef</strong></span> calendar_type::year_type        year_type;       
+  <span class="bold"><strong>typedef</strong></span> date_type::duration_type        duration_type;   
+
+  <span class="emphasis"><em>// <a href="first_kday_of_month.html#first_kday_of_monthconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="first_kday_of_month.html#id2503777-bb">first_kday_of_month</a>(day_of_week_type, month_type);
+
+  <span class="emphasis"><em>// <a href="first_kday_of_month.html#id2411362-bb">public member functions</a></em></span>
+  <span class="type">date_type</span> <a href="first_kday_of_month.html#id2411366-bb">get_date</a>(year_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type">month_type</span> <a href="first_kday_of_month.html#id2493298-bb">month</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">day_of_week_type</span> <a href="first_kday_of_month.html#id2425568-bb">day_of_week</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="first_kday_of_month.html#id2500238-bb">to_string</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2625623"></a><h2>Description</h2>
+<p>Similar to nth_kday_of_month, but requires less paramters </p>
+<div class="refsect2" lang="en">
+<a name="id2625630"></a><h3>
+<a name="first_kday_of_monthconstruct-copy-destruct"></a><code class="computeroutput">first_kday_of_month</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><a name="id2503777-bb"></a>first_kday_of_month(day_of_week_type dow, month_type m);</pre>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">dow</span></dt>
+<dd><p>The day of week, eg: Sunday, Monday, etc </p></dd>
+<dt><span class="term">m</span></dt>
+<dd><p>The month of the year, eg: Jan, Feb, Mar, etc </p></dd>
+</dl>
+</div>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2625685"></a><h3>
+<a name="id2411362-bb"></a><code class="computeroutput">first_kday_of_month</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2411366-bb"></a>get_date(year_type year) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">month_type</span> <a name="id2493298-bb"></a>month() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">day_of_week_type</span> <a name="id2425568-bb"></a>day_of_week() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2500238-bb"></a>to_string() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns a string formatted as "M4.1.0" ==&gt; 1st Sunday in April. </p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nth_kday_of_month.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="last_kday_of_month.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/first_last_rule_spec.html b/doc/html/first_last_rule_spec.html
new file mode 100644
index 0000000000..a45443899b
--- /dev/null
+++ b/doc/html/first_last_rule_spec.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct first_last_rule_spec</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2475564" title="Header &lt;boost/date_time/local_time/dst_transition_day_rules.hpp&gt;">
+<link rel="prev" href="partial_date_rule_spec.html" title="Struct partial_date_rule_spec">
+<link rel="next" href="last_last_rule_spec.html" title="Struct last_last_rule_spec">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="partial_date_rule_spec.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475564"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="last_last_rule_spec.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="first_last_rule_spec"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct first_last_rule_spec</span></h2>
+<p>boost::local_time::first_last_rule_spec &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> first_last_rule_spec {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> gregorian::date                date_type; 
+  <span class="bold"><strong>typedef</strong></span> gregorian::first_kday_of_month start_rule;
+  <span class="bold"><strong>typedef</strong></span> gregorian::last_kday_of_month  end_rule;  
+};</pre></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="partial_date_rule_spec.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475564"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="last_last_rule_spec.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/fixed_string_to_int.html b/doc/html/fixed_string_to_int.html
new file mode 100644
index 0000000000..59c1433349
--- /dev/null
+++ b/doc/html/fixed_string_to_int.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template fixed_string_to_int</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2400160" title="Header &lt;boost/date_time/format_date_parser.hpp&gt;">
+<link rel="prev" href="format_date_parser.html" title="Class template format_date_parser">
+<link rel="next" href="var_string_to_int.html" title="Function template var_string_to_int">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="format_date_parser.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2400160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="var_string_to_int.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="fixed_string_to_int"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template fixed_string_to_int</span></h2>
+<p>boost::date_time::fixed_string_to_int &#8212; Helper function for parsing fixed length strings into integers. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> int_type, <span class="bold"><strong>typename</strong></span> charT&gt;
+  <span class="type">int_type</span> fixed_string_to_int(std::istreambuf_iterator&lt; charT &gt; &amp; itr,
+                               std::istreambuf_iterator&lt; charT &gt; &amp; stream_end,
+                               parse_match_result&lt; charT &gt; &amp; mr,
+                               <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> length);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2635842"></a><h2>Description</h2>
+<p>Will consume 'length' number of characters from stream. Consumed character are transfered to parse_match_result struct. Returns '-1' if no number can be parsed or incorrect number of digits in stream. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="format_date_parser.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2400160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="var_string_to_int.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/format_date_parser.html b/doc/html/format_date_parser.html
new file mode 100644
index 0000000000..a3e184a58e
--- /dev/null
+++ b/doc/html/format_date_parser.html
@@ -0,0 +1,184 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template format_date_parser</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2400160" title="Header &lt;boost/date_time/format_date_parser.hpp&gt;">
+<link rel="prev" href="time_from_ftime.html" title="Function template time_from_ftime">
+<link rel="next" href="fixed_string_to_int.html" title="Function template fixed_string_to_int">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_from_ftime.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2400160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="fixed_string_to_int.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="format_date_parser"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template format_date_parser</span></h2>
+<p>boost::date_time::format_date_parser &#8212; Class with generic date parsing using a format string. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> charT&gt;
+<span class="bold"><strong>class</strong></span> format_date_parser {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::basic_string&lt; charT &gt;                string_type;          
+  <span class="bold"><strong>typedef</strong></span> std::basic_stringstream&lt; charT &gt;          stringstream_type;    
+  <span class="bold"><strong>typedef</strong></span> std::istreambuf_iterator&lt; charT &gt;         stream_itr_type;      
+  <span class="bold"><strong>typedef</strong></span> string_type::const_iterator               const_itr;            
+  <span class="bold"><strong>typedef</strong></span> date_type::year_type                      year_type;            
+  <span class="bold"><strong>typedef</strong></span> date_type::month_type                     month_type;           
+  <span class="bold"><strong>typedef</strong></span> date_type::day_type                       day_type;             
+  <span class="bold"><strong>typedef</strong></span> date_type::duration_type                  duration_type;        
+  <span class="bold"><strong>typedef</strong></span> date_type::day_of_week_type               day_of_week_type;     
+  <span class="bold"><strong>typedef</strong></span> date_type::day_of_year_type               day_of_year_type;     
+  <span class="bold"><strong>typedef</strong></span> <a href="string_parse_tree.html" title="Struct template string_parse_tree">string_parse_tree</a>&lt; charT &gt;                parse_tree_type;      
+  <span class="bold"><strong>typedef</strong></span> parse_tree_type::parse_match_result_type  match_results;        
+  <span class="bold"><strong>typedef</strong></span> std::vector&lt; std::basic_string&lt; charT &gt; &gt; input_collection_type;
+
+  <span class="emphasis"><em>// <a href="format_date_parser.html#format_date_parserconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="format_date_parser.html#id2507706-bb">format_date_parser</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> input_collection_type &amp;,
+                     <span class="bold"><strong>const</strong></span> input_collection_type &amp;,
+                     <span class="bold"><strong>const</strong></span> input_collection_type &amp;,
+                     <span class="bold"><strong>const</strong></span> input_collection_type &amp;);
+  <a href="format_date_parser.html#id2467385-bb">format_date_parser</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> std::locale &amp;);
+  <a href="format_date_parser.html#id2517547-bb">format_date_parser</a>(<span class="bold"><strong>const</strong></span> <a href="format_date_parser.html" title="Class template format_date_parser">format_date_parser</a>&lt; date_type, charT &gt; &amp;);
+
+  <span class="emphasis"><em>// <a href="format_date_parser.html#id2403096-bb">public member functions</a></em></span>
+  <span class="type">string_type</span> <a href="format_date_parser.html#id2403101-bb">format</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="format_date_parser.html#id2395288-bb">format</a>(string_type) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="format_date_parser.html#id2457121-bb">short_month_names</a>(<span class="bold"><strong>const</strong></span> input_collection_type &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="format_date_parser.html#id2511711-bb">long_month_names</a>(<span class="bold"><strong>const</strong></span> input_collection_type &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="format_date_parser.html#id2412980-bb">short_weekday_names</a>(<span class="bold"><strong>const</strong></span> input_collection_type &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="format_date_parser.html#id2452167-bb">long_weekday_names</a>(<span class="bold"><strong>const</strong></span> input_collection_type &amp;) ;
+  <span class="type">date_type</span> <a href="format_date_parser.html#id2467484-bb">parse_date</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                       <span class="bold"><strong>const</strong></span> <a href="special_values_parser.html" title="Class template special_values_parser">special_values_parser</a>&lt; date_type, charT &gt; &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">date_type</span> <a href="format_date_parser.html#id2509809-bb">parse_date</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
+                       std::istreambuf_iterator&lt; charT &gt; &amp;,
+                       <span class="bold"><strong>const</strong></span> <a href="special_values_parser.html" title="Class template special_values_parser">special_values_parser</a>&lt; date_type, charT &gt; &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">date_type</span> <a href="format_date_parser.html#id2397783-bb">parse_date</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
+                       std::istreambuf_iterator&lt; charT &gt; &amp;, string_type,
+                       <span class="bold"><strong>const</strong></span> <a href="special_values_parser.html" title="Class template special_values_parser">special_values_parser</a>&lt; date_type, charT &gt; &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">month_type</span> <a href="format_date_parser.html#id2526045-bb">parse_month</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
+                         std::istreambuf_iterator&lt; charT &gt; &amp;, string_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type">month_type</span> <a href="format_date_parser.html#id2420245-bb">parse_month</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
+                         std::istreambuf_iterator&lt; charT &gt; &amp;, string_type,
+                         match_results &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">day_type</span> <a href="format_date_parser.html#id2516555-bb">parse_day_of_month</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
+                              std::istreambuf_iterator&lt; charT &gt; &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">day_of_week_type</span>
+  <a href="format_date_parser.html#id2422160-bb">parse_weekday</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
+                std::istreambuf_iterator&lt; charT &gt; &amp;, string_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type">day_of_week_type</span>
+  <a href="format_date_parser.html#id2478555-bb">parse_weekday</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
+                std::istreambuf_iterator&lt; charT &gt; &amp;, string_type,
+                match_results &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">year_type</span> <a href="format_date_parser.html#id2392536-bb">parse_year</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
+                       std::istreambuf_iterator&lt; charT &gt; &amp;, string_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type">year_type</span> <a href="format_date_parser.html#id2402260-bb">parse_year</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
+                       std::istreambuf_iterator&lt; charT &gt; &amp;, string_type,
+                       match_results &amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2635064"></a><h2>Description</h2>
+<p>The following is the set of recognized format specifiers</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>a - Short weekday name</p></li>
+<li><p>A - Long weekday name</p></li>
+<li><p>b - Abbreviated month name</p></li>
+<li><p>B - Full month name</p></li>
+<li><p>d - Day of the month as decimal 01 to 31</p></li>
+<li><p>j - Day of year as decimal from 001 to 366</p></li>
+<li><p>m - Month name as a decimal 01 to 12</p></li>
+<li><p>U - Week number 00 to 53 with first Sunday as the first day of week 1?</p></li>
+<li><p>w - Weekday as decimal number 0 to 6 where Sunday == 0</p></li>
+<li><p>W - Week number 00 to 53 where Monday is first day of week 1</p></li>
+<li><p>x - facet default date representation</p></li>
+<li><p>y - Year without the century - eg: 04 for 2004</p></li>
+<li><p>Y - Year with century</p></li>
+</ul></div>
+<p>The weekday specifiers (a and A) do not add to the date construction, but they provide a way to skip over the weekday names for formats that provide them.</p>
+<p>todo -- Another interesting feature that this approach could provide is an option to fill in any missing fields with the current values from the clock. So if you have m-%d the parser would detect the missing year value and fill it in using the clock.</p>
+<p>todo -- What to do with the x. x in the classic facet is just bad... </p>
+<div class="refsect2" lang="en">
+<a name="id2635138"></a><h3>
+<a name="format_date_parserconstruct-copy-destruct"></a><code class="computeroutput">format_date_parser</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2507706-bb"></a>format_date_parser(<span class="bold"><strong>const</strong></span> string_type &amp; format,
+                   <span class="bold"><strong>const</strong></span> input_collection_type &amp; month_short_names,
+                   <span class="bold"><strong>const</strong></span> input_collection_type &amp; month_long_names,
+                   <span class="bold"><strong>const</strong></span> input_collection_type &amp; weekday_short_names,
+                   <span class="bold"><strong>const</strong></span> input_collection_type &amp; weekday_long_names);</pre></li>
+<li><pre class="literallayout"><a name="id2467385-bb"></a>format_date_parser(<span class="bold"><strong>const</strong></span> string_type &amp; format, <span class="bold"><strong>const</strong></span> std::locale &amp; locale);</pre></li>
+<li><pre class="literallayout"><a name="id2517547-bb"></a>format_date_parser(<span class="bold"><strong>const</strong></span> <a href="format_date_parser.html" title="Class template format_date_parser">format_date_parser</a>&lt; date_type, charT &gt; &amp; fdp);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2635269"></a><h3>
+<a name="id2403096-bb"></a><code class="computeroutput">format_date_parser</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">string_type</span> <a name="id2403101-bb"></a>format() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2395288-bb"></a>format(string_type format) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2457121-bb"></a>short_month_names(<span class="bold"><strong>const</strong></span> input_collection_type &amp; month_names) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2511711-bb"></a>long_month_names(<span class="bold"><strong>const</strong></span> input_collection_type &amp; month_names) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2412980-bb"></a>short_weekday_names(<span class="bold"><strong>const</strong></span> input_collection_type &amp; weekday_names) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2452167-bb"></a>long_weekday_names(<span class="bold"><strong>const</strong></span> input_collection_type &amp; weekday_names) ;</pre></li>
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2467484-bb"></a>parse_date(<span class="bold"><strong>const</strong></span> string_type &amp; value, <span class="bold"><strong>const</strong></span> string_type &amp; format,
+                     <span class="bold"><strong>const</strong></span> <a href="special_values_parser.html" title="Class template special_values_parser">special_values_parser</a>&lt; date_type, charT &gt; &amp; sv_parser) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2509809-bb"></a>parse_date(std::istreambuf_iterator&lt; charT &gt; &amp; sitr,
+                     std::istreambuf_iterator&lt; charT &gt; &amp; stream_end,
+                     <span class="bold"><strong>const</strong></span> <a href="special_values_parser.html" title="Class template special_values_parser">special_values_parser</a>&lt; date_type, charT &gt; &amp; sv_parser) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="type">date_type</span> <a name="id2397783-bb"></a>parse_date(std::istreambuf_iterator&lt; charT &gt; &amp; sitr,
+                     std::istreambuf_iterator&lt; charT &gt; &amp; stream_end,
+                     string_type format,
+                     <span class="bold"><strong>const</strong></span> <a href="special_values_parser.html" title="Class template special_values_parser">special_values_parser</a>&lt; date_type, charT &gt; &amp; sv_parser) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Of all the objects that the format_date_parser can parse, only a date can be a special value. Therefore, only parse_date checks for special_values. </p>
+</li>
+<li><pre class="literallayout"><span class="type">month_type</span> <a name="id2526045-bb"></a>parse_month(std::istreambuf_iterator&lt; charT &gt; &amp; sitr,
+                       std::istreambuf_iterator&lt; charT &gt; &amp; stream_end,
+                       string_type format) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">month_type</span> <a name="id2420245-bb"></a>parse_month(std::istreambuf_iterator&lt; charT &gt; &amp; sitr,
+                       std::istreambuf_iterator&lt; charT &gt; &amp; stream_end,
+                       string_type format, match_results &amp; mr) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">day_type</span> <a name="id2516555-bb"></a>parse_day_of_month(std::istreambuf_iterator&lt; charT &gt; &amp; sitr,
+                            std::istreambuf_iterator&lt; charT &gt; &amp; stream_end) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">day_of_week_type</span>
+<a name="id2422160-bb"></a>parse_weekday(std::istreambuf_iterator&lt; charT &gt; &amp; sitr,
+              std::istreambuf_iterator&lt; charT &gt; &amp; stream_end,
+              string_type format) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">day_of_week_type</span>
+<a name="id2478555-bb"></a>parse_weekday(std::istreambuf_iterator&lt; charT &gt; &amp; sitr,
+              std::istreambuf_iterator&lt; charT &gt; &amp; stream_end,
+              string_type format, match_results &amp; mr) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">year_type</span> <a name="id2392536-bb"></a>parse_year(std::istreambuf_iterator&lt; charT &gt; &amp; sitr,
+                     std::istreambuf_iterator&lt; charT &gt; &amp; stream_end,
+                     string_type format) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">year_type</span> <a name="id2402260-bb"></a>parse_year(std::istreambuf_iterator&lt; charT &gt; &amp; sitr,
+                     std::istreambuf_iterator&lt; charT &gt; &amp; stream_end,
+                     string_type format, match_results &amp; mr) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_from_ftime.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2400160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="fixed_string_to_int.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/from_ftime.html b/doc/html/from_ftime.html
new file mode 100644
index 0000000000..0ad1aaadfc
--- /dev/null
+++ b/doc/html/from_ftime.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template from_ftime</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2441635" title="Header &lt;boost/date_time/posix_time/conversion.hpp&gt;">
+<link rel="prev" href="special_value_from_string.html" title="Function special_value_from_string">
+<link rel="next" href="id2441838.html" title="Function operator+">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="special_value_from_string.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2441635"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2441838.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="from_ftime"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template from_ftime</span></h2>
+<p>boost::posix_time::from_ftime &#8212; Function to create a time object from an initialized FILETIME struct. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type&gt; <span class="type">time_type</span> from_ftime(<span class="bold"><strong>const</strong></span> FILETIME &amp; ft);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2675945"></a><h2>Description</h2>
+<p>Function to create a time object from an initialized FILETIME struct. A FILETIME struct holds 100-nanosecond units (0.0000001). When built with microsecond resolution the FILETIME's sub second value will be truncated. Nanosecond resolution has no truncation.</p>
+<p>Note ftime is part of the Win32 API, so it is not portable to non-windows platforms. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="special_value_from_string.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2441635"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2441838.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/function.html b/doc/html/function.html
new file mode 100644
index 0000000000..f0bbec3320
--- /dev/null
+++ b/doc/html/function.html
@@ -0,0 +1,104 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 4. Boost.Function</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries">
+<link rel="prev" href="time_zone.html" title="Class time_zone">
+<link rel="next" href="function/history.html" title="History &amp; Compatibility Notes">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_zone.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="function/history.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="function"></a>Chapter 4. Boost.Function</h2></div>
+<div><div class="author">
+<h3 class="author">
+<span class="firstname">Douglas</span> <span class="surname">Gregor</span>
+</h3>
+<code class="email">&lt;<a href="mailto:dgregor%20-at-%20cs.indiana.edu">dgregor -at- cs.indiana.edu</a>&gt;</code>
+</div></div>
+<div><p class="copyright">Copyright © 2001-2004 Douglas Gregor</p></div>
+<div><div class="legalnotice">
+<a name="id2687816"></a><p>Use, modification and distribution is subject to the Boost
+ Software License, Version 1.0. (See accompanying file
+ <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="function.html#function.intro">Introduction</a></span></dt>
+<dt><span class="section"><a href="function/history.html">History &amp; Compatibility Notes</a></span></dt>
+<dt><span class="section"><a href="function/tutorial.html">Tutorial</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="function/tutorial.html#id2688219">Basic Usage</a></span></dt>
+<dt><span class="section"><a href="function/tutorial.html#id2688524">Free functions</a></span></dt>
+<dt><span class="section"><a href="function/tutorial.html#id2688553">Member functions</a></span></dt>
+<dt><span class="section"><a href="function/tutorial.html#id2688714">References to Function Objects</a></span></dt>
+<dt><span class="section"><a href="function/tutorial.html#id2688865">Comparing Boost.Function function objects</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="function/reference.html">Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="function/reference.html#function.definitions">Definitions</a></span></dt>
+<dt><span class="section"><a href="function/reference.html#header.boost.function.hpp">Header &lt;boost/function.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="function/reference.html#id2358074">Header &lt;boost/function_equal.hpp&gt;</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="function/faq.html">Frequently Asked Questions</a></span></dt>
+<dt><span class="section"><a href="function/misc.html">Miscellaneous Notes</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="function/misc.html#id2699572">Boost.Function vs. Function Pointers</a></span></dt>
+<dt><span class="section"><a href="function/misc.html#id2699622">Performance</a></span></dt>
+<dt><span class="section"><a href="function/misc.html#id2699664">Combatting virtual function "bloat"</a></span></dt>
+<dt><span class="section"><a href="function/misc.html#id2699713">Acknowledgements</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="function/testsuite.html">Testsuite</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="function/testsuite.html#function.testsuite.acceptance">Acceptance tests</a></span></dt>
+<dt><span class="section"><a href="function/testsuite.html#function.testsuite.negative">Negative tests</a></span></dt>
+</dl></dd>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="function.intro"></a>Introduction</h3></div></div></div>
+<p>The Boost.Function library contains a family of class templates
+that are function object wrappers. The notion is similar to a
+generalized callback. It shares features with function pointers in
+that both define a call interface (e.g., a function taking two integer
+arguments and returning a floating-point value) through which some
+implementation can be called, and the implementation that is invoked
+may change throughout the course of the program.</p>
+<p> Generally, any place in which a function pointer would be used
+to defer a call or make a callback, Boost.Function can be used instead
+to allow the user greater flexibility in the implementation of the
+target. Targets can be any 'compatible' function object (or function
+pointer), meaning that the arguments to the interface designated by
+Boost.Function can be converted to the arguments of the target
+function object.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: July 25, 2004 at 02:51:51 GMT</p></small></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_zone.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="function/history.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/function/faq.html b/doc/html/function/faq.html
new file mode 100644
index 0000000000..49641bca96
--- /dev/null
+++ b/doc/html/function/faq.html
@@ -0,0 +1,216 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Frequently Asked Questions</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../function.html" title="Chapter 4. Boost.Function">
+<link rel="prev" href="../function_equal.html" title="Function template function_equal">
+<link rel="next" href="misc.html" title="Miscellaneous Notes">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../function_equal.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../function.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="misc.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="function.faq"></a>Frequently Asked Questions</h3></div></div></div>
+<div class="qandaset">
+<dl>
+<dt>1. <a href="faq.html#id2699084">Why can't I compare
+ boost::function objects with
+ operator== or
+ operator!=?</a>
+</dt>
+<dt>2. <a href="faq.html#id2699424">I see void pointers; is this [mess] type safe?</a>
+</dt>
+<dt>3. <a href="faq.html#id2699448">Why are there workarounds for void returns? C++ allows them!</a>
+</dt>
+<dt>4. <a href="faq.html#id2699490">Why (function) cloning?</a>
+</dt>
+<dt>5. <a href="faq.html#id2699504">How much overhead does a call through boost::function incur?</a>
+</dt>
+</dl>
+<table border="0" summary="Q and A Set">
+<col align="left" width="1%">
+<tbody>
+<tr class="question">
+<td align="left" valign="top">
+<a name="id2699084"></a><a name="id2699085"></a><b>1.</b>
+</td>
+<td align="left" valign="top"><p>Why can't I compare
+ <code class="computeroutput"><a href="../boost/function.html" title="Class template function">boost::function</a></code> objects with
+ <code class="computeroutput">operator==</code> or
+ <code class="computeroutput">operator!=</code>?</p></td>
+</tr>
+<tr class="answer">
+<td align="left" valign="top"><b></b></td>
+<td align="left" valign="top">
+<p>Comparison between <code class="computeroutput"><a href="../boost/function.html" title="Class template function">boost::function</a></code>
+ objects cannot be implemented "well", and therefore will not be
+ implemented. The typical semantics requested for <code class="computeroutput">f ==
+ g</code> given <code class="computeroutput"><a href="../boost/function.html" title="Class template function">boost::function</a></code> objects
+ <code class="computeroutput">f</code> and <code class="computeroutput">g</code> are:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>If <code class="computeroutput">f</code> and <code class="computeroutput">g</code>
+ store function objects of the same type, use that type's
+ <code class="computeroutput">operator==</code> to compare
+ them.</li>
+<li>If <code class="computeroutput">f</code> and <code class="computeroutput">g</code>
+ store function objects of different types, return
+ <code class="computeroutput">false</code>.</li>
+</ul></div>
+<p>The problem occurs when the type of the function objects
+ stored by both <code class="computeroutput">f</code> and <code class="computeroutput">g</code> doesn't have an
+ <code class="computeroutput">operator==</code>: we would like the expression <code class="computeroutput">f ==
+ g</code> to fail to compile, as occurs with, e.g., the standard
+ containers. However, this is not implementable for
+ <code class="computeroutput"><a href="../boost/function.html" title="Class template function">boost::function</a></code> because it necessarily
+ "erases" some type information after it has been assigned a
+ function object, so it cannot try to call
+ <code class="computeroutput">operator==</code> later: it must either find a way to call
+ <code class="computeroutput">operator==</code> now, or it will never be able to call it
+ later. Note, for instance, what happens if you try to put a
+ <code class="computeroutput">float</code> value into a
+ <code class="computeroutput"><a href="../boost/function.html" title="Class template function">boost::function</a></code> object: you will get an
+ error at the assignment operator or constructor, not in
+ <code class="computeroutput">operator()</code>, because the function-call expression
+ must be bound in the constructor or assignment operator.</p>
+<p>The most promising approach is to find a method of
+ determining if <code class="computeroutput">operator==</code> can be called for a
+ particular type, and then supporting it only when it is
+ available; in other situations, an exception would be
+ thrown. However, to date there is no known way to detect if an
+ arbitrary operator expression <code class="computeroutput">f == g</code> is suitably
+ defined. The best solution known has the following undesirable
+ qualities:</p>
+<div class="orderedlist"><ol type="1">
+<li>Fails at compile-time for objects where
+ <code class="computeroutput">operator==</code> is not accessible (e.g., because it is
+ <code class="computeroutput">private</code>).</li>
+<li>Fails at compile-time if calling
+ <code class="computeroutput">operator==</code> is ambiguous.</li>
+<li>Appears to be correct if the
+ <code class="computeroutput">operator==</code> declaration is correct, even though
+ <code class="computeroutput">operator==</code> may not compile.</li>
+</ol></div>
+<p>All of these problems translate into failures in the
+ <code class="computeroutput"><a href="../boost/function.html" title="Class template function">boost::function</a></code> constructors or
+ assignment operator, <span class="emphasis"><em>even if the user never invokes
+ operator==</em></span>. We can't do that to users.</p>
+<p>The other option is to place the burden on users that want
+ to use <code class="computeroutput">operator==</code>, e.g., by providing an
+ <code class="computeroutput">is_equality_comparable</code> trait they may
+ specialize. This is a workable solution, but is dangerous in
+ practice, because forgetting to specialize the trait will result
+ in unexpected exceptions being thrown from
+ <code class="computeroutput"><a href="../boost/function.html" title="Class template function">boost::function</a></code>'s
+ <code class="computeroutput">operator==</code>. This essentially negates the usefulness
+ of <code class="computeroutput">operator==</code> in the context in which it is most
+ desired: multitarget callbacks. The
+ <a href="../signals.html" title="Chapter 9. Boost.Signals">Signals</a> library has a way around
+ this.</p>
+</td>
+</tr>
+<tr class="question">
+<td align="left" valign="top">
+<a name="id2699424"></a><a name="id2699425"></a><b>2.</b>
+</td>
+<td align="left" valign="top"><p>I see void pointers; is this [mess] type safe?</p></td>
+</tr>
+<tr class="answer">
+<td align="left" valign="top"><b></b></td>
+<td align="left" valign="top"><p>Yes, <code class="computeroutput">boost::function</code> is type
+safe even though it uses void pointers and pointers to functions
+returning void and taking no arguments. Essentially, all type
+information is encoded in the functions that manage and invoke
+function pointers and function objects. Only these functions are
+instantiated with the exact type that is pointed to by the void
+pointer or pointer to void function. The reason that both are required
+is that one may cast between void pointers and object pointers safely
+or between different types of function pointers (provided you don't
+invoke a function pointer with the wrong type). </p></td>
+</tr>
+<tr class="question">
+<td align="left" valign="top">
+<a name="id2699448"></a><a name="id2699449"></a><b>3.</b>
+</td>
+<td align="left" valign="top"><p>Why are there workarounds for void returns? C++ allows them!</p></td>
+</tr>
+<tr class="answer">
+<td align="left" valign="top"><b></b></td>
+<td align="left" valign="top">
+<p>Void returns are permitted by the C++ standard, as in this code snippet:
+</p>
+<pre class="programlisting">void f();
+void g() { return f(); }</pre>
+<p> This is a valid usage of <code class="computeroutput">boost::function</code> because void returns are not used. With void returns, we would attempting to compile ill-formed code similar to:
+</p>
+<pre class="programlisting">int f();
+void g() { return f(); }</pre>
+<p> In essence, not using void returns allows
+<code class="computeroutput">boost::function</code> to swallow a return value. This is
+consistent with allowing the user to assign and invoke functions and
+function objects with parameters that don't exactly match.</p>
+</td>
+</tr>
+<tr class="question">
+<td align="left" valign="top">
+<a name="id2699490"></a><a name="id2699492"></a><b>4.</b>
+</td>
+<td align="left" valign="top"><p>Why (function) cloning?</p></td>
+</tr>
+<tr class="answer">
+<td align="left" valign="top"><b></b></td>
+<td align="left" valign="top"><p>In November and December of 2000, the issue of cloning
+ vs. reference counting was debated at length and it was decided
+ that cloning gave more predictable semantics. I won't rehash the
+ discussion here, but if it cloning is incorrect for a particular
+ application a reference-counting allocator could be used.</p></td>
+</tr>
+<tr class="question">
+<td align="left" valign="top">
+<a name="id2699504"></a><a name="id2699505"></a><b>5.</b>
+</td>
+<td align="left" valign="top"><p>How much overhead does a call through <code class="computeroutput"><a href="../boost/function.html" title="Class template function">boost::function</a></code> incur?</p></td>
+</tr>
+<tr class="answer">
+<td align="left" valign="top"><b></b></td>
+<td align="left" valign="top">
+<p>The cost of <code class="computeroutput">boost::function</code> can be reasonably
+ consistently measured at around 20ns +/- 10 ns on a modern &gt;2GHz
+ platform versus directly inlining the code.</p>
+<p>However, the performance of your application may benefit
+ from or be disadvantaged by <code class="computeroutput">boost::function</code>
+ depending on how your C++ optimiser optimises. Similar to a
+ standard function pointer, differences of order of 10% have been
+ noted to the benefit or disadvantage of using
+ <code class="computeroutput">boost::function</code> to call a function that contains a
+ tight loop depending on your compilation circumstances.</p>
+<p>[Answer provided by Matt Hurd. See <a href="http://article.gmane.org/gmane.comp.lib.boost.devel/33278" target="_top">http://article.gmane.org/gmane.comp.lib.boost.devel/33278</a>]</p>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: February 18, 2004 at 06:37:13 GMT</p></small></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../function_equal.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../function.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="misc.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/function/history.html b/doc/html/function/history.html
new file mode 100644
index 0000000000..7ccbd242ec
--- /dev/null
+++ b/doc/html/function/history.html
@@ -0,0 +1,111 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>History &amp; Compatibility Notes</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../function.html" title="Chapter 4. Boost.Function">
+<link rel="prev" href="../function.html" title="Chapter 4. Boost.Function">
+<link rel="next" href="tutorial.html" title="Tutorial">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../function.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../function.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="tutorial.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="function.history"></a>History &amp; Compatibility Notes</h3></div></div></div>
+<div class="itemizedlist"><ul type="disc" compact>
+<li>
+<p><span class="bold"><strong>Version 1.30.0</strong></span>: </p>
+<div class="itemizedlist"><ul type="circle" compact>
+<li><p>All features deprecated in version 1.29.0 have
+ been removed from Boost.Function.</p></li>
+<li><p><code class="computeroutput"><a href="../boost/function.html" title="Class template function">boost::function</a></code>
+ and <code class="computeroutput"><a href="../functionN.html" title="Class template functionN">boost::functionN</a></code> objects
+ can be assigned to 0 (semantically equivalent to calling
+ <code class="computeroutput"><a href="../boost/function.html#id2434373-bb">clear</a>()</code>) and
+ compared against 0 (semantically equivalent to calling
+ <code class="computeroutput"><a href="../boost/function.html#id2396343-bb">empty</a>()</code>).</p></li>
+<li><p>The Boost.Function code is now generated
+ entirely by the <a href="../../../libs/preprocessor/index.html" target="_top">Preprocessor</a> library,
+ so it is now possible to generate
+ <code class="computeroutput"><a href="../boost/function.html" title="Class template function">boost::function</a></code> and
+ <code class="computeroutput"><a href="../functionN.html" title="Class template functionN">boost::functionN</a></code> class
+ templates for any number of arguments.</p></li>
+<li><p>The
+ <code class="computeroutput"><a href="../bad_function_call.html" title="Class bad_function_call">boost::bad_function_call</a></code> exception class
+ was introduced.</p></li>
+</ul></div>
+</li>
+<li>
+<p><span class="bold"><strong>Version 1.29.0</strong></span>:
+ Boost.Function has been partially redesigned to minimize the
+ interface and make it cleaner. Several seldom- or never-used
+ features of the older Boost.Function have been deprecated and will
+ be removed in the near future. Here is a list of features that have
+ been deprecated, the likely impact of the deprecations, and how to
+ adjust your code:
+
+</p>
+<div class="itemizedlist"><ul type="circle" compact>
+<li>
+<p>The <code class="computeroutput">boost::function</code> class template syntax has
+ changed. The old syntax, e.g., <code class="computeroutput">boost::function&lt;int, float,
+ double, std::string&gt;</code>, has been changed to a more natural
+ syntax <code class="computeroutput">boost::function&lt;int (float, double,
+ std::string)&gt;</code>, where all return and argument types are
+ encoded in a single function type parameter. Any other template
+ parameters (e.g., the <code class="computeroutput">Allocator</code>) follow this single
+ parameter.</p>
+<p> The resolution to this change depends on the
+ abilities of your compiler: if your compiler supports template
+ partial specialization and can parse function types (most do), modify
+ your code to use the newer
+ syntax (preferable) or directly use one of the
+ <code class="computeroutput">functionN</code> classes whose syntax has not
+ changed. If your compiler does not support template partial
+ specialization or function types, you must take the latter option and
+ use the numbered Boost.Function classes. This option merely requires
+ changing types such as <code class="computeroutput">boost::function&lt;void, int, int&gt;</code>
+ to <code class="computeroutput">boost::function2&lt;void, int, int&gt;</code> (adding the number of
+ function arguments to the end of the class name).</p>
+<p> Support for the old syntax with the
+ <code class="computeroutput">boost::function</code> class template will persist for a short
+ while, but will eventually be removed so that we can provide better
+ error messages and link compatibility. </p>
+</li>
+<li><p>The invocation
+ policy template parameter (<code class="computeroutput">Policy</code>) has been deprecated
+ and will be removed. There is no direct equivalent to this rarely
+ used feature.</p></li>
+<li><p>The mixin template parameter
+ (<code class="computeroutput">Mixin</code>) has been deprecated and will be removed. There
+ is not direct equivalent to this rarely used feature.</p></li>
+<li><p>The
+ <code class="computeroutput">set</code> methods have been deprecated and will be
+ removed. Use the assignment operator instead.</p></li>
+</ul></div>
+</li>
+</ul></div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: January 23, 2005 at 16:23:09 GMT</p></small></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../function.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../function.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="tutorial.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/function/misc.html b/doc/html/function/misc.html
new file mode 100644
index 0000000000..b9eb4b09bf
--- /dev/null
+++ b/doc/html/function/misc.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Miscellaneous Notes</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../function.html" title="Chapter 4. Boost.Function">
+<link rel="prev" href="faq.html" title="Frequently Asked Questions">
+<link rel="next" href="testsuite.html" title="Testsuite">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="faq.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../function.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="testsuite.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="function.misc"></a>Miscellaneous Notes</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="misc.html#id2699572">Boost.Function vs. Function Pointers</a></span></dt>
+<dt><span class="section"><a href="misc.html#id2699622">Performance</a></span></dt>
+<dt><span class="section"><a href="misc.html#id2699664">Combatting virtual function "bloat"</a></span></dt>
+<dt><span class="section"><a href="misc.html#id2699713">Acknowledgements</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2699572"></a>Boost.Function vs. Function Pointers</h4></div></div></div>
+<p>Boost.Function has several advantages over function pointers, namely:
+
+</p>
+<div class="itemizedlist"><ul type="disc" compact>
+<li><p>Boost.Function allows arbitrary compatible function objects to be targets (instead of requiring an exact function signature).</p></li>
+<li><p>Boost.Function may be used with argument-binding and other function object construction libraries.</p></li>
+<li><p>Boost.Function has predictible behavior when an empty function object is called. </p></li>
+</ul></div>
+<p> And, of course, function pointers have several advantages over Boost.Function:
+
+</p>
+<div class="itemizedlist"><ul type="disc" compact>
+<li><p> Function pointers are smaller (the size of one pointer instead of three) </p></li>
+<li><p> Function pointers are faster (Boost.Function may require two calls through function pointers) </p></li>
+<li><p> Function pointers are backward-compatible with C libraries.</p></li>
+<li><p> More readable error messages. </p></li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2699622"></a>Performance</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="misc.html#id2699625">Function object wrapper size</a></span></dt>
+<dt><span class="section"><a href="misc.html#id2699636">Copying efficiency</a></span></dt>
+<dt><span class="section"><a href="misc.html#id2699653">Invocation efficiency</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2699625"></a>Function object wrapper size</h5></div></div></div>
+<p> Function object wrappers will be the size of two function pointers plus one function pointer or data pointer (whichever is larger). On common 32-bit platforms, this amounts to 12 bytes per wrapper. Additionally, the function object target will be allocated on the heap.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2699636"></a>Copying efficiency</h5></div></div></div>
+<p> Copying function object wrappers may require allocating memory for a copy of the function object target. The default allocator may be replaced with a faster custom allocator or one may choose to allow the function object wrappers to only store function object targets by reference (using <code class="computeroutput">ref</code>) if the cost of this cloning becomes prohibitive.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2699653"></a>Invocation efficiency</h5></div></div></div>
+<p> With a properly inlining compiler, an invocation of a function object requires one call through a function pointer. If the call is to a free function pointer, an additional call must be made to that function pointer (unless the compiler has very powerful interprocedural analysis).</p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2699664"></a>Combatting virtual function "bloat"</h4></div></div></div>
+<p> The use of virtual functions tends to cause 'code bloat' on many compilers. When a class contains a virtual function, it is necessary to emit an additional function that classifies the type of the object. It has been our experience that these auxiliary functions increase the size of the executable significantly when many <code class="computeroutput">boost::function</code> objects are used. </p>
+<p> In Boost.Function, an alternative but equivalent approach was taken using free functions instead of virtual functions. The Boost.Function object essentially holds two pointers to make a valid target call: a void pointer to the function object it contains and a void pointer to an "invoker" that can call the function object, given the function pointer. This invoker function performs the argument and return value conversions Boost.Function provides. A third pointer points to a free function called the "manager", which handles the cloning and destruction of function objects. The scheme is typesafe because the only functions that actually handle the function object, the invoker and the manager, are instantiated given the type of the function object, so they can safely cast the incoming void pointer (the function object pointer) to the appropriate type.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2699713"></a>Acknowledgements</h4></div></div></div>
+<p> Many people were involved in the construction of this
+ library. William Kempf, Jesse Jones and Karl Nelson were all
+ extremely helpful in isolating an interface and scope for the
+ library. John Maddock managed the formal review, and many
+ reviewers gave excellent comments on interface, implementation,
+ and documentation. Peter Dimov led us to the function
+ declarator-based syntax.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: March 12, 2003 at 23:27:22 GMT</p></small></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="faq.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../function.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="testsuite.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/function/reference.html b/doc/html/function/reference.html
new file mode 100644
index 0000000000..975d2a9ba2
--- /dev/null
+++ b/doc/html/function/reference.html
@@ -0,0 +1,184 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Reference</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../function.html" title="Chapter 4. Boost.Function">
+<link rel="prev" href="tutorial.html" title="Tutorial">
+<link rel="next" href="../bad_function_call.html" title="Class bad_function_call">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../function.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../bad_function_call.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="function.reference"></a>Reference</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="reference.html#function.definitions">Definitions</a></span></dt>
+<dt><span class="section"><a href="reference.html#header.boost.function.hpp">Header &lt;boost/function.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2358074">Header &lt;boost/function_equal.hpp&gt;</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="function.definitions"></a>Definitions</h4></div></div></div>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<p>A function object <code class="computeroutput">f</code> is
+ <span class="emphasis"><em>compatible</em></span> if for the given set of argument
+ types <code class="computeroutput">Arg1</code>,
+ <code class="computeroutput">Arg2</code>, ...,
+ <code class="computeroutput">ArgN</code> and a
+ return type <code class="computeroutput">ResultType</code>, the
+ appropriate following function is well-formed:
+</p>
+<pre class="programlisting"><span class="emphasis"><em>// if ResultType is not <span class="bold"><strong>void</strong></span></em></span>
+ ResultType foo(Arg1 arg1, Arg2 arg2, ..., Arg<span class="emphasis"><em>N</em></span> arg<span class="emphasis"><em>N</em></span>)
+ {
+ <span class="bold"><strong>return</strong></span> f(arg1, arg2, ..., arg<span class="emphasis"><em>N</em></span>);
+ }
+
+ <span class="emphasis"><em>// if ResultType is <span class="bold"><strong>void</strong></span></em></span>
+ ResultType foo(Arg1 arg1, Arg2 arg2, ..., Arg<span class="emphasis"><em>N</em></span> arg<span class="emphasis"><em>N</em></span>)
+ {
+ f(arg1, arg2, ..., arg<span class="emphasis"><em>N</em></span>);
+ }
+</pre>
+<p> A special provision is made for pointers to member
+ functions. Though they are not function objects, Boost.Function
+ will adapt them internally to function objects. This requires
+ that a pointer to member function of the form <code class="computeroutput">R
+ (X::*mf)(Arg1, Arg2, ..., ArgN)
+ cv-quals</code> be adapted to a
+ function object with the following function call operator
+ overloads:
+</p>
+<pre class="programlisting"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename P</strong></span>&gt;
+ R <span class="bold"><strong>operator</strong></span>()(<span class="emphasis"><em>cv-quals</em></span> P&amp; x, Arg1 arg1, Arg2 arg2, ..., Arg<span class="emphasis"><em>N</em></span> arg<span class="emphasis"><em>N</em></span>) <span class="bold"><strong>const</strong></span>
+ {
+ <span class="bold"><strong>return</strong></span> (*x).*mf(arg1, arg2, ..., arg<span class="emphasis"><em>N</em></span>);
+ }
+</pre>
+</li>
+<li><p>A function object <code class="computeroutput">f</code> of
+ type <code class="computeroutput">F</code> is
+ <span class="emphasis"><em>stateless</em></span> if it is a function pointer or if
+ <code class="computeroutput">boost::is_stateless&lt;T&gt;</code>
+ is true. The construction of or copy to a Boost.Function object
+ from a stateless function object will not cause exceptions to be
+ thrown and will not allocate any storage.
+ </p></li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.function.hpp"></a>Header &lt;<a href="../../../boost/function.hpp" target="_top">boost/function.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>class</strong></span> <a href="../bad_function_call.html" title="Class bad_function_call">bad_function_call</a>;
+  <span class="bold"><strong>class</strong></span> <a href="../function_base.html" title="Class function_base">function_base</a>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> R, <span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN,
+           <span class="bold"><strong>typename</strong></span> Allocator = std::allocator&lt;<span class="bold"><strong>void</strong></span>&gt; &gt;
+   <span class="bold"><strong>class</strong></span> <a href="../functionN.html" title="Class template functionN">functionN</a>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator&gt;
+    <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../functionN.html#id2399780">swap</a>(<a href="../functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp;,
+              <a href="../functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+           <span class="bold"><strong>typename</strong></span> Functor&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../functionN.html#id2513394-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="../functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp;, Functor);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+           <span class="bold"><strong>typename</strong></span> Functor&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../functionN.html#id2443650-bb"><span class="bold"><strong>operator</strong></span>==</a>(Functor, <span class="bold"><strong>const</strong></span> <a href="../functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+           <span class="bold"><strong>typename</strong></span> Functor&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../functionN.html#id2378702-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="../functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp;,
+                    <a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+           <span class="bold"><strong>typename</strong></span> Functor&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../functionN.html#id2361523-bb"><span class="bold"><strong>operator</strong></span>==</a>(<a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;,
+                    <span class="bold"><strong>const</strong></span> <a href="../functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator1,
+           <span class="bold"><strong>typename</strong></span> U1, <span class="bold"><strong>typename</strong></span> U2, ..., <span class="bold"><strong>typename</strong></span> UN, <span class="bold"><strong>typename</strong></span> Allocator2&gt;
+    <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../functionN.html#id2443717-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="../functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator1&gt;&amp;,
+                    <span class="bold"><strong>const</strong></span> <a href="../functionN.html" title="Class template functionN">functionN</a>&lt;U1, U2, ..., UN, Allocator2&gt;&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+           <span class="bold"><strong>typename</strong></span> Functor&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../functionN.html#id2376561-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> <a href="../functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp;, Functor);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+           <span class="bold"><strong>typename</strong></span> Functor&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../functionN.html#id2407091-bb"><span class="bold"><strong>operator</strong></span>!=</a>(Functor, <span class="bold"><strong>const</strong></span> <a href="../functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+           <span class="bold"><strong>typename</strong></span> Functor&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../functionN.html#id2526244-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> <a href="../functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp;,
+                    <a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+           <span class="bold"><strong>typename</strong></span> Functor&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../functionN.html#id2361938-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;,
+                    <span class="bold"><strong>const</strong></span> <a href="../functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator1,
+           <span class="bold"><strong>typename</strong></span> U1, <span class="bold"><strong>typename</strong></span> U2, ..., <span class="bold"><strong>typename</strong></span> UN, <span class="bold"><strong>typename</strong></span> Allocator2&gt;
+    <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../functionN.html#id2434733-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> <a href="../functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator1&gt;&amp;,
+                    <span class="bold"><strong>const</strong></span> <a href="../functionN.html" title="Class template functionN">functionN</a>&lt;U1, U2, ..., UN, Allocator2&gt;&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator = std::allocator&lt;<span class="bold"><strong>void</strong></span>&gt; &gt;
+   <span class="bold"><strong>class</strong></span> <a href="../boost/function.html" title="Class template function">function</a>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator&gt;
+    <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../boost/function.html#id2408551">swap</a>(<a href="../boost/function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp;,
+              <a href="../boost/function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../boost/function.html#id2341297-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="../boost/function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp;, Functor);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../boost/function.html#id2399796-bb"><span class="bold"><strong>operator</strong></span>==</a>(Functor, <span class="bold"><strong>const</strong></span> <a href="../boost/function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../boost/function.html#id2444136-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="../boost/function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp;,
+                    <a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../boost/function.html#id2477463-bb"><span class="bold"><strong>operator</strong></span>==</a>(<a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;,
+                    <span class="bold"><strong>const</strong></span> <a href="../boost/function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature1, <span class="bold"><strong>typename</strong></span> Allocator1, <span class="bold"><strong>typename</strong></span> Signature2,
+           <span class="bold"><strong>typename</strong></span> Allocator2&gt;
+    <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../boost/function.html#id2378044-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="../boost/function.html" title="Class template function">function</a>&lt;Signature1, Allocator1&gt;&amp;,
+                    <span class="bold"><strong>const</strong></span> <a href="../boost/function.html" title="Class template function">function</a>&lt;Signature2, Allocator2&gt;&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../boost/function.html#id2336228-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> <a href="../boost/function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp;, Functor);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../boost/function.html#id2337224-bb"><span class="bold"><strong>operator</strong></span>!=</a>(Functor, <span class="bold"><strong>const</strong></span> <a href="../boost/function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../boost/function.html#id2508816-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> <a href="../boost/function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp;,
+                    <a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Allocator, <span class="bold"><strong>typename</strong></span> Functor&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../boost/function.html#id2407103-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;,
+                    <span class="bold"><strong>const</strong></span> <a href="../boost/function.html" title="Class template function">function</a>&lt;Signature, Allocator&gt;&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature1, <span class="bold"><strong>typename</strong></span> Allocator1, <span class="bold"><strong>typename</strong></span> Signature2,
+           <span class="bold"><strong>typename</strong></span> Allocator2&gt;
+    <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../boost/function.html#id2469309-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> <a href="../boost/function.html" title="Class template function">function</a>&lt;Signature1, Allocator1&gt;&amp;,
+                    <span class="bold"><strong>const</strong></span> <a href="../boost/function.html" title="Class template function">function</a>&lt;Signature2, Allocator2&gt;&amp;);
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2358074"></a>Header &lt;<a href="../../../boost/function_equal.hpp" target="_top">boost/function_equal.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> F, <span class="bold"><strong>typename</strong></span> G&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../function_equal.html" title="Function template function_equal">function_equal</a>(<span class="bold"><strong>const</strong></span> F&amp;, <span class="bold"><strong>const</strong></span> G&amp;);
+}</pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../function.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../bad_function_call.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/function/testsuite.html b/doc/html/function/testsuite.html
new file mode 100644
index 0000000000..e0edb45600
--- /dev/null
+++ b/doc/html/function/testsuite.html
@@ -0,0 +1,196 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Testsuite</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../function.html" title="Chapter 4. Boost.Function">
+<link rel="prev" href="misc.html" title="Miscellaneous Notes">
+<link rel="next" href="../hash.html" title="Chapter 5. Boost.Functional/Hash">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="misc.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../function.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../hash.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="function.testsuite"></a>Testsuite</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="testsuite.html#function.testsuite.acceptance">Acceptance tests</a></span></dt>
+<dt><span class="section"><a href="testsuite.html#function.testsuite.negative">Negative tests</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="function.testsuite.acceptance"></a>Acceptance tests</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Test</th>
+<th>Type</th>
+<th>Description</th>
+<th>If failing...</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><p><a href="../../../libs/function/test/function_test.cpp" target="_top">function_test.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test the capabilities of the <code class="computeroutput"><a href="../boost/function.html" title="Class template function">boost::function</a></code> class template.</p></td>
+<td><p>The <code class="computeroutput"><a href="../boost/function.html" title="Class template function">boost::function</a></code> class template may not be usable on your compiler. However, the library may still be usable via the <code class="computeroutput"><a href="../functionN.html" title="Class template functionN">boost::functionN</a></code> class templates.</p></td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/function/test/function_n_test.cpp" target="_top">function_n_test.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test the capabilities of the <code class="computeroutput"><a href="../functionN.html" title="Class template functionN">boost::functionN</a></code> class templates.</p></td>
+<td> </td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/function/test/allocator_test.cpp" target="_top">allocator_test.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test the use of custom allocators.</p></td>
+<td><p>Allocators are ignored by the implementation.</p></td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/function/test/stateless_test.cpp" target="_top">stateless_test.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test the optimization of stateless function objects in the Boost.Function library.</p></td>
+<td><p>The exception-safety and performance guarantees given for stateless function objects may not be met by the implementation.</p></td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/function/test/lambda_test.cpp" target="_top">lambda_test.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test the interaction between Boost.Function and Boost.Lambda.</p></td>
+<td><p>Either Boost.Lambda does not work on the platform, or Boost.Function cannot safely be applied without the use of <code class="computeroutput">boost::unlambda</code>.</p></td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/function/test/contains_test.cpp" target="_top">contains_test.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test the operation of the
+ <code class="computeroutput">target</code> member function and the
+ equality operators.</p></td>
+<td> </td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/function/test/function_30.cpp" target="_top">function_30.cpp</a></p></td>
+<td><p>compile</p></td>
+<td><p>Test the generation of a Boost.Function function object adaptor accepting 30 arguments.</p></td>
+<td><p>The Boost.Function library may work for function object adaptors of up to 10 parameters, but will be unable to generate adaptors for an arbitrary number of parameters. Failure often indicates an error in the compiler's preprocessor.</p></td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/function/test/function_arith_cxx98.cpp" target="_top">function_arith_cxx98.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test the first tutorial example.</p></td>
+<td> </td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/function/test/function_arith_portable.cpp" target="_top">function_arith_portable.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test the first tutorial example.</p></td>
+<td> </td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/function/test/sum_avg_cxx98.cpp" target="_top">sum_avg_cxx98.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test the second tutorial example.</p></td>
+<td> </td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/function/test/sum_avg_portable.cpp" target="_top">sum_avg_portable.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test the second tutorial example.</p></td>
+<td> </td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/function/test/mem_fun_cxx98.cpp" target="_top">mem_fun_cxx98.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test member function example from tutorial.</p></td>
+<td> </td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/function/test/mem_fun_portable.cpp" target="_top">mem_fun_portable.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test member function example from tutorial.</p></td>
+<td> </td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/function/test/std_bind_cxx98.cpp" target="_top">std_bind_cxx98.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test standard binders example from tutorial.</p></td>
+<td> </td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/function/test/std_bind_portable.cpp" target="_top">std_bind_portable.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test standard binders example from tutorial.</p></td>
+<td> </td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/function/test/function_ref_cxx98.cpp" target="_top">function_ref_cxx98.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test <code class="computeroutput"><a href="../reference_wrapper.html#id2366489">boost::ref</a></code> example from tutorial.</p></td>
+<td> </td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/function/test/function_ref_portable.cpp" target="_top">function_ref_portable.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test <code class="computeroutput"><a href="../reference_wrapper.html#id2366489">boost::ref</a></code> example from tutorial.</p></td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="function.testsuite.negative"></a>Negative tests</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Test</th>
+<th>Type</th>
+<th>Description</th>
+<th>If failing...</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><p><a href="../../../libs/function/test/function_test_fail1.cpp" target="_top">function_test_fail1.cpp</a></p></td>
+<td><p>compile-fail</p></td>
+<td><p>Test the (incorrect!) use of comparisons between Boost.Function function objects.</p></td>
+<td><p>Intuitive (but incorrect!) code may compile and will give meaningless results.</p></td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/function/test/function_test_fail2.cpp" target="_top">function_test_fail2.cpp</a></p></td>
+<td><p>compile-fail</p></td>
+<td><p>Test the use of an incompatible function object with Boost.Function</p></td>
+<td><p>Incorrect code may compile (with potentially unexpected results).</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="misc.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../function.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../hash.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/function/tutorial.html b/doc/html/function/tutorial.html
new file mode 100644
index 0000000000..225d34e61c
--- /dev/null
+++ b/doc/html/function/tutorial.html
@@ -0,0 +1,322 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Tutorial</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../function.html" title="Chapter 4. Boost.Function">
+<link rel="prev" href="history.html" title="History &amp; Compatibility Notes">
+<link rel="next" href="reference.html" title="Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../function.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="function.tutorial"></a>Tutorial</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="tutorial.html#id2688219">Basic Usage</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2688524">Free functions</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2688553">Member functions</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2688714">References to Function Objects</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2688865">Comparing Boost.Function function objects</a></span></dt>
+</dl></div>
+<p> Boost.Function has two syntactical forms: the preferred form
+and the portable form. The preferred form fits more closely with the
+C++ language and reduces the number of separate template parameters
+that need to be considered, often improving readability; however, the
+preferred form is not supported on all platforms due to compiler
+bugs. The compatible form will work on all compilers supported by
+Boost.Function. Consult the table below to determine which syntactic
+form to use for your compiler.
+
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Preferred syntax</th>
+<th align="left">Portable syntax</th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><div class="itemizedlist"><ul type="disc" compact>
+<li>GNU C++ 2.95.x, 3.0.x, 3.1.x</li>
+<li>Comeau C++ 4.2.45.2</li>
+<li>SGI MIPSpro 7.3.0</li>
+<li>Intel C++ 5.0, 6.0</li>
+<li>Compaq's cxx 6.2</li>
+<li>Microsoft Visual C++ 7.1</li>
+</ul></div></td>
+<td align="left"><div class="itemizedlist"><ul type="disc" compact>
+<li><span class="emphasis"><em>Any compiler supporting the preferred syntax</em></span></li>
+<li>Microsoft Visual C++ 6.0, 7.0</li>
+<li>Borland C++ 5.5.1</li>
+<li>Sun WorkShop 6 update 2 C++ 5.3</li>
+<li>Metrowerks CodeWarrior 8.1</li>
+</ul></div></td>
+</tr></tbody>
+</table></div>
+<p> If your compiler does not appear in this list, please try the preferred syntax and report your results to the Boost list so that we can keep this table up-to-date.</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2688219"></a>Basic Usage</h4></div></div></div>
+<p> A function wrapper is defined simply
+by instantiating the <code class="computeroutput">function</code> class
+template with the desired return type and argument types, formulated
+as a C++ function type. Any number of arguments may be supplied, up to
+some implementation-defined limit (10 is the default maximum). The
+following declares a function object wrapper
+<code class="computeroutput">f</code> that takes two
+<code class="computeroutput">int</code> parameters and returns a
+<code class="computeroutput">float</code>:
+
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Preferred syntax</th>
+<th align="left">Portable syntax</th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><code class="computeroutput"><a href="../boost/function.html" title="Class template function">boost::function</a></code>&lt;float (int x, int y)&gt; f;</pre></td>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><code class="computeroutput"><a href="../functionN.html" title="Class template functionN">boost::function2</a></code>&lt;float, int, int&gt; f;</pre></td>
+</tr></tbody>
+</table></div>
+<p> By default, function object wrappers are empty, so we can create a
+function object to assign to <code class="computeroutput">f</code>:
+
+</p>
+<pre class="programlisting">struct int_div {
+ float operator()(int x, int y) const { return ((float)x)/y; };
+};</pre>
+<pre class="programlisting">f = int_div();</pre>
+<p> Now we can use <code class="computeroutput">f</code> to execute
+the underlying function object
+<code class="computeroutput">int_div</code>:
+
+</p>
+<pre class="programlisting">std::cout &lt;&lt; f(5, 3) &lt;&lt; std::endl;</pre>
+<p> We are free to assign any compatible function object to
+<code class="computeroutput">f</code>. If
+<code class="computeroutput">int_div</code> had been declared to take two
+<code class="computeroutput">long</code> operands, the implicit
+conversions would have been applied to the arguments without any user
+interference. The only limit on the types of arguments is that they be
+CopyConstructible, so we can even use references and arrays:
+
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<thead><tr><th align="left">Preferred syntax</th></tr></thead>
+<tbody><tr><td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><code class="computeroutput"><a href="../boost/function.html" title="Class template function">boost::function</a></code>&lt;void (int values[], int n, int&amp; sum, float&amp; avg)&gt; sum_avg;</pre></td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<thead><tr><th align="left">Portable syntax</th></tr></thead>
+<tbody><tr><td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><code class="computeroutput"><a href="../functionN.html" title="Class template functionN">boost::function4</a></code>&lt;void, int*, int, int&amp;, float&amp;&gt; sum_avg;</pre></td></tr></tbody>
+</table></div>
+<pre class="programlisting">void do_sum_avg(int values[], int n, int&amp; sum, float&amp; avg)
+{
+ sum = 0;
+ for (int i = 0; i &lt; n; i++)
+ sum += values[i];
+ avg = (float)sum / n;
+}</pre>
+<pre class="programlisting">sum_avg = &amp;do_sum_avg;</pre>
+<p> Invoking a function object wrapper that does not actually
+contain a function object is a precondition violation, much like
+trying to call through a null function pointer, and will throw a <code class="computeroutput"><a href="../bad_function_call.html" title="Class bad_function_call">bad_function_call</a></code> exception). We can check for an
+empty function object wrapper by using it in a boolean context (it evaluates <code class="computeroutput">true</code> if the wrapper is not empty) or compare it against <code class="computeroutput">0</code>. For instance:
+</p>
+<pre class="programlisting">if (f)
+ std::cout &lt;&lt; f(5, 3) &lt;&lt; std::endl;
+else
+ std::cout &lt;&lt; "f has no target, so it is unsafe to call" &lt;&lt; std::endl;</pre>
+<p> Alternatively,
+<code class="computeroutput"><code class="computeroutput"><a href="../boost/function.html#id2396343-bb">empty</a></code>()</code>
+method will return whether or not the wrapper is empty. </p>
+<p> Finally, we can clear out a function target by assigning it to <code class="computeroutput">0</code> or by calling the <code class="computeroutput"><code class="computeroutput"><a href="../boost/function.html#id2434373-bb">clear</a></code>()</code> member function, e.g.,
+</p>
+<pre class="programlisting">f = 0;</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2688524"></a>Free functions</h4></div></div></div>
+<p> Free function pointers can be considered singleton function objects with const function call operators, and can therefore be directly used with the function object wrappers:
+</p>
+<pre class="programlisting">float mul_ints(int x, int y) { return ((float)x) * y; }</pre>
+<pre class="programlisting">f = &amp;mul_ints;</pre>
+<p> Note that the <code class="computeroutput">&amp;</code> isn't really necessary unless you happen to be using Microsoft Visual C++ version 6. </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2688553"></a>Member functions</h4></div></div></div>
+<p> In many systems, callbacks often call to member functions of a
+particular object. This is often referred to as "argument binding",
+and is beyond the scope of Boost.Function. The use of member functions
+directly, however, is supported, so the following code is valid:
+
+</p>
+<pre class="programlisting">struct X {
+ int foo(int);
+};</pre>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Preferred syntax</th>
+<th align="left">Portable syntax</th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><code class="computeroutput"><a href="../boost/function.html" title="Class template function">boost::function</a></code>&lt;int (X*, int)&gt; f;
+
+f = &amp;X::foo;
+
+X x;
+f(&amp;x, 5);</pre></td>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><code class="computeroutput"><a href="../functionN.html" title="Class template functionN">boost::function2</a></code>&lt;int, X*, int&gt; f;
+
+f = &amp;X::foo;
+
+X x;
+f(&amp;x, 5);</pre></td>
+</tr></tbody>
+</table></div>
+<p> Several libraries exist that support argument binding. Three such libraries are summarized below:
+</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><a href="../../../libs/bind/index.html" target="_top">Bind</a>. This library allows binding of
+ arguments for any function object. It is lightweight and very
+ portable.</p></li>
+<li>
+<p>The C++ Standard library. Using
+ <code class="computeroutput">std::bind1st</code> and
+ <code class="computeroutput">std::mem_fun</code> together one can bind
+ the object of a pointer-to-member function for use with
+ Boost.Function:
+
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Preferred syntax</th>
+<th align="left">Portable syntax</th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><code class="computeroutput"><a href="../boost/function.html" title="Class template function">boost::function</a></code>&lt;int (int)&gt; f;
+X x;
+f = std::bind1st(
+ std::mem_fun(&amp;X::foo), &amp;x);
+f(5); // Call x.foo(5)</pre></td>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><code class="computeroutput"><a href="../functionN.html" title="Class template functionN">boost::function1</a></code>&lt;int, int&gt; f;
+X x;
+f = std::bind1st(
+ std::mem_fun(&amp;X::foo), &amp;x);
+f(5); // Call x.foo(5)</pre></td>
+</tr></tbody>
+</table></div>
+</li>
+<li><p>The <a href="../lambda.html" title="Chapter 6. Boost.Lambda">Lambda</a> library. This library provides a powerful composition mechanism to construct function objects that uses very natural C++ syntax. Lambda requires a compiler that is reasonably conformant to the C++ standard. </p></li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2688714"></a>References to Function Objects</h4></div></div></div>
+<p> In some cases it is
+ expensive (or semantically incorrect) to have Boost.Function clone a
+ function object. In such cases, it is possible to request that
+ Boost.Function keep only a reference to the actual function
+ object. This is done using the <code class="computeroutput">ref</code>
+ and <code class="computeroutput">cref</code> functions to wrap a
+ reference to a function object:
+
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Preferred syntax</th>
+<th align="left">Portable syntax</th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">stateful_type a_function_object;
+<code class="computeroutput"><a href="../boost/function.html" title="Class template function">boost::function</a></code>&lt;int (int)&gt; f;
+f = <code class="computeroutput"><a href="../reference_wrapper.html#id2366489">boost::ref</a></code>(a_function_object);
+
+<code class="computeroutput"><a href="../boost/function.html" title="Class template function">boost::function</a></code>&lt;int (int)&gt; f2(f);</pre></td>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">stateful_type a_function_object;
+<code class="computeroutput"><a href="../functionN.html" title="Class template functionN">boost::function1</a></code>&lt;int, int&gt; f;
+f = <code class="computeroutput"><a href="../reference_wrapper.html#id2366489">boost::ref</a></code>(a_function_object);
+
+<code class="computeroutput"><a href="../functionN.html" title="Class template functionN">boost::function1</a></code>&lt;int, int&gt; f2(f);</pre></td>
+</tr></tbody>
+</table></div>
+<p> Here, <code class="computeroutput">f</code> will not make a copy
+of <code class="computeroutput">a_function_object</code>, nor will
+<code class="computeroutput">f2</code> when it is targeted to
+<code class="computeroutput">f</code>'s reference to
+<code class="computeroutput">a_function_object</code>. Additionally, when
+using references to function objects, Boost.Function will not throw
+exceptions during assignment or construction.
+</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2688865"></a>Comparing Boost.Function function objects</h4></div></div></div>
+<p>Function object wrappers can be compared via <code class="computeroutput">==</code>
+ or <code class="computeroutput">!=</code> against any function object that can be stored
+ within the wrapper. If the function object wrapper contains a
+ function object of that type, it will be compared against the given
+ function object (which must be either be
+ <a href="../EqualityComparable.html" title="Concept EqualityComparable">EqualityComparable</a> or have an overloaded <code class="computeroutput"><a href="../function_equal.html" title="Function template function_equal">boost::function_equal</a></code>). For instance:</p>
+<pre class="programlisting">int compute_with_X(X*, int);
+
+f = &amp;X::foo;
+assert(f == &amp;X::foo);
+assert(&amp;compute_with_X != f);</pre>
+<p>When comparing against an instance of
+ <code class="computeroutput"><a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a></code>, the address
+ of the object in the
+ <code class="computeroutput"><a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a></code> is compared
+ against the address of the object stored by the function object
+ wrapper:</p>
+<pre class="programlisting">a_stateful_object so1, so2;
+f = <code class="computeroutput"><a href="../reference_wrapper.html#id2366489">boost::ref</a></code>(so1);
+assert(f == <code class="computeroutput"><a href="../reference_wrapper.html#id2366489">boost::ref</a></code>(so1));
+assert(f == so1); <span class="emphasis"><em>// Only if a_stateful_object is <a href="../EqualityComparable.html" title="Concept EqualityComparable">EqualityComparable</a></em></span>
+assert(f != <code class="computeroutput"><a href="../reference_wrapper.html#id2366489">boost::ref</a></code>(so2));</pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: March 18, 2005 at 04:54:32 GMT</p></small></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../function.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/functionN.html b/doc/html/functionN.html
new file mode 100755
index 0000000000..0832f7cf43
--- /dev/null
+++ b/doc/html/functionN.html
@@ -0,0 +1,396 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template functionN</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="function/reference.html#header.boost.function.hpp" title="Header &lt;boost/function.hpp&gt;">
+<link rel="prev" href="function_base.html" title="Class function_base">
+<link rel="next" href="boost/function.html" title="Class template function">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="function_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="function/reference.html#header.boost.function.hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost/function.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="functionN"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template functionN</span></h2>
+<p>boost::functionN &#8212; A set of generalized function pointers that can be used for callbacks or wrapping function objects.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> R, <span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN,
+         <span class="bold"><strong>typename</strong></span> Allocator = std::allocator&lt;<span class="bold"><strong>void</strong></span>&gt; &gt;
+<span class="bold"><strong>class</strong></span> functionN : <span class="bold"><strong>public</strong></span> <a href="function_base.html" title="Class function_base">function_base</a> {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> R         result_type;         
+  <span class="bold"><strong>typedef</strong></span> Allocator allocator_type;      
+  <span class="bold"><strong>typedef</strong></span> T1        argument_type;        <span class="emphasis"><em>// If N == 1</em></span>
+  <span class="bold"><strong>typedef</strong></span> T1        first_argument_type;  <span class="emphasis"><em>// If N == 2</em></span>
+  <span class="bold"><strong>typedef</strong></span> T2        second_argument_type; <span class="emphasis"><em>// If N == 2</em></span>
+  <span class="bold"><strong>typedef</strong></span> T1        arg1_type;           
+  <span class="bold"><strong>typedef</strong></span> T2        arg2_type;           
+     .
+     .
+     .
+  <span class="bold"><strong>typedef</strong></span> TN        argN_type;           
+
+  <span class="emphasis"><em>// static constants</em></span>
+  <span class="bold"><strong>static</strong></span> <span class="bold"><strong>const</strong></span> <span class="bold"><strong>int</strong></span> arity = N;
+
+  <span class="emphasis"><em>// <a href="lambda.html" title="Chapter 6. Boost.Lambda">Lambda</a> library support</em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Args&gt;
+  <span class="bold"><strong>struct</strong></span> sig {
+    <span class="emphasis"><em>// types</em></span>
+    <span class="bold"><strong>typedef</strong></span> result_type type;
+  };
+
+  <span class="emphasis"><em>// <a href="functionN.html#functionNconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="functionN.html#id2380335-bb">functionN</a>();
+  <a href="functionN.html#id2433978-bb">functionN</a>(<span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> F&gt; <a href="functionN.html#id2340638-bb">functionN</a>(F);
+  functionN&amp; <a href="functionN.html#id2521955-bb"><span class="bold"><strong>operator</strong></span>=</a>(<span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&amp;);
+  <a href="functionN.html#id2376550-bb">~functionN</a>();
+
+  <span class="emphasis"><em>// <a href="functionN.html#id2350205-bb">modifiers</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="functionN.html#id2412281-bb">swap</a>(<span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&amp;);
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="functionN.html#id2416181-bb">clear</a>();
+
+  <span class="emphasis"><em>// <a href="functionN.html#id2516334-bb">capacity</a></em></span>
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="functionN.html#id2516339-bb">empty</a>() <span class="bold"><strong>const</strong></span>;
+  <a href="functionN.html#id2371252-bb"><span class="bold"><strong>operator</strong></span> safe_bool</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="functionN.html#id2504239-bb"><span class="bold"><strong>operator</strong></span>!</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="functionN.html#id2366257-bb">target access</a></em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Functor&gt; <span class="type">Functor*</span> <a href="functionN.html#id2469286-bb">target</a>();
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Functor&gt; <span class="type"><span class="bold"><strong>const</strong></span> Functor*</span> <a href="functionN.html#id2361856-bb">target</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Functor&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="functionN.html#id2350915-bb">contains</a>(<span class="bold"><strong>const</strong></span> Functor&amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="functionN.html#id2371468-bb">invocation</a></em></span>
+  <span class="type">result_type</span> <a href="functionN.html#id2512050-bb"><span class="bold"><strong>operator</strong></span>()</a>(arg1_type, arg2_type, ..., argN_type) <span class="bold"><strong>const</strong></span>;
+};
+
+<span class="emphasis"><em>// <a href="functionN.html#id2399776-bb">specialized algorithms</a></em></span>
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="functionN.html#id2399780">swap</a>(<a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp;,
+            <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp;);
+
+<span class="emphasis"><em>// <a href="functionN.html#id2513385-bb">comparison operators</a></em></span>
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+         <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="functionN.html#id2513394-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp;, Functor);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+         <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="functionN.html#id2443650-bb"><span class="bold"><strong>operator</strong></span>==</a>(Functor, <span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp;);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+         <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="functionN.html#id2378702-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp;,
+                  <a href="reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+         <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="functionN.html#id2361523-bb"><span class="bold"><strong>operator</strong></span>==</a>(<a href="reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;,
+                  <span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp;);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator1,
+         <span class="bold"><strong>typename</strong></span> U1, <span class="bold"><strong>typename</strong></span> U2, ..., <span class="bold"><strong>typename</strong></span> UN, <span class="bold"><strong>typename</strong></span> Allocator2&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="functionN.html#id2443717-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator1&gt;&amp;,
+                  <span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;U1, U2, ..., UN, Allocator2&gt;&amp;);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+         <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="functionN.html#id2376561-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp;, Functor);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+         <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="functionN.html#id2407091-bb"><span class="bold"><strong>operator</strong></span>!=</a>(Functor, <span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp;);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+         <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="functionN.html#id2526244-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp;,
+                  <a href="reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+         <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="functionN.html#id2361938-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<a href="reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;,
+                  <span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp;);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator1,
+         <span class="bold"><strong>typename</strong></span> U1, <span class="bold"><strong>typename</strong></span> U2, ..., <span class="bold"><strong>typename</strong></span> UN, <span class="bold"><strong>typename</strong></span> Allocator2&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="functionN.html#id2434733-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator1&gt;&amp;,
+                  <span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;U1, U2, ..., UN, Allocator2&gt;&amp;);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2692966"></a><h2>Description</h2>
+<p>Class template <a href="functionN.html" title="Class template functionN">functionN</a> is
+ actually a family of related classes <a href="functionN.html" title="Class template functionN">function0</a>, <a href="functionN.html" title="Class template functionN">function1</a>, etc., up to some
+ implementation-defined maximum. In this context, <code class="computeroutput">N</code>
+ refers to the number of parameters.</p>
+<div class="refsect2" lang="en">
+<a name="id2693000"></a><h3>
+<a name="functionNconstruct-copy-destruct"></a><code class="computeroutput">functionN</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2380335-bb"></a>functionN();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">this-&gt;<a href="functionN.html#id2516339-bb">empty</a>()</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2433978-bb"></a>functionN(<span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&amp; f);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ Contains a copy of the <code class="computeroutput">f</code>'s target, if it has one, or is empty if <code class="computeroutput">f.<a href="functionN.html#id2516339-bb">empty</a>()</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw unless copying the target of <code class="computeroutput">f</code> throws.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> F&gt; <a name="id2340638-bb"></a>functionN(F f);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ F is a function object Callable from <code class="computeroutput">this</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">*this</code> targets a copy of <code class="computeroutput">f</code> if <code class="computeroutput">f</code> is nonempty, or <code class="computeroutput">this-&gt;<a href="functionN.html#id2516339-bb">empty</a>()</code> if <code class="computeroutput">f</code> is empty.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw when <code class="computeroutput">f</code> is a stateless function object.</p>
+</li>
+<li>
+<pre class="literallayout">functionN&amp; <a name="id2521955-bb"></a><span class="bold"><strong>operator</strong></span>=(<span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&amp; f);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">*this</code> targets a copy of <code class="computeroutput">f</code>'s target, if it has one, or is empty if <code class="computeroutput">f.<a href="functionN.html#id2516339-bb">empty</a>()</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw when the target of <code class="computeroutput">f</code> is a stateless function object or a reference to the function object.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2376550-bb"></a>~functionN();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ If <code class="computeroutput">!this-&gt;<a href="functionN.html#id2516339-bb">empty</a>()</code>, destroys the target of this.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2693348"></a><h3>
+<a name="id2350205-bb"></a><code class="computeroutput">functionN</code> modifiers</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2412281-bb"></a>swap(<span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&amp; f);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Interchanges the targets of <code class="computeroutput">*this</code> and <code class="computeroutput">f</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2416181-bb"></a>clear();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ this-&gt;<a href="functionN.html#id2516339-bb">empty</a>()<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2693474"></a><h3>
+<a name="id2516334-bb"></a><code class="computeroutput">functionN</code> capacity</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2516339-bb"></a>empty() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">false</code> if <code class="computeroutput">this</code> has a target, and <code class="computeroutput">true</code> otherwise.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2371252-bb"></a><span class="bold"><strong>operator</strong></span> safe_bool() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ A <code class="computeroutput">safe_bool</code> that evaluates <code class="computeroutput">false</code> in a boolean context when <code class="computeroutput">this-&gt;<a href="functionN.html#id2516339-bb">empty</a>()</code>, and <code class="computeroutput">true</code> otherwise.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2504239-bb"></a><span class="bold"><strong>operator</strong></span>!() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">this-&gt;<a href="functionN.html#id2516339-bb">empty</a>()</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2693684"></a><h3>
+<a name="id2366257-bb"></a><code class="computeroutput">functionN</code> target access</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<p><a name="id2366261-bb"></a></p>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Functor&gt; <span class="type">Functor*</span> <a name="id2469286-bb"></a>target();
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Functor&gt; <span class="type"><span class="bold"><strong>const</strong></span> Functor*</span> <a name="id2361856-bb"></a>target() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ If <code class="computeroutput">this</code> stores a target of type
+ <code class="computeroutput">Functor</code>, returns the address of the
+ target. Otherwise, returns the NULL
+ pointer.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Functor&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2350915-bb"></a>contains(<span class="bold"><strong>const</strong></span> Functor&amp; f) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">true</code> if <code class="computeroutput">this-&gt;<a href="functionN.html#id2366261-bb">target</a>&lt;Functor&gt;()</code> is non-NULL and <code class="computeroutput"><a href="function_equal.html" title="Function template function_equal">function_equal</a>(*(this-&gt;target&lt;Functor&gt;()), f)</code></p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2693885"></a><h3>
+<a name="id2371468-bb"></a><code class="computeroutput">functionN</code> invocation</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type">result_type</span> <a name="id2512050-bb"></a><span class="bold"><strong>operator</strong></span>()(arg1_type a1, arg2_type a2, ... , argN_type aN) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ <code class="computeroutput">f(a1, a2, ..., aN)</code>, where <code class="computeroutput">f</code> is the target of <code class="computeroutput">*this</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ if <code class="computeroutput">R</code> is <code class="computeroutput">void</code>, nothing is returned; otherwise, the return value of the call to <code class="computeroutput">f</code> is returned.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ <code class="computeroutput"><a href="bad_function_call.html" title="Class bad_function_call">bad_function_call</a></code> if <code class="computeroutput">this-&gt;<a href="functionN.html#id2516339-bb">empty</a>()</code>. Otherwise, may through any exception thrown by the target function <code class="computeroutput">f</code>.</p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2694021"></a><h3>
+<a name="id2399776-bb"></a><code class="computeroutput">functionN</code> specialized algorithms</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2399780"></a>swap(<a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp; f1,
+            <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp; f2);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ <code class="computeroutput">f1.<a href="functionN.html#id2412281-bb">swap</a>(f2)</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2694134"></a><h3>
+<a name="id2513385-bb"></a><code class="computeroutput">functionN</code> comparison operators</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<p><a name="id2513389"></a></p>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+         <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2513394-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp; f, Functor g);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+         <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2443650-bb"></a><span class="bold"><strong>operator</strong></span>==(Functor g, <span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp; f);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+         <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2378702-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp; f,
+                  <a href="reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt; g);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+         <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2361523-bb"></a><span class="bold"><strong>operator</strong></span>==(<a href="reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt; g,
+                  <span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp; f);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator1,
+         <span class="bold"><strong>typename</strong></span> U1, <span class="bold"><strong>typename</strong></span> U2, ..., <span class="bold"><strong>typename</strong></span> UN, <span class="bold"><strong>typename</strong></span> Allocator2&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2443717-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator1&gt;&amp; f1,
+                  <span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;U1, U2, ..., UN, Allocator2&gt;&amp; f2);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ True when <code class="computeroutput">f</code> stores an object of
+ type <code class="computeroutput">Functor</code> and one of the following conditions applies:
+ <div class="itemizedlist"><ul type="disc">
+<li>
+<code class="computeroutput">g</code> is of type
+ <code class="computeroutput"><a href="reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;</code>
+ and <code class="computeroutput">f.target&lt;Functor&gt;() == g.<a href="reference_wrapper.html#id2490294-bb">get_pointer</a>()</code>.</li>
+<li>
+<code class="computeroutput">g</code> is not of type
+ <code class="computeroutput"><a href="reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;</code>
+ and
+ <code class="computeroutput"><a href="function_equal.html" title="Function template function_equal">function_equal</a>(*(f.target&lt;Functor&gt;()),
+ g)</code>.</li>
+</ul></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ <code class="computeroutput"><a href="functionN.html" title="Class template functionN">functionN</a></code>
+ objects are not
+ <a href="EqualityComparable.html" title="Concept EqualityComparable">EqualityComparable</a>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Rationale</span></b>:
+
+ The <code class="computeroutput">safe_bool</code> conversion
+ opens a loophole whereby two <code class="computeroutput">functionN</code>
+ instances can be compared via <code class="computeroutput">==</code>, although this
+ is not feasible to implement. The undefined <code class="computeroutput">void
+ operator==</code> closes the loophole and ensures a
+ compile-time or link-time error.</p>
+</li>
+<li>
+<p><a name="id2376556"></a></p>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+         <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2376561-bb"></a><span class="bold"><strong>operator</strong></span>!=(<span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp; f, Functor g);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+         <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2407091-bb"></a><span class="bold"><strong>operator</strong></span>!=(Functor g, <span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp; f);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+         <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2526244-bb"></a><span class="bold"><strong>operator</strong></span>!=(<span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp; f,
+                  <a href="reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt; g);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator,
+         <span class="bold"><strong>typename</strong></span> Functor&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2361938-bb"></a><span class="bold"><strong>operator</strong></span>!=(<a href="reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt; g,
+                  <span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator&gt;&amp; f);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN, <span class="bold"><strong>typename</strong></span> Allocator1,
+         <span class="bold"><strong>typename</strong></span> U1, <span class="bold"><strong>typename</strong></span> U2, ..., <span class="bold"><strong>typename</strong></span> UN, <span class="bold"><strong>typename</strong></span> Allocator2&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2434733-bb"></a><span class="bold"><strong>operator</strong></span>!=(<span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;T1, T2, ..., TN, Allocator1&gt;&amp; f1,
+                  <span class="bold"><strong>const</strong></span> <a href="functionN.html" title="Class template functionN">functionN</a>&lt;U1, U2, ..., UN, Allocator2&gt;&amp; f2);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ True when <code class="computeroutput">f</code> does not store an
+ object of type <code class="computeroutput">Functor</code> or it stores an object of
+ type <code class="computeroutput">Functor</code> and one of the following conditions
+ applies:
+ <div class="itemizedlist"><ul type="disc">
+<li>
+<code class="computeroutput">g</code> is of type
+ <code class="computeroutput"><a href="reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;</code>
+ and <code class="computeroutput">f.target&lt;Functor&gt;() != g.<a href="reference_wrapper.html#id2490294-bb">get_pointer</a>()</code>.</li>
+<li>
+<code class="computeroutput">g</code> is not of type
+ <code class="computeroutput"><a href="reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;Functor&gt;</code>
+ and <code class="computeroutput">!<a href="function_equal.html" title="Function template function_equal">function_equal</a>(*(f.target&lt;Functor&gt;()), g)</code>.</li>
+</ul></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ <code class="computeroutput"><a href="functionN.html" title="Class template functionN">functionN</a></code>
+ objects are not
+ <a href="EqualityComparable.html" title="Concept EqualityComparable">EqualityComparable</a>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Rationale</span></b>:
+
+ The <code class="computeroutput">safe_bool</code> conversion
+ opens a loophole whereby two <code class="computeroutput">functionN</code>
+ instances can be compared via <code class="computeroutput">!=</code>, although this
+ is not feasible to implement. The undefined <code class="computeroutput">void
+ operator!=</code> closes the loophole and ensures a
+ compile-time or link-time error.</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="function_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="function/reference.html#header.boost.function.hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost/function.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/function_base.html b/doc/html/function_base.html
new file mode 100644
index 0000000000..8d0f2bf07c
--- /dev/null
+++ b/doc/html/function_base.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class function_base</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="function/reference.html#header.boost.function.hpp" title="Header &lt;boost/function.hpp&gt;">
+<link rel="prev" href="bad_function_call.html" title="Class bad_function_call">
+<link rel="next" href="functionN.html" title="Class template functionN">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_function_call.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="function/reference.html#header.boost.function.hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="functionN.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="function_base"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class function_base</span></h2>
+<p>boost::function_base &#8212; The common base class for all Boost.Function
+ objects. Objects of type function_base may not be created
+ directly.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> function_base {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="function_base.html#id2358190-bb">capacity</a></em></span>
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="function_base.html#id2377133-bb">empty</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="function_base.html#id2346528-bb">target access</a></em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Functor&gt; <span class="type">Functor*</span> <a href="function_base.html#id2347921-bb">target</a>();
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Functor&gt; <span class="type"><span class="bold"><strong>const</strong></span> Functor*</span> <a href="function_base.html#id2410578-bb">target</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Functor&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="function_base.html#id2340460-bb">contains</a>(<span class="bold"><strong>const</strong></span> Functor&amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2691210"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2691213"></a><h3>
+<a name="id2358190-bb"></a><code class="computeroutput">function_base</code> capacity</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2377133-bb"></a>empty() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">false</code> if <code class="computeroutput">this</code> has a target, and <code class="computeroutput">true</code> otherwise.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2691292"></a><h3>
+<a name="id2346528-bb"></a><code class="computeroutput">function_base</code> target access</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<p><a name="id2346532-bb"></a></p>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Functor&gt; <span class="type">Functor*</span> <a name="id2347921-bb"></a>target();
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Functor&gt; <span class="type"><span class="bold"><strong>const</strong></span> Functor*</span> <a name="id2410578-bb"></a>target() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ If <code class="computeroutput">this</code> stores a target of type
+ <code class="computeroutput">Functor</code>, returns the address of the
+ target. Otherwise, returns the NULL
+ pointer.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Functor&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2340460-bb"></a>contains(<span class="bold"><strong>const</strong></span> Functor&amp; f) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">true</code> if <code class="computeroutput">this-&gt;<a href="function_base.html#id2346532-bb">target</a>&lt;Functor&gt;()</code> is non-NULL and <code class="computeroutput"><a href="function_equal.html" title="Function template function_equal">function_equal</a>(*(this-&gt;target&lt;Functor&gt;()), f)</code></p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_function_call.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="function/reference.html#header.boost.function.hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="functionN.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/function_equal.html b/doc/html/function_equal.html
new file mode 100644
index 0000000000..fc916481cf
--- /dev/null
+++ b/doc/html/function_equal.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template function_equal</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="function/reference.html#id2358074" title="Header &lt;boost/function_equal.hpp&gt;">
+<link rel="prev" href="boost/function.html" title="Class template function">
+<link rel="next" href="function/faq.html" title="Frequently Asked Questions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/function.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="function/reference.html#id2358074"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="function/faq.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="function_equal"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template function_equal</span></h2>
+<p>boost::function_equal &#8212; <p>Compare two function objects for equality.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> F, <span class="bold"><strong>typename</strong></span> G&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> function_equal(<span class="bold"><strong>const</strong></span> F&amp; f, <span class="bold"><strong>const</strong></span> G&amp; g);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2699040"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">f == g</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Only if <code class="computeroutput">f == g</code> throws.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/function.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="function/reference.html#id2358074"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="function/faq.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/gather_month_strings.html b/doc/html/gather_month_strings.html
new file mode 100644
index 0000000000..5b85a729c9
--- /dev/null
+++ b/doc/html/gather_month_strings.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template gather_month_strings</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2481608" title="Header &lt;boost/date_time/strings_from_facet.hpp&gt;">
+<link rel="prev" href="string_parse_tree.html" title="Struct template string_parse_tree">
+<link rel="next" href="gather_weekday_strings.html" title="Function template gather_weekday_strings">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="string_parse_tree.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2481608"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="gather_weekday_strings.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="gather_month_strings"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template gather_month_strings</span></h2>
+<p>boost::date_time::gather_month_strings &#8212; This function gathers up all the month strings from a std::locale. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+  <span class="type">std::vector&lt; std::basic_string&lt; charT &gt; &gt;</span>
+  gather_month_strings(<span class="bold"><strong>const</strong></span> std::locale &amp; locale, <span class="bold"><strong>bool</strong></span> short_strings = true);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2651385"></a><h2>Description</h2>
+<p>Using the time_put facet, this function creates a collection of all the month strings from a locale. This is handy when building custom date parsers or formatters that need to be localized.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">locale</span></dt>
+<dd><p>The locale to use when gathering the strings </p></dd>
+<dt><span class="term">short_strings</span></dt>
+<dd><p>True(default) to gather short strings, false for long strings. </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ A vector of strings containing the strings in order. eg: Jan, Feb, Mar, etc. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="string_parse_tree.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2481608"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="gather_weekday_strings.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/gather_weekday_strings.html b/doc/html/gather_weekday_strings.html
new file mode 100644
index 0000000000..a8c2f566c8
--- /dev/null
+++ b/doc/html/gather_weekday_strings.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template gather_weekday_strings</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2481608" title="Header &lt;boost/date_time/strings_from_facet.hpp&gt;">
+<link rel="prev" href="gather_month_strings.html" title="Function template gather_month_strings">
+<link rel="next" href="base_time.html" title="Class template base_time">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="gather_month_strings.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2481608"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="base_time.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="gather_weekday_strings"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template gather_weekday_strings</span></h2>
+<p>boost::date_time::gather_weekday_strings &#8212; This function gathers up all the weekday strings from a std::locale. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+  <span class="type">std::vector&lt; std::basic_string&lt; charT &gt; &gt;</span>
+  gather_weekday_strings(<span class="bold"><strong>const</strong></span> std::locale &amp; locale,
+                         <span class="bold"><strong>bool</strong></span> short_strings = true);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2651485"></a><h2>Description</h2>
+<p>Using the time_put facet, this function creates a collection of all the weekday strings from a locale starting with the string for 'Sunday'. This is handy when building custom date parsers or formatters that need to be localized.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">locale</span></dt>
+<dd><p>The locale to use when gathering the strings </p></dd>
+<dt><span class="term">short_strings</span></dt>
+<dd><p>True(default) to gather short strings, false for long strings. </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ A vector of strings containing the weekdays in order. eg: Sun, Mon, Tue, Wed, Thu, Fri, Sat </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="gather_month_strings.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2481608"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="base_time.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/get.html b/doc/html/get.html
new file mode 100644
index 0000000000..62e0c55cc7
--- /dev/null
+++ b/doc/html/get.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function get</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2588868" title="Header &lt;boost/variant/get.hpp&gt;">
+<link rel="prev" href="bad_get.html" title="Class bad_get">
+<link rel="next" href="bad_visit.html" title="Class bad_visit">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_get.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2588868"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_visit.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="get"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function get</span></h2>
+<p>boost::get &#8212; <p>Retrieves a value of a specified type from a given
+ <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code>.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U, <span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN&gt;
+  <span class="type">U *</span> get(<a href="boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; * operand);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U, <span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN&gt;
+  <span class="type"><span class="bold"><strong>const</strong></span> U *</span> get(<span class="bold"><strong>const</strong></span> <a href="boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; * operand);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U, <span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN&gt;
+  <span class="type">U &amp;</span> get(<a href="boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp; operand);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U, <span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN&gt;
+  <span class="type"><span class="bold"><strong>const</strong></span> U &amp;</span> get(<span class="bold"><strong>const</strong></span> <a href="boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp; operand);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2839339"></a><h2>Description</h2>
+<p>The <code class="computeroutput">get</code> function allows run-time checked,
+ type-safe retrieval of the content of the given
+ <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code>. The function succeeds
+ only if the content is of the specified type <code class="computeroutput">U</code>, with
+ failure indicated as described below.</p>
+<p><span class="bold"><strong>Warning</strong></span>: After either
+ <code class="computeroutput">operand</code> or its content is destroyed (e.g., when the
+ given <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code> is assigned a
+ value of different type), the returned reference is invalidated.
+ Thus, significant care and caution must be extended when handling
+ the returned reference.</p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ As part of its guarantee of type-safety, <code class="computeroutput">get</code>
+ enforces <code class="computeroutput">const</code>-correctness. Thus, the specified type
+ <code class="computeroutput">U</code> must be <code class="computeroutput">const</code>-qualified whenever
+ <code class="computeroutput">operand</code> or its content is likewise
+ <code class="computeroutput">const</code>-qualified. The converse, however, is not required:
+ that is, the specified type <code class="computeroutput">U</code> may be
+ <code class="computeroutput">const</code>-qualified even when <code class="computeroutput">operand</code> and its
+ content are not.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ If passed a pointer, <code class="computeroutput">get</code> returns a pointer to
+ the value content if it is of the specified type <code class="computeroutput">U</code>;
+ otherwise, a null pointer is returned. If passed a reference,
+ <code class="computeroutput">get</code> returns a reference to the value content if it is of
+ the specified type <code class="computeroutput">U</code>; otherwise, an exception is thrown
+ (see below).<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Overloads taking a
+ <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code> pointer will not
+ throw; the overloads taking a
+ <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code> reference throw
+ <code class="computeroutput"><a href="bad_get.html" title="Class bad_get">bad_get</a></code> if the content is not of
+ the specified type <code class="computeroutput">U</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Rationale</span></b>:
+
+ While visitation via
+ <code class="computeroutput"><a href="apply_visitor.html" title="Function apply_visitor">apply_visitor</a></code>
+ is generally prefered due to its greater safety, <code class="computeroutput">get</code> may
+ may be more convenient in some cases due to its straightforward
+ usage.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_get.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2588868"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_visit.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/greg_day.html b/doc/html/greg_day.html
new file mode 100644
index 0000000000..ad89351d02
--- /dev/null
+++ b/doc/html/greg_day.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class greg_day</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2452632" title="Header &lt;boost/date_time/gregorian/greg_day.hpp&gt;">
+<link rel="prev" href="bad_day_of_month.html" title="Struct bad_day_of_month">
+<link rel="next" href="bad_day_of_year.html" title="Struct bad_day_of_year">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_day_of_month.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2452632"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_day_of_year.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="greg_day"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class greg_day</span></h2>
+<p>boost::gregorian::greg_day &#8212; Represent a day of the month (range 1 - 31). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> greg_day {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="greg_day.html#greg_dayconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="greg_day.html#id2452733-bb">greg_day</a>(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span>);
+
+  <span class="emphasis"><em>// <a href="greg_day.html#id2452702-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a href="greg_day.html#id2452707-bb">as_number</a>() <span class="bold"><strong>const</strong></span>;
+  <a href="greg_day.html#id2452719-bb"><span class="bold"><strong>operator</strong></span> <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2669442"></a><h2>Description</h2>
+<p>This small class allows for simple conversion an integer value into a day of the month for a standard gregorian calendar. The type is automatically range checked so values outside of the range 1-31 will cause a bad_day_of_month exception </p>
+<div class="refsect2" lang="en">
+<a name="id2669452"></a><h3>
+<a name="greg_dayconstruct-copy-destruct"></a><code class="computeroutput">greg_day</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2452733-bb"></a>greg_day(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span> day_of_month);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2669497"></a><h3>
+<a name="id2452702-bb"></a><code class="computeroutput">greg_day</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a name="id2452707-bb"></a>as_number() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><a name="id2452719-bb"></a><span class="bold"><strong>operator</strong></span> <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span>() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_day_of_month.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2452632"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_day_of_year.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/greg_durations_config.html b/doc/html/greg_durations_config.html
new file mode 100644
index 0000000000..abf5f1328d
--- /dev/null
+++ b/doc/html/greg_durations_config.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct greg_durations_config</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2459983" title="Header &lt;boost/date_time/gregorian/greg_duration_types.hpp&gt;">
+<link rel="prev" href="bad_day_of_year.html" title="Struct bad_day_of_year">
+<link rel="next" href="greg_facet_config.html" title="Struct greg_facet_config">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_day_of_year.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2459983"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="greg_facet_config.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="greg_durations_config"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct greg_durations_config</span></h2>
+<p>boost::gregorian::greg_durations_config &#8212; config struct for additional duration types (ie months_duration&lt;&gt; &amp; years_duration&lt;&gt;) </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> greg_durations_config {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <a href="boost/gregorian/date.html" title="Class date">date</a>                                  date_type;          
+  <span class="bold"><strong>typedef</strong></span> date_time::int_adapter&lt; <span class="bold"><strong>int</strong></span> &gt;         int_rep;            
+  <span class="bold"><strong>typedef</strong></span> date_time::month_functor&lt; date_type &gt; month_adjustor_type;
+};</pre></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_day_of_year.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2459983"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="greg_facet_config.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/greg_facet_config.html b/doc/html/greg_facet_config.html
new file mode 100644
index 0000000000..b344301500
--- /dev/null
+++ b/doc/html/greg_facet_config.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct greg_facet_config</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2460086" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="greg_durations_config.html" title="Struct greg_durations_config">
+<link rel="next" href="id2460171.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greg_durations_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2460086"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2460171.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="greg_facet_config"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct greg_facet_config</span></h2>
+<p>boost::gregorian::greg_facet_config &#8212; Configuration of the output facet template. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> greg_facet_config {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <a href="greg_month.html" title="Class greg_month">boost::gregorian::greg_month</a>     month_type;        
+  <span class="bold"><strong>typedef</strong></span> boost::date_time::special_values special_value_enum;
+  <span class="bold"><strong>typedef</strong></span> boost::gregorian::months_of_year month_enum;        
+  <span class="bold"><strong>typedef</strong></span> boost::date_time::weekdays       weekday_enum;      
+};</pre></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greg_durations_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2460086"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2460171.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/greg_month.html b/doc/html/greg_month.html
new file mode 100644
index 0000000000..dbed10934e
--- /dev/null
+++ b/doc/html/greg_month.html
@@ -0,0 +1,103 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class greg_month</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2409109" title="Header &lt;boost/date_time/gregorian/greg_month.hpp&gt;">
+<link rel="prev" href="bad_month.html" title="Struct bad_month">
+<link rel="next" href="bad_weekday.html" title="Struct bad_weekday">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_month.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2409109"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_weekday.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="greg_month"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class greg_month</span></h2>
+<p>boost::gregorian::greg_month &#8212; Wrapper class to represent months in gregorian based calendar. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> greg_month {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_time::months_of_year               month_enum;        
+  <span class="bold"><strong>typedef</strong></span> std::map&lt; std::string, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span> &gt; month_map_type;    
+  <span class="bold"><strong>typedef</strong></span> boost::shared_ptr&lt; month_map_type &gt;     month_map_ptr_type;
+
+  <span class="emphasis"><em>// <a href="greg_month.html#greg_monthconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="greg_month.html#id2409371-bb">greg_month</a>(month_enum);
+  <a href="greg_month.html#id2409390-bb">greg_month</a>(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span>);
+
+  <span class="emphasis"><em>// <a href="greg_month.html#id2409179-bb">public member functions</a></em></span>
+  <a href="greg_month.html#id2409183-bb"><span class="bold"><strong>operator</strong></span> <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a href="greg_month.html#id2409200-bb">as_number</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">month_enum</span> <a href="greg_month.html#id2409216-bb">as_enum</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a href="greg_month.html#id2409228-bb">as_short_string</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a href="greg_month.html#id2409241-bb">as_long_string</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="greg_month.html#id2409253-bb">as_short_wstring</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="greg_month.html#id2409266-bb">as_long_wstring</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a href="greg_month.html#id2409279-bb">as_short_string</a>(<span class="bold"><strong>char</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a href="greg_month.html#id2409302-bb">as_long_string</a>(<span class="bold"><strong>char</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="greg_month.html#id2409324-bb">as_short_string</a>(<span class="bold"><strong>wchar_t</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="greg_month.html#id2409347-bb">as_long_string</a>(<span class="bold"><strong>wchar_t</strong></span>) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="greg_month.html#id2409407-bb">public static functions</a></em></span>
+  <span class="type">month_map_ptr_type</span> <a href="greg_month.html#id2409412-bb">get_month_map_ptr</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2672017"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2672021"></a><h3>
+<a name="greg_monthconstruct-copy-destruct"></a><code class="computeroutput">greg_month</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2409371-bb"></a>greg_month(month_enum theMonth);</pre></li>
+<li><pre class="literallayout"><a name="id2409390-bb"></a>greg_month(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span> theMonth);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2672080"></a><h3>
+<a name="id2409179-bb"></a><code class="computeroutput">greg_month</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2409183-bb"></a><span class="bold"><strong>operator</strong></span> <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span>() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a name="id2409200-bb"></a>as_number() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">month_enum</span> <a name="id2409216-bb"></a>as_enum() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a name="id2409228-bb"></a>as_short_string() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a name="id2409241-bb"></a>as_long_string() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id2409253-bb"></a>as_short_wstring() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id2409266-bb"></a>as_long_wstring() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a name="id2409279-bb"></a>as_short_string(<span class="bold"><strong>char</strong></span> ) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a name="id2409302-bb"></a>as_long_string(<span class="bold"><strong>char</strong></span> ) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id2409324-bb"></a>as_short_string(<span class="bold"><strong>wchar_t</strong></span> ) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id2409347-bb"></a>as_long_string(<span class="bold"><strong>wchar_t</strong></span> ) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2672478"></a><h3>
+<a name="id2409407-bb"></a><code class="computeroutput">greg_month</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">month_map_ptr_type</span> <a name="id2409412-bb"></a>get_month_map_ptr() ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_month.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2409109"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_weekday.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/greg_weekday.html b/doc/html/greg_weekday.html
new file mode 100644
index 0000000000..c563153d58
--- /dev/null
+++ b/doc/html/greg_weekday.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class greg_weekday</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2409485" title="Header &lt;boost/date_time/gregorian/greg_weekday.hpp&gt;">
+<link rel="prev" href="bad_weekday.html" title="Struct bad_weekday">
+<link rel="next" href="bad_year.html" title="Struct bad_year">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_weekday.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2409485"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_year.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="greg_weekday"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class greg_weekday</span></h2>
+<p>boost::gregorian::greg_weekday &#8212; Represent a day within a week (range 0==Sun to 6==Sat). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> greg_weekday {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::date_time::weekdays weekday_enum;
+
+  <span class="emphasis"><em>// <a href="greg_weekday.html#greg_weekdayconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="greg_weekday.html#id2409616-bb">greg_weekday</a>(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span>);
+
+  <span class="emphasis"><em>// <a href="greg_weekday.html#id2409535-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a href="greg_weekday.html#id2409540-bb">as_number</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a href="greg_weekday.html#id2409552-bb">as_short_string</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a href="greg_weekday.html#id2409565-bb">as_long_string</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="greg_weekday.html#id2409577-bb">as_short_wstring</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="greg_weekday.html#id2409590-bb">as_long_wstring</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">weekday_enum</span> <a href="greg_weekday.html#id2409603-bb">as_enum</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2672968"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2672971"></a><h3>
+<a name="greg_weekdayconstruct-copy-destruct"></a><code class="computeroutput">greg_weekday</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2409616-bb"></a>greg_weekday(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span> day_of_week_num);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2673016"></a><h3>
+<a name="id2409535-bb"></a><code class="computeroutput">greg_weekday</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a name="id2409540-bb"></a>as_number() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a name="id2409552-bb"></a>as_short_string() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a name="id2409565-bb"></a>as_long_string() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id2409577-bb"></a>as_short_wstring() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id2409590-bb"></a>as_long_wstring() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">weekday_enum</span> <a name="id2409603-bb"></a>as_enum() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_weekday.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2409485"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_year.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/greg_year.html b/doc/html/greg_year.html
new file mode 100644
index 0000000000..9702f892b6
--- /dev/null
+++ b/doc/html/greg_year.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class greg_year</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2480231" title="Header &lt;boost/date_time/gregorian/greg_year.hpp&gt;">
+<link rel="prev" href="bad_year.html" title="Struct bad_year">
+<link rel="next" href="special_value_from_string.html" title="Function special_value_from_string">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_year.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2480231"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="special_value_from_string.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="greg_year"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class greg_year</span></h2>
+<p>boost::gregorian::greg_year &#8212; Represent a day of the month (range 1900 - 10000). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> greg_year {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="greg_year.html#greg_yearconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="greg_year.html#id2480301-bb">greg_year</a>(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span>);
+
+  <span class="emphasis"><em>// <a href="greg_year.html#id2480283-bb">public member functions</a></em></span>
+  <a href="greg_year.html#id2480287-bb"><span class="bold"><strong>operator</strong></span> <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2673548"></a><h2>Description</h2>
+<p>This small class allows for simple conversion an integer value into a year for the gregorian calendar. This currently only allows a range of 1900 to 10000. Both ends of the range are a bit arbitrary at the moment, but they are the limits of current testing of the library. As such they may be increased in the future. </p>
+<div class="refsect2" lang="en">
+<a name="id2673559"></a><h3>
+<a name="greg_yearconstruct-copy-destruct"></a><code class="computeroutput">greg_year</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2480301-bb"></a>greg_year(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span> year);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2673604"></a><h3>
+<a name="id2480283-bb"></a><code class="computeroutput">greg_year</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2480287-bb"></a><span class="bold"><strong>operator</strong></span> <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span>() <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_year.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2480231"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="special_value_from_string.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/gregorian_calendar.html b/doc/html/gregorian_calendar.html
new file mode 100644
index 0000000000..068b9516cb
--- /dev/null
+++ b/doc/html/gregorian_calendar.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class gregorian_calendar</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2482095" title="Header &lt;boost/date_time/gregorian/greg_calendar.hpp&gt;">
+<link rel="prev" href="year_month_day_base.html" title="Struct template year_month_day_base">
+<link rel="next" href="boost/gregorian/date.html" title="Class date">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="year_month_day_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2482095"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost/gregorian/date.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="gregorian_calendar"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class gregorian_calendar</span></h2>
+<p>boost::gregorian::gregorian_calendar &#8212; Gregorian calendar for this implementation, hard work in the base. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> gregorian_calendar {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <a href="greg_weekday.html" title="Class greg_weekday">greg_weekday</a>         day_of_week_type; <span class="emphasis"><em>// Type to hold a weekday (eg: Sunday, Monday,...). </em></span>
+  <span class="bold"><strong>typedef</strong></span> greg_day_of_year_rep day_of_year_type; <span class="emphasis"><em>// Counter type from 1 to 366 for gregorian dates. </em></span>
+  <span class="bold"><strong>typedef</strong></span> fancy_date_rep       date_rep_type;    <span class="emphasis"><em>// Internal date representation that handles infinity, not a date. </em></span>
+  <span class="bold"><strong>typedef</strong></span> fancy_date_rep       date_traits_type; <span class="emphasis"><em>// Date rep implements the traits stuff as well. </em></span>
+};</pre></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="year_month_day_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2482095"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost/gregorian/date.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/gregorian_calendar_base.html b/doc/html/gregorian_calendar_base.html
new file mode 100644
index 0000000000..c0b47b03c4
--- /dev/null
+++ b/doc/html/gregorian_calendar_base.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template gregorian_calendar_base</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2479605" title="Header &lt;boost/date_time/gregorian_calendar.hpp&gt;">
+<link rel="prev" href="var_string_to_int.html" title="Function template var_string_to_int">
+<link rel="next" href="int_adapter.html" title="Class template int_adapter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="var_string_to_int.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2479605"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="int_adapter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="gregorian_calendar_base"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template gregorian_calendar_base</span></h2>
+<p>boost::date_time::gregorian_calendar_base &#8212; An implementation of the Gregorian calendar. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ymd_type_, <span class="bold"><strong>typename</strong></span> date_int_type_&gt;
+<span class="bold"><strong>class</strong></span> gregorian_calendar_base {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> ymd_type_            ymd_type;      <span class="emphasis"><em>// define a type a date split into components </em></span>
+  <span class="bold"><strong>typedef</strong></span> ymd_type::month_type month_type;    <span class="emphasis"><em>// define a type for representing months </em></span>
+  <span class="bold"><strong>typedef</strong></span> ymd_type::day_type   day_type;      <span class="emphasis"><em>// define a type for representing days </em></span>
+  <span class="bold"><strong>typedef</strong></span> ymd_type::year_type  year_type;     <span class="emphasis"><em>// Type to hold a stand alone year value (eg: 2002). </em></span>
+  <span class="bold"><strong>typedef</strong></span> date_int_type_       date_int_type; <span class="emphasis"><em>// Define the integer type to use for internal calculations. </em></span>
+
+  <span class="emphasis"><em>// <a href="gregorian_calendar_base.html#id2406811-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a href="gregorian_calendar_base.html#id2406815-bb">day_of_week</a>(<span class="bold"><strong>const</strong></span> ymd_type &amp;) ;
+  <span class="type"><span class="bold"><strong>int</strong></span></span> <a href="gregorian_calendar_base.html#id2426593-bb">week_number</a>(<span class="bold"><strong>const</strong></span> ymd_type &amp;) ;
+  <span class="type">date_int_type</span> <a href="gregorian_calendar_base.html#id2400875-bb">day_number</a>(<span class="bold"><strong>const</strong></span> ymd_type &amp;) ;
+  <span class="type">date_int_type</span> <a href="gregorian_calendar_base.html#id2485159-bb">julian_day_number</a>(<span class="bold"><strong>const</strong></span> ymd_type &amp;) ;
+  <span class="type"><span class="bold"><strong>long</strong></span></span> <a href="gregorian_calendar_base.html#id2418122-bb">modjulian_day_number</a>(<span class="bold"><strong>const</strong></span> ymd_type &amp;) ;
+  <span class="type">ymd_type</span> <a href="gregorian_calendar_base.html#id2511677-bb">from_day_number</a>(date_int_type) ;
+  <span class="type">ymd_type</span> <a href="gregorian_calendar_base.html#id2463489-bb">from_julian_day_number</a>(date_int_type) ;
+  <span class="type">ymd_type</span> <a href="gregorian_calendar_base.html#id2521883-bb">from_modjulian_day_number</a>(<span class="bold"><strong>long</strong></span>) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="gregorian_calendar_base.html#id2407026-bb">is_leap_year</a>(year_type) ;
+  <span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a href="gregorian_calendar_base.html#id2529051-bb">end_of_month_day</a>(year_type, month_type) ;
+  <span class="type">ymd_type</span> <a href="gregorian_calendar_base.html#id2419898-bb">epoch</a>() ;
+  <span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a href="gregorian_calendar_base.html#id2419910-bb">days_in_week</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2636338"></a><h2>Description</h2>
+<p>This is a parameterized implementation of a proleptic Gregorian Calendar that can be used in the creation of date systems or just to perform calculations. All the methods of this class are static functions, so the intent is to never create instances of this class.
+</p>
+<div class="refsect2" lang="en">
+<a name="id2636348"></a><h3>
+<a name="id2406811-bb"></a><code class="computeroutput">gregorian_calendar_base</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a name="id2406815-bb"></a>day_of_week(<span class="bold"><strong>const</strong></span> ymd_type &amp; ymd) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="id2426593-bb"></a>week_number(<span class="bold"><strong>const</strong></span> ymd_type &amp; ymd) ;</pre></li>
+<li><pre class="literallayout"><span class="type">date_int_type</span> <a name="id2400875-bb"></a>day_number(<span class="bold"><strong>const</strong></span> ymd_type &amp; ymd) ;</pre></li>
+<li><pre class="literallayout"><span class="type">date_int_type</span> <a name="id2485159-bb"></a>julian_day_number(<span class="bold"><strong>const</strong></span> ymd_type &amp; ymd) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>long</strong></span></span> <a name="id2418122-bb"></a>modjulian_day_number(<span class="bold"><strong>const</strong></span> ymd_type &amp; ymd) ;</pre></li>
+<li><pre class="literallayout"><span class="type">ymd_type</span> <a name="id2511677-bb"></a>from_day_number(date_int_type ) ;</pre></li>
+<li><pre class="literallayout"><span class="type">ymd_type</span> <a name="id2463489-bb"></a>from_julian_day_number(date_int_type ) ;</pre></li>
+<li><pre class="literallayout"><span class="type">ymd_type</span> <a name="id2521883-bb"></a>from_modjulian_day_number(<span class="bold"><strong>long</strong></span> ) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2407026-bb"></a>is_leap_year(year_type ) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a name="id2529051-bb"></a>end_of_month_day(year_type y, month_type m) ;</pre></li>
+<li><pre class="literallayout"><span class="type">ymd_type</span> <a name="id2419898-bb"></a>epoch() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a name="id2419910-bb"></a>days_in_week() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="var_string_to_int.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2479605"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="int_adapter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/has_const_time_erase.html b/doc/html/has_const_time_erase.html
new file mode 100644
index 0000000000..cc04f438b4
--- /dev/null
+++ b/doc/html/has_const_time_erase.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template has_const_time_erase</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2372677" title="Header &lt;boost/algorithm/string/sequence_traits.hpp&gt;">
+<link rel="prev" href="has_const_time_insert.html" title="Class template has_const_time_insert">
+<link rel="next" href="find_all.html" title="Function template find_all">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="has_const_time_insert.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2372677"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_all.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="has_const_time_erase"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template has_const_time_erase</span></h2>
+<p>boost::algorithm::has_const_time_erase &#8212; Const time erase trait. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+<span class="bold"><strong>class</strong></span> has_const_time_erase {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> mpl::bool_&lt; <a href="has_const_time_erase.html" title="Class template has_const_time_erase">has_const_time_erase</a>&lt; T &gt;::value &gt; type;
+
+  <span class="bold"><strong>static</strong></span> const bool value;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2772096"></a><h2>Description</h2>
+<p>This trait specifies that the sequence's erase method has constant time complexity. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="has_const_time_insert.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2372677"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_all.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/has_const_time_insert.html b/doc/html/has_const_time_insert.html
new file mode 100644
index 0000000000..ad3e289176
--- /dev/null
+++ b/doc/html/has_const_time_insert.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template has_const_time_insert</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2372677" title="Header &lt;boost/algorithm/string/sequence_traits.hpp&gt;">
+<link rel="prev" href="has_stable_iterators.html" title="Class template has_stable_iterators">
+<link rel="next" href="has_const_time_erase.html" title="Class template has_const_time_erase">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="has_stable_iterators.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2372677"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="has_const_time_erase.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="has_const_time_insert"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template has_const_time_insert</span></h2>
+<p>boost::algorithm::has_const_time_insert &#8212; Const time insert trait. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+<span class="bold"><strong>class</strong></span> has_const_time_insert {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> mpl::bool_&lt; <a href="has_const_time_insert.html" title="Class template has_const_time_insert">has_const_time_insert</a>&lt; T &gt;::value &gt; type;
+
+  <span class="bold"><strong>static</strong></span> const bool value;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2772018"></a><h2>Description</h2>
+<p>This trait specifies that the sequence's insert method has constant time complexity. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="has_stable_iterators.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2372677"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="has_const_time_erase.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/has_native_replace.html b/doc/html/has_native_replace.html
new file mode 100644
index 0000000000..6a54999a26
--- /dev/null
+++ b/doc/html/has_native_replace.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template has_native_replace</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2372677" title="Header &lt;boost/algorithm/string/sequence_traits.hpp&gt;">
+<link rel="prev" href="replace_tail.html" title="Function template replace_tail">
+<link rel="next" href="has_stable_iterators.html" title="Class template has_stable_iterators">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_tail.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2372677"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="has_stable_iterators.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="has_native_replace"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template has_native_replace</span></h2>
+<p>boost::algorithm::has_native_replace &#8212; Native replace trait. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+<span class="bold"><strong>class</strong></span> has_native_replace {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> mpl::bool_&lt; <a href="has_native_replace.html" title="Class template has_native_replace">has_native_replace</a>&lt; T &gt;::value &gt; type;
+
+  <span class="bold"><strong>static</strong></span> const bool value;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2771855"></a><h2>Description</h2>
+<p>This trait specifies that the sequence has <code class="computeroutput">std::string</code> like replace method </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_tail.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2372677"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="has_stable_iterators.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/has_stable_iterators.html b/doc/html/has_stable_iterators.html
new file mode 100644
index 0000000000..b260da6616
--- /dev/null
+++ b/doc/html/has_stable_iterators.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template has_stable_iterators</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2372677" title="Header &lt;boost/algorithm/string/sequence_traits.hpp&gt;">
+<link rel="prev" href="has_native_replace.html" title="Class template has_native_replace">
+<link rel="next" href="has_const_time_insert.html" title="Class template has_const_time_insert">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="has_native_replace.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2372677"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="has_const_time_insert.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="has_stable_iterators"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template has_stable_iterators</span></h2>
+<p>boost::algorithm::has_stable_iterators &#8212; Stable iterators trait. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+<span class="bold"><strong>class</strong></span> has_stable_iterators {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> mpl::bool_&lt; <a href="has_stable_iterators.html" title="Class template has_stable_iterators">has_stable_iterators</a>&lt; T &gt;::value &gt; type;
+
+  <span class="bold"><strong>static</strong></span> const bool value;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2771938"></a><h2>Description</h2>
+<p>This trait specifies that the sequence has stable iterators. It means that operations like insert/erase/replace do not invalidate iterators. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="has_native_replace.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2372677"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="has_const_time_insert.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/hash.html b/doc/html/hash.html
new file mode 100644
index 0000000000..08579e8db2
--- /dev/null
+++ b/doc/html/hash.html
@@ -0,0 +1,105 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 5. Boost.Functional/Hash</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries">
+<link rel="prev" href="function/testsuite.html" title="Testsuite">
+<link rel="next" href="hash/tutorial.html" title=" Tutorial">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="function/testsuite.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hash/tutorial.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="hash"></a>Chapter 5. Boost.Functional/Hash</h2></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Daniel</span> <span class="surname">James</span>
+</h3></div></div>
+<div><p class="copyright">Copyright © 2005 Daniel James</p></div>
+<div><div class="legalnotice">
+<a name="id2700245"></a><p>
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">
+ http://www.boost.org/LICENSE_1_0.txt
+ </a>)
+
+ </p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="hash.html#hash.intro"> Introduction</a></span></dt>
+<dt><span class="section"><a href="hash/tutorial.html"> Tutorial</a></span></dt>
+<dt><span class="section"><a href="hash/custom.html"> Extending boost::hash for a custom data type</a></span></dt>
+<dt><span class="section"><a href="hash/combine.html"> Combining hash values</a></span></dt>
+<dt><span class="section"><a href="hash/portability.html"> Portability</a></span></dt>
+<dt><span class="section"><a href="hash/reference_.html"> Reference</a></span></dt>
+<dt><span class="section"><a href="hash/links.html"> Links</a></span></dt>
+<dt><span class="section"><a href="hash/acknowledgements.html"> Acknowledgements</a></span></dt>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="hash.intro"></a> Introduction</h3></div></div></div>
+<p><code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code> is an implementation of the <a href="http://en.wikipedia.org/wiki/Hash_function" target="_top">hash function</a> object
+specified by the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1745.pdf" target="_top">Technical Report</a>. It is intended for use as the default hash function
+for unordered associative containers, and the <a href="../../libs/multi_index/doc/index.html" target="_top">Boost Multi-Index Containers Library</a>'s hash indexes.</p>
+<p>
+As it is compliant with the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1745.pdf" target="_top">Technical Report</a>, it will work with:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+integers
+</li>
+<li>
+floats
+</li>
+<li>
+pointers
+</li>
+<li>
+strings
+</li>
+</ul></div>
+<p>
+It also implements the extension proposed by Peter Dimov in issue 6.18 of the
+<a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1756.pdf" target="_top">Library Extension Technical Report Issues List</a>, this adds support for:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+arrays
+</li>
+<li><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code></li>
+<li>
+the standard containers.
+</li>
+<li>
+extending <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code> for custom types.
+</li>
+</ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: December 03, 2005 at 16:18:04 GMT</p></small></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="function/testsuite.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hash/tutorial.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/hash/acknowledgements.html b/doc/html/hash/acknowledgements.html
new file mode 100644
index 0000000000..0984bca861
--- /dev/null
+++ b/doc/html/hash/acknowledgements.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Acknowledgements</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../hash.html" title="Chapter 5. Boost.Functional/Hash">
+<link rel="prev" href="links.html" title=" Links">
+<link rel="next" href="../lambda.html" title="Chapter 6. Boost.Lambda">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="links.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../hash.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../lambda.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="hash.acknowledgements"></a> Acknowledgements</h3></div></div></div>
+<p>
+This library is based on the design by Peter Dimov. During the inital development
+Joaquín M López Muñoz made many useful suggestions and contributed fixes.</p>
+<p>
+The review was managed by Thorsten Ottosen, and the library reviewed by:
+David Abrahams, Alberto Barbati, Topher Cooper, Caleb Epstein, Dave Harris,
+Chris Jefferson, Bronek Kozicki, John Maddock, Tobias Swinger,Jaap Suter
+and Rob Stewart.</p>
+<p>
+The implementation of the hash function for pointers is based on suggestions
+made by Alberto Barbati and Dave Harris. Dave Harris also suggested an
+important improvement to <code class="computeroutput"><a href="../hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> that was taken up.</p>
+<p>
+The original implementation came from Jeremy B. Maitin-Shepard's hash table
+library, although this is a complete rewrite.</p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="links.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../hash.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../lambda.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/hash/combine.html b/doc/html/hash/combine.html
new file mode 100644
index 0000000000..aca3652170
--- /dev/null
+++ b/doc/html/hash/combine.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Combining hash values</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../hash.html" title="Chapter 5. Boost.Functional/Hash">
+<link rel="prev" href="custom.html" title=" Extending boost::hash for a custom data type">
+<link rel="next" href="portability.html" title=" Portability">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="custom.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../hash.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="portability.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="hash.combine"></a> Combining hash values</h3></div></div></div>
+<p>
+Say you have a point class, representing a two dimensional location:</p>
+<pre class="programlisting"><code class="literal"><span class="keyword">class</span><span class="identifier"> point</span><span class="special">
+{</span><span class="keyword">
+ int</span><span class="identifier"> x</span><span class="special">;</span><span class="keyword">
+ int</span><span class="identifier"> y</span><span class="special">;</span><span class="keyword">
+public</span><span class="special">:</span><span class="identifier">
+ point</span><span class="special">()</span><span class="special"> :</span><span class="identifier"> x</span><span class="special">(</span><span class="number">0</span><span class="special">),</span><span class="identifier"> y</span><span class="special">(</span><span class="number">0</span><span class="special">)</span><span class="special"> {}</span><span class="identifier">
+ point</span><span class="special">(</span><span class="keyword">int</span><span class="identifier"> x</span><span class="special">,</span><span class="keyword"> int</span><span class="identifier"> y</span><span class="special">)</span><span class="special"> :</span><span class="identifier"> x</span><span class="special">(</span><span class="identifier">x</span><span class="special">),</span><span class="identifier"> y</span><span class="special">(</span><span class="identifier">y</span><span class="special">)</span><span class="special"> {}</span><span class="keyword">
+
+ bool</span><span class="keyword"> operator</span><span class="special">==(</span><span class="identifier">point</span><span class="keyword"> const</span><span class="special">&amp;</span><span class="identifier"> other</span><span class="special">)</span><span class="keyword"> const</span><span class="special">
+ {</span><span class="keyword">
+ return</span><span class="identifier"> x</span><span class="special"> ==</span><span class="identifier"> other</span><span class="special">.</span><span class="identifier">x</span><span class="special"> &amp;&amp;</span><span class="identifier"> y</span><span class="special"> ==</span><span class="identifier"> other</span><span class="special">.</span><span class="identifier">y</span><span class="special">;</span><span class="special">
+ }</span><span class="special">
+};</span></code></pre>
+<p>
+and you wish to use it as the key for an <code class="computeroutput"><span class="identifier">unordered_map</span></code>. You need to
+customise the hash for this structure. To do this we need to combine
+the hash values for <code class="computeroutput"><span class="identifier">x</span></code> and <code class="computeroutput"><span class="identifier">y</span></code>. The function
+<code class="computeroutput"><a href="../hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> is supplied for this purpose:</p>
+<pre class="programlisting"><code class="literal"><span class="keyword">class</span><span class="identifier"> point</span><span class="special">
+{</span><span class="special">
+ ...</span><span class="keyword">
+
+ friend</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> hash_value</span><span class="special">(</span><span class="identifier">point</span><span class="keyword"> const</span><span class="special">&amp;</span><span class="identifier"> p</span><span class="special">)</span><span class="special">
+ {</span><span class="identifier">
+ std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> seed</span><span class="special"> =</span><span class="number"> 0</span><span class="special">;</span>
+        <code class="computeroutput"><a href="../hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code><span class="special">(</span><span class="identifier">seed</span><span class="special">,</span><span class="identifier"> p</span><span class="special">.</span><span class="identifier">x</span><span class="special">);</span>
+        <code class="computeroutput"><a href="../hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code><span class="special">(</span><span class="identifier">seed</span><span class="special">,</span><span class="identifier"> p</span><span class="special">.</span><span class="identifier">y</span><span class="special">);</span><span class="keyword">
+
+ return</span><span class="identifier"> seed</span><span class="special">;</span><span class="special">
+ }</span><span class="special">
+
+ ...</span><span class="special">
+};</span></code></pre>
+<p>
+Calls to hash_combine incrementally build the hash from the different members
+of point, it can be repeatedly called for any number of elements. It calls
+<code class="computeroutput"><a href="../id2510242.html" title="Function hash_value">hash_value</a></code> on the supplied element, and combines it with the seed.</p>
+<p>
+Full code for this example is at
+<a href="../../../libs/functional/hash/examples/point.cpp" target="_top">/libs/functional/hash/examples/point.cpp</a>.</p>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+When using __hash_combine the order of the
+calls matters.
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
+ std::size_t seed = 0;
+ boost::hash_combine(seed, 1);
+ boost::hash_combine(seed, 2);
+</pre>
+results in a different seed to:
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
+ std::size_t seed = 0;
+ boost::hash_combine(seed, 2);
+ boost::hash_combine(seed, 1);
+</pre>
+If you are calculating a hash value for data where the order of the data
+doesn't matter in comparisons (e.g. a set) you will have to ensure that the
+data is always supplied in the same order.
+
+</td></tr></tbody>
+</table></div>
+<p>
+To calculate the hash of an iterator range you can use <code class="computeroutput"><a href="../hash_range.html" title="Function hash_range">boost::hash_range</a></code>:</p>
+<pre class="programlisting"><code class="literal"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</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"> some_strings</span><span class="special">;</span><span class="identifier">
+std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> hash</span><span class="special"> =</span> <code class="computeroutput"><a href="../hash_range.html" title="Function hash_range">boost::hash_range</a></code><span class="special">(</span><span class="identifier">some_strings</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span><span class="identifier"> some_strings</span><span class="special">.</span><span class="identifier">end</span><span class="special">());</span></code></pre>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="custom.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../hash.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="portability.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/hash/custom.html b/doc/html/hash/custom.html
new file mode 100644
index 0000000000..b5306d6bef
--- /dev/null
+++ b/doc/html/hash/custom.html
@@ -0,0 +1,103 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Extending boost::hash for a custom data type</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../hash.html" title="Chapter 5. Boost.Functional/Hash">
+<link rel="prev" href="tutorial.html" title=" Tutorial">
+<link rel="next" href="combine.html" title=" Combining hash values">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../hash.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="combine.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="hash.custom"></a> Extending boost::hash for a custom data type</h3></div></div></div>
+<p><code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code> is implemented by calling the function <code class="computeroutput"><a href="../id2510242.html" title="Function hash_value">hash_value</a></code>.
+The namespace isn't specified so that it can detect overloads via argument
+dependant lookup. So if there is a free function <code class="computeroutput"><span class="identifier">hash_value</span></code> in the same
+namespace as a custom type, it will get called.</p>
+<p>
+If you have a structure <code class="computeroutput"><span class="identifier">library</span><span class="special">::</span><span class="identifier">book</span></code>, where each <code class="computeroutput"><span class="identifier">book</span></code> is uniquely
+defined by it's member <code class="computeroutput"><span class="identifier">id</span></code>:</p>
+<pre class="programlisting"><code class="literal"><span class="keyword">namespace</span><span class="identifier"> library</span><span class="special">
+{</span><span class="keyword">
+ struct</span><span class="identifier"> book</span><span class="special">
+ {</span><span class="keyword">
+ int</span><span class="identifier"> id</span><span class="special">;</span><span class="identifier">
+ std</span><span class="special">::</span><span class="identifier">string</span><span class="identifier"> author</span><span class="special">;</span><span class="identifier">
+ std</span><span class="special">::</span><span class="identifier">string</span><span class="identifier"> title</span><span class="special">;</span><span class="comment">
+
+ // ....
+</span><span class="special"> };</span><span class="keyword">
+
+ bool</span><span class="keyword"> operator</span><span class="special">==(</span><span class="identifier">book</span><span class="keyword"> const</span><span class="special">&amp;</span><span class="identifier"> a</span><span class="special">,</span><span class="identifier"> book</span><span class="keyword"> const</span><span class="special">&amp;</span><span class="identifier"> b</span><span class="special">)</span><span class="special">
+ {</span><span class="keyword">
+ return</span><span class="identifier"> a</span><span class="special">.</span><span class="identifier">id</span><span class="special"> ==</span><span class="identifier"> b</span><span class="special">.</span><span class="identifier">id</span><span class="special">;</span><span class="special">
+ }</span><span class="special">
+}</span></code></pre>
+<p>
+Then all you would need to do is write the function <code class="computeroutput"><span class="identifier">library</span><span class="special">::</span><span class="identifier">hash_value</span></code>:</p>
+<pre class="programlisting"><code class="literal"><span class="keyword">namespace</span><span class="identifier"> library</span><span class="special">
+{</span><span class="identifier">
+ std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> hash_value</span><span class="special">(</span><span class="identifier">book</span><span class="keyword"> const</span><span class="special">&amp;</span><span class="identifier"> b</span><span class="special">)</span><span class="special">
+ {</span>
+        <code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span><span class="identifier"> hasher</span><span class="special">;</span><span class="keyword">
+ return</span><span class="identifier"> hasher</span><span class="special">(</span><span class="identifier">b</span><span class="special">.</span><span class="identifier">id</span><span class="special">);</span><span class="special">
+ }</span><span class="special">
+}</span></code></pre>
+<p>
+And you can now use <code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code> with book:</p>
+<pre class="programlisting"><code class="literal"><span class="identifier">library</span><span class="special">::</span><span class="identifier">book</span><span class="identifier"> knife</span><span class="special">(</span><span class="number">3458</span><span class="special">,</span><span class="string"> "Zane Grey"</span><span class="special">,</span><span class="string"> "The Hash Knife Outfit"</span><span class="special">);</span><span class="identifier">
+library</span><span class="special">::</span><span class="identifier">book</span><span class="identifier"> dandelion</span><span class="special">(</span><span class="number">1354</span><span class="special">,</span><span class="string"> "Paul J. Shanley"</span><span class="special">,</span><span class="string">
+ "Hash &amp; Dandelion Greens"</span><span class="special">);</span><code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code><span class="special">&lt;</span><span class="identifier">library</span><span class="special">::</span><span class="identifier">book</span><span class="special">&gt;</span><span class="identifier"> book_hasher</span><span class="special">;</span><span class="identifier">
+std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> knife_hash_value</span><span class="special"> =</span><span class="identifier"> book_hasher</span><span class="special">(</span><span class="identifier">knife</span><span class="special">);</span><span class="comment">
+
+// If std::unordered_set is available:
+</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">unordered_set</span><span class="special">&lt;</span><span class="identifier">library</span><span class="special">::</span><span class="identifier">book</span><span class="special">,</span> <code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code><span class="special">&lt;</span><span class="identifier">library</span><span class="special">::</span><span class="identifier">book</span><span class="special">&gt;</span><span class="special"> &gt;</span><span class="identifier"> books</span><span class="special">;</span><span class="identifier">
+books</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">knife</span><span class="special">);</span><span class="identifier">
+books</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">library</span><span class="special">::</span><span class="identifier">book</span><span class="special">(</span><span class="number">2443</span><span class="special">,</span><span class="string"> "Lindgren, Torgny"</span><span class="special">,</span><span class="string"> "Hash"</span><span class="special">));</span><span class="identifier">
+books</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">library</span><span class="special">::</span><span class="identifier">book</span><span class="special">(</span><span class="number">1953</span><span class="special">,</span><span class="string"> "Snyder, Bernadette M."</span><span class="special">,</span><span class="string">
+ "Heavenly Hash: A Tasty Mix of a Mother's Meditations"</span><span class="special">));</span><span class="identifier">
+
+assert</span><span class="special">(</span><span class="identifier">books</span><span class="special">.</span><span class="identifier">find</span><span class="special">(</span><span class="identifier">knife</span><span class="special">)</span><span class="special"> !=</span><span class="identifier"> books</span><span class="special">.</span><span class="identifier">end</span><span class="special">());</span><span class="identifier">
+assert</span><span class="special">(</span><span class="identifier">books</span><span class="special">.</span><span class="identifier">find</span><span class="special">(</span><span class="identifier">dandelion</span><span class="special">)</span><span class="special"> ==</span><span class="identifier"> books</span><span class="special">.</span><span class="identifier">end</span><span class="special">());</span></code></pre>
+<p>
+The full example can be found in:
+<a href="../../../libs/functional/hash/examples/books.hpp" target="_top">/libs/functional/hash/examples/books.hpp</a>
+and
+<a href="../../../libs/functional/hash/examples/books.cpp" target="_top">/libs/functional/hash/examples/books.cpp</a>.</p>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+When writing a hash function, first look at how the equality function works.
+Objects that are equal must generate the same hash value.
+When objects are not equal the should generate different hash values.
+In this object equality was based just on the id, if it was based
+on the objects name and author the hash function should take them into account
+(how to do this is discussed in the next section).
+</td></tr></tbody>
+</table></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../hash.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="combine.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/hash/links.html b/doc/html/hash/links.html
new file mode 100644
index 0000000000..2610eac510
--- /dev/null
+++ b/doc/html/hash/links.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Links</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../hash.html" title="Chapter 5. Boost.Functional/Hash">
+<link rel="prev" href="../id2477525.html" title="Function hash_value">
+<link rel="next" href="acknowledgements.html" title=" Acknowledgements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../id2477525.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../hash.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="hash.links"></a> Links</h3></div></div></div>
+<p><span class="bold"><strong>A Proposal to Add Hash Tables to the Standard Library</strong></span><br><a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1456.html" target="_top">http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1456.html</a><br>
+
+The hash table proposal explains much of the design. The hash function object
+is discussed in Section D.</p>
+<p><span class="bold"><strong>The C++ Standard Library Technical Report.</strong></span><br><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1745.pdf" target="_top">http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1745.pdf</a><br>
+
+Contains the hash function specification in section 6.3.2.</p>
+<p><span class="bold"><strong>Library Extension Technical Report Issues List.</strong></span><br><a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1756.pdf" target="_top">http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1756.pdf</a><br>
+
+The library implements the extension described in Issue 6.18.</p>
+<p><span class="bold"><strong>Methods for Identifying Versioned and Plagiarised Documents</strong></span><br>
+
+Timothy C. Hoad, Justin Zobel<br><a href="http://www.cs.rmit.edu.au/~jz/fulltext/jasist-tch.pdf" target="_top">http://www.cs.rmit.edu.au/~jz/fulltext/jasist-tch.pdf</a><br>
+
+Contains the hash function that <code class="computeroutput"><a href="../hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> is based on.</p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../id2477525.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../hash.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/hash/portability.html b/doc/html/hash/portability.html
new file mode 100644
index 0000000000..3106dd1c6a
--- /dev/null
+++ b/doc/html/hash/portability.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Portability</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../hash.html" title="Chapter 5. Boost.Functional/Hash">
+<link rel="prev" href="combine.html" title=" Combining hash values">
+<link rel="next" href="reference_.html" title=" Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="combine.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../hash.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference_.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="hash.portability"></a> Portability</h3></div></div></div>
+<p><code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code> is written to be as portable as possible, but unfortunately, several
+older compilers don't support argument dependent lookup (ADL) - the mechanism
+used for customization. On those compilers custom overloads for hash_value
+need to be declared in the boost namespace.</p>
+<p>
+On a strictly standards compliant compiler, an overload defined in the
+boost namespace won't be found when <code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code> is instantiated,
+so for these compilers the overload should only be declared in the same
+namespace as the class.</p>
+<p>
+Let's say we have a simple custom type:</p>
+<pre class="programlisting"><code class="literal"><span class="keyword">namespace</span><span class="identifier"> foo</span><span class="special">
+{</span><span class="keyword">
+ struct</span><span class="identifier"> custom_type</span><span class="special">
+ {</span><span class="keyword">
+ int</span><span class="identifier"> value</span><span class="special">;</span><span class="keyword">
+
+ friend</span><span class="keyword"> inline</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> hash_value</span><span class="special">(</span><span class="identifier">custom_type</span><span class="identifier"> x</span><span class="special">)</span><span class="special">
+ {</span>
+            <code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span><span class="identifier"> hasher</span><span class="special">;</span><span class="keyword">
+ return</span><span class="identifier"> hasher</span><span class="special">(</span><span class="identifier">x</span><span class="special">.</span><span class="identifier">value</span><span class="special">);</span><span class="special">
+ }</span><span class="special">
+ };</span><span class="special">
+}</span></code></pre>
+<p>
+On a compliant compiler, when <code class="computeroutput"><span class="identifier">hash_value</span></code> is called for this type,
+it will look at the namespace inside the type and find <code class="computeroutput"><span class="identifier">hash_value</span></code>
+but on a compiler which doesn't support ADL <code class="computeroutput"><span class="identifier">hash_value</span></code> won't be found.</p>
+<p>
+So on these compilers define a member function:</p>
+<pre class="programlisting"><code class="literal"><span class="preprocessor">#ifndef</span><span class="identifier"> BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP</span><span class="keyword">
+ friend</span><span class="keyword"> inline</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> hash_value</span><span class="special">(</span><span class="identifier">custom_type</span><span class="identifier"> x</span><span class="special">)</span><span class="special">
+ {</span>
+            <code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span><span class="identifier"> hasher</span><span class="special">;</span><span class="keyword">
+ return</span><span class="identifier"> hasher</span><span class="special">(</span><span class="identifier">x</span><span class="special">.</span><span class="identifier">value</span><span class="special">);</span><span class="special">
+ }</span><span class="preprocessor">
+#else</span><span class="identifier">
+ std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> hash</span><span class="special">()</span><span class="keyword"> const</span><span class="special">
+ {</span>
+            <code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span><span class="identifier"> hasher</span><span class="special">;</span><span class="keyword">
+ return</span><span class="identifier"> hasher</span><span class="special">(</span><span class="identifier">value</span><span class="special">);</span><span class="special">
+ }</span><span class="preprocessor">
+#endif</span></code></pre>
+<p>
+which will be called from the <code class="computeroutput"><span class="identifier">boost</span></code> namespace:</p>
+<pre class="programlisting"><code class="literal"><span class="preprocessor">#ifdef</span><span class="identifier"> BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP</span><span class="keyword">
+namespace</span><span class="identifier"> boost</span><span class="special">
+{</span><span class="identifier">
+ std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> hash_value</span><span class="special">(</span><span class="identifier">foo</span><span class="special">::</span><span class="identifier">custom_type</span><span class="identifier"> x</span><span class="special">)</span><span class="special">
+ {</span><span class="keyword">
+ return</span><span class="identifier"> x</span><span class="special">.</span><span class="identifier">hash</span><span class="special">();</span><span class="special">
+ }</span><span class="special">
+}</span><span class="preprocessor">
+#endif</span></code></pre>
+<p>
+Full code for this example is at
+<a href="../../../libs/functional/hash/examples/portable.cpp" target="_top">/libs/functional/hash/examples/portable.cpp</a>.</p>
+<a name="portability.other_issues"></a><h2>
+<a name="id2703933"></a>Other Issues</h2>
+<p>
+On Visual C++ versions 6.5 and 7.0, <code class="computeroutput"><span class="identifier">hash_value</span></code> isn't overloaded for built in
+arrays. <code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="../hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> and <code class="computeroutput"><a href="../hash_range.html" title="Function hash_range">boost::hash_range</a></code> all use a workaround to
+support built in arrays so this shouldn't be a problem in most cases.</p>
+<p>
+On Visual C++ versions 6.5 and 7.0, function pointers aren't currently supported.</p>
+<p><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">long</span><span class="keyword"> double</span><span class="special">)</span></code> on GCC on Solaris appears to treat
+<code class="computeroutput"><span class="keyword">long</span><span class="keyword"> double</span></code>s as doubles - so the hash function doesn't take into account the
+full range of values.</p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="combine.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../hash.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference_.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/hash/reference_.html b/doc/html/hash/reference_.html
new file mode 100644
index 0000000000..befefd9a6d
--- /dev/null
+++ b/doc/html/hash/reference_.html
@@ -0,0 +1,163 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Reference</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../hash.html" title="Chapter 5. Boost.Functional/Hash">
+<link rel="prev" href="portability.html" title=" Portability">
+<link rel="next" href="../boost/hash.html" title="Struct template hash">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="portability.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../hash.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../boost/hash.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="hash.reference_"></a> Reference</h3></div></div></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="hash.reference"></a>Reference</h5></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="reference_.html#hash.reference.specification"></a></span></dt>
+<dt><span class="section"><a href="reference_.html#id2350405">Header &lt;boost/functional/hash.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference_.html#id2350414">Header &lt;boost/functional/hash/hash.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference_.html#id2386217">Header &lt;boost/functional/hash/pair.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference_.html#id2446813">Header &lt;boost/functional/hash/vector.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference_.html#id2431434">Header &lt;boost/functional/hash/list.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference_.html#id2284794">Header &lt;boost/functional/hash/deque.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference_.html#id2473714">Header &lt;boost/functional/hash/set.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference_.html#id2477505">Header &lt;boost/functional/hash/map.hpp&gt;</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"></div>
+<p>For the full specification, see section 6.3 of the
+ <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1745.pdf" target="_top">C++ Standard Library Technical Report</a>
+ and issue 6.18 of the
+ <a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1756.pdf" target="_top">Library Extension Technical Report Issues List</a>.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="id2350405"></a>Header &lt;<a href="../../../boost/functional/hash.hpp" target="_top">boost/functional/hash.hpp</a>&gt;</h6></div></div></div>
+<p>Includes all the following headers.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="id2350414"></a>Header &lt;<a href="../../../boost/functional/hash/hash.hpp" target="_top">boost/functional/hash/hash.hpp</a>&gt;</h6></div></div></div>
+<p>
+ Defines <code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code>,
+ the implementation for built in types and
+ <code class="computeroutput">std::string</code> and customisation functions.
+ </p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="bold"><strong>struct</strong></span> <a href="../boost/hash.html" title="Struct template hash">hash</a>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../hash_combine.html" title="Function template hash_combine">hash_combine</a>(size_t &amp;, T <span class="bold"><strong>const</strong></span> &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> It&gt; <span class="type">std::size_t</span> <a href="../hash_range.html" title="Function hash_range">hash_range</a>(It, It);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> It&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../hash_range.html" title="Function hash_range">hash_range</a>(std::size_t&amp;, It, It);
+  <span class="type">std::size_t</span> <a href="../id2510242.html" title="Function hash_value">hash_value</a>(<span class="bold"><strong>int</strong></span>);
+  <span class="type">std::size_t</span> <a href="../id2510242.html" title="Function hash_value">hash_value</a>(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>);
+  <span class="type">std::size_t</span> <a href="../id2510242.html" title="Function hash_value">hash_value</a>(<span class="bold"><strong>long</strong></span>);
+  <span class="type">std::size_t</span> <a href="../id2510242.html" title="Function hash_value">hash_value</a>(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>long</strong></span>);
+  <span class="type">std::size_t</span> <a href="../id2346601.html" title="Function hash_value">hash_value</a>(<span class="bold"><strong>float</strong></span>);
+  <span class="type">std::size_t</span> <a href="../id2346601.html" title="Function hash_value">hash_value</a>(double);
+  <span class="type">std::size_t</span> <a href="../id2346601.html" title="Function hash_value">hash_value</a>(<span class="bold"><strong>long</strong></span> double);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">std::size_t</span> <a href="../id2503912.html" title="Function hash_value">hash_value</a>(T* <span class="bold"><strong>const</strong></span>&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>unsigned</strong></span> N&gt; <span class="type">std::size_t</span> <a href="../id2393344.html" title="Function hash_value">hash_value</a>(T (&amp;val)[N]);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>unsigned</strong></span> N&gt; <span class="type">std::size_t</span> <a href="../id2393344.html" title="Function hash_value">hash_value</a>(<span class="bold"><strong>const</strong></span> T (&amp;val)[N]);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Ch, <span class="bold"><strong>typename</strong></span> A&gt;
+    <span class="type">std::size_t</span> <a href="../id2354316.html" title="Function hash_value">hash_value</a>(std::basic_string&lt;Ch, std::char_traits&lt;Ch&gt;, A&gt; <span class="bold"><strong>const</strong></span>&amp;);
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="id2386217"></a>Header &lt;<a href="../../../boost/functional/hash/pair.hpp" target="_top">boost/functional/hash/pair.hpp</a>&gt;</h6></div></div></div>
+<p>
+ Hash implementation for <code class="computeroutput">std::pair</code>.
+ </p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> A, <span class="bold"><strong>typename</strong></span> B&gt;
+    <span class="type">std::size_t</span> <a href="../id2386234.html" title="Function hash_value">hash_value</a>(std::pair&lt;A, B&gt; <span class="bold"><strong>const</strong></span> &amp;);
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="id2446813"></a>Header &lt;<a href="../../../boost/functional/hash/vector.hpp" target="_top">boost/functional/hash/vector.hpp</a>&gt;</h6></div></div></div>
+<p>
+ Hash implementation for <code class="computeroutput">std::vector</code>.
+ </p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+    <span class="type">std::size_t</span> <a href="../id2490467.html" title="Function hash_value">hash_value</a>(std::vector&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp;);
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="id2431434"></a>Header &lt;<a href="../../../boost/functional/hash/list.hpp" target="_top">boost/functional/hash/list.hpp</a>&gt;</h6></div></div></div>
+<p>
+ Hash implementation for <code class="computeroutput">std::list</code>.
+ </p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+    <span class="type">std::size_t</span> <a href="../id2514166.html" title="Function hash_value">hash_value</a>(std::list&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp;);
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="id2284794"></a>Header &lt;<a href="../../../boost/functional/hash/deque.hpp" target="_top">boost/functional/hash/deque.hpp</a>&gt;</h6></div></div></div>
+<p>
+ Hash implementation for <code class="computeroutput">std::deque</code>.
+ </p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+    <span class="type">std::size_t</span> <a href="../id2284811.html" title="Function hash_value">hash_value</a>(std::deque&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp;);
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="id2473714"></a>Header &lt;<a href="../../../boost/functional/hash/set.hpp" target="_top">boost/functional/hash/set.hpp</a>&gt;</h6></div></div></div>
+<p>
+ Hash implementation for <code class="computeroutput">std::set</code> and <code class="computeroutput">std::multiset</code>.
+ </p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+    <span class="type">std::size_t</span> <a href="../id2473733.html" title="Function hash_value">hash_value</a>(std::set&lt;K, C, A&gt; <span class="bold"><strong>const</strong></span> &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+    <span class="type">std::size_t</span> <a href="../id2473733.html" title="Function hash_value">hash_value</a>(std::multiset&lt;K, C, A&gt; <span class="bold"><strong>const</strong></span> &amp;);
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="id2477505"></a>Header &lt;<a href="../../../boost/functional/hash/map.hpp" target="_top">boost/functional/hash/map.hpp</a>&gt;</h6></div></div></div>
+<p>
+ Hash implementation for <code class="computeroutput">std::map</code> and <code class="computeroutput">std::multimap</code>.
+ </p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+    <span class="type">std::size_t</span> <a href="../id2477525.html" title="Function hash_value">hash_value</a>(std::map&lt;K, T, C, A&gt; <span class="bold"><strong>const</strong></span> &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+    <span class="type">std::size_t</span> <a href="../id2477525.html" title="Function hash_value">hash_value</a>(std::multimap&lt;K, T, C, A&gt; <span class="bold"><strong>const</strong></span> &amp;);
+}</pre>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="portability.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../hash.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../boost/hash.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/hash/tutorial.html b/doc/html/hash/tutorial.html
new file mode 100644
index 0000000000..f580f1211f
--- /dev/null
+++ b/doc/html/hash/tutorial.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Tutorial</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../hash.html" title="Chapter 5. Boost.Functional/Hash">
+<link rel="prev" href="../hash.html" title="Chapter 5. Boost.Functional/Hash">
+<link rel="next" href="custom.html" title=" Extending boost::hash for a custom data type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../hash.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../hash.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="custom.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="hash.tutorial"></a> Tutorial</h3></div></div></div>
+<p>
+When using a hash index with <a href="../../../libs/multi_index/doc/index.html" target="_top">Boost.MultiIndex</a>, you don't need to do
+anything to use <code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code> as it uses it by default.
+To find out how to use a user-defined type, read the
+<a href="custom.html" title=" Extending boost::hash for a custom data type">section on extending boost::hash for a custom data type</a>.</p>
+<p>
+If your standard library supplies its own implementation of the unordered
+associative containers and you wish to use
+<code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code>, just use an extra template parameter:</p>
+<pre class="programlisting"><code class="literal"><span class="identifier">std</span><span class="special">::</span><span class="identifier">unordered_multiset</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;,</span> <code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span><span class="special"> &gt;</span><span class="identifier">
+ set_of_ints</span><span class="special">;</span><span class="identifier">
+
+std</span><span class="special">::</span><span class="identifier">unordered_set</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword"> int</span><span class="special">&gt;,</span> <code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword"> int</span><span class="special">&gt;</span><span class="special"> &gt;</span><span class="identifier">
+ set_of_pairs</span><span class="special">;</span><span class="identifier">
+
+std</span><span class="special">::</span><span class="identifier">unordered_map</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span><span class="special"> &gt;</span><span class="identifier"> map_int_to_string</span><span class="special">;</span></code></pre>
+<p>
+To use <code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code> directly, create an instance and call it as a function:</p>
+<pre class="programlisting"><code class="literal"><span class="preprocessor">#include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">hash</span><span class="special">/</span><span class="identifier">hash</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span><span class="keyword">
+
+int</span><span class="identifier"> main</span><span class="special">()</span><span class="special">
+{</span>
+    <code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code><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"> string_hash</span><span class="special">;</span><span class="identifier">
+
+ std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> h</span><span class="special"> =</span><span class="identifier"> string_hash</span><span class="special">(</span><span class="string">"Hash me"</span><span class="special">);</span><span class="special">
+}</span></code></pre>
+<p>
+If you wish to make use of the extensions, you will need to include the
+appropriate header (see the
+<a href="reference_.html#hash.reference.specification" title="">reference documentation</a> for the full list).</p>
+<pre class="programlisting"><code class="literal"><span class="preprocessor">#include</span><span class="special"> &lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">hash</span><span class="special">/</span><span class="identifier">pair</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span><span class="keyword">
+
+int</span><span class="identifier"> main</span><span class="special">()</span><span class="special">
+{</span>
+    <code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword"> int</span><span class="special">&gt;</span><span class="special"> &gt;</span><span class="identifier"> pair_hash</span><span class="special">;</span><span class="identifier">
+
+ std</span><span class="special">::</span><span class="identifier">size_t</span><span class="identifier"> h</span><span class="special"> =</span><span class="identifier"> pair_hash</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number"> 2</span><span class="special">));</span><span class="special">
+}</span></code></pre>
+<p>
+Or alternatively, include <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">hash</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> for the full library.</p>
+<p>
+For an example of generic use, here is a function to generate a vector
+containing the hashes of the elements of a container:</p>
+<pre class="programlisting"><code class="literal"><span class="keyword">template</span><span class="special"> &lt;</span><span class="keyword">class</span><span class="identifier"> Container</span><span class="special">&gt;</span><span class="identifier">
+std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;</span><span class="identifier"> get_hashes</span><span class="special">(</span><span class="identifier">Container</span><span class="keyword"> const</span><span class="special">&amp;</span><span class="identifier"> x</span><span class="special">)</span><span class="special">
+{</span><span class="identifier">
+ std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;</span><span class="identifier"> hashes</span><span class="special">;</span><span class="identifier">
+ std</span><span class="special">::</span><span class="identifier">transform</span><span class="special">(</span><span class="identifier">x</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span><span class="identifier"> x</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span><span class="identifier"> std</span><span class="special">::</span><span class="identifier">insert_iterator</span><span class="special">(</span><span class="identifier">hashes</span><span class="special">),</span>
+        <code class="computeroutput"><a href="../boost/hash.html" title="Struct template hash">boost::hash</a></code><span class="special">&lt;</span><span class="keyword">typename</span><span class="identifier"> Container</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">&gt;());</span><span class="keyword">
+
+ return</span><span class="identifier"> hashes</span><span class="special">;</span><span class="special">
+}</span></code></pre>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../hash.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../hash.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="custom.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/hash_combine.html b/doc/html/hash_combine.html
new file mode 100644
index 0000000000..631e6c575a
--- /dev/null
+++ b/doc/html/hash_combine.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template hash_combine</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2350414" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="boost/hash.html" title="Struct template hash">
+<link rel="next" href="hash_range.html" title="Function hash_range">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/hash.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2350414"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hash_range.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="hash_combine"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template hash_combine</span></h2>
+<p>boost::hash_combine &#8212;
+ Called repeatedly to incrementally create a hash value from
+ several variables.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> hash_combine(size_t &amp; seed, T <span class="bold"><strong>const</strong></span> &amp; v);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2704716"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ <pre class="programlisting">seed ^= <a href="id2510242.html" title="Function hash_value">hash_value</a>(v) + 0x9e3779b9 + (seed &lt;&lt; 6) + (seed &gt;&gt; 2);</pre><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ <a href="id2510242.html" title="Function hash_value">hash_value</a> is called without
+ qualification, so that overloads can be found via ADL.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <a href="id2510242.html" title="Function hash_value">hash_value</a>(T) throws.
+ Strong exception safety, as long as <a href="id2510242.html" title="Function hash_value">hash_value</a>(T)
+ also has strong exception safety.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/hash.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2350414"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hash_range.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/hash_range.html b/doc/html/hash_range.html
new file mode 100644
index 0000000000..9c05398639
--- /dev/null
+++ b/doc/html/hash_range.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_range</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2350414" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="hash_combine.html" title="Function template hash_combine">
+<link rel="next" href="id2510242.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hash_combine.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2350414"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2510242.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="hash_range"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_range</span></h2>
+<p>boost::hash_range &#8212;
+ Calculate the combined hash value of the elements of an iterator
+ range.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> It&gt; <span class="type">std::size_t</span> hash_range(It first, It last);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> It&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> hash_range(std::size_t&amp; seed, It first, It last);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2704839"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ For the two argument overload:
+<pre class="programlisting">
+size_t seed = 0;
+
+for(; first != last; ++first)
+{
+ <a href="hash_combine.html" title="Function template hash_combine">hash_combine</a>(seed, *first);
+}
+
+return seed;
+</pre>For the three arguments overload:
+<pre class="programlisting">
+for(; first != last; ++first)
+{
+ <a href="hash_combine.html" title="Function template hash_combine">hash_combine</a>(seed, *first);
+}
+</pre><p></p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ <code class="computeroutput">hash_range</code> is sensitive to the order of the elements
+ so it wouldn't be appropriate to use this with an unordered
+ container.
+ <p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id2510242.html" title="Function hash_value">hash_value</a>(std::iterator_traits&lt;It&gt;::value_type)</code>
+ throws. <code class="computeroutput">hash_range(std::size_t&amp;, It, It)</code> has basic exception safety as long as
+ <code class="computeroutput"><a href="id2510242.html" title="Function hash_value">hash_value</a>(std::iterator_traits&lt;It&gt;::value_type)</code>
+ has basic exception safety.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hash_combine.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2350414"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2510242.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/head_finder.html b/doc/html/head_finder.html
new file mode 100644
index 0000000000..44be165ceb
--- /dev/null
+++ b/doc/html/head_finder.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function head_finder</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2447201" title="Header &lt;boost/algorithm/string/finder.hpp&gt;">
+<link rel="prev" href="nth_finder.html" title="Function nth_finder">
+<link rel="next" href="tail_finder.html" title="Function tail_finder">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nth_finder.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2447201"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="tail_finder.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="head_finder"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function head_finder</span></h2>
+<p>boost::algorithm::head_finder &#8212; "Head" finder </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><span class="emphasis"><em>unspecified</em></span></span> head_finder(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> N);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2759906"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">head_finder</code> . The finder returns a head of a given input. The head is a prefix of a string up to n elements in size. If an input has less then n elements, whole input is considered a head. The result is given as an <code class="computeroutput">iterator_range</code> delimiting the match.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">N</span></dt>
+<dd><p>The size of the head </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">head_finder</code> object </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nth_finder.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2447201"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="tail_finder.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/hours.html b/doc/html/hours.html
new file mode 100644
index 0000000000..7c647d2dd7
--- /dev/null
+++ b/doc/html/hours.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class hours</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2443401" title="Header &lt;boost/date_time/posix_time/posix_time_duration.hpp&gt;">
+<link rel="prev" href="id2443265.html" title="Class millisec_posix_time_system_config">
+<link rel="next" href="minutes.html" title="Class minutes">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2443265.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2443401"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="minutes.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="hours"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class hours</span></h2>
+<p>boost::posix_time::hours &#8212; Allows expression of durations as an hour count. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> hours : <span class="bold"><strong>public</strong></span> boost::posix_time::time_duration {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="hours.html#hoursconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="hours.html#id2443435-bb">hours</a>(<span class="bold"><strong>long</strong></span>);
+
+  <span class="emphasis"><em>// <a href="hours.html#id2443431-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2678100"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2678103"></a><h3>
+<a name="hoursconstruct-copy-destruct"></a><code class="computeroutput">hours</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2443435-bb"></a>hours(<span class="bold"><strong>long</strong></span> h);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2678142"></a><h3>
+<a name="id2443431-bb"></a><code class="computeroutput">hours</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2443265.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2443401"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="minutes.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/icontains.html b/doc/html/icontains.html
new file mode 100644
index 0000000000..49671b289c
--- /dev/null
+++ b/doc/html/icontains.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template icontains</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2589054" title="Header &lt;boost/algorithm/string/predicate.hpp&gt;">
+<link rel="prev" href="contains.html" title="Function contains">
+<link rel="next" href="equals.html" title="Function equals">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="contains.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2589054"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="equals.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="icontains"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template icontains</span></h2>
+<p>boost::algorithm::icontains &#8212; 'Contains' predicate ( case insensitive ) </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> icontains(<span class="bold"><strong>const</strong></span> Range1T &amp; Input, <span class="bold"><strong>const</strong></span> Range2T &amp; Test,
+                 <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2762127"></a><h2>Description</h2>
+<p>This predicate holds when the test container is contained in the Input. Elements are compared case insensitively.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Test</span></dt>
+<dd><p>A test sequence </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ The result of the test<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="contains.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2589054"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="equals.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1000125.html b/doc/html/id1000125.html
new file mode 100644
index 0000000000..327a55b1aa
--- /dev/null
+++ b/doc/html/id1000125.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id798666" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id660313.html" title="Function operator+=">
+<link rel="next" href="id802530.html" title="Function operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id660313.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id798666"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id802530.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1000125"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-</span></h2>
+<p>boost::posix_time::operator- &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> <a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1175182"></a><h2>Description</h2>
+<p>Subtracts a months object and a ptime. Result will be same day-of-month as ptime unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id660313.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id798666"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id802530.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1000285.html b/doc/html/id1000285.html
new file mode 100644
index 0000000000..f5c00c6976
--- /dev/null
+++ b/doc/html/id1000285.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id999017" title="Header &lt;boost/functional/hash/vector.hpp&gt;">
+<link rel="prev" href="id975607.html" title="Function hash_value">
+<link rel="next" href="id1067334.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id975607.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id999017"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1067334.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1000285"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::vector&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1221229"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id1042434.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id975607.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id999017"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1067334.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1000727.html b/doc/html/id1000727.html
new file mode 100644
index 0000000000..a247744d67
--- /dev/null
+++ b/doc/html/id1000727.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id961262" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id1077172.html" title="Function operator+=">
+<link rel="next" href="id968571.html" title="Function operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1077172.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id961262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id968571.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1000727"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-</span></h2>
+<p>boost::posix_time::operator- &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> <a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1174892"></a><h2>Description</h2>
+<p>Subtracts a years object and a ptime. Result will be same month and day-of-month as ptime unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1077172.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id961262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id968571.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1000856.html b/doc/html/id1000856.html
new file mode 100644
index 0000000000..ad2e19aa79
--- /dev/null
+++ b/doc/html/id1000856.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id1000782" title="Header &lt;boost/functional/hash/pair.hpp&gt;">
+<link rel="prev" href="id867073.html" title="Function hash_value">
+<link rel="next" href="id1013364.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id867073.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1000782"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1013364.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1000856"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> A, <span class="bold"><strong>typename</strong></span> B&gt;
+ <span class="type">std::size_t</span> hash_value(std::pair&lt;A, B&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1220326"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ <pre class="programlisting">
+size_t seed = 0;
+<a href="hash_combine.html" title="Function template hash_combine">hash_combine</a>(seed, val.first);
+<a href="hash_combine.html" title="Function template hash_combine">hash_combine</a>(seed, val.second);
+return seed;
+ </pre><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id1047787.html" title="Function hash_value">hash_value</a>(A)</code>
+ or <code class="computeroutput"><a href="id1047787.html" title="Function hash_value">hash_value</a>(B)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id867073.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1000782"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1013364.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1001098.html b/doc/html/id1001098.html
new file mode 100644
index 0000000000..52b73e6836
--- /dev/null
+++ b/doc/html/id1001098.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id1082064" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id802125.html" title="Function hash_value">
+<link rel="next" href="id1070986.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id802125.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1082064"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1070986.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1001098"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for pointers.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">std::size_t</span> hash_value(T* <span class="bold"><strong>const</strong></span>&amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1220610"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+
+ An unspecified value, except that equal arguments shall yield the same
+ result
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id802125.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1082064"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1070986.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1002768.html b/doc/html/id1002768.html
new file mode 100644
index 0000000000..8e724945c3
--- /dev/null
+++ b/doc/html/id1002768.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id871656" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id867809.html" title="Function operator-=">
+<link rel="next" href="id970494.html" title="Function operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id867809.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id871656"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id970494.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1002768"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+</span></h2>
+<p>boost::local_time::operator+ &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1179713"></a><h2>Description</h2>
+<p>Adds a years object and a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id867809.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id871656"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id970494.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1002832.html b/doc/html/id1002832.html
new file mode 100644
index 0000000000..5ce6c76719
--- /dev/null
+++ b/doc/html/id1002832.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id861522" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="id829697.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="id972660.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id829697.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id861522"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id972660.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1002832"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::gregorian::operator&lt;&lt; &#8212; operator&lt;&lt; for gregorian::greg_weekday typically streaming: Sun, Mon, Tue, ... </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+ <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+ <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os,
+ <span class="bold"><strong>const</strong></span> <a href="greg_weekday.html" title="Class greg_weekday">greg_weekday</a> &amp; wd);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1152129"></a><h2>Description</h2>
+<p>Uses the date facet to determine output string as well as selection of long or short string. Default if no facet is installed is to output a 3 char english string for the day of the week. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id829697.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id861522"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id972660.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1002952-bb.html b/doc/html/id1002952-bb.html
new file mode 100644
index 0000000000..4722f5cd00
--- /dev/null
+++ b/doc/html/id1002952-bb.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class basic_parsed_options&lt;wchar_t&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id730253" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="basic_parsed_options.html" title="Class template basic_parsed_options">
+<link rel="next" href="parse_command_line.html" title="Function template parse_command_line">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_parsed_options.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id730253"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="parse_command_line.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1002952-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class basic_parsed_options&lt;wchar_t&gt;</span></h2>
+<p>boost::program_options::basic_parsed_options&lt;wchar_t&gt; &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> basic_parsed_options&lt;<span class="bold"><strong>wchar_t</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="id1002952-bb.html#id1138337-bb">public member functions</a></em></span>
+  <span class="type"></span> <a href="id1002952-bb.html#id1003162-bb">basic_parsed_options</a>(<span class="bold"><strong>const</strong></span> <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>char</strong></span> &gt; &amp;) ;
+
+  std::vector&lt; <a href="basic_option.html" title="Class template basic_option">basic_option</a>&lt; wchar_t &gt; &gt; options;
+  const <a href="options_description.html" title="Class options_description">options_description</a> * description;
+  <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; char &gt; utf8_encoded_options;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1255566"></a><h2>Description</h2>
+<p>Specialization of basic_parsed_options which:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>provides convenient conversion from basic_parsed_options&lt;char&gt;</p></li>
+<li><p>stores the passed char-based options for later use. </p></li>
+</ul></div>
+<div class="refsect2" lang="en">
+<a name="id1255583"></a><h3>
+<a name="id1138337-bb"></a><code class="computeroutput">basic_parsed_options</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type"></span> <a name="id1003162-bb"></a>basic_parsed_options(<span class="bold"><strong>const</strong></span> <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>char</strong></span> &gt; &amp; po) ;</pre>
+<p>Constructs wrapped options from options in UTF8 encoding. </p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_parsed_options.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id730253"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="parse_command_line.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1003172.html b/doc/html/id1003172.html
new file mode 100644
index 0000000000..38203452e5
--- /dev/null
+++ b/doc/html/id1003172.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1066750" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id825498.html" title="Function operator+">
+<link rel="next" href="id937212.html" title="Function operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id825498.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1066750"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id937212.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1003172"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+=</span></h2>
+<p>boost::local_time::operator+= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>+=(local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1180210"></a><h2>Description</h2>
+<p>Adds a months object to a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id825498.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1066750"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id937212.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1003606.html b/doc/html/id1003606.html
new file mode 100644
index 0000000000..5ba5d3d4ac
--- /dev/null
+++ b/doc/html/id1003606.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template ostream_time_period_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id856862" title="Header &lt;boost/date_time/time_formatting_streams.hpp&gt;">
+<link rel="prev" href="ostream_time_formatter.html" title="Class template ostream_time_formatter">
+<link rel="next" href="time_itr.html" title="Class template time_itr">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ostream_time_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856862"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_itr.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1003606"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template ostream_time_period_formatter</span></h2>
+<p>boost::date_time::ostream_time_period_formatter &#8212; Put a time period into a stream using appropriate facets. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_period_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> ostream_time_period_formatter {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::basic_ostream&lt; charT &gt;                ostream_type;  
+  <span class="bold"><strong>typedef</strong></span> time_period_type::point_type               time_type;     
+  <span class="bold"><strong>typedef</strong></span> <a href="ostream_time_formatter.html" title="Class template ostream_time_formatter">ostream_time_formatter</a>&lt; time_type, charT &gt; time_formatter;
+
+  <span class="emphasis"><em>// <a href="id1003606.html#id1003669-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id1003606.html#id1003674-bb">period_put</a>(<span class="bold"><strong>const</strong></span> time_period_type &amp;, ostream_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1140717"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1140720"></a><h3>
+<a name="id1003669-bb"></a><code class="computeroutput">ostream_time_period_formatter</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id1003674-bb"></a>period_put(<span class="bold"><strong>const</strong></span> time_period_type &amp; tp, ostream_type &amp; os) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ostream_time_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856862"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_itr.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1004063.html b/doc/html/id1004063.html
new file mode 100644
index 0000000000..eba767d636
--- /dev/null
+++ b/doc/html/id1004063.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template parse_delimited_time_duration</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1004001" title="Header &lt;boost/date_time/time_parsing.hpp&gt;">
+<link rel="prev" href="time_itr.html" title="Class template time_itr">
+<link rel="next" href="id1004324.html" title="Struct time_resolution_traits_bi32_impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_itr.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1004001"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1004324.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1004063"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template parse_delimited_time_duration</span></h2>
+<p>boost::date_time::parse_delimited_time_duration &#8212; Creates a time_duration object from a delimited string. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration&gt;
+  <span class="type"><a href="id829552.html" title="Class template time_duration">time_duration</a></span> parse_delimited_time_duration(<span class="bold"><strong>const</strong></span> std::string &amp; s);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1141610"></a><h2>Description</h2>
+<p>Expected format for string is "[-]h[h][:mm][:ss][.fff]". If the number of fractional digits provided is greater than the precision of the time duration type then the extra digits are truncated.</p>
+<p>A negative duration will be created if the first character in string is a '-', all other '-' will be treated as delimiters. Accepted delimiters are "-:,.". </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_itr.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1004001"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1004324.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1004324.html b/doc/html/id1004324.html
new file mode 100644
index 0000000000..9d7c78499a
--- /dev/null
+++ b/doc/html/id1004324.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_resolution_traits_bi32_impl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1004309" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id1004063.html" title="Function template parse_delimited_time_duration">
+<link rel="next" href="id1004405.html" title="Struct time_resolution_traits_adapted32_impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1004063.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1004309"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1004405.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1004324"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_resolution_traits_bi32_impl</span></h2>
+<p>boost::date_time::time_resolution_traits_bi32_impl &#8212; traits struct for time_resolution_traits implementation type </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_resolution_traits_bi32_impl {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::int32_t int_type; 
+  <span class="bold"><strong>typedef</strong></span> boost::int32_t impl_type;
+
+  <span class="emphasis"><em>// <a href="id1004324.html#id1004356-bb">public static functions</a></em></span>
+  <span class="type">int_type</span> <a href="id1004324.html#id1004361-bb">as_number</a>(impl_type) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id1004324.html#id1004384-bb">is_adapted</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1141935"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1141938"></a><h3>
+<a name="id1004356-bb"></a><code class="computeroutput">time_resolution_traits_bi32_impl</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id1004361-bb"></a>as_number(impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id1004384-bb"></a>is_adapted() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1004063.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1004309"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1004405.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1004405.html b/doc/html/id1004405.html
new file mode 100644
index 0000000000..8c45b2ef6e
--- /dev/null
+++ b/doc/html/id1004405.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_resolution_traits_adapted32_impl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1004309" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id1004324.html" title="Struct time_resolution_traits_bi32_impl">
+<link rel="next" href="id1004493.html" title="Struct time_resolution_traits_bi64_impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1004324.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1004309"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1004493.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1004405"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_resolution_traits_adapted32_impl</span></h2>
+<p>boost::date_time::time_resolution_traits_adapted32_impl &#8212; traits struct for time_resolution_traits implementation type </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_resolution_traits_adapted32_impl {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::int32_t                                  int_type; 
+  <span class="bold"><strong>typedef</strong></span> <a href="int_adapter.html" title="Class template int_adapter">boost::date_time::int_adapter</a>&lt; boost::int32_t &gt; impl_type;
+
+  <span class="emphasis"><em>// <a href="id1004405.html#id1004439-bb">public static functions</a></em></span>
+  <span class="type">int_type</span> <a href="id1004405.html#id1004444-bb">as_number</a>(impl_type) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id1004405.html#id1004472-bb">is_adapted</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1142087"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1142090"></a><h3>
+<a name="id1004439-bb"></a><code class="computeroutput">time_resolution_traits_adapted32_impl</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id1004444-bb"></a>as_number(impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id1004472-bb"></a>is_adapted() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1004324.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1004309"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1004493.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1004464.html b/doc/html/id1004464.html
new file mode 100644
index 0000000000..5b89a34593
--- /dev/null
+++ b/doc/html/id1004464.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class options_description_easy_init</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id1042148" title="Header &lt;boost/program_options/options_description.hpp&gt;">
+<link rel="prev" href="options_description.html" title="Class options_description">
+<link rel="next" href="basic_command_line_parser.html" title="Class template basic_command_line_parser">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="options_description.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1042148"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="basic_command_line_parser.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1004464"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class options_description_easy_init</span></h2>
+<p>boost::program_options::options_description_easy_init &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> options_description_easy_init {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// <a href="id1004464.html#id1004464construct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a href="id1004464.html#id1004475-bb">options_description_easy_init</a>(<a href="options_description.html" title="Class options_description">options_description</a> *);
+
+ <span class="emphasis"><em>// <a href="id1004464.html#id760302-bb">public member functions</a></em></span>
+ <span class="type"><a href="id1004464.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span> <a href="id1004464.html#id756648-bb"><span class="bold"><strong>operator</strong></span>()</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *) ;
+ <span class="type"><a href="id1004464.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+ <a href="id1004464.html#id933074-bb"><span class="bold"><strong>operator</strong></span>()</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> *) ;
+ <span class="type"><a href="id1004464.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+ <a href="id1004464.html#id1038532-bb"><span class="bold"><strong>operator</strong></span>()</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> *, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1253470"></a><h2>Description</h2>
+<p>Class which provides convenient creation syntax to option_description. </p>
+<div class="refsect2" lang="en">
+<a name="id1253477"></a><h3>
+<a name="id1004464construct-copy-destruct"></a><code class="computeroutput">options_description_easy_init</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id1004475-bb"></a>options_description_easy_init(<a href="options_description.html" title="Class options_description">options_description</a> * owner);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1253518"></a><h3>
+<a name="id760302-bb"></a><code class="computeroutput">options_description_easy_init</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><a href="id1004464.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+<a name="id756648-bb"></a><span class="bold"><strong>operator</strong></span>()(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * description) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="id1004464.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+<a name="id933074-bb"></a><span class="bold"><strong>operator</strong></span>()(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> * s) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="id1004464.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+<a name="id1038532-bb"></a><span class="bold"><strong>operator</strong></span>()(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> * s,
+ <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * description) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="options_description.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1042148"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="basic_command_line_parser.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1004493.html b/doc/html/id1004493.html
new file mode 100644
index 0000000000..eec1aa2f7a
--- /dev/null
+++ b/doc/html/id1004493.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_resolution_traits_bi64_impl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1004309" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id1004405.html" title="Struct time_resolution_traits_adapted32_impl">
+<link rel="next" href="id1004573.html" title="Struct time_resolution_traits_adapted64_impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1004405.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1004309"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1004573.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1004493"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_resolution_traits_bi64_impl</span></h2>
+<p>boost::date_time::time_resolution_traits_bi64_impl &#8212; traits struct for time_resolution_traits implementation type </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_resolution_traits_bi64_impl {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::int64_t int_type; 
+  <span class="bold"><strong>typedef</strong></span> boost::int64_t impl_type;
+
+  <span class="emphasis"><em>// <a href="id1004493.html#id1004524-bb">public static functions</a></em></span>
+  <span class="type">int_type</span> <a href="id1004493.html#id1004529-bb">as_number</a>(impl_type) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id1004493.html#id1004553-bb">is_adapted</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1142231"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1142234"></a><h3>
+<a name="id1004524-bb"></a><code class="computeroutput">time_resolution_traits_bi64_impl</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id1004529-bb"></a>as_number(impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id1004553-bb"></a>is_adapted() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1004405.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1004309"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1004573.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1004573.html b/doc/html/id1004573.html
new file mode 100644
index 0000000000..518f3e89ed
--- /dev/null
+++ b/doc/html/id1004573.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_resolution_traits_adapted64_impl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1004309" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id1004493.html" title="Struct time_resolution_traits_bi64_impl">
+<link rel="next" href="time_resolution_traits.html" title="Class template time_resolution_traits">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1004493.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1004309"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_resolution_traits.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1004573"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_resolution_traits_adapted64_impl</span></h2>
+<p>boost::date_time::time_resolution_traits_adapted64_impl &#8212; traits struct for time_resolution_traits implementation type </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_resolution_traits_adapted64_impl {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::int64_t                                  int_type; 
+  <span class="bold"><strong>typedef</strong></span> <a href="int_adapter.html" title="Class template int_adapter">boost::date_time::int_adapter</a>&lt; boost::int64_t &gt; impl_type;
+
+  <span class="emphasis"><em>// <a href="id1004573.html#id1004607-bb">public static functions</a></em></span>
+  <span class="type">int_type</span> <a href="id1004573.html#id1004613-bb">as_number</a>(impl_type) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id1004573.html#id1004641-bb">is_adapted</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1142383"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1142386"></a><h3>
+<a name="id1004607-bb"></a><code class="computeroutput">time_resolution_traits_adapted64_impl</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id1004613-bb"></a>as_number(impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id1004641-bb"></a>is_adapted() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1004493.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1004309"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_resolution_traits.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1005099.html b/doc/html/id1005099.html
new file mode 100644
index 0000000000..76e7c9a2e6
--- /dev/null
+++ b/doc/html/id1005099.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1560816" title="Header &lt;boost/variant/variant.hpp&gt;">
+<link rel="prev" href="id730580.html" title="Function template swap">
+<link rel="next" href="make_variant_over.html" title="Class template make_variant_over">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id730580.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1560816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="make_variant_over.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1005099"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::operator&lt;&lt; &#8212; Provides streaming output for <code class="computeroutput">variant</code> types.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ElemType, <span class="bold"><strong>typename</strong></span> Traits, <span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ...,
+         <span class="bold"><strong>typename</strong></span> TN&gt;
+  <span class="type">std::basic_ostream&lt;ElemType,Traits&gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt;ElemType,Traits&gt; &amp; out,
+             <span class="bold"><strong>const</strong></span> <a href="boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp; rhs);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1660865"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ Every bounded type of the <code class="computeroutput">variant</code> must
+ fulfill the requirements of the
+ <a href="variant/reference.html#variant.concepts.output-streamable" title="OutputStreamable"><span class="emphasis"><em>OutputStreamable</em></span></a>
+ concept.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Calls <code class="computeroutput">out &lt;&lt; x</code>, where <code class="computeroutput">x</code> is
+ the content of <code class="computeroutput">rhs</code>.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id730580.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1560816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="make_variant_over.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1005474.html b/doc/html/id1005474.html
new file mode 100644
index 0000000000..4e7cd4f3e8
--- /dev/null
+++ b/doc/html/id1005474.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id856507" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id1035618.html" title="Function operator-">
+<link rel="next" href="id902736.html" title="Function operator+">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1035618.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856507"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id902736.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1005474"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-=</span></h2>
+<p>boost::local_time::operator-= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>-=(local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1108375"></a><h2>Description</h2>
+<p>Subtracts a months object from a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1035618.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856507"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id902736.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1006469.html b/doc/html/id1006469.html
new file mode 100644
index 0000000000..f65347f519
--- /dev/null
+++ b/doc/html/id1006469.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function parse_environment</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id695585" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="id938144.html" title="Function parse_environment">
+<link rel="next" href="id682992.html" title="Class positional_options_description">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id938144.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id695585"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id682992.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1006469"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function parse_environment</span></h2>
+<p>boost::program_options::parse_environment &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL parsed_options</span>
+parse_environment(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp; , <span class="bold"><strong>const</strong></span> std::string &amp; prefix);
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL parsed_options</span>
+parse_environment(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp; , <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * prefix);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1255524"></a><h2>Description</h2>
+<p>Parse environment.</p>
+<p>Takes all environment variables which start with 'prefix'. The option name is obtained from variable name by removing the prefix and converting the remaining string into lower case. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id938144.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id695585"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id682992.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1006770.html b/doc/html/id1006770.html
new file mode 100644
index 0000000000..1fa5e14f43
--- /dev/null
+++ b/doc/html/id1006770.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id927299" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id971950.html" title="Function hash_value">
+<link rel="next" href="id972508.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id971950.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id927299"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id972508.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1006770"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for floating point values.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>float</strong></span> val);
+<span class="type">std::size_t</span> hash_value(double val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>long</strong></span> double val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1148617"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+
+ An unspecified value, except that equal arguments shall yield the same
+ result
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id971950.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id927299"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id972508.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1007648.html b/doc/html/id1007648.html
new file mode 100644
index 0000000000..53267518b9
--- /dev/null
+++ b/doc/html/id1007648.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template get_default_indeterminate_name</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id1288744" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="indeterminate_name.html" title="Class template indeterminate_name">
+<link rel="next" href="id1151074.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="indeterminate_name.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1288744"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1151074.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1007648"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template get_default_indeterminate_name</span></h2>
+<p>boost::logic::get_default_indeterminate_name &#8212; Returns a string containing the default name for the indeterminate value of a tribool with the given character type T. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">std::basic_string&lt; T &gt;</span> get_default_indeterminate_name();</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1565639"></a><h2>Description</h2>
+<p>This routine is used by the input and output streaming operators for tribool when there is no locale support or the stream's locale does not contain the indeterminate_name facet. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="indeterminate_name.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1288744"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1151074.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1008265.html b/doc/html/id1008265.html
new file mode 100644
index 0000000000..cc1d2d826f
--- /dev/null
+++ b/doc/html/id1008265.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class options_description_easy_init</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id1000287" title="Header &lt;boost/program_options/options_description.hpp&gt;">
+<link rel="prev" href="options_description.html" title="Class options_description">
+<link rel="next" href="basic_command_line_parser.html" title="Class template basic_command_line_parser">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="options_description.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1000287"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="basic_command_line_parser.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1008265"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class options_description_easy_init</span></h2>
+<p>boost::program_options::options_description_easy_init &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> options_description_easy_init {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id1008265.html#id1008265construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id1008265.html#id1137204-bb">options_description_easy_init</a>(<a href="options_description.html" title="Class options_description">options_description</a> *);
+
+  <span class="emphasis"><em>// <a href="id1008265.html#id1115420-bb">public member functions</a></em></span>
+  <span class="type"><a href="id1008265.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span> <a href="id1008265.html#id1143172-bb"><span class="bold"><strong>operator</strong></span>()</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *) ;
+  <span class="type"><a href="id1008265.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+  <a href="id1008265.html#id657678-bb"><span class="bold"><strong>operator</strong></span>()</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> *) ;
+  <span class="type"><a href="id1008265.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+  <a href="id1008265.html#id657719-bb"><span class="bold"><strong>operator</strong></span>()</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> *, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1254288"></a><h2>Description</h2>
+<p>Class which provides convenient creation syntax to option_description. </p>
+<div class="refsect2" lang="en">
+<a name="id1254295"></a><h3>
+<a name="id1008265construct-copy-destruct"></a><code class="computeroutput">options_description_easy_init</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id1137204-bb"></a>options_description_easy_init(<a href="options_description.html" title="Class options_description">options_description</a> * owner);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1254337"></a><h3>
+<a name="id1115420-bb"></a><code class="computeroutput">options_description_easy_init</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><a href="id1008265.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+<a name="id1143172-bb"></a><span class="bold"><strong>operator</strong></span>()(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * description) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="id1008265.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+<a name="id657678-bb"></a><span class="bold"><strong>operator</strong></span>()(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> * s) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="id1008265.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+<a name="id657719-bb"></a><span class="bold"><strong>operator</strong></span>()(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> * s,
+           <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * description) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="options_description.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1000287"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="basic_command_line_parser.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1008761.html b/doc/html/id1008761.html
new file mode 100644
index 0000000000..c4604c9cf7
--- /dev/null
+++ b/doc/html/id1008761.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id1008740" title="Header &lt;boost/functional/hash/set.hpp&gt;">
+<link rel="prev" href="id1043782.html" title="Function hash_value">
+<link rel="next" href="id756476.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1043782.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1008740"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id756476.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1008761"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::set&lt;K, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::multiset&lt;K, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1149925"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id971950.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1043782.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1008740"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id756476.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1010247.html b/doc/html/id1010247.html
new file mode 100644
index 0000000000..c7860582a4
--- /dev/null
+++ b/doc/html/id1010247.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function parse_environment</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id730253" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="parse_config_file.html" title="Function template parse_config_file">
+<link rel="next" href="id1045724.html" title="Function parse_environment">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="parse_config_file.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id730253"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1045724.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1010247"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function parse_environment</span></h2>
+<p>boost::program_options::parse_environment &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL parsed_options</span>
+parse_environment(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp; ,
+                  <span class="bold"><strong>const</strong></span> function1&lt; std::string, std::string &gt; &amp; name_mapper);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1255845"></a><h2>Description</h2>
+<p>Parse environment.</p>
+<p>For each environment variable, the 'name_mapper' function is called to obtain the option name. If it returns empty string, the variable is ignored.</p>
+<p>This is done since naming of environment variables is typically different from the naming of command line options. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="parse_config_file.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id730253"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1045724.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1011013.html b/doc/html/id1011013.html
new file mode 100644
index 0000000000..b095dea8f8
--- /dev/null
+++ b/doc/html/id1011013.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_ENUM_SHIFTED_PARAMS</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1359859" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="BOOST_VARIANT_ENUM_PARAMS.html" title="Macro BOOST_VARIANT_ENUM_PARAMS">
+<link rel="next" href="id1317124.html" title="Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_VARIANT_ENUM_PARAMS.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1359859"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1317124.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1011013"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_ENUM_SHIFTED_PARAMS</span></h2>
+<p>BOOST_VARIANT_ENUM_SHIFTED_PARAMS &#8212; <p>Enumerate all but the first parameter for use with
+ <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code>.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_ENUM_SHIFTED_PARAMS(param)</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1640279"></a><h2>Description</h2>
+<p>Expands to a comma-separated sequence of length
+ <code class="computeroutput"><a href="BOOST_VARIANT_LIMIT_TYPES.html" title="Macro BOOST_VARIANT_LIMIT_TYPES">BOOST_VARIANT_LIMIT_TYPES</a> - 1</code>,
+ where each element in the sequence consists of the concatenation of
+ <span class="emphasis"><em>param</em></span> with its one-based index into the sequence.
+ That is,
+ <code class="computeroutput">param ## 1, ..., param ## BOOST_VARIANT_LIMIT_TYPES - 1</code>.</p>
+<p><span class="bold"><strong>Note</strong></span>: This macro results in the
+ same expansion as
+ <code class="computeroutput"><a href="BOOST_VARIANT_ENUM_PARAMS.html" title="Macro BOOST_VARIANT_ENUM_PARAMS">BOOST_VARIANT_ENUM_PARAMS</a></code> -- but
+ without the first term.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_VARIANT_ENUM_PARAMS.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1359859"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1317124.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1011206.html b/doc/html/id1011206.html
new file mode 100644
index 0000000000..1736085620
--- /dev/null
+++ b/doc/html/id1011206.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function store</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id1116985" title="Header &lt;boost/program_options/variables_map.hpp&gt;">
+<link rel="prev" href="id692727.html" title="Function store">
+<link rel="next" href="notify.html" title="Function notify">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id692727.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1116985"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="notify.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1011206"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function store</span></h2>
+<p>boost::program_options::store &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL <span class="bold"><strong>void</strong></span></span>
+store(<span class="bold"><strong>const</strong></span> <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>wchar_t</strong></span> &gt; &amp; options, <a href="variables_map.html" title="Class variables_map">variables_map</a> &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1278140"></a><h2>Description</h2>
+<p>Stores in 'm' all options that are defined in 'options'. If 'm' already has a non-defaulted value of an option, that value is not changed, even if 'options' specify some value. This is wide character variant. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id692727.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1116985"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="notify.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1012042.html b/doc/html/id1012042.html
new file mode 100644
index 0000000000..46fa3dd5a2
--- /dev/null
+++ b/doc/html/id1012042.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id800602" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id1012853.html" title="Function hash_value">
+<link rel="next" href="id867073.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1012853.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id800602"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id867073.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1012042"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for built in arrays.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>unsigned</strong></span> N&gt; <span class="type">std::size_t</span> hash_value(T (&amp;val)[N] );
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>unsigned</strong></span> N&gt; <span class="type">std::size_t</span> hash_value(<span class="bold"><strong>const</strong></span> T (&amp;val)[N] );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1220027"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">hash_range(val, val+N)</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1012853.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id800602"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id867073.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1012853.html b/doc/html/id1012853.html
new file mode 100644
index 0000000000..30219b8b48
--- /dev/null
+++ b/doc/html/id1012853.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id800602" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id798130.html" title="Function hash_value">
+<link rel="next" href="id1012042.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id798130.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id800602"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1012042.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1012853"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for pointers.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">std::size_t</span> hash_value(T* <span class="bold"><strong>const</strong></span>&amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1219892"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+
+ An unspecified value, except that equal arguments shall yield the same
+ result
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id798130.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id800602"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1012042.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1013364.html b/doc/html/id1013364.html
new file mode 100644
index 0000000000..9befc06ff7
--- /dev/null
+++ b/doc/html/id1013364.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id1013345" title="Header &lt;boost/functional/hash/vector.hpp&gt;">
+<link rel="prev" href="id1000856.html" title="Function hash_value">
+<link rel="next" href="id966919.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1000856.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1013345"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id966919.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1013364"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+ <span class="type">std::size_t</span> hash_value(std::vector&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1220509"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id1047787.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1000856.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1013345"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id966919.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1035618.html b/doc/html/id1035618.html
new file mode 100644
index 0000000000..524e586fc9
--- /dev/null
+++ b/doc/html/id1035618.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id856507" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id801965.html" title="Function operator+=">
+<link rel="next" href="id1005474.html" title="Function operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id801965.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856507"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1005474.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1035618"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-</span></h2>
+<p>boost::local_time::operator- &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1108329"></a><h2>Description</h2>
+<p>Subtracts a months object and a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id801965.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856507"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1005474.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1037413.html b/doc/html/id1037413.html
new file mode 100644
index 0000000000..5f79a1fbd5
--- /dev/null
+++ b/doc/html/id1037413.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id856825" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="greg_facet_config.html" title="Struct greg_facet_config">
+<link rel="next" href="id934588.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greg_facet_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856825"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id934588.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1037413"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::gregorian::operator&lt;&lt; &#8212; ostream operator for gregorian::date </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+  <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os, <span class="bold"><strong>const</strong></span> <a href="boost/gregorian/date.html" title="Class date">date</a> &amp; d);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1152433"></a><h2>Description</h2>
+<p>Uses the date facet to determine various output parameters including:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>string values for the month (eg: Jan, Feb, Mar) (default: English)</p></li>
+<li><p>string values for special values (eg: not-a-date-time) (default: English)</p></li>
+<li><p>selection of long, short strings, or numerical month representation (default: short string)</p></li>
+<li><p>month day year order (default yyyy-mmm-dd) </p></li>
+</ul></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greg_facet_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856825"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id934588.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1038934.html b/doc/html/id1038934.html
new file mode 100644
index 0000000000..34d0c433d0
--- /dev/null
+++ b/doc/html/id1038934.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id794387" title="Header &lt;boost/functional/hash/pair.hpp&gt;">
+<link rel="prev" href="id1066619.html" title="Function hash_value">
+<link rel="next" href="id1111544.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1066619.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id794387"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1111544.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1038934"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> A, <span class="bold"><strong>typename</strong></span> B&gt;
+  <span class="type">std::size_t</span> hash_value(std::pair&lt;A, B&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1221079"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ <pre class="programlisting">
+size_t seed = 0;
+<a href="hash_combine.html" title="Function template hash_combine">hash_combine</a>(seed, val.first);
+<a href="hash_combine.html" title="Function template hash_combine">hash_combine</a>(seed, val.second);
+return seed;
+ </pre><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id1108300.html" title="Function hash_value">hash_value</a>(A)</code>
+ or <code class="computeroutput"><a href="id1108300.html" title="Function hash_value">hash_value</a>(B)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1066619.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id794387"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1111544.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1038994.html b/doc/html/id1038994.html
new file mode 100644
index 0000000000..73ee72f0f8
--- /dev/null
+++ b/doc/html/id1038994.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1031665" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id858004.html" title="Function operator+">
+<link rel="next" href="id795566.html" title="Function operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id858004.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1031665"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id795566.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1038994"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+=</span></h2>
+<p>boost::local_time::operator+= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>+=(local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1180164"></a><h2>Description</h2>
+<p>Adds a months object to a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id858004.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1031665"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id795566.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1040893.html b/doc/html/id1040893.html
new file mode 100644
index 0000000000..b312cd78d7
--- /dev/null
+++ b/doc/html/id1040893.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template regex_finder</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id731558" title="Header &lt;boost/algorithm/string/find_format.hpp&gt;">
+<link rel="prev" href="find_format_all.html" title="Function template find_format_all">
+<link rel="next" href="id685876.html" title="Function template regex_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_format_all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id731558"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id685876.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1040893"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template regex_finder</span></h2>
+<p>boost::algorithm::regex_finder &#8212; "Regex" finder </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> regex_finder(<span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+ match_flag_type MatchFlags = match_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1322173"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">regex_finder</code> . Finder uses the regex engine to search for a match. Result is given in <code class="computeroutput">regex_search_result</code> . This is an extension of the iterator_range. In addition it containes match results from the <code class="computeroutput">regex_search</code> algorithm.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">MatchFlags</span></dt>
+<dd><p>Regex search options </p></dd>
+<dt><span class="term">Rx</span></dt>
+<dd><p>A regular expression </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">regex_finder</code> object </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_format_all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id731558"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id685876.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1042434.html b/doc/html/id1042434.html
new file mode 100644
index 0000000000..bb630c4d17
--- /dev/null
+++ b/doc/html/id1042434.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id1082064" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="hash_range.html" title="Function hash_range">
+<link rel="next" href="id802125.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hash_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1082064"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id802125.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1042434"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for integers.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>int</strong></span> val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>long</strong></span> val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>long</strong></span> val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1220394"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">val</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hash_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1082064"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id802125.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1043782.html b/doc/html/id1043782.html
new file mode 100644
index 0000000000..9ceefe3165
--- /dev/null
+++ b/doc/html/id1043782.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id1043765" title="Header &lt;boost/functional/hash/deque.hpp&gt;">
+<link rel="prev" href="id978011.html" title="Function hash_value">
+<link rel="next" href="id1008761.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id978011.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1043765"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1008761.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1043782"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::deque&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1149670"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id971950.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id978011.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1043765"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1008761.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1045709-bb.html b/doc/html/id1045709-bb.html
new file mode 100644
index 0000000000..a772dc2069
--- /dev/null
+++ b/doc/html/id1045709-bb.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class iso_format_base&lt;wchar_t&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id941603" title="Header &lt;boost/date_time/iso_format.hpp&gt;">
+<link rel="prev" href="iso_format_base.html" title="Class template iso_format_base">
+<link rel="next" href="iso_format.html" title="Class template iso_format">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iso_format_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id941603"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="iso_format.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1045709-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class iso_format_base&lt;wchar_t&gt;</span></h2>
+<p>boost::date_time::iso_format_base&lt;wchar_t&gt; &#8212; Class to provide common iso formatting spec. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> iso_format_base&lt;<span class="bold"><strong>wchar_t</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="id1045709-bb.html#id938216-bb">public static functions</a></em></span>
+  <span class="type">month_format_spec</span> <a href="id1045709-bb.html#id938221-bb">month_format</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id1045709-bb.html#id1034559-bb">not_a_date</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id1045709-bb.html#id1038452-bb">pos_infinity</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id1045709-bb.html#id856917-bb">neg_infinity</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1045709-bb.html#id1105741-bb">year_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1045709-bb.html#id1105758-bb">month_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1045709-bb.html#id1110172-bb">day_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1045709-bb.html#id1110189-bb">hour_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1045709-bb.html#id975278-bb">minute_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1045709-bb.html#id873363-bb">second_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1045709-bb.html#id873380-bb">period_start_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1045709-bb.html#id934829-bb">time_start_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1045709-bb.html#id934847-bb">week_start_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1045709-bb.html#id934865-bb">period_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1045709-bb.html#id801705-bb">time_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1045709-bb.html#id801722-bb">fractional_time_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id1045709-bb.html#id898772-bb">is_component_sep</a>(<span class="bold"><strong>wchar_t</strong></span>) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id1045709-bb.html#id1070760-bb">is_fractional_time_sep</a>(<span class="bold"><strong>wchar_t</strong></span>) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id1045709-bb.html#id792624-bb">is_timezone_sep</a>(<span class="bold"><strong>wchar_t</strong></span>) ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1045709-bb.html#id861139-bb">element_sep_char</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1107304"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1107308"></a><h3>
+<a name="id938216-bb"></a><code class="computeroutput">iso_format_base</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">month_format_spec</span> <a name="id938221-bb"></a>month_format() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id1034559-bb"></a>not_a_date() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id1038452-bb"></a>pos_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id856917-bb"></a>neg_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1105741-bb"></a>year_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1105758-bb"></a>month_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1110172-bb"></a>day_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1110189-bb"></a>hour_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id975278-bb"></a>minute_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id873363-bb"></a>second_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id873380-bb"></a>period_start_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id934829-bb"></a>time_start_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id934847-bb"></a>week_start_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id934865-bb"></a>period_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id801705-bb"></a>time_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id801722-bb"></a>fractional_time_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id898772-bb"></a>is_component_sep(<span class="bold"><strong>wchar_t</strong></span> sep) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id1070760-bb"></a>is_fractional_time_sep(<span class="bold"><strong>wchar_t</strong></span> sep) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id792624-bb"></a>is_timezone_sep(<span class="bold"><strong>wchar_t</strong></span> sep) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id861139-bb"></a>element_sep_char() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iso_format_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id941603"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="iso_format.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1045724.html b/doc/html/id1045724.html
new file mode 100644
index 0000000000..a57154dd63
--- /dev/null
+++ b/doc/html/id1045724.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function parse_environment</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id730253" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="id1010247.html" title="Function parse_environment">
+<link rel="next" href="id683292.html" title="Class positional_options_description">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1010247.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id730253"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id683292.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1045724"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function parse_environment</span></h2>
+<p>boost::program_options::parse_environment &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL parsed_options</span>
+parse_environment(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp; , <span class="bold"><strong>const</strong></span> std::string &amp; prefix);
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL parsed_options</span>
+parse_environment(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp; , <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * prefix);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1255934"></a><h2>Description</h2>
+<p>Parse environment.</p>
+<p>Takes all environment variables which start with 'prefix'. The option name is obtained from variable name by removing the prefix and converting the remaining string into lower case. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1010247.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id730253"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id683292.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1046659.html b/doc/html/id1046659.html
new file mode 100644
index 0000000000..3060f4f557
--- /dev/null
+++ b/doc/html/id1046659.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template ostream_time_duration_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1079458" title="Header &lt;boost/date_time/time_formatting_streams.hpp&gt;">
+<link rel="prev" href="time_input_facet.html" title="Class template time_input_facet">
+<link rel="next" href="ostream_time_formatter.html" title="Class template ostream_time_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_input_facet.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1079458"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ostream_time_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1046659"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template ostream_time_duration_formatter</span></h2>
+<p>boost::date_time::ostream_time_duration_formatter &#8212; Put a time type into a stream using appropriate facets. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> ostream_time_duration_formatter {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::basic_ostream&lt; charT &gt;                 ostream_type;           
+  <span class="bold"><strong>typedef</strong></span> time_duration_type::fractional_seconds_type fractional_seconds_type;
+
+  <span class="emphasis"><em>// <a href="id1046659.html#id1046709-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id1046659.html#id1046714-bb">duration_put</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;, ostream_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1140462"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1140466"></a><h3>
+<a name="id1046709-bb"></a><code class="computeroutput">ostream_time_duration_formatter</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id1046714-bb"></a>duration_put(<span class="bold"><strong>const</strong></span> time_duration_type &amp; td, ostream_type &amp; os) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_input_facet.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1079458"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ostream_time_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1047787.html b/doc/html/id1047787.html
new file mode 100644
index 0000000000..d99a0a309e
--- /dev/null
+++ b/doc/html/id1047787.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id800602" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="hash_range.html" title="Function hash_range">
+<link rel="next" href="id798130.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hash_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id800602"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id798130.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1047787"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for integers.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>int</strong></span> val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>long</strong></span> val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>long</strong></span> val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1219676"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">val</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hash_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id800602"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id798130.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1066093.html b/doc/html/id1066093.html
new file mode 100644
index 0000000000..411a4dee94
--- /dev/null
+++ b/doc/html/id1066093.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1359859" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="id1289087.html" title="Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT">
+<link rel="next" href="boost/variant.html" title="Class template variant">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1289087.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1359859"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost/variant.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1066093"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</span></h2>
+<p>BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT &#8212; <p>Indicates
+ <code class="computeroutput"><a href="make_recursive_variant.html" title="Class template make_recursive_variant">make_recursive_variant</a></code> operates in
+ an implementation-defined manner.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1640484"></a><h2>Description</h2>
+<p>Defined only if
+ <code class="computeroutput"><a href="make_recursive_variant.html" title="Class template make_recursive_variant">make_recursive_variant</a></code> does not
+ operate as documented on the target compiler, but rather in an
+ implementation-defined manner.</p>
+<p><span class="bold"><strong>Implementation Note</strong></span>: If
+ <code class="computeroutput">BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</code> is
+ defined for the target compiler, the current implementation uses the
+ <a href="../../libs/mpl/index.html" target="_top">MPL</a> lambda mechanism to approximate the
+ desired behavior. (In most cases, however, such compilers do not have
+ full lambda support either.)</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1289087.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1359859"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost/variant.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1066619.html b/doc/html/id1066619.html
new file mode 100644
index 0000000000..e04ed556c2
--- /dev/null
+++ b/doc/html/id1066619.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id792377" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id905192.html" title="Function hash_value">
+<link rel="next" href="id1038934.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id905192.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id792377"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1038934.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1066619"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for <code class="computeroutput">std::basic_string</code>.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Ch, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::basic_string&lt;Ch, std::char_traits&lt;Ch&gt;, A&gt; <span class="bold"><strong>const</strong></span>&amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1220900"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">hash_range(val.begin(), val.end())</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id905192.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id792377"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1038934.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1067334.html b/doc/html/id1067334.html
new file mode 100644
index 0000000000..398ee2abbe
--- /dev/null
+++ b/doc/html/id1067334.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id1067315" title="Header &lt;boost/functional/hash/list.hpp&gt;">
+<link rel="prev" href="id1000285.html" title="Function hash_value">
+<link rel="next" href="id1068792.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1000285.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1067315"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1068792.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1067334"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::list&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1221391"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id1042434.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1000285.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1067315"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1068792.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1067419-bb.html b/doc/html/id1067419-bb.html
new file mode 100644
index 0000000000..2ceb061515
--- /dev/null
+++ b/doc/html/id1067419-bb.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class value_semantic_codecvt_helper&lt;wchar_t&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id1114896" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="id762184-bb.html" title="Class value_semantic_codecvt_helper&lt;char&gt;">
+<link rel="next" href="value.html" title="Function value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id762184-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1114896"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1067419-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class value_semantic_codecvt_helper&lt;wchar_t&gt;</span></h2>
+<p>boost::program_options::value_semantic_codecvt_helper&lt;wchar_t&gt; &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> value_semantic_codecvt_helper&lt;<span class="bold"><strong>wchar_t</strong></span>&gt;
+ : : <span class="bold"><strong>public</strong></span> boost::program_options::value_semantic
+{
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="id1067419-bb.html#id927741-bb">protected member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="id1067419-bb.html#id727593-bb">xparse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::wstring &gt; &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="id1067419-bb.html#id934395-bb">private member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id1067419-bb.html#id934400-bb">parse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp;, <span class="bold"><strong>bool</strong></span>) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1276949"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1276953"></a><h3>
+<a name="id927741-bb"></a><code class="computeroutput">value_semantic_codecvt_helper</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span>
+<a name="id727593-bb"></a>xparse(boost::any &amp; value_store,
+       <span class="bold"><strong>const</strong></span> std::vector&lt; std::wstring &gt; &amp; new_tokens) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1277011"></a><h3>
+<a name="id934395-bb"></a><code class="computeroutput">value_semantic_codecvt_helper</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id934400-bb"></a>parse(boost::any &amp; value_store,
+           <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp; new_tokens, <span class="bold"><strong>bool</strong></span> utf8) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id762184-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1114896"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1068792.html b/doc/html/id1068792.html
new file mode 100644
index 0000000000..f16d8ef9f8
--- /dev/null
+++ b/doc/html/id1068792.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id1068774" title="Header &lt;boost/functional/hash/deque.hpp&gt;">
+<link rel="prev" href="id1067334.html" title="Function hash_value">
+<link rel="next" href="id898032.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1067334.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1068774"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id898032.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1068792"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::deque&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1221555"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id1042434.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1067334.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1068774"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id898032.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1069976.html b/doc/html/id1069976.html
new file mode 100644
index 0000000000..d246312186
--- /dev/null
+++ b/doc/html/id1069976.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id871656" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id972407.html" title="Function operator+">
+<link rel="next" href="id967850.html" title="Function operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id972407.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id871656"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id967850.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1069976"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+=</span></h2>
+<p>boost::local_time::operator+= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>+=(local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1179563"></a><h2>Description</h2>
+<p>Adds a months object to a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id972407.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id871656"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id967850.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1070986.html b/doc/html/id1070986.html
new file mode 100644
index 0000000000..a2df322335
--- /dev/null
+++ b/doc/html/id1070986.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id1082064" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id1001098.html" title="Function hash_value">
+<link rel="next" href="id897675.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1001098.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1082064"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id897675.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1070986"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for built in arrays.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>unsigned</strong></span> N&gt; <span class="type">std::size_t</span> hash_value(T (&amp;val)[N] );
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>unsigned</strong></span> N&gt; <span class="type">std::size_t</span> hash_value(<span class="bold"><strong>const</strong></span> T (&amp;val)[N] );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1220745"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">hash_range(val, val+N)</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1001098.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1082064"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id897675.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1072313-bb.html b/doc/html/id1072313-bb.html
new file mode 100644
index 0000000000..437fbb66af
--- /dev/null
+++ b/doc/html/id1072313-bb.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class iso_format_base&lt;wchar_t&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1082107" title="Header &lt;boost/date_time/iso_format.hpp&gt;">
+<link rel="prev" href="iso_format_base.html" title="Class template iso_format_base">
+<link rel="next" href="iso_format.html" title="Class template iso_format">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iso_format_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1082107"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="iso_format.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1072313-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class iso_format_base&lt;wchar_t&gt;</span></h2>
+<p>boost::date_time::iso_format_base&lt;wchar_t&gt; &#8212; Class to provide common iso formatting spec. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> iso_format_base&lt;<span class="bold"><strong>wchar_t</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="id1072313-bb.html#id899013-bb">public static functions</a></em></span>
+  <span class="type">month_format_spec</span> <a href="id1072313-bb.html#id899018-bb">month_format</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id1072313-bb.html#id1042605-bb">not_a_date</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id1072313-bb.html#id837772-bb">pos_infinity</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id1072313-bb.html#id1080053-bb">neg_infinity</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1072313-bb.html#id793050-bb">year_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1072313-bb.html#id1072863-bb">month_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1072313-bb.html#id1072879-bb">day_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1072313-bb.html#id1101752-bb">hour_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1072313-bb.html#id962466-bb">minute_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1072313-bb.html#id962483-bb">second_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1072313-bb.html#id962500-bb">period_start_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1072313-bb.html#id962518-bb">time_start_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1072313-bb.html#id968659-bb">week_start_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1072313-bb.html#id1037685-bb">period_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1072313-bb.html#id906164-bb">time_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1072313-bb.html#id1110104-bb">fractional_time_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id1072313-bb.html#id1110122-bb">is_component_sep</a>(<span class="bold"><strong>wchar_t</strong></span>) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id1072313-bb.html#id896642-bb">is_fractional_time_sep</a>(<span class="bold"><strong>wchar_t</strong></span>) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id1072313-bb.html#id793945-bb">is_timezone_sep</a>(<span class="bold"><strong>wchar_t</strong></span>) ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id1072313-bb.html#id793968-bb">element_sep_char</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1107346"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1107349"></a><h3>
+<a name="id899013-bb"></a><code class="computeroutput">iso_format_base</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">month_format_spec</span> <a name="id899018-bb"></a>month_format() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id1042605-bb"></a>not_a_date() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id837772-bb"></a>pos_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id1080053-bb"></a>neg_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id793050-bb"></a>year_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1072863-bb"></a>month_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1072879-bb"></a>day_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1101752-bb"></a>hour_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id962466-bb"></a>minute_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id962483-bb"></a>second_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id962500-bb"></a>period_start_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id962518-bb"></a>time_start_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id968659-bb"></a>week_start_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1037685-bb"></a>period_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id906164-bb"></a>time_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1110104-bb"></a>fractional_time_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id1110122-bb"></a>is_component_sep(<span class="bold"><strong>wchar_t</strong></span> sep) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id896642-bb"></a>is_fractional_time_sep(<span class="bold"><strong>wchar_t</strong></span> sep) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id793945-bb"></a>is_timezone_sep(<span class="bold"><strong>wchar_t</strong></span> sep) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id793968-bb"></a>element_sep_char() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iso_format_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1082107"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="iso_format.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1074505.html b/doc/html/id1074505.html
new file mode 100644
index 0000000000..3ae3daa909
--- /dev/null
+++ b/doc/html/id1074505.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function store</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id682990" title="Header &lt;boost/program_options/variables_map.hpp&gt;">
+<link rel="prev" href="id1115162.html" title="Function store">
+<link rel="next" href="notify.html" title="Function notify">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1115162.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id682990"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="notify.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1074505"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function store</span></h2>
+<p>boost::program_options::store &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL <span class="bold"><strong>void</strong></span></span>
+store(<span class="bold"><strong>const</strong></span> <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>wchar_t</strong></span> &gt; &amp; options, <a href="variables_map.html" title="Class variables_map">variables_map</a> &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1278985"></a><h2>Description</h2>
+<p>Stores in 'm' all options that are defined in 'options'. If 'm' already has a non-defaulted value of an option, that value is not changed, even if 'options' specify some value. This is wide character variant. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1115162.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id682990"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="notify.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1075450.html b/doc/html/id1075450.html
new file mode 100644
index 0000000000..c55cef27d7
--- /dev/null
+++ b/doc/html/id1075450.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template dynamic_local_time_adjustor</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1045289" title="Header &lt;boost/date_time/local_time_adjustor.hpp&gt;">
+<link rel="prev" href="utc_adjustment.html" title="Class template utc_adjustment">
+<link rel="next" href="static_local_time_adjustor.html" title="Class template static_local_time_adjustor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="utc_adjustment.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1045289"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="static_local_time_adjustor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1075450"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template dynamic_local_time_adjustor</span></h2>
+<p>boost::date_time::dynamic_local_time_adjustor &#8212; Allow sliding utc adjustment with fixed dst rules. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type, <span class="bold"><strong>typename</strong></span> dst_rules&gt;
+<span class="bold"><strong>class</strong></span> dynamic_local_time_adjustor {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> time_type::time_duration_type time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> time_type::date_type          date_type;         
+
+  <span class="emphasis"><em>// <a href="id1075450.html#id1075450construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id1075450.html#id837934-bb">dynamic_local_time_adjustor</a>(time_duration_type);
+
+  <span class="emphasis"><em>// <a href="id1075450.html#id823449-bb">public member functions</a></em></span>
+  <span class="type">time_duration_type</span> <a href="id1075450.html#id963809-bb">utc_offset</a>(<span class="bold"><strong>bool</strong></span>) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1108493"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1108496"></a><h3>
+<a name="id1075450construct-copy-destruct"></a><code class="computeroutput">dynamic_local_time_adjustor</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id837934-bb"></a>dynamic_local_time_adjustor(time_duration_type utc_offset);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1108531"></a><h3>
+<a name="id823449-bb"></a><code class="computeroutput">dynamic_local_time_adjustor</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">time_duration_type</span> <a name="id963809-bb"></a>utc_offset(<span class="bold"><strong>bool</strong></span> is_dst) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="utc_adjustment.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1045289"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="static_local_time_adjustor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1075688.html b/doc/html/id1075688.html
new file mode 100644
index 0000000000..c64c866566
--- /dev/null
+++ b/doc/html/id1075688.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template ostream_time_period_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1079458" title="Header &lt;boost/date_time/time_formatting_streams.hpp&gt;">
+<link rel="prev" href="ostream_time_formatter.html" title="Class template ostream_time_formatter">
+<link rel="next" href="time_itr.html" title="Class template time_itr">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ostream_time_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1079458"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_itr.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1075688"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template ostream_time_period_formatter</span></h2>
+<p>boost::date_time::ostream_time_period_formatter &#8212; Put a time period into a stream using appropriate facets. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_period_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> ostream_time_period_formatter {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::basic_ostream&lt; charT &gt;                ostream_type;  
+  <span class="bold"><strong>typedef</strong></span> time_period_type::point_type               time_type;     
+  <span class="bold"><strong>typedef</strong></span> <a href="ostream_time_formatter.html" title="Class template ostream_time_formatter">ostream_time_formatter</a>&lt; time_type, charT &gt; time_formatter;
+
+  <span class="emphasis"><em>// <a href="id1075688.html#id1109737-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id1075688.html#id1109742-bb">period_put</a>(<span class="bold"><strong>const</strong></span> time_period_type &amp;, ostream_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1140768"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1140772"></a><h3>
+<a name="id1109737-bb"></a><code class="computeroutput">ostream_time_period_formatter</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id1109742-bb"></a>period_put(<span class="bold"><strong>const</strong></span> time_period_type &amp; tp, ostream_type &amp; os) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ostream_time_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1079458"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_itr.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1075734.html b/doc/html/id1075734.html
new file mode 100644
index 0000000000..364f86eb85
--- /dev/null
+++ b/doc/html/id1075734.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id891863" title="Header &lt;boost/functional/hash/set.hpp&gt;">
+<link rel="prev" href="id1075809.html" title="Function hash_value">
+<link rel="next" href="id978312.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1075809.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id891863"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id978312.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1075734"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+ <span class="type">std::size_t</span> hash_value(std::set&lt;K, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+ <span class="type">std::size_t</span> hash_value(std::multiset&lt;K, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1221087"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id1047787.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1075809.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id891863"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id978312.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1075809.html b/doc/html/id1075809.html
new file mode 100644
index 0000000000..e49a78f486
--- /dev/null
+++ b/doc/html/id1075809.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id1111317" title="Header &lt;boost/functional/hash/deque.hpp&gt;">
+<link rel="prev" href="id966919.html" title="Function hash_value">
+<link rel="next" href="id1075734.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id966919.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1111317"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1075734.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1075809"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+ <span class="type">std::size_t</span> hash_value(std::deque&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1220833"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id1047787.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id966919.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1111317"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1075734.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1076154.html b/doc/html/id1076154.html
new file mode 100644
index 0000000000..dfe50ee74f
--- /dev/null
+++ b/doc/html/id1076154.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id965809" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id835863.html" title="Function operator+=">
+<link rel="next" href="id928151.html" title="Function operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id835863.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id965809"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id928151.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1076154"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-</span></h2>
+<p>boost::posix_time::operator- &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> <a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1175464"></a><h2>Description</h2>
+<p>Subtracts a years object and a ptime. Result will be same month and day-of-month as ptime unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id835863.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id965809"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id928151.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1076157.html b/doc/html/id1076157.html
new file mode 100644
index 0000000000..43bdd41fcb
--- /dev/null
+++ b/doc/html/id1076157.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1031665" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id964834.html" title="Function operator+=">
+<link rel="next" href="id1112796.html" title="Function operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id964834.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1031665"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1112796.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1076157"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-</span></h2>
+<p>boost::local_time::operator- &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1180411"></a><h2>Description</h2>
+<p>Subtracts a years object and a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id964834.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1031665"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1112796.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1076705.html b/doc/html/id1076705.html
new file mode 100644
index 0000000000..6c7b722e1a
--- /dev/null
+++ b/doc/html/id1076705.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&amp;&amp;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id1174262" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="is_from_range.html" title="Function template is_from_range">
+<link rel="next" href="id1217789.html" title="Function template operator||">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_from_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id1174262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1217789.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1076705"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&amp;&amp;</span></h2>
+<p>boost::algorithm::operator&amp;&amp; &#8212; predicate 'and' composition predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Pred1T, <span class="bold"><strong>typename</strong></span> Pred2T&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<span class="bold"><strong>const</strong></span> predicate_facade&lt; Pred1T &gt; &amp; Pred1,
+                         <span class="bold"><strong>const</strong></span> predicate_facade&lt; Pred2T &gt; &amp; Pred2);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1314158"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">class_and</code> predicate. This predicate can be used to logically combine two classification predicates. <code class="computeroutput">class_and</code> holds, if both predicates return true.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Pred1</span></dt>
+<dd><p>The first predicate </p></dd>
+<dt><span class="term">Pred2</span></dt>
+<dd><p>The second predicate </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">class_and</code> predicate </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_from_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id1174262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1217789.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1077172.html b/doc/html/id1077172.html
new file mode 100644
index 0000000000..d44823d028
--- /dev/null
+++ b/doc/html/id1077172.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id961262" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id996896.html" title="Function operator+">
+<link rel="next" href="id1000727.html" title="Function operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id996896.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id961262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1000727.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1077172"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+=</span></h2>
+<p>boost::posix_time::operator+= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>+=(<a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1174830"></a><h2>Description</h2>
+<p>Adds a years object to a ptime. Result will be same month and day-of-month as ptime unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id996896.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id961262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1000727.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1081373.html b/doc/html/id1081373.html
new file mode 100644
index 0000000000..db217a0b22
--- /dev/null
+++ b/doc/html/id1081373.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator||</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id730865" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="id1181214.html" title="Function template operator&amp;&amp;">
+<link rel="next" href="id1108830.html" title="Function template operator!">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1181214.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id730865"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1108830.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1081373"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator||</span></h2>
+<p>boost::algorithm::operator|| &#8212; predicate 'or' composition predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Pred1T, <span class="bold"><strong>typename</strong></span> Pred2T&gt;
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <span class="bold"><strong>operator</strong></span>||(<span class="bold"><strong>const</strong></span> predicate_facade&lt; Pred1T &gt; &amp; Pred1,
+ <span class="bold"><strong>const</strong></span> predicate_facade&lt; Pred2T &gt; &amp; Pred2);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1313827"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">class_or</code> predicate. This predicate can be used to logically combine two classification predicates. <code class="computeroutput">class_or</code> holds, if one of the predicates return true.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Pred1</span></dt>
+<dd><p>The first predicate </p></dd>
+<dt><span class="term">Pred2</span></dt>
+<dd><p>The second predicate </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">class_or</code> predicate </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1181214.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id730865"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1108830.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1081555.html b/doc/html/id1081555.html
new file mode 100644
index 0000000000..677d20ca67
--- /dev/null
+++ b/doc/html/id1081555.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator&amp;&amp;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id996838" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id866049.html" title="Function operator!">
+<link rel="next" href="id791859.html" title="Function operator||">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id866049.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id996838"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id791859.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1081555"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator&amp;&amp;</span></h2>
+<p>boost::logic::operator&amp;&amp; &#8212; Computes the logical conjuction of two tribools. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="bold"><strong>bool</strong></span> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<span class="bold"><strong>bool</strong></span> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(indeterminate_keyword_t , <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, indeterminate_keyword_t );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1570136"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the result of logically ANDing the two tribool values, according to the following table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">&amp;&amp;</code></strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">false</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id866049.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id996838"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id791859.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1082329.html b/doc/html/id1082329.html
new file mode 100644
index 0000000000..dacb9ac473
--- /dev/null
+++ b/doc/html/id1082329.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id871656" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id970494.html" title="Function operator+=">
+<link rel="next" href="id929185.html" title="Function operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id970494.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id871656"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id929185.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1082329"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-</span></h2>
+<p>boost::local_time::operator- &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1179811"></a><h2>Description</h2>
+<p>Subtracts a years object and a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id970494.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id871656"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id929185.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1083385.html b/doc/html/id1083385.html
new file mode 100644
index 0000000000..1c7bdad23f
--- /dev/null
+++ b/doc/html/id1083385.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1066750" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id971242.html" title="Function operator-=">
+<link rel="next" href="id907863.html" title="Function operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id971242.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1066750"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id907863.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1083385"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+</span></h2>
+<p>boost::local_time::operator+ &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1180360"></a><h2>Description</h2>
+<p>Adds a years object and a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id971242.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1066750"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id907863.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1101061.html b/doc/html/id1101061.html
new file mode 100644
index 0000000000..a3e1928a3d
--- /dev/null
+++ b/doc/html/id1101061.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id938907" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="id978190.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="bad_month.html" title="Struct bad_month">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id978190.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id938907"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_month.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1101061"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::gregorian::operator&lt;&lt; &#8212; operator&lt;&lt; for gregorian::date_period typical output: [2002-Jan-01/2002-Jan-31] </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+  <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os, <span class="bold"><strong>const</strong></span> date_period &amp; dp);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1152718"></a><h2>Description</h2>
+<p>Uses the date facet to determine output string as well as selection of long or short string fr dates. Default if no facet is installed is to output a 3 char english string for the day of the week. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id978190.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id938907"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_month.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1101634.html b/doc/html/id1101634.html
new file mode 100644
index 0000000000..5180a5212e
--- /dev/null
+++ b/doc/html/id1101634.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class invalid_command_line_syntax</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id754183" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="invalid_command_line_style.html" title="Class invalid_command_line_style">
+<link rel="next" href="invalid_option_value.html" title="Class invalid_option_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="invalid_command_line_style.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id754183"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="invalid_option_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1101634"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class invalid_command_line_syntax</span></h2>
+<p>boost::program_options::invalid_command_line_syntax &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> invalid_command_line_syntax {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id1101634.html#id1101634construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id1101634.html#id731865-bb">invalid_command_line_syntax</a>(<span class="bold"><strong>const</strong></span> std::string &amp;, kind_t);
+
+  <span class="emphasis"><em>// <a href="id1101634.html#id929150-bb">public member functions</a></em></span>
+  <span class="type">kind_t</span> <a href="id1101634.html#id997259-bb">kind</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="id1101634.html#id926257-bb">protected static functions</a></em></span>
+  <span class="type">std::string</span> <a href="id1101634.html#id1138620-bb">error_message</a>(kind_t) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1250572"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1250575"></a><h3>
+<a name="id1101634construct-copy-destruct"></a><code class="computeroutput">invalid_command_line_syntax</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id731865-bb"></a>invalid_command_line_syntax(<span class="bold"><strong>const</strong></span> std::string &amp; tokens, kind_t kind);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1250617"></a><h3>
+<a name="id929150-bb"></a><code class="computeroutput">invalid_command_line_syntax</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">kind_t</span> <a name="id997259-bb"></a>kind() <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1250657"></a><h3>
+<a name="id926257-bb"></a><code class="computeroutput">invalid_command_line_syntax</code> protected static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">std::string</span> <a name="id1138620-bb"></a>error_message(kind_t kind) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="invalid_command_line_style.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id754183"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="invalid_option_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1102611.html b/doc/html/id1102611.html
new file mode 100644
index 0000000000..bd00c4f216
--- /dev/null
+++ b/doc/html/id1102611.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1247300" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="id1176279.html" title="Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT">
+<link rel="next" href="id1211701.html" title="Macro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1176279.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1247300"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1211701.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1102611"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</span></h2>
+<p>BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT &#8212; <p>Indicates absence of support for specifying the bounded types
+ of a <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code> by the elements of a
+ type sequence.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1315410"></a><h2>Description</h2>
+<p>Defined only if
+ <code class="computeroutput"><a href="make_variant_over.html" title="Class template make_variant_over">make_variant_over</a></code> and
+ <code class="computeroutput"><a href="id868865.html" title="Class template make_recursive_variant_over">make_recursive_variant_over</a></code>
+ are not supported for some reason on the target compiler.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1176279.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1247300"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1211701.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1102684.html b/doc/html/id1102684.html
new file mode 100644
index 0000000000..a5231364de
--- /dev/null
+++ b/doc/html/id1102684.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id792377" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id834018.html" title="Function hash_value">
+<link rel="next" href="id905192.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id834018.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id792377"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id905192.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1102684"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for pointers.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">std::size_t</span> hash_value(T* <span class="bold"><strong>const</strong></span>&amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1220644"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+
+ An unspecified value, except that equal arguments shall yield the same
+ result
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id834018.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id792377"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id905192.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1104430.html b/doc/html/id1104430.html
new file mode 100644
index 0000000000..f7f2937750
--- /dev/null
+++ b/doc/html/id1104430.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class options_description_easy_init</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id835103" title="Header &lt;boost/program_options/options_description.hpp&gt;">
+<link rel="prev" href="options_description.html" title="Class options_description">
+<link rel="next" href="basic_command_line_parser.html" title="Class template basic_command_line_parser">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="options_description.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id835103"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="basic_command_line_parser.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1104430"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class options_description_easy_init</span></h2>
+<p>boost::program_options::options_description_easy_init &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> options_description_easy_init {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id1104430.html#id1104430construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id1104430.html#id698986-bb">options_description_easy_init</a>(<a href="options_description.html" title="Class options_description">options_description</a> *);
+
+  <span class="emphasis"><em>// <a href="id1104430.html#id791170-bb">public member functions</a></em></span>
+  <span class="type"><a href="id1104430.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span> <a href="id1104430.html#id978370-bb"><span class="bold"><strong>operator</strong></span>()</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *) ;
+  <span class="type"><a href="id1104430.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+  <a href="id1104430.html#id731626-bb"><span class="bold"><strong>operator</strong></span>()</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> *) ;
+  <span class="type"><a href="id1104430.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+  <a href="id1104430.html#id756242-bb"><span class="bold"><strong>operator</strong></span>()</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> *, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1254126"></a><h2>Description</h2>
+<p>Class which provides convenient creation syntax to option_description. </p>
+<div class="refsect2" lang="en">
+<a name="id1254133"></a><h3>
+<a name="id1104430construct-copy-destruct"></a><code class="computeroutput">options_description_easy_init</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id698986-bb"></a>options_description_easy_init(<a href="options_description.html" title="Class options_description">options_description</a> * owner);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1254175"></a><h3>
+<a name="id791170-bb"></a><code class="computeroutput">options_description_easy_init</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><a href="id1104430.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+<a name="id978370-bb"></a><span class="bold"><strong>operator</strong></span>()(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * description) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="id1104430.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+<a name="id731626-bb"></a><span class="bold"><strong>operator</strong></span>()(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> * s) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="id1104430.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+<a name="id756242-bb"></a><span class="bold"><strong>operator</strong></span>()(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> * s,
+           <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * description) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="options_description.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id835103"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="basic_command_line_parser.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1104792-bb.html b/doc/html/id1104792-bb.html
new file mode 100644
index 0000000000..4969408e77
--- /dev/null
+++ b/doc/html/id1104792-bb.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class last_value&lt;void&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="signals/reference.html#id661625" title="Header &lt;boost/last_value.hpp&gt;">
+<link rel="prev" href="last_value.html" title="Class template last_value">
+<link rel="next" href="signals/s04.html" title="Frequently Asked Questions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="last_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id661625"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="signals/s04.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1104792-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class last_value&lt;void&gt;</span></h2>
+<p>boost::last_value&lt;void&gt; &#8212; Evaluate an InputIterator sequence.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> last_value&lt;<span class="bold"><strong>void</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> result_type;
+
+ <span class="emphasis"><em>// <a href="id1104792-bb.html#id1067745-bb">invocation</a></em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> <a href="InputIterator.html" title="Concept InputIterator">InputIterator</a>&gt;
+ <span class="type">result_type</span> <a href="id1104792-bb.html#id658729-bb"><span class="bold"><strong>operator</strong></span>()</a>(InputIterator, InputIterator) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1286731"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1286735"></a><h3>
+<a name="id1067745-bb"></a><code class="computeroutput">last_value</code> invocation</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> <a href="InputIterator.html" title="Concept InputIterator">InputIterator</a>&gt;
+ <span class="type">result_type</span> <a name="id658729-bb"></a><span class="bold"><strong>operator</strong></span>()(InputIterator first, InputIterator last) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Dereferences every iterator in the sequence <code class="computeroutput">[first, last)</code>.</p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="last_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id661625"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="signals/s04.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1106672.html b/doc/html/id1106672.html
new file mode 100644
index 0000000000..770af947e4
--- /dev/null
+++ b/doc/html/id1106672.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id662418" title="Header &lt;boost/variant/variant.hpp&gt;">
+<link rel="prev" href="id837111.html" title="Function template swap">
+<link rel="next" href="make_variant_over.html" title="Class template make_variant_over">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id837111.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id662418"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="make_variant_over.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1106672"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::operator&lt;&lt; &#8212; Provides streaming output for <code class="computeroutput">variant</code> types.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ElemType, <span class="bold"><strong>typename</strong></span> Traits, <span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ...,
+         <span class="bold"><strong>typename</strong></span> TN&gt;
+  <span class="type">std::basic_ostream&lt;ElemType,Traits&gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt;ElemType,Traits&gt; &amp; out,
+             <span class="bold"><strong>const</strong></span> <a href="boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp; rhs);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1318378"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ Every bounded type of the <code class="computeroutput">variant</code> must
+ fulfill the requirements of the
+ <a href="variant/reference.html#variant.concepts.output-streamable" title="OutputStreamable"><span class="emphasis"><em>OutputStreamable</em></span></a>
+ concept.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Calls <code class="computeroutput">out &lt;&lt; x</code>, where <code class="computeroutput">x</code> is
+ the content of <code class="computeroutput">rhs</code>.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id837111.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id662418"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="make_variant_over.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1108211.html b/doc/html/id1108211.html
new file mode 100644
index 0000000000..ddc0c5b7f7
--- /dev/null
+++ b/doc/html/id1108211.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function store</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id872805" title="Header &lt;boost/program_options/variables_map.hpp&gt;">
+<link rel="prev" href="variables_map.html" title="Class variables_map">
+<link rel="next" href="id837802.html" title="Function store">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="variables_map.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id872805"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id837802.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1108211"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function store</span></h2>
+<p>boost::program_options::store &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL <span class="bold"><strong>void</strong></span></span>
+store(<span class="bold"><strong>const</strong></span> <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>char</strong></span> &gt; &amp; options, <a href="variables_map.html" title="Class variables_map">variables_map</a> &amp; m,
+      <span class="bold"><strong>bool</strong></span> utf8 = false);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1278495"></a><h2>Description</h2>
+<p>Stores in 'm' all options that are defined in 'options'. If 'm' already has a non-defaulted value of an option, that value is not changed, even if 'options' specify some value. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="variables_map.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id872805"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id837802.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1108300.html b/doc/html/id1108300.html
new file mode 100644
index 0000000000..f333fbe844
--- /dev/null
+++ b/doc/html/id1108300.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id792377" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="hash_range.html" title="Function hash_range">
+<link rel="next" href="id834018.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hash_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id792377"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id834018.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1108300"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for integers.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>int</strong></span> val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>long</strong></span> val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>long</strong></span> val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1220428"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">val</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hash_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id792377"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id834018.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1108774.html b/doc/html/id1108774.html
new file mode 100644
index 0000000000..65f1b923c5
--- /dev/null
+++ b/doc/html/id1108774.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id961262" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id932460.html" title="Function operator+=">
+<link rel="next" href="id836208.html" title="Function operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id932460.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id961262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id836208.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1108774"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-</span></h2>
+<p>boost::posix_time::operator- &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> <a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1174656"></a><h2>Description</h2>
+<p>Subtracts a months object and a ptime. Result will be same day-of-month as ptime unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id932460.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id961262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id836208.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1108830.html b/doc/html/id1108830.html
new file mode 100644
index 0000000000..600114ed6a
--- /dev/null
+++ b/doc/html/id1108830.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator!</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id730865" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="id1081373.html" title="Function template operator||">
+<link rel="next" href="is_equal.html" title="Struct is_equal">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1081373.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id730865"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_equal.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1108830"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator!</span></h2>
+<p>boost::algorithm::operator! &#8212; predicate negation operator </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PredT&gt;
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <span class="bold"><strong>operator</strong></span>!(<span class="bold"><strong>const</strong></span> predicate_facade&lt; PredT &gt; &amp; Pred);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1313934"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">class_not</code> predicate. This predicate represents a negation. <code class="computeroutput">class_or</code> holds if of the predicates return false.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Pred</span></dt>
+<dd><p>The predicate to be negated </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">class_not</code> predicate </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1081373.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id730865"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_equal.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1109157.html b/doc/html/id1109157.html
new file mode 100644
index 0000000000..46c3ee5771
--- /dev/null
+++ b/doc/html/id1109157.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template regex_finder</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id658329" title="Header &lt;boost/algorithm/string/regex_find_format.hpp&gt;">
+<link rel="prev" href="split_regex.html" title="Function template split_regex">
+<link rel="next" href="id869818.html" title="Function template regex_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="split_regex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id658329"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id869818.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1109157"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template regex_finder</span></h2>
+<p>boost::algorithm::regex_finder &#8212; "Regex" finder </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> regex_finder(<span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+                           match_flag_type MatchFlags = match_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1348168"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">regex_finder</code> . Finder uses the regex engine to search for a match. Result is given in <code class="computeroutput">regex_search_result</code> . This is an extension of the iterator_range. In addition it containes match results from the <code class="computeroutput">regex_search</code> algorithm.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">MatchFlags</span></dt>
+<dd><p>Regex search options </p></dd>
+<dt><span class="term">Rx</span></dt>
+<dd><p>A regular expression </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">regex_finder</code> object </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="split_regex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id658329"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id869818.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1109608-bb.html b/doc/html/id1109608-bb.html
new file mode 100644
index 0000000000..1b94a8b5c8
--- /dev/null
+++ b/doc/html/id1109608-bb.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class value_semantic_codecvt_helper&lt;wchar_t&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id1139298" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="id833576-bb.html" title="Class value_semantic_codecvt_helper&lt;char&gt;">
+<link rel="next" href="value.html" title="Function value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id833576-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1139298"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1109608-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class value_semantic_codecvt_helper&lt;wchar_t&gt;</span></h2>
+<p>boost::program_options::value_semantic_codecvt_helper&lt;wchar_t&gt; &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> value_semantic_codecvt_helper&lt;<span class="bold"><strong>wchar_t</strong></span>&gt;
+ : : <span class="bold"><strong>public</strong></span> boost::program_options::value_semantic
+{
+<span class="bold"><strong>public</strong></span>:
+
+ <span class="emphasis"><em>// <a href="id1109608-bb.html#id928547-bb">protected member functions</a></em></span>
+ <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="id1109608-bb.html#id928552-bb">xparse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::wstring &gt; &amp;) <span class="bold"><strong>const</strong></span>;
+
+ <span class="emphasis"><em>// <a href="id1109608-bb.html#id1136710-bb">private member functions</a></em></span>
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id1109608-bb.html#id731889-bb">parse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp;, <span class="bold"><strong>bool</strong></span>) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1276112"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1276116"></a><h3>
+<a name="id928547-bb"></a><code class="computeroutput">value_semantic_codecvt_helper</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span>
+<a name="id928552-bb"></a>xparse(boost::any &amp; value_store,
+ <span class="bold"><strong>const</strong></span> std::vector&lt; std::wstring &gt; &amp; new_tokens) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1276174"></a><h3>
+<a name="id1136710-bb"></a><code class="computeroutput">value_semantic_codecvt_helper</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id731889-bb"></a>parse(boost::any &amp; value_store,
+ <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp; new_tokens, <span class="bold"><strong>bool</strong></span> utf8) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id833576-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1139298"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1110744.html b/doc/html/id1110744.html
new file mode 100644
index 0000000000..7e9b7e1abd
--- /dev/null
+++ b/doc/html/id1110744.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template parse_delimited_time_duration</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1110683" title="Header &lt;boost/date_time/time_parsing.hpp&gt;">
+<link rel="prev" href="time_itr.html" title="Class template time_itr">
+<link rel="next" href="id829690.html" title="Struct time_resolution_traits_bi32_impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_itr.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1110683"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id829690.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1110744"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template parse_delimited_time_duration</span></h2>
+<p>boost::date_time::parse_delimited_time_duration &#8212; Creates a time_duration object from a delimited string. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration&gt;
+  <span class="type"><a href="id682549.html" title="Class template time_duration">time_duration</a></span> parse_delimited_time_duration(<span class="bold"><strong>const</strong></span> std::string &amp; s);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1141653"></a><h2>Description</h2>
+<p>Expected format for string is "[-]h[h][:mm][:ss][.fff]". If the number of fractional digits provided is greater than the precision of the time duration type then the extra digits are truncated.</p>
+<p>A negative duration will be created if the first character in string is a '-', all other '-' will be treated as delimiters. Accepted delimiters are "-:,.". </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_itr.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1110683"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id829690.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1111217.html b/doc/html/id1111217.html
new file mode 100644
index 0000000000..57f6d39ddc
--- /dev/null
+++ b/doc/html/id1111217.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&gt;&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id1288744" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="id765833.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="tribool/tests.html" title="Testsuite">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id765833.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1288744"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="tribool/tests.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1111217"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&gt;&gt;</span></h2>
+<p>boost::logic::operator&gt;&gt; &#8212; Reads a tribool value from a stream. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+ <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+ <span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; in, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> &amp; x);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1565922"></a><h2>Description</h2>
+<p>When <code class="computeroutput">(out.flags() &amp; std::ios_base::boolalpha) == 0</code> , this function reads a <code class="computeroutput">long</code> value from the input stream <code class="computeroutput">in</code> and converts that value to a tribool. If that value is 0, <code class="computeroutput">x</code> becomes <code class="computeroutput">false</code> ; if it is 1, <code class="computeroutput">x</code> becomes <code class="computeroutput">true</code> ; if it is 2, <code class="computeroutput">becomes</code><code class="computeroutput">indetermine</code> ; otherwise, the operation fails (and the fail bit is set on the input stream <code class="computeroutput">in</code> ).</p>
+<p>When <code class="computeroutput">(out.flags() &amp; std::ios_base::boolalpha) != 0</code> , this function first determines the names of the false, true, and indeterminate values. The false and true names are extracted from the <code class="computeroutput">std::numpunct</code> facet of the input stream's locale (if the C++ standard library implementation supports locales), or from the <code class="computeroutput">default_false_name</code> and <code class="computeroutput">default_true_name</code> functions (if there is no locale support). The indeterminate name is extracted from the appropriate <code class="computeroutput">indeterminate_name</code> facet (if it is available in the input stream's locale), or from the <code class="computeroutput">get_default_indeterminate_name</code> function (if the C++ standard library implementation does not support locales, or the <code class="computeroutput">indeterminate_name</code> facet is not specified for this locale object). The input is then matched to each of these names, and the tribool <code class="computeroutput">x</code> is assigned the value corresponding to the longest name that matched. If no name is matched or all names are empty, the operation fails (and the fail bit is set on the input stream <code class="computeroutput">in</code> ).</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">in</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id765833.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1288744"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="tribool/tests.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1111544.html b/doc/html/id1111544.html
new file mode 100644
index 0000000000..2fa46be758
--- /dev/null
+++ b/doc/html/id1111544.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id862674" title="Header &lt;boost/functional/hash/vector.hpp&gt;">
+<link rel="prev" href="id1038934.html" title="Function hash_value">
+<link rel="next" href="id939231.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1038934.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id862674"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id939231.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1111544"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::vector&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1221264"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id1108300.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1038934.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id862674"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id939231.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1111919.html b/doc/html/id1111919.html
new file mode 100644
index 0000000000..2c6eb84884
--- /dev/null
+++ b/doc/html/id1111919.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id798666" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="from_ftime.html" title="Function template from_ftime">
+<link rel="next" href="id660313.html" title="Function operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="from_ftime.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id798666"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id660313.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1111919"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+</span></h2>
+<p>boost::posix_time::operator+ &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> <a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1175064"></a><h2>Description</h2>
+<p>Adds a months object and a ptime. Result will be same day-of-month as ptime unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="from_ftime.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id798666"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id660313.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1112796.html b/doc/html/id1112796.html
new file mode 100644
index 0000000000..26051379ec
--- /dev/null
+++ b/doc/html/id1112796.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1031665" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id1076157.html" title="Function operator-">
+<link rel="next" href="partial_date_rule_spec.html" title="Struct partial_date_rule_spec">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1076157.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1031665"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="partial_date_rule_spec.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1112796"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-=</span></h2>
+<p>boost::local_time::operator-= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>-=(local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1180457"></a><h2>Description</h2>
+<p>Subtracts a years object from a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1076157.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1031665"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="partial_date_rule_spec.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1115162.html b/doc/html/id1115162.html
new file mode 100644
index 0000000000..ce2f6c2377
--- /dev/null
+++ b/doc/html/id1115162.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function store</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id682990" title="Header &lt;boost/program_options/variables_map.hpp&gt;">
+<link rel="prev" href="variables_map.html" title="Class variables_map">
+<link rel="next" href="id1074505.html" title="Function store">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="variables_map.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id682990"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1074505.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1115162"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function store</span></h2>
+<p>boost::program_options::store &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL <span class="bold"><strong>void</strong></span></span>
+store(<span class="bold"><strong>const</strong></span> <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>char</strong></span> &gt; &amp; options, <a href="variables_map.html" title="Class variables_map">variables_map</a> &amp; m,
+      <span class="bold"><strong>bool</strong></span> utf8 = false);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1278921"></a><h2>Description</h2>
+<p>Stores in 'm' all options that are defined in 'options'. If 'm' already has a non-defaulted value of an option, that value is not changed, even if 'options' specify some value. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="variables_map.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id682990"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1074505.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1117522-bb.html b/doc/html/id1117522-bb.html
new file mode 100644
index 0000000000..24723cc3c0
--- /dev/null
+++ b/doc/html/id1117522-bb.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class basic_parsed_options&lt;wchar_t&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id755166" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="basic_parsed_options.html" title="Class template basic_parsed_options">
+<link rel="next" href="id656954.html" title="Type collect_unrecognized_mode">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_parsed_options.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id755166"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id656954.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1117522-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class basic_parsed_options&lt;wchar_t&gt;</span></h2>
+<p>boost::program_options::basic_parsed_options&lt;wchar_t&gt; &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> basic_parsed_options&lt;<span class="bold"><strong>wchar_t</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="id1117522-bb.html#id1117833-bb">public member functions</a></em></span>
+  <span class="type"></span> <a href="id1117522-bb.html#id1032960-bb">basic_parsed_options</a>(<span class="bold"><strong>const</strong></span> <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>char</strong></span> &gt; &amp;) ;
+
+  std::vector&lt; <a href="basic_option.html" title="Class template basic_option">basic_option</a>&lt; wchar_t &gt; &gt; options;
+  const <a href="options_description.html" title="Class options_description">options_description</a> * description;
+  <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; char &gt; utf8_encoded_options;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1255889"></a><h2>Description</h2>
+<p>Specialization of basic_parsed_options which:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>provides convenient conversion from basic_parsed_options&lt;char&gt;</p></li>
+<li><p>stores the passed char-based options for later use. </p></li>
+</ul></div>
+<div class="refsect2" lang="en">
+<a name="id1255906"></a><h3>
+<a name="id1117833-bb"></a><code class="computeroutput">basic_parsed_options</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type"></span> <a name="id1032960-bb"></a>basic_parsed_options(<span class="bold"><strong>const</strong></span> <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>char</strong></span> &gt; &amp; po) ;</pre>
+<p>Constructs wrapped options from options in UTF8 encoding. </p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_parsed_options.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id755166"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id656954.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1136776.html b/doc/html/id1136776.html
new file mode 100644
index 0000000000..5f5a562561
--- /dev/null
+++ b/doc/html/id1136776.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&amp;&amp;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id1008658" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="is_from_range.html" title="Function template is_from_range">
+<link rel="next" href="id759771.html" title="Function template operator||">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_from_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id1008658"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id759771.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1136776"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&amp;&amp;</span></h2>
+<p>boost::algorithm::operator&amp;&amp; &#8212; predicate 'and' composition predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Pred1T, <span class="bold"><strong>typename</strong></span> Pred2T&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<span class="bold"><strong>const</strong></span> predicate_facade&lt; Pred1T &gt; &amp; Pred1,
+                         <span class="bold"><strong>const</strong></span> predicate_facade&lt; Pred2T &gt; &amp; Pred2);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1314597"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">class_and</code> predicate. This predicate can be used to logically combine two classification predicates. <code class="computeroutput">class_and</code> holds, if both predicates return true.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Pred1</span></dt>
+<dd><p>The first predicate </p></dd>
+<dt><span class="term">Pred2</span></dt>
+<dd><p>The second predicate </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">class_and</code> predicate </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_from_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id1008658"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id759771.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1140631.html b/doc/html/id1140631.html
new file mode 100644
index 0000000000..c4c0ebe22d
--- /dev/null
+++ b/doc/html/id1140631.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template value_semantic_codecvt_helper</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id857530" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="value_semantic.html" title="Class value_semantic">
+<link rel="next" href="id865547-bb.html" title="Class value_semantic_codecvt_helper&lt;char&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="value_semantic.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id857530"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id865547-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1140631"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template value_semantic_codecvt_helper</span></h2>
+<p>boost::program_options::value_semantic_codecvt_helper &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+<span class="bold"><strong>class</strong></span> value_semantic_codecvt_helper {
+<span class="bold"><strong>public</strong></span>:
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1276114"></a><h2>Description</h2>
+<p>Helper class which perform necessary character conversions in the 'parse' method and forwards the data further. </p>
+<div class="refsect2" lang="en">
+<a name="id1276121"></a><h3>Specializations</h3>
+<div class="itemizedlist"><ul type="disc">
+<li><p><a href="id865547-bb.html" title="Class value_semantic_codecvt_helper&lt;char&gt;">Class value_semantic_codecvt_helper&lt;char&gt;</a></p></li>
+<li><p><a href="id1142955-bb.html" title="Class value_semantic_codecvt_helper&lt;wchar_t&gt;">Class value_semantic_codecvt_helper&lt;wchar_t&gt;</a></p></li>
+</ul></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="value_semantic.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id857530"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id865547-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1142924.html b/doc/html/id1142924.html
new file mode 100644
index 0000000000..ebd4dc5bc8
--- /dev/null
+++ b/doc/html/id1142924.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&gt;&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id1285134" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="id1248921.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="tribool/tests.html" title="Testsuite">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1248921.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1285134"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="tribool/tests.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1142924"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&gt;&gt;</span></h2>
+<p>boost::logic::operator&gt;&gt; &#8212; Reads a tribool value from a stream. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+  <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; in, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> &amp; x);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1566995"></a><h2>Description</h2>
+<p>When <code class="computeroutput">(out.flags() &amp; std::ios_base::boolalpha) == 0</code> , this function reads a <code class="computeroutput">long</code> value from the input stream <code class="computeroutput">in</code> and converts that value to a tribool. If that value is 0, <code class="computeroutput">x</code> becomes <code class="computeroutput">false</code> ; if it is 1, <code class="computeroutput">x</code> becomes <code class="computeroutput">true</code> ; if it is 2, <code class="computeroutput">becomes</code><code class="computeroutput">indetermine</code> ; otherwise, the operation fails (and the fail bit is set on the input stream <code class="computeroutput">in</code> ).</p>
+<p>When <code class="computeroutput">(out.flags() &amp; std::ios_base::boolalpha) != 0</code> , this function first determines the names of the false, true, and indeterminate values. The false and true names are extracted from the <code class="computeroutput">std::numpunct</code> facet of the input stream's locale (if the C++ standard library implementation supports locales), or from the <code class="computeroutput">default_false_name</code> and <code class="computeroutput">default_true_name</code> functions (if there is no locale support). The indeterminate name is extracted from the appropriate <code class="computeroutput">indeterminate_name</code> facet (if it is available in the input stream's locale), or from the <code class="computeroutput">get_default_indeterminate_name</code> function (if the C++ standard library implementation does not support locales, or the <code class="computeroutput">indeterminate_name</code> facet is not specified for this locale object). The input is then matched to each of these names, and the tribool <code class="computeroutput">x</code> is assigned the value corresponding to the longest name that matched. If no name is matched or all names are empty, the operation fails (and the fail bit is set on the input stream <code class="computeroutput">in</code> ).</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">in</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1248921.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1285134"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="tribool/tests.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1142955-bb.html b/doc/html/id1142955-bb.html
new file mode 100644
index 0000000000..49564d478f
--- /dev/null
+++ b/doc/html/id1142955-bb.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class value_semantic_codecvt_helper&lt;wchar_t&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id857530" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="id865547-bb.html" title="Class value_semantic_codecvt_helper&lt;char&gt;">
+<link rel="next" href="value.html" title="Function value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id865547-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id857530"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1142955-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class value_semantic_codecvt_helper&lt;wchar_t&gt;</span></h2>
+<p>boost::program_options::value_semantic_codecvt_helper&lt;wchar_t&gt; &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> value_semantic_codecvt_helper&lt;<span class="bold"><strong>wchar_t</strong></span>&gt;
+ : : <span class="bold"><strong>public</strong></span> boost::program_options::value_semantic
+{
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="id1142955-bb.html#id1142980-bb">protected member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="id1142955-bb.html#id1142985-bb">xparse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::wstring &gt; &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="id1142955-bb.html#id1109361-bb">private member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id1142955-bb.html#id1109365-bb">parse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp;, <span class="bold"><strong>bool</strong></span>) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1276528"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1276531"></a><h3>
+<a name="id1142980-bb"></a><code class="computeroutput">value_semantic_codecvt_helper</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span>
+<a name="id1142985-bb"></a>xparse(boost::any &amp; value_store,
+       <span class="bold"><strong>const</strong></span> std::vector&lt; std::wstring &gt; &amp; new_tokens) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1276588"></a><h3>
+<a name="id1109361-bb"></a><code class="computeroutput">value_semantic_codecvt_helper</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id1109365-bb"></a>parse(boost::any &amp; value_store,
+           <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp; new_tokens, <span class="bold"><strong>bool</strong></span> utf8) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id865547-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id857530"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1145169.html b/doc/html/id1145169.html
new file mode 100644
index 0000000000..2cbc5a8e0b
--- /dev/null
+++ b/doc/html/id1145169.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator!=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id758563" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id1220439.html" title="Function operator==">
+<link rel="next" href="BOOST_TRIBOOL_THIRD_STATE.html" title="Macro BOOST_TRIBOOL_THIRD_STATE">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1220439.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id758563"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TRIBOOL_THIRD_STATE.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1145169"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator!=</span></h2>
+<p>boost::logic::operator!= &#8212; Compare tribools for inequality. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="bold"><strong>bool</strong></span> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(<span class="bold"><strong>bool</strong></span> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(indeterminate_keyword_t , <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, indeterminate_keyword_t );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1565916"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the result of comparing two tribool values for inequality, according to the following table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">!=</code></strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1220439.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id758563"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TRIBOOL_THIRD_STATE.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1149596.html b/doc/html/id1149596.html
new file mode 100644
index 0000000000..05692ff0c8
--- /dev/null
+++ b/doc/html/id1149596.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Type read_write_scheduling_policy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id693680" title="Header &lt;boost/thread/read_write_mutex.hpp&gt;">
+<link rel="prev" href="recursive_timed_mutex.html" title="Class recursive_timed_mutex">
+<link rel="next" href="read_write_mutex.html" title="Class read_write_mutex">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="recursive_timed_mutex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id693680"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="read_write_mutex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1149596"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Type read_write_scheduling_policy</span></h2>
+<p>boost::read_write_scheduling_policy::read_write_scheduling_policy &#8212; <p>Specifies the
+ <a href="threads/concepts.html#threads.concepts.read-write-scheduling-policies.inter-class" title="Inter-Class Scheduling Policies">inter-class sheduling policy</a>
+ to use when a set of threads try to obtain different types of
+ locks simultaneously.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>enum</strong></span> read_write_scheduling_policy { writer_priority, reader_priority,
+                                    alternating_many_reads,
+                                    alternating_single_read };</pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="recursive_timed_mutex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id693680"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="read_write_mutex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1151074.html b/doc/html/id1151074.html
new file mode 100644
index 0000000000..04f28771e0
--- /dev/null
+++ b/doc/html/id1151074.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id1288744" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="id1007648.html" title="Function template get_default_indeterminate_name">
+<link rel="next" href="id765833.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1007648.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1288744"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id765833.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1151074"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::logic::operator&lt;&lt; &#8212; Writes the value of a tribool to a stream. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+ <span class="type">std::basic_ostream&lt; CharT, Traits &gt; &amp;</span>
+ <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, Traits &gt; &amp; out, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1565707"></a><h2>Description</h2>
+<p>When the value of <code class="computeroutput">x</code> is either <code class="computeroutput">true</code> or <code class="computeroutput">false</code> , this routine is semantically equivalent to: </p>
+<pre class="programlisting"> out &lt;&lt; static_cast&lt;bool&gt;(x);
+</pre>
+<p>When <code class="computeroutput">x</code> has an indeterminate value, it outputs either the integer value 2 (if <code class="computeroutput">(out.flags() &amp; std::ios_base::boolalpha) == 0</code> ) or the name of the indeterminate value. The name of the indeterminate value comes from the indeterminate_name facet (if it is defined in the output stream's locale), or from the get_default_indeterminate_name function (if it is not defined in the locale or if the C++ standard library implementation does not support locales).</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">out</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1007648.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1288744"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id765833.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1151195.html b/doc/html/id1151195.html
new file mode 100644
index 0000000000..b255785126
--- /dev/null
+++ b/doc/html/id1151195.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template make_recursive_variant_over</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1362374" title="Header &lt;boost/variant/recursive_variant.hpp&gt;">
+<link rel="prev" href="make_recursive_variant.html" title="Class template make_recursive_variant">
+<link rel="next" href="recursive_wrapper.html" title="Class template recursive_wrapper">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_recursive_variant.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1362374"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="recursive_wrapper.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1151195"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template make_recursive_variant_over</span></h2>
+<p>boost::make_recursive_variant_over &#8212; <p>Exposes a recursive <code class="computeroutput">variant</code> whose bounded types
+ are the elements of the given type sequence.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Sequence&gt;
+<span class="bold"><strong>class</strong></span> make_recursive_variant_over {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> variant&lt; <span class="emphasis"><em>unspecified</em></span> &gt; type;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1666722"></a><h2>Description</h2>
+<p><code class="computeroutput">type</code> has behavior equivalent in every respect to
+ <code class="computeroutput"><a href="make_recursive_variant.html" title="Class template make_recursive_variant">make_recursive_variant</a>&lt; Sequence[0], Sequence[1], ... &gt;::type</code>
+ (where <code class="computeroutput">Sequence[<span class="emphasis"><em>i</em></span>]</code> denotes the
+ <span class="emphasis"><em>i</em></span>-th element of <code class="computeroutput">Sequence</code>), except
+ that no upper limit is imposed on the number of types.</p>
+<p><span class="bold"><strong>Notes</strong></span>:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<code class="computeroutput">Sequence</code> must meet the requirements of
+ <a href="../../libs/mpl/index.html" target="_top">MPL</a>'s <span class="emphasis"><em>Sequence</em></span>
+ concept.</li>
+<li>Due to standard conformance problems in several compilers,
+ <code class="computeroutput">make_recursive_variant_over</code> may not be supported on
+ your compiler. See
+ <code class="computeroutput"><a href="id1351704.html" title="Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT">BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</a></code>
+ for more information.</li>
+</ul></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_recursive_variant.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1362374"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="recursive_wrapper.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1171494.html b/doc/html/id1171494.html
new file mode 100644
index 0000000000..66f3af11e2
--- /dev/null
+++ b/doc/html/id1171494.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template regex_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id1188068" title="Header &lt;boost/algorithm/string/find_format.hpp&gt;">
+<link rel="prev" href="id685080.html" title="Function template regex_finder">
+<link rel="next" href="find_iterator.html" title="Class template find_iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id685080.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id1188068"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_iterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1171494"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template regex_formatter</span></h2>
+<p>boost::algorithm::regex_formatter &#8212; Regex formatter. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT, <span class="bold"><strong>typename</strong></span> AllocT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> regex_formatter(<span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, TraitsT, AllocT &gt; &amp; Format,
+                              match_flag_type Flags = format_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1322791"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">regex_formatter</code> . Regex formatter uses the regex engine to format a match found by the <code class="computeroutput">regex_finder</code> . This formatted it designed to closely cooperate with <code class="computeroutput">regex_finder</code> .</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Flags</span></dt>
+<dd><p>Format flags </p></dd>
+<dt><span class="term">Format</span></dt>
+<dd><p>Regex format definition </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">regex_formatter</code> functor </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id685080.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id1188068"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_iterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1172278.html b/doc/html/id1172278.html
new file mode 100644
index 0000000000..6a9255e266
--- /dev/null
+++ b/doc/html/id1172278.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1242868" title="Header &lt;boost/variant/variant.hpp&gt;">
+<link rel="prev" href="id1319232.html" title="Function template swap">
+<link rel="next" href="make_variant_over.html" title="Class template make_variant_over">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1319232.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1242868"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="make_variant_over.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1172278"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::operator&lt;&lt; &#8212; Provides streaming output for <code class="computeroutput">variant</code> types.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ElemType, <span class="bold"><strong>typename</strong></span> Traits, <span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ...,
+ <span class="bold"><strong>typename</strong></span> TN&gt;
+ <span class="type">std::basic_ostream&lt;ElemType,Traits&gt; &amp;</span>
+ <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt;ElemType,Traits&gt; &amp; out,
+ <span class="bold"><strong>const</strong></span> <a href="boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp; rhs);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1642299"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ Every bounded type of the <code class="computeroutput">variant</code> must
+ fulfill the requirements of the
+ <a href="variant/reference.html#variant.concepts.output-streamable" title="OutputStreamable"><span class="emphasis"><em>OutputStreamable</em></span></a>
+ concept.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Calls <code class="computeroutput">out &lt;&lt; x</code>, where <code class="computeroutput">x</code> is
+ the content of <code class="computeroutput">rhs</code>.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1319232.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1242868"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="make_variant_over.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1175301.html b/doc/html/id1175301.html
new file mode 100644
index 0000000000..707e1b2eb9
--- /dev/null
+++ b/doc/html/id1175301.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template regex_finder</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id928885" title="Header &lt;boost/algorithm/string/regex_find_format.hpp&gt;">
+<link rel="prev" href="split_regex.html" title="Function template split_regex">
+<link rel="next" href="id1210776.html" title="Function template regex_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="split_regex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id928885"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1210776.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1175301"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template regex_finder</span></h2>
+<p>boost::algorithm::regex_finder &#8212; "Regex" finder </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> regex_finder(<span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+                           match_flag_type MatchFlags = match_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1348608"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">regex_finder</code> . Finder uses the regex engine to search for a match. Result is given in <code class="computeroutput">regex_search_result</code> . This is an extension of the iterator_range. In addition it containes match results from the <code class="computeroutput">regex_search</code> algorithm.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">MatchFlags</span></dt>
+<dd><p>Regex search options </p></dd>
+<dt><span class="term">Rx</span></dt>
+<dd><p>A regular expression </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">regex_finder</code> object </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="split_regex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id928885"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1210776.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1176279.html b/doc/html/id1176279.html
new file mode 100644
index 0000000000..e16be3a261
--- /dev/null
+++ b/doc/html/id1176279.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1247300" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="id652972.html" title="Macro BOOST_VARIANT_ENUM_SHIFTED_PARAMS">
+<link rel="next" href="id1102611.html" title="Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id652972.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1247300"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1102611.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1176279"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT</span></h2>
+<p>BOOST_VARIANT_NO_REFERENCE_SUPPORT &#8212; <p>Indicates <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code> does not
+ support references as bounded types.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_NO_REFERENCE_SUPPORT</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1315357"></a><h2>Description</h2>
+<p>Defined only if <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code> does
+ not support references as bounded types.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id652972.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1247300"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1102611.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1181214.html b/doc/html/id1181214.html
new file mode 100644
index 0000000000..b8282c089c
--- /dev/null
+++ b/doc/html/id1181214.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&amp;&amp;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id730865" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="is_from_range.html" title="Function template is_from_range">
+<link rel="next" href="id1081373.html" title="Function template operator||">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_from_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id730865"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1081373.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1181214"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&amp;&amp;</span></h2>
+<p>boost::algorithm::operator&amp;&amp; &#8212; predicate 'and' composition predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Pred1T, <span class="bold"><strong>typename</strong></span> Pred2T&gt;
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<span class="bold"><strong>const</strong></span> predicate_facade&lt; Pred1T &gt; &amp; Pred1,
+ <span class="bold"><strong>const</strong></span> predicate_facade&lt; Pred2T &gt; &amp; Pred2);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1313706"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">class_and</code> predicate. This predicate can be used to logically combine two classification predicates. <code class="computeroutput">class_and</code> holds, if both predicates return true.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Pred1</span></dt>
+<dd><p>The first predicate </p></dd>
+<dt><span class="term">Pred2</span></dt>
+<dd><p>The second predicate </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">class_and</code> predicate </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_from_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id730865"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1081373.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1181325.html b/doc/html/id1181325.html
new file mode 100644
index 0000000000..11a53b94bb
--- /dev/null
+++ b/doc/html/id1181325.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template regex_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id1206463" title="Header &lt;boost/algorithm/string/find_format.hpp&gt;">
+<link rel="prev" href="id1185550.html" title="Function template regex_finder">
+<link rel="next" href="find_iterator.html" title="Class template find_iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1185550.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id1206463"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_iterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1181325"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template regex_formatter</span></h2>
+<p>boost::algorithm::regex_formatter &#8212; Regex formatter. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT, <span class="bold"><strong>typename</strong></span> AllocT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> regex_formatter(<span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, TraitsT, AllocT &gt; &amp; Format,
+                              match_flag_type Flags = format_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1323229"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">regex_formatter</code> . Regex formatter uses the regex engine to format a match found by the <code class="computeroutput">regex_finder</code> . This formatted it designed to closely cooperate with <code class="computeroutput">regex_finder</code> .</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Flags</span></dt>
+<dd><p>Format flags </p></dd>
+<dt><span class="term">Format</span></dt>
+<dd><p>Regex format definition </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">regex_formatter</code> functor </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1185550.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id1206463"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_iterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1181458.html b/doc/html/id1181458.html
new file mode 100644
index 0000000000..41beb8e466
--- /dev/null
+++ b/doc/html/id1181458.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator&amp;&amp;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id758563" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id756942.html" title="Function operator!">
+<link rel="next" href="id965057.html" title="Function operator||">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id756942.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id758563"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id965057.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1181458"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator&amp;&amp;</span></h2>
+<p>boost::logic::operator&amp;&amp; &#8212; Computes the logical conjuction of two tribools. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="bold"><strong>bool</strong></span> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<span class="bold"><strong>bool</strong></span> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(indeterminate_keyword_t , <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, indeterminate_keyword_t );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1564976"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the result of logically ANDing the two tribool values, according to the following table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">&amp;&amp;</code></strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">false</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id756942.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id758563"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id965057.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1185234.html b/doc/html/id1185234.html
new file mode 100644
index 0000000000..bf505b986f
--- /dev/null
+++ b/doc/html/id1185234.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template regex_finder</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id727657" title="Header &lt;boost/algorithm/string/regex_find_format.hpp&gt;">
+<link rel="prev" href="split_regex.html" title="Function template split_regex">
+<link rel="next" href="id822503.html" title="Function template regex_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="split_regex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id727657"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id822503.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1185234"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template regex_finder</span></h2>
+<p>boost::algorithm::regex_finder &#8212; "Regex" finder </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> regex_finder(<span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+ match_flag_type MatchFlags = match_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1347587"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">regex_finder</code> . Finder uses the regex engine to search for a match. Result is given in <code class="computeroutput">regex_search_result</code> . This is an extension of the iterator_range. In addition it containes match results from the <code class="computeroutput">regex_search</code> algorithm.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">MatchFlags</span></dt>
+<dd><p>Regex search options </p></dd>
+<dt><span class="term">Rx</span></dt>
+<dd><p>A regular expression </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">regex_finder</code> object </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="split_regex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id727657"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id822503.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1185550.html b/doc/html/id1185550.html
new file mode 100644
index 0000000000..9d587c767a
--- /dev/null
+++ b/doc/html/id1185550.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template regex_finder</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id1206463" title="Header &lt;boost/algorithm/string/find_format.hpp&gt;">
+<link rel="prev" href="find_format_all.html" title="Function template find_format_all">
+<link rel="next" href="id1181325.html" title="Function template regex_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_format_all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id1206463"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1181325.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1185550"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template regex_finder</span></h2>
+<p>boost::algorithm::regex_finder &#8212; "Regex" finder </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> regex_finder(<span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+                           match_flag_type MatchFlags = match_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1323112"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">regex_finder</code> . Finder uses the regex engine to search for a match. Result is given in <code class="computeroutput">regex_search_result</code> . This is an extension of the iterator_range. In addition it containes match results from the <code class="computeroutput">regex_search</code> algorithm.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">MatchFlags</span></dt>
+<dd><p>Regex search options </p></dd>
+<dt><span class="term">Rx</span></dt>
+<dd><p>A regular expression </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">regex_finder</code> object </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_format_all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id1206463"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1181325.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1210776.html b/doc/html/id1210776.html
new file mode 100644
index 0000000000..e4c7894928
--- /dev/null
+++ b/doc/html/id1210776.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template regex_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id928885" title="Header &lt;boost/algorithm/string/regex_find_format.hpp&gt;">
+<link rel="prev" href="id1175301.html" title="Function template regex_finder">
+<link rel="next" href="replace_range_copy.html" title="Function replace_range_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1175301.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id928885"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_range_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1210776"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template regex_formatter</span></h2>
+<p>boost::algorithm::regex_formatter &#8212; Regex formatter. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT, <span class="bold"><strong>typename</strong></span> AllocT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> regex_formatter(<span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, TraitsT, AllocT &gt; &amp; Format,
+                              match_flag_type Flags = format_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1348726"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">regex_formatter</code> . Regex formatter uses the regex engine to format a match found by the <code class="computeroutput">regex_finder</code> . This formatted it designed to closely cooperate with <code class="computeroutput">regex_finder</code> .</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Flags</span></dt>
+<dd><p>Format flags </p></dd>
+<dt><span class="term">Format</span></dt>
+<dd><p>Regex format definition </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">regex_formatter</code> functor </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1175301.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id928885"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_range_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1211701.html b/doc/html/id1211701.html
new file mode 100644
index 0000000000..38d47a2518
--- /dev/null
+++ b/doc/html/id1211701.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1247300" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="id1102611.html" title="Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT">
+<link rel="next" href="boost/variant.html" title="Class template variant">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1102611.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1247300"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost/variant.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1211701"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</span></h2>
+<p>BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT &#8212; <p>Indicates
+ <code class="computeroutput"><a href="make_recursive_variant.html" title="Class template make_recursive_variant">make_recursive_variant</a></code> operates in
+ an implementation-defined manner.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1315475"></a><h2>Description</h2>
+<p>Defined only if
+ <code class="computeroutput"><a href="make_recursive_variant.html" title="Class template make_recursive_variant">make_recursive_variant</a></code> does not
+ operate as documented on the target compiler, but rather in an
+ implementation-defined manner.</p>
+<p><span class="bold"><strong>Implementation Note</strong></span>: If
+ <code class="computeroutput">BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</code> is
+ defined for the target compiler, the current implementation uses the
+ <a href="../../libs/mpl/index.html" target="_top">MPL</a> lambda mechanism to approximate the
+ desired behavior. (In most cases, however, such compilers do not have
+ full lambda support either.)</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1102611.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1247300"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost/variant.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1214336.html b/doc/html/id1214336.html
new file mode 100644
index 0000000000..362c4861ee
--- /dev/null
+++ b/doc/html/id1214336.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1258086" title="Header &lt;boost/variant/variant.hpp&gt;">
+<link rel="prev" href="id928296.html" title="Function template swap">
+<link rel="next" href="make_variant_over.html" title="Class template make_variant_over">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id928296.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1258086"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="make_variant_over.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1214336"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::operator&lt;&lt; &#8212; Provides streaming output for <code class="computeroutput">variant</code> types.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ElemType, <span class="bold"><strong>typename</strong></span> Traits, <span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ...,
+         <span class="bold"><strong>typename</strong></span> TN&gt;
+  <span class="type">std::basic_ostream&lt;ElemType,Traits&gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt;ElemType,Traits&gt; &amp; out,
+             <span class="bold"><strong>const</strong></span> <a href="boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp; rhs);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1666028"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ Every bounded type of the <code class="computeroutput">variant</code> must
+ fulfill the requirements of the
+ <a href="variant/reference.html#variant.concepts.output-streamable" title="OutputStreamable"><span class="emphasis"><em>OutputStreamable</em></span></a>
+ concept.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Calls <code class="computeroutput">out &lt;&lt; x</code>, where <code class="computeroutput">x</code> is
+ the content of <code class="computeroutput">rhs</code>.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id928296.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1258086"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="make_variant_over.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1217789.html b/doc/html/id1217789.html
new file mode 100644
index 0000000000..d95051fad7
--- /dev/null
+++ b/doc/html/id1217789.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator||</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id1174262" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="id1076705.html" title="Function template operator&amp;&amp;">
+<link rel="next" href="id719223.html" title="Function template operator!">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1076705.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id1174262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id719223.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1217789"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator||</span></h2>
+<p>boost::algorithm::operator|| &#8212; predicate 'or' composition predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Pred1T, <span class="bold"><strong>typename</strong></span> Pred2T&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <span class="bold"><strong>operator</strong></span>||(<span class="bold"><strong>const</strong></span> predicate_facade&lt; Pred1T &gt; &amp; Pred1,
+                         <span class="bold"><strong>const</strong></span> predicate_facade&lt; Pred2T &gt; &amp; Pred2);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1314279"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">class_or</code> predicate. This predicate can be used to logically combine two classification predicates. <code class="computeroutput">class_or</code> holds, if one of the predicates return true.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Pred1</span></dt>
+<dd><p>The first predicate </p></dd>
+<dt><span class="term">Pred2</span></dt>
+<dd><p>The second predicate </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">class_or</code> predicate </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1076705.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id1174262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id719223.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1220439.html b/doc/html/id1220439.html
new file mode 100644
index 0000000000..51f01c4191
--- /dev/null
+++ b/doc/html/id1220439.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator==</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id758563" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id965057.html" title="Function operator||">
+<link rel="next" href="id1145169.html" title="Function operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id965057.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id758563"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1145169.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1220439"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator==</span></h2>
+<p>boost::logic::operator== &#8212; Compare tribools for equality. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="bold"><strong>bool</strong></span> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>bool</strong></span> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(indeterminate_keyword_t , <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, indeterminate_keyword_t );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1565603"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the result of comparing two tribool values, according to the following table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">==</code></strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id965057.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id758563"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1145169.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1220996.html b/doc/html/id1220996.html
new file mode 100644
index 0000000000..b300a5ef25
--- /dev/null
+++ b/doc/html/id1220996.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator==</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id1138094" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id698854.html" title="Function operator||">
+<link rel="next" href="id976020.html" title="Function operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id698854.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1138094"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id976020.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1220996"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator==</span></h2>
+<p>boost::logic::operator== &#8212; Compare tribools for equality. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="bold"><strong>bool</strong></span> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>bool</strong></span> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(indeterminate_keyword_t , <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, indeterminate_keyword_t );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1564532"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the result of comparing two tribool values, according to the following table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">==</code></strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id698854.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1138094"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id976020.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1222024.html b/doc/html/id1222024.html
new file mode 100644
index 0000000000..07e6df0291
--- /dev/null
+++ b/doc/html/id1222024.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1283515" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="id691834.html" title="Macro BOOST_VARIANT_ENUM_SHIFTED_PARAMS">
+<link rel="next" href="id1351704.html" title="Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id691834.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1283515"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1351704.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1222024"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT</span></h2>
+<p>BOOST_VARIANT_NO_REFERENCE_SUPPORT &#8212; <p>Indicates <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code> does not
+ support references as bounded types.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_NO_REFERENCE_SUPPORT</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1663001"></a><h2>Description</h2>
+<p>Defined only if <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code> does
+ not support references as bounded types.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id691834.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1283515"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1351704.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1222476.html b/doc/html/id1222476.html
new file mode 100644
index 0000000000..87c5aedb97
--- /dev/null
+++ b/doc/html/id1222476.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator!=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id996838" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id935001.html" title="Function operator==">
+<link rel="next" href="BOOST_TRIBOOL_THIRD_STATE.html" title="Macro BOOST_TRIBOOL_THIRD_STATE">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id935001.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id996838"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TRIBOOL_THIRD_STATE.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1222476"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator!=</span></h2>
+<p>boost::logic::operator!= &#8212; Compare tribools for inequality. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="bold"><strong>bool</strong></span> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(<span class="bold"><strong>bool</strong></span> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(indeterminate_keyword_t , <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, indeterminate_keyword_t );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1571076"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the result of comparing two tribool values for inequality, according to the following table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">!=</code></strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id935001.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id996838"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TRIBOOL_THIRD_STATE.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1241163.html b/doc/html/id1241163.html
new file mode 100644
index 0000000000..15d63cf9c6
--- /dev/null
+++ b/doc/html/id1241163.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template get_default_indeterminate_name</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id1285134" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="indeterminate_name.html" title="Class template indeterminate_name">
+<link rel="next" href="id1290990.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="indeterminate_name.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1285134"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1290990.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1241163"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template get_default_indeterminate_name</span></h2>
+<p>boost::logic::get_default_indeterminate_name &#8212; Returns a string containing the default name for the indeterminate value of a tribool with the given character type T. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">std::basic_string&lt; T &gt;</span> get_default_indeterminate_name();</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1566712"></a><h2>Description</h2>
+<p>This routine is used by the input and output streaming operators for tribool when there is no locale support or the stream's locale does not contain the indeterminate_name facet. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="indeterminate_name.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1285134"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1290990.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1244293.html b/doc/html/id1244293.html
new file mode 100644
index 0000000000..0f2ff13ddf
--- /dev/null
+++ b/doc/html/id1244293.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template get_default_indeterminate_name</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id1277344" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="indeterminate_name.html" title="Class template indeterminate_name">
+<link rel="next" href="id1245151.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="indeterminate_name.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1277344"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1245151.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1244293"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template get_default_indeterminate_name</span></h2>
+<p>boost::logic::get_default_indeterminate_name &#8212; Returns a string containing the default name for the indeterminate value of a tribool with the given character type T. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">std::basic_string&lt; T &gt;</span> get_default_indeterminate_name();</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1571875"></a><h2>Description</h2>
+<p>This routine is used by the input and output streaming operators for tribool when there is no locale support or the stream's locale does not contain the indeterminate_name facet. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="indeterminate_name.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1277344"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1245151.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1245151.html b/doc/html/id1245151.html
new file mode 100644
index 0000000000..a85926d647
--- /dev/null
+++ b/doc/html/id1245151.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id1277344" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="id1244293.html" title="Function template get_default_indeterminate_name">
+<link rel="next" href="id1286986.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1244293.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1277344"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1286986.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1245151"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::logic::operator&lt;&lt; &#8212; Writes the value of a tribool to a stream. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+  <span class="type">std::basic_ostream&lt; CharT, Traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, Traits &gt; &amp; out, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1571944"></a><h2>Description</h2>
+<p>When the value of <code class="computeroutput">x</code> is either <code class="computeroutput">true</code> or <code class="computeroutput">false</code> , this routine is semantically equivalent to: </p>
+<pre class="programlisting"> out &lt;&lt; static_cast&lt;bool&gt;(x);
+</pre>
+<p>When <code class="computeroutput">x</code> has an indeterminate value, it outputs either the integer value 2 (if <code class="computeroutput">(out.flags() &amp; std::ios_base::boolalpha) == 0</code> ) or the name of the indeterminate value. The name of the indeterminate value comes from the indeterminate_name facet (if it is defined in the output stream's locale), or from the get_default_indeterminate_name function (if it is not defined in the locale or if the C++ standard library implementation does not support locales).</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">out</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1244293.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1277344"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1286986.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1246129.html b/doc/html/id1246129.html
new file mode 100644
index 0000000000..f679b9d489
--- /dev/null
+++ b/doc/html/id1246129.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_ENUM_SHIFTED_PARAMS</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1213784" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="BOOST_VARIANT_ENUM_PARAMS.html" title="Macro BOOST_VARIANT_ENUM_PARAMS">
+<link rel="next" href="id761403.html" title="Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_VARIANT_ENUM_PARAMS.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1213784"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id761403.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1246129"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_ENUM_SHIFTED_PARAMS</span></h2>
+<p>BOOST_VARIANT_ENUM_SHIFTED_PARAMS &#8212; <p>Enumerate all but the first parameter for use with
+ <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code>.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_ENUM_SHIFTED_PARAMS(param)</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1639194"></a><h2>Description</h2>
+<p>Expands to a comma-separated sequence of length
+ <code class="computeroutput"><a href="BOOST_VARIANT_LIMIT_TYPES.html" title="Macro BOOST_VARIANT_LIMIT_TYPES">BOOST_VARIANT_LIMIT_TYPES</a> - 1</code>,
+ where each element in the sequence consists of the concatenation of
+ <span class="emphasis"><em>param</em></span> with its one-based index into the sequence.
+ That is,
+ <code class="computeroutput">param ## 1, ..., param ## BOOST_VARIANT_LIMIT_TYPES - 1</code>.</p>
+<p><span class="bold"><strong>Note</strong></span>: This macro results in the
+ same expansion as
+ <code class="computeroutput"><a href="BOOST_VARIANT_ENUM_PARAMS.html" title="Macro BOOST_VARIANT_ENUM_PARAMS">BOOST_VARIANT_ENUM_PARAMS</a></code> -- but
+ without the first term.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_VARIANT_ENUM_PARAMS.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1213784"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id761403.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1248921.html b/doc/html/id1248921.html
new file mode 100644
index 0000000000..c7ccda30b8
--- /dev/null
+++ b/doc/html/id1248921.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id1285134" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="id1290990.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="id1142924.html" title="Function template operator&gt;&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1290990.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1285134"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1142924.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1248921"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::logic::operator&lt;&lt; &#8212; Writes the indeterminate tribool value to a stream. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+  <span class="type">std::basic_ostream&lt; CharT, Traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, Traits &gt; &amp; out, <span class="emphasis"><em>unspecified</em></span> );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1566902"></a><h2>Description</h2>
+<p>This routine outputs either the integer value 2 (if <code class="computeroutput">(out.flags() &amp; std::ios_base::boolalpha) == 0</code> ) or the name of the indeterminate value. The name of the indeterminate value comes from the indeterminate_name facet (if it is defined in the output stream's locale), or from the get_default_indeterminate_name function (if it is not defined in the locale or if the C++ standard library implementation does not support locales).</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">out</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1290990.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1285134"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1142924.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1257003.html b/doc/html/id1257003.html
new file mode 100644
index 0000000000..50cf28afb8
--- /dev/null
+++ b/doc/html/id1257003.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template make_recursive_variant_over</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1010691" title="Header &lt;boost/variant/recursive_variant.hpp&gt;">
+<link rel="prev" href="make_recursive_variant.html" title="Class template make_recursive_variant">
+<link rel="next" href="recursive_wrapper.html" title="Class template recursive_wrapper">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_recursive_variant.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1010691"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="recursive_wrapper.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1257003"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template make_recursive_variant_over</span></h2>
+<p>boost::make_recursive_variant_over &#8212; <p>Exposes a recursive <code class="computeroutput">variant</code> whose bounded types
+ are the elements of the given type sequence.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Sequence&gt;
+<span class="bold"><strong>class</strong></span> make_recursive_variant_over {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> variant&lt; <span class="emphasis"><em>unspecified</em></span> &gt; type;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1660466"></a><h2>Description</h2>
+<p><code class="computeroutput">type</code> has behavior equivalent in every respect to
+ <code class="computeroutput"><a href="make_recursive_variant.html" title="Class template make_recursive_variant">make_recursive_variant</a>&lt; Sequence[0], Sequence[1], ... &gt;::type</code>
+ (where <code class="computeroutput">Sequence[<span class="emphasis"><em>i</em></span>]</code> denotes the
+ <span class="emphasis"><em>i</em></span>-th element of <code class="computeroutput">Sequence</code>), except
+ that no upper limit is imposed on the number of types.</p>
+<p><span class="bold"><strong>Notes</strong></span>:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<code class="computeroutput">Sequence</code> must meet the requirements of
+ <a href="../../libs/mpl/index.html" target="_top">MPL</a>'s <span class="emphasis"><em>Sequence</em></span>
+ concept.</li>
+<li>Due to standard conformance problems in several compilers,
+ <code class="computeroutput">make_recursive_variant_over</code> may not be supported on
+ your compiler. See
+ <code class="computeroutput"><a href="id1316002.html" title="Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT">BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</a></code>
+ for more information.</li>
+</ul></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_recursive_variant.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1010691"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="recursive_wrapper.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1279984.html b/doc/html/id1279984.html
new file mode 100644
index 0000000000..f42fc3fb82
--- /dev/null
+++ b/doc/html/id1279984.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1213784" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="id1316002.html" title="Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT">
+<link rel="next" href="boost/variant.html" title="Class template variant">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1316002.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1213784"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost/variant.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1279984"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</span></h2>
+<p>BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT &#8212; <p>Indicates
+ <code class="computeroutput"><a href="make_recursive_variant.html" title="Class template make_recursive_variant">make_recursive_variant</a></code> operates in
+ an implementation-defined manner.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1639398"></a><h2>Description</h2>
+<p>Defined only if
+ <code class="computeroutput"><a href="make_recursive_variant.html" title="Class template make_recursive_variant">make_recursive_variant</a></code> does not
+ operate as documented on the target compiler, but rather in an
+ implementation-defined manner.</p>
+<p><span class="bold"><strong>Implementation Note</strong></span>: If
+ <code class="computeroutput">BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</code> is
+ defined for the target compiler, the current implementation uses the
+ <a href="../../libs/mpl/index.html" target="_top">MPL</a> lambda mechanism to approximate the
+ desired behavior. (In most cases, however, such compilers do not have
+ full lambda support either.)</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1316002.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1213784"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost/variant.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1286986.html b/doc/html/id1286986.html
new file mode 100644
index 0000000000..394559d7c2
--- /dev/null
+++ b/doc/html/id1286986.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id1277344" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="id1245151.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="id1287075.html" title="Function template operator&gt;&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1245151.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1277344"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1287075.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1286986"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::logic::operator&lt;&lt; &#8212; Writes the indeterminate tribool value to a stream. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+  <span class="type">std::basic_ostream&lt; CharT, Traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, Traits &gt; &amp; out, <span class="emphasis"><em>unspecified</em></span> );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1572066"></a><h2>Description</h2>
+<p>This routine outputs either the integer value 2 (if <code class="computeroutput">(out.flags() &amp; std::ios_base::boolalpha) == 0</code> ) or the name of the indeterminate value. The name of the indeterminate value comes from the indeterminate_name facet (if it is defined in the output stream's locale), or from the get_default_indeterminate_name function (if it is not defined in the locale or if the C++ standard library implementation does not support locales).</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">out</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1245151.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1277344"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1287075.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1287075.html b/doc/html/id1287075.html
new file mode 100644
index 0000000000..c71e10c6f2
--- /dev/null
+++ b/doc/html/id1287075.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&gt;&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id1277344" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="id1286986.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="tribool/tests.html" title="Testsuite">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1286986.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1277344"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="tribool/tests.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1287075"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&gt;&gt;</span></h2>
+<p>boost::logic::operator&gt;&gt; &#8212; Reads a tribool value from a stream. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+  <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; in, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> &amp; x);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1572159"></a><h2>Description</h2>
+<p>When <code class="computeroutput">(out.flags() &amp; std::ios_base::boolalpha) == 0</code> , this function reads a <code class="computeroutput">long</code> value from the input stream <code class="computeroutput">in</code> and converts that value to a tribool. If that value is 0, <code class="computeroutput">x</code> becomes <code class="computeroutput">false</code> ; if it is 1, <code class="computeroutput">x</code> becomes <code class="computeroutput">true</code> ; if it is 2, <code class="computeroutput">becomes</code><code class="computeroutput">indetermine</code> ; otherwise, the operation fails (and the fail bit is set on the input stream <code class="computeroutput">in</code> ).</p>
+<p>When <code class="computeroutput">(out.flags() &amp; std::ios_base::boolalpha) != 0</code> , this function first determines the names of the false, true, and indeterminate values. The false and true names are extracted from the <code class="computeroutput">std::numpunct</code> facet of the input stream's locale (if the C++ standard library implementation supports locales), or from the <code class="computeroutput">default_false_name</code> and <code class="computeroutput">default_true_name</code> functions (if there is no locale support). The indeterminate name is extracted from the appropriate <code class="computeroutput">indeterminate_name</code> facet (if it is available in the input stream's locale), or from the <code class="computeroutput">get_default_indeterminate_name</code> function (if the C++ standard library implementation does not support locales, or the <code class="computeroutput">indeterminate_name</code> facet is not specified for this locale object). The input is then matched to each of these names, and the tribool <code class="computeroutput">x</code> is assigned the value corresponding to the longest name that matched. If no name is matched or all names are empty, the operation fails (and the fail bit is set on the input stream <code class="computeroutput">in</code> ).</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">in</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1286986.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1277344"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="tribool/tests.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1289087.html b/doc/html/id1289087.html
new file mode 100644
index 0000000000..40d5d2911a
--- /dev/null
+++ b/doc/html/id1289087.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1359859" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="id1317124.html" title="Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT">
+<link rel="next" href="id1066093.html" title="Macro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1317124.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1359859"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1066093.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1289087"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</span></h2>
+<p>BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT &#8212; <p>Indicates absence of support for specifying the bounded types
+ of a <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code> by the elements of a
+ type sequence.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1640419"></a><h2>Description</h2>
+<p>Defined only if
+ <code class="computeroutput"><a href="make_variant_over.html" title="Class template make_variant_over">make_variant_over</a></code> and
+ <code class="computeroutput"><a href="id1315948.html" title="Class template make_recursive_variant_over">make_recursive_variant_over</a></code>
+ are not supported for some reason on the target compiler.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1317124.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1359859"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1066093.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1290990.html b/doc/html/id1290990.html
new file mode 100644
index 0000000000..b598787bca
--- /dev/null
+++ b/doc/html/id1290990.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id1285134" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="id1241163.html" title="Function template get_default_indeterminate_name">
+<link rel="next" href="id1248921.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1241163.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1285134"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1248921.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1290990"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::logic::operator&lt;&lt; &#8212; Writes the value of a tribool to a stream. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+  <span class="type">std::basic_ostream&lt; CharT, Traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, Traits &gt; &amp; out, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1566781"></a><h2>Description</h2>
+<p>When the value of <code class="computeroutput">x</code> is either <code class="computeroutput">true</code> or <code class="computeroutput">false</code> , this routine is semantically equivalent to: </p>
+<pre class="programlisting"> out &lt;&lt; static_cast&lt;bool&gt;(x);
+</pre>
+<p>When <code class="computeroutput">x</code> has an indeterminate value, it outputs either the integer value 2 (if <code class="computeroutput">(out.flags() &amp; std::ios_base::boolalpha) == 0</code> ) or the name of the indeterminate value. The name of the indeterminate value comes from the indeterminate_name facet (if it is defined in the output stream's locale), or from the get_default_indeterminate_name function (if it is not defined in the locale or if the C++ standard library implementation does not support locales).</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">out</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1241163.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1285134"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1248921.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1315948.html b/doc/html/id1315948.html
new file mode 100644
index 0000000000..16ed82f0e2
--- /dev/null
+++ b/doc/html/id1315948.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template make_recursive_variant_over</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1243799" title="Header &lt;boost/variant/recursive_variant.hpp&gt;">
+<link rel="prev" href="make_recursive_variant.html" title="Class template make_recursive_variant">
+<link rel="next" href="recursive_wrapper.html" title="Class template recursive_wrapper">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_recursive_variant.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1243799"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="recursive_wrapper.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1315948"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template make_recursive_variant_over</span></h2>
+<p>boost::make_recursive_variant_over &#8212; <p>Exposes a recursive <code class="computeroutput">variant</code> whose bounded types
+ are the elements of the given type sequence.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Sequence&gt;
+<span class="bold"><strong>class</strong></span> make_recursive_variant_over {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> variant&lt; <span class="emphasis"><em>unspecified</em></span> &gt; type;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1661559"></a><h2>Description</h2>
+<p><code class="computeroutput">type</code> has behavior equivalent in every respect to
+ <code class="computeroutput"><a href="make_recursive_variant.html" title="Class template make_recursive_variant">make_recursive_variant</a>&lt; Sequence[0], Sequence[1], ... &gt;::type</code>
+ (where <code class="computeroutput">Sequence[<span class="emphasis"><em>i</em></span>]</code> denotes the
+ <span class="emphasis"><em>i</em></span>-th element of <code class="computeroutput">Sequence</code>), except
+ that no upper limit is imposed on the number of types.</p>
+<p><span class="bold"><strong>Notes</strong></span>:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<code class="computeroutput">Sequence</code> must meet the requirements of
+ <a href="../../libs/mpl/index.html" target="_top">MPL</a>'s <span class="emphasis"><em>Sequence</em></span>
+ concept.</li>
+<li>Due to standard conformance problems in several compilers,
+ <code class="computeroutput">make_recursive_variant_over</code> may not be supported on
+ your compiler. See
+ <code class="computeroutput"><a href="id1289087.html" title="Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT">BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</a></code>
+ for more information.</li>
+</ul></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_recursive_variant.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1243799"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="recursive_wrapper.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1316002.html b/doc/html/id1316002.html
new file mode 100644
index 0000000000..930f8a8770
--- /dev/null
+++ b/doc/html/id1316002.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1213784" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="id761403.html" title="Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT">
+<link rel="next" href="id1279984.html" title="Macro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id761403.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1213784"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1279984.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1316002"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</span></h2>
+<p>BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT &#8212; <p>Indicates absence of support for specifying the bounded types
+ of a <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code> by the elements of a
+ type sequence.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1639333"></a><h2>Description</h2>
+<p>Defined only if
+ <code class="computeroutput"><a href="make_variant_over.html" title="Class template make_variant_over">make_variant_over</a></code> and
+ <code class="computeroutput"><a href="id1257003.html" title="Class template make_recursive_variant_over">make_recursive_variant_over</a></code>
+ are not supported for some reason on the target compiler.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id761403.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1213784"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1279984.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1317124.html b/doc/html/id1317124.html
new file mode 100644
index 0000000000..63caeec77d
--- /dev/null
+++ b/doc/html/id1317124.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1359859" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="id1011013.html" title="Macro BOOST_VARIANT_ENUM_SHIFTED_PARAMS">
+<link rel="next" href="id1289087.html" title="Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1011013.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1359859"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1289087.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1317124"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT</span></h2>
+<p>BOOST_VARIANT_NO_REFERENCE_SUPPORT &#8212; <p>Indicates <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code> does not
+ support references as bounded types.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_NO_REFERENCE_SUPPORT</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1640365"></a><h2>Description</h2>
+<p>Defined only if <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code> does
+ not support references as bounded types.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1011013.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1359859"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1289087.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1319232.html b/doc/html/id1319232.html
new file mode 100644
index 0000000000..19b79c9162
--- /dev/null
+++ b/doc/html/id1319232.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template swap</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1242868" title="Header &lt;boost/variant/variant.hpp&gt;">
+<link rel="prev" href="boost/variant.html" title="Class template variant">
+<link rel="next" href="id1172278.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/variant.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1242868"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1172278.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1319232"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template swap</span></h2>
+<p>boost::swap &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> swap(<a href="boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp; lhs, <a href="boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp; rhs);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1642157"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Swaps <code class="computeroutput">lhs</code> with <code class="computeroutput">rhs</code> by application
+ of <code class="computeroutput"><a href="boost/variant.html#id725107-bb">variant::swap</a></code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ May fail with any exception arising from
+ <code class="computeroutput"><a href="boost/variant.html#id725107-bb">variant::swap</a></code>.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/variant.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1242868"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1172278.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id1351704.html b/doc/html/id1351704.html
new file mode 100644
index 0000000000..f739f30d70
--- /dev/null
+++ b/doc/html/id1351704.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1283515" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="id1222024.html" title="Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT">
+<link rel="next" href="id696758.html" title="Macro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1222024.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1283515"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id696758.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id1351704"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</span></h2>
+<p>BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT &#8212; <p>Indicates absence of support for specifying the bounded types
+ of a <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code> by the elements of a
+ type sequence.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1663054"></a><h2>Description</h2>
+<p>Defined only if
+ <code class="computeroutput"><a href="make_variant_over.html" title="Class template make_variant_over">make_variant_over</a></code> and
+ <code class="computeroutput"><a href="id1151195.html" title="Class template make_recursive_variant_over">make_recursive_variant_over</a></code>
+ are not supported for some reason on the target compiler.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1222024.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1283515"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id696758.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2284769.html b/doc/html/id2284769.html
new file mode 100644
index 0000000000..42eca5b300
--- /dev/null
+++ b/doc/html/id2284769.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template value_semantic_codecvt_helper</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2379391" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="value_semantic.html" title="Class value_semantic">
+<link rel="next" href="id2381778-bb.html" title="Class value_semantic_codecvt_helper&lt;char&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="value_semantic.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2379391"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2381778-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2284769"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template value_semantic_codecvt_helper</span></h2>
+<p>boost::program_options::value_semantic_codecvt_helper &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+<span class="bold"><strong>class</strong></span> value_semantic_codecvt_helper {
+<span class="bold"><strong>public</strong></span>:
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2725936"></a><h2>Description</h2>
+<p>Helper class which perform necessary character conversions in the 'parse' method and forwards the data further. </p>
+<div class="refsect2" lang="en">
+<a name="id2725944"></a><h3>Specializations</h3>
+<div class="itemizedlist"><ul type="disc">
+<li><p><a href="id2381778-bb.html" title="Class value_semantic_codecvt_helper&lt;char&gt;">Class value_semantic_codecvt_helper&lt;char&gt;</a></p></li>
+<li><p><a href="id2381519-bb.html" title="Class value_semantic_codecvt_helper&lt;wchar_t&gt;">Class value_semantic_codecvt_helper&lt;wchar_t&gt;</a></p></li>
+</ul></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="value_semantic.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2379391"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2381778-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2284811.html b/doc/html/id2284811.html
new file mode 100644
index 0000000000..fd0d7d9aa2
--- /dev/null
+++ b/doc/html/id2284811.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2284794" title="Header &lt;boost/functional/hash/deque.hpp&gt;">
+<link rel="prev" href="id2514166.html" title="Function hash_value">
+<link rel="next" href="id2473733.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2514166.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2284794"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2473733.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2284811"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::deque&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2706190"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id2510242.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2514166.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2284794"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2473733.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2338422.html b/doc/html/id2338422.html
new file mode 100644
index 0000000000..b95fb10ff6
--- /dev/null
+++ b/doc/html/id2338422.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class invalid_command_line_syntax</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2369023" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="id2434930.html" title="Class too_few_positional_options_error">
+<link rel="next" href="invalid_command_line_style.html" title="Class invalid_command_line_style">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2434930.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2369023"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="invalid_command_line_style.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2338422"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class invalid_command_line_syntax</span></h2>
+<p>boost::program_options::invalid_command_line_syntax &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> invalid_command_line_syntax {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id2338422.html#id2338422construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id2338422.html#id2388842-bb">invalid_command_line_syntax</a>(<span class="bold"><strong>const</strong></span> std::string &amp;, kind_t);
+
+  <span class="emphasis"><em>// <a href="id2338422.html#id2388824-bb">public member functions</a></em></span>
+  <span class="type">kind_t</span> <a href="id2338422.html#id2388829-bb">kind</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="id2338422.html#id2421073-bb">protected static functions</a></em></span>
+  <span class="type">std::string</span> <a href="id2338422.html#id2421077-bb">error_message</a>(kind_t) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2598946"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2598949"></a><h3>
+<a name="id2338422construct-copy-destruct"></a><code class="computeroutput">invalid_command_line_syntax</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2388842-bb"></a>invalid_command_line_syntax(<span class="bold"><strong>const</strong></span> std::string &amp; tokens, kind_t kind);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2598990"></a><h3>
+<a name="id2388824-bb"></a><code class="computeroutput">invalid_command_line_syntax</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">kind_t</span> <a name="id2388829-bb"></a>kind() <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2599032"></a><h3>
+<a name="id2421073-bb"></a><code class="computeroutput">invalid_command_line_syntax</code> protected static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">std::string</span> <a name="id2421077-bb"></a>error_message(kind_t kind) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2434930.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2369023"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="invalid_command_line_style.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2341545.html b/doc/html/id2341545.html
new file mode 100644
index 0000000000..717bb6c499
--- /dev/null
+++ b/doc/html/id2341545.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&gt;&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2561687" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="id2423887.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="tribool/tests.html" title="Testsuite">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2423887.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2561687"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="tribool/tests.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2341545"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&gt;&gt;</span></h2>
+<p>boost::logic::operator&gt;&gt; &#8212; Reads a tribool value from a stream. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+  <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; in, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> &amp; x);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2793261"></a><h2>Description</h2>
+<p>When <code class="computeroutput">(out.flags() &amp; std::ios_base::boolalpha) == 0</code> , this function reads a <code class="computeroutput">long</code> value from the input stream <code class="computeroutput">in</code> and converts that value to a tribool. If that value is 0, <code class="computeroutput">x</code> becomes <code class="computeroutput">false</code> ; if it is 1, <code class="computeroutput">x</code> becomes <code class="computeroutput">true</code> ; if it is 2, <code class="computeroutput">becomes</code><code class="computeroutput">indetermine</code> ; otherwise, the operation fails (and the fail bit is set on the input stream <code class="computeroutput">in</code> ).</p>
+<p>When <code class="computeroutput">(out.flags() &amp; std::ios_base::boolalpha) != 0</code> , this function first determines the names of the false, true, and indeterminate values. The false and true names are extracted from the <code class="computeroutput">std::numpunct</code> facet of the input stream's locale (if the C++ standard library implementation supports locales), or from the <code class="computeroutput">default_false_name</code> and <code class="computeroutput">default_true_name</code> functions (if there is no locale support). The indeterminate name is extracted from the appropriate <code class="computeroutput">indeterminate_name</code> facet (if it is available in the input stream's locale), or from the <code class="computeroutput">get_default_indeterminate_name</code> function (if the C++ standard library implementation does not support locales, or the <code class="computeroutput">indeterminate_name</code> facet is not specified for this locale object). The input is then matched to each of these names, and the tribool <code class="computeroutput">x</code> is assigned the value corresponding to the longest name that matched. If no name is matched or all names are empty, the operation fails (and the fail bit is set on the input stream <code class="computeroutput">in</code> ).</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">in</code></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2423887.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2561687"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="tribool/tests.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2342268.html b/doc/html/id2342268.html
new file mode 100644
index 0000000000..64cec51fe5
--- /dev/null
+++ b/doc/html/id2342268.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function store</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2351435" title="Header &lt;boost/program_options/variables_map.hpp&gt;">
+<link rel="prev" href="id2361471.html" title="Function store">
+<link rel="next" href="notify.html" title="Function notify">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2361471.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2351435"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="notify.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2342268"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function store</span></h2>
+<p>boost::program_options::store &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL <span class="bold"><strong>void</strong></span></span>
+store(<span class="bold"><strong>const</strong></span> <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>wchar_t</strong></span> &gt; &amp; options, <a href="variables_map.html" title="Class variables_map">variables_map</a> &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2608921"></a><h2>Description</h2>
+<p>Stores in 'm' all options that are defined in 'options'. If 'm' already has a non-defaulted value of an option, that value is not changed, even if 'options' specify some value. This is wide character variant. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2361471.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2351435"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="notify.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2342446.html b/doc/html/id2342446.html
new file mode 100644
index 0000000000..d5016c5d23
--- /dev/null
+++ b/doc/html/id2342446.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template value_semantic_codecvt_helper</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2284530" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="value_semantic.html" title="Class value_semantic">
+<link rel="next" href="id2342470-bb.html" title="Class value_semantic_codecvt_helper&lt;char&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="value_semantic.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2284530"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2342470-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2342446"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template value_semantic_codecvt_helper</span></h2>
+<p>boost::program_options::value_semantic_codecvt_helper &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+<span class="bold"><strong>class</strong></span> value_semantic_codecvt_helper {
+<span class="bold"><strong>public</strong></span>:
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2604999"></a><h2>Description</h2>
+<p>Helper class which perform necessary character conversions in the 'parse' method and forwards the data further. </p>
+<div class="refsect2" lang="en">
+<a name="id2605007"></a><h3>Specializations</h3>
+<div class="itemizedlist"><ul type="disc">
+<li><p><a href="id2342470-bb.html" title="Class value_semantic_codecvt_helper&lt;char&gt;">Class value_semantic_codecvt_helper&lt;char&gt;</a></p></li>
+<li><p><a href="id2381950-bb.html" title="Class value_semantic_codecvt_helper&lt;wchar_t&gt;">Class value_semantic_codecvt_helper&lt;wchar_t&gt;</a></p></li>
+</ul></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="value_semantic.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2284530"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2342470-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2342470-bb.html b/doc/html/id2342470-bb.html
new file mode 100644
index 0000000000..f8be39dae0
--- /dev/null
+++ b/doc/html/id2342470-bb.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class value_semantic_codecvt_helper&lt;char&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2284530" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="id2342446.html" title="Class template value_semantic_codecvt_helper">
+<link rel="next" href="id2381950-bb.html" title="Class value_semantic_codecvt_helper&lt;wchar_t&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2342446.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2284530"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2381950-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2342470-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class value_semantic_codecvt_helper&lt;char&gt;</span></h2>
+<p>boost::program_options::value_semantic_codecvt_helper&lt;char&gt; &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> value_semantic_codecvt_helper&lt;<span class="bold"><strong>char</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="id2342470-bb.html#id2443634-bb">protected member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="id2342470-bb.html#id2443638-bb">xparse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="id2342470-bb.html#id2443673-bb">private member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id2342470-bb.html#id2443678-bb">parse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp;, <span class="bold"><strong>bool</strong></span>) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2605162"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2605166"></a><h3>
+<a name="id2443634-bb"></a><code class="computeroutput">value_semantic_codecvt_helper</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span>
+<a name="id2443638-bb"></a>xparse(boost::any &amp; value_store,
+       <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp; new_tokens) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2605226"></a><h3>
+<a name="id2443673-bb"></a><code class="computeroutput">value_semantic_codecvt_helper</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2443678-bb"></a>parse(boost::any &amp; value_store,
+           <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp; new_tokens, <span class="bold"><strong>bool</strong></span> utf8) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2342446.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2284530"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2381950-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2342502.html b/doc/html/id2342502.html
new file mode 100644
index 0000000000..6128dea612
--- /dev/null
+++ b/doc/html/id2342502.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function store</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2524541" title="Header &lt;boost/program_options/variables_map.hpp&gt;">
+<link rel="prev" href="id2349650.html" title="Function store">
+<link rel="next" href="notify.html" title="Function notify">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2349650.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2524541"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="notify.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2342502"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function store</span></h2>
+<p>boost::program_options::store &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL <span class="bold"><strong>void</strong></span></span>
+store(<span class="bold"><strong>const</strong></span> <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>wchar_t</strong></span> &gt; &amp; options, <a href="variables_map.html" title="Class variables_map">variables_map</a> &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2729840"></a><h2>Description</h2>
+<p>Stores in 'm' all options that are defined in 'options'. If 'm' already has a non-defaulted value of an option, that value is not changed, even if 'options' specify some value. This is wide character variant. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2349650.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2524541"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="notify.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2345195.html b/doc/html/id2345195.html
new file mode 100644
index 0000000000..d46a09c429
--- /dev/null
+++ b/doc/html/id2345195.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2416494" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id2403949.html" title="Function hash_value">
+<link rel="next" href="id2345298.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2403949.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2416494"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2345298.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2345195"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for <code class="computeroutput">std::basic_string</code>.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Ch, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::basic_string&lt;Ch, std::char_traits&lt;Ch&gt;, A&gt; <span class="bold"><strong>const</strong></span>&amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2591570"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">hash_range(val.begin(), val.end())</code></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2403949.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2416494"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2345298.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2345298.html b/doc/html/id2345298.html
new file mode 100644
index 0000000000..c93d927e42
--- /dev/null
+++ b/doc/html/id2345298.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2345280" title="Header &lt;boost/functional/hash/pair.hpp&gt;">
+<link rel="prev" href="id2345195.html" title="Function hash_value">
+<link rel="next" href="id2345386.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2345195.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2345280"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2345386.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2345298"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> A, <span class="bold"><strong>typename</strong></span> B&gt;
+  <span class="type">std::size_t</span> hash_value(std::pair&lt;A, B&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2591752"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ <pre class="programlisting">
+size_t seed = 0;
+<a href="hash_combine.html" title="Function template hash_combine">hash_combine</a>(seed, val.first);
+<a href="hash_combine.html" title="Function template hash_combine">hash_combine</a>(seed, val.second);
+return seed;
+ </pre><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id2415708.html" title="Function hash_value">hash_value</a>(A)</code>
+ or <code class="computeroutput"><a href="id2415708.html" title="Function hash_value">hash_value</a>(B)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2345195.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2345280"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2345386.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2345386.html b/doc/html/id2345386.html
new file mode 100644
index 0000000000..b39cb7a47c
--- /dev/null
+++ b/doc/html/id2345386.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2345368" title="Header &lt;boost/functional/hash/vector.hpp&gt;">
+<link rel="prev" href="id2345298.html" title="Function hash_value">
+<link rel="next" href="id2380285.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2345298.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2345368"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2380285.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2345386"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::vector&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2591939"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id2415708.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2345298.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2345368"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2380285.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2346601.html b/doc/html/id2346601.html
new file mode 100644
index 0000000000..f677b93d47
--- /dev/null
+++ b/doc/html/id2346601.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2350414" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id2510242.html" title="Function hash_value">
+<link rel="next" href="id2503912.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2510242.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2350414"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2503912.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2346601"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for floating point values.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>float</strong></span> val);
+<span class="type">std::size_t</span> hash_value(double val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>long</strong></span> double val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2705123"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+
+ An unspecified value, except that equal arguments shall yield the same
+ result
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2510242.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2350414"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2503912.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2348724.html b/doc/html/id2348724.html
new file mode 100644
index 0000000000..fcd7a29691
--- /dev/null
+++ b/doc/html/id2348724.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2380423" title="Header &lt;boost/functional/hash/set.hpp&gt;">
+<link rel="prev" href="id2380363.html" title="Function hash_value">
+<link rel="next" href="id2348844.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2380363.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2380423"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2348844.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2348724"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::set&lt;K, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::multiset&lt;K, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2592528"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id2415708.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2380363.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2380423"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2348844.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2348844.html b/doc/html/id2348844.html
new file mode 100644
index 0000000000..51dd296f4f
--- /dev/null
+++ b/doc/html/id2348844.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2348822" title="Header &lt;boost/functional/hash/map.hpp&gt;">
+<link rel="prev" href="id2348724.html" title="Function hash_value">
+<link rel="next" href="hash/links.html" title=" Links">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2348724.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2348822"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hash/links.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2348844"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::map&lt;K, T, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::multimap&lt;K, T, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2592812"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if
+ <code class="computeroutput"><a href="id2415708.html" title="Function hash_value">hash_value</a>(std::pair&lt;K const, T&gt;)</code>
+ throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2348724.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2348822"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hash/links.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2348892.html b/doc/html/id2348892.html
new file mode 100644
index 0000000000..db533b485d
--- /dev/null
+++ b/doc/html/id2348892.html
@@ -0,0 +1,45 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Type collect_unrecognized_mode</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2348797" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="basic_command_line_parser.html" title="Class template basic_command_line_parser">
+<link rel="next" href="parse_command_line.html" title="Function template parse_command_line">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_command_line_parser.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2348797"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="parse_command_line.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2348892"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Type collect_unrecognized_mode</span></h2>
+<p>boost::program_options::collect_unrecognized_mode &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+
+<span class="bold"><strong>enum</strong></span> collect_unrecognized_mode { include_positional, exclude_positional };</pre></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_command_line_parser.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2348797"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="parse_command_line.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2349650.html b/doc/html/id2349650.html
new file mode 100644
index 0000000000..1d2eb67cb9
--- /dev/null
+++ b/doc/html/id2349650.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function store</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2524541" title="Header &lt;boost/program_options/variables_map.hpp&gt;">
+<link rel="prev" href="variables_map.html" title="Class variables_map">
+<link rel="next" href="id2342502.html" title="Function store">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="variables_map.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2524541"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2342502.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2349650"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function store</span></h2>
+<p>boost::program_options::store &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL <span class="bold"><strong>void</strong></span></span>
+store(<span class="bold"><strong>const</strong></span> <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>char</strong></span> &gt; &amp; options, <a href="variables_map.html" title="Class variables_map">variables_map</a> &amp; m,
+      <span class="bold"><strong>bool</strong></span> utf8 = false);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2729774"></a><h2>Description</h2>
+<p>Stores in 'm' all options that are defined in 'options'. If 'm' already has a non-defaulted value of an option, that value is not changed, even if 'options' specify some value. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="variables_map.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2524541"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2342502.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2354316.html b/doc/html/id2354316.html
new file mode 100644
index 0000000000..1a90b86aa5
--- /dev/null
+++ b/doc/html/id2354316.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2350414" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id2393344.html" title="Function hash_value">
+<link rel="next" href="id2386234.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2393344.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2350414"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2386234.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2354316"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for <code class="computeroutput">std::basic_string</code>.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Ch, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::basic_string&lt;Ch, std::char_traits&lt;Ch&gt;, A&gt; <span class="bold"><strong>const</strong></span>&amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2705489"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">hash_range(val.begin(), val.end())</code></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2393344.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2350414"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2386234.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2358254.html b/doc/html/id2358254.html
new file mode 100644
index 0000000000..ed340a7498
--- /dev/null
+++ b/doc/html/id2358254.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Type style_t</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2355176" title="Header &lt;boost/program_options/cmdline.hpp&gt;">
+<link rel="prev" href="program_options/reference.html" title="Reference">
+<link rel="next" href="environment_iterator.html" title="Class environment_iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="program_options/reference.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2355176"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="environment_iterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2358254"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Type style_t</span></h2>
+<p>boost::program_options::command_line_style::style_t &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>enum</strong></span> style_t { allow_long = 1, allow_short = allow_long &lt;&lt; 1, allow_dash_for_short = allow_short &lt;&lt; 1,
+               allow_slash_for_short = allow_dash_for_short &lt;&lt; 1, long_allow_adjacent = allow_slash_for_short &lt;&lt; 1, long_allow_next = long_allow_adjacent &lt;&lt; 1,
+               short_allow_adjacent = long_allow_next &lt;&lt; 1, short_allow_next = short_allow_adjacent &lt;&lt; 1, allow_sticky = short_allow_next &lt;&lt; 1,
+               allow_guessing = allow_sticky &lt;&lt; 1, case_insensitive = allow_guessing &lt;&lt; 1, allow_long_disguise = case_insensitive &lt;&lt; 1,
+               unix_style = (allow_short | short_allow_adjacent | short_allow_next
+ | allow_long | long_allow_adjacent | long_allow_next
+ | allow_sticky | allow_guessing
+ | allow_dash_for_short), default_style = unix_style };</pre></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="program_options/reference.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2355176"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="environment_iterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2359751.html b/doc/html/id2359751.html
new file mode 100644
index 0000000000..d71215dcf6
--- /dev/null
+++ b/doc/html/id2359751.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function parse_environment</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2442413" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="collect_unrecognized.html" title="Function template collect_unrecognized">
+<link rel="next" href="id2359806.html" title="Function parse_environment">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="collect_unrecognized.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2442413"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2359806.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2359751"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function parse_environment</span></h2>
+<p>boost::program_options::parse_environment &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL parsed_options</span>
+parse_environment(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp; ,
+                  <span class="bold"><strong>const</strong></span> function1&lt; std::string, std::string &gt; &amp; name_mapper);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2603506"></a><h2>Description</h2>
+<p>Parse environment.</p>
+<p>For each environment variable, the 'name_mapper' function is called to obtain the option name. If it returns empty string, the variable is ignored.</p>
+<p>This is done since naming of environment variables is typically different from the naming of command line options. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="collect_unrecognized.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2442413"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2359806.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2359806.html b/doc/html/id2359806.html
new file mode 100644
index 0000000000..25f4313f14
--- /dev/null
+++ b/doc/html/id2359806.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function parse_environment</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2442413" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="id2359751.html" title="Function parse_environment">
+<link rel="next" href="id2383831.html" title="Class positional_options_description">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2359751.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2442413"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2383831.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2359806"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function parse_environment</span></h2>
+<p>boost::program_options::parse_environment &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL parsed_options</span>
+parse_environment(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp; , <span class="bold"><strong>const</strong></span> std::string &amp; prefix);
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL parsed_options</span>
+parse_environment(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp; , <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * prefix);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2603595"></a><h2>Description</h2>
+<p>Parse environment.</p>
+<p>Takes all environment variables which start with 'prefix'. The option name is obtained from variable name by removing the prefix and converting the remaining string into lower case. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2359751.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2442413"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2383831.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2360956.html b/doc/html/id2360956.html
new file mode 100644
index 0000000000..f72d985f72
--- /dev/null
+++ b/doc/html/id2360956.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2361892" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="id2395071.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="id2390624.html" title="Function template operator&gt;&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2395071.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2361892"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2390624.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2360956"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::logic::operator&lt;&lt; &#8212; Writes the indeterminate tribool value to a stream. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+  <span class="type">std::basic_ostream&lt; CharT, Traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, Traits &gt; &amp; out, <span class="emphasis"><em>unspecified</em></span> );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2639693"></a><h2>Description</h2>
+<p>This routine outputs either the integer value 2 (if <code class="computeroutput">(out.flags() &amp; std::ios_base::boolalpha) == 0</code> ) or the name of the indeterminate value. The name of the indeterminate value comes from the indeterminate_name facet (if it is defined in the output stream's locale), or from the get_default_indeterminate_name function (if it is not defined in the locale or if the C++ standard library implementation does not support locales).</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">out</code></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2395071.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2361892"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2390624.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2361471.html b/doc/html/id2361471.html
new file mode 100644
index 0000000000..e031c666ad
--- /dev/null
+++ b/doc/html/id2361471.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function store</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2351435" title="Header &lt;boost/program_options/variables_map.hpp&gt;">
+<link rel="prev" href="variables_map.html" title="Class variables_map">
+<link rel="next" href="id2342268.html" title="Function store">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="variables_map.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2351435"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2342268.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2361471"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function store</span></h2>
+<p>boost::program_options::store &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL <span class="bold"><strong>void</strong></span></span>
+store(<span class="bold"><strong>const</strong></span> <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>char</strong></span> &gt; &amp; options, <a href="variables_map.html" title="Class variables_map">variables_map</a> &amp; m,
+      <span class="bold"><strong>bool</strong></span> utf8 = false);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2608856"></a><h2>Description</h2>
+<p>Stores in 'm' all options that are defined in 'options'. If 'm' already has a non-defaulted value of an option, that value is not changed, even if 'options' specify some value. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="variables_map.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2351435"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2342268.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2363052-bb.html b/doc/html/id2363052-bb.html
new file mode 100644
index 0000000000..036c05a29d
--- /dev/null
+++ b/doc/html/id2363052-bb.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class basic_parsed_options&lt;wchar_t&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2442413" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="basic_parsed_options.html" title="Class template basic_parsed_options">
+<link rel="next" href="basic_command_line_parser.html" title="Class template basic_command_line_parser">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_parsed_options.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2442413"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="basic_command_line_parser.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2363052-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class basic_parsed_options&lt;wchar_t&gt;</span></h2>
+<p>boost::program_options::basic_parsed_options&lt;wchar_t&gt; &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> basic_parsed_options&lt;<span class="bold"><strong>wchar_t</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="id2363052-bb.html#id2404493-bb">public member functions</a></em></span>
+  <span class="type"></span> <a href="id2363052-bb.html#id2404498-bb">basic_parsed_options</a>(<span class="bold"><strong>const</strong></span> <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>char</strong></span> &gt; &amp;) ;
+
+  std::vector&lt; <a href="basic_option.html" title="Class template basic_option">basic_option</a>&lt; wchar_t &gt; &gt; options;
+  const <a href="options_description.html" title="Class options_description">options_description</a> * description;
+  <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; char &gt; utf8_encoded_options;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2602530"></a><h2>Description</h2>
+<p>Specialization of basic_parsed_options which:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>provides convenient conversion from basic_parsed_options&lt;char&gt;</p></li>
+<li><p>stores the passed char-based options for later use. </p></li>
+</ul></div>
+<div class="refsect2" lang="en">
+<a name="id2602547"></a><h3>
+<a name="id2404493-bb"></a><code class="computeroutput">basic_parsed_options</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type"></span> <a name="id2404498-bb"></a>basic_parsed_options(<span class="bold"><strong>const</strong></span> <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>char</strong></span> &gt; &amp; po) ;</pre>
+<p>Constructs wrapped options from options in UTF8 encoding. </p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_parsed_options.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2442413"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="basic_command_line_parser.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2363468.html b/doc/html/id2363468.html
new file mode 100644
index 0000000000..0ddfdb8994
--- /dev/null
+++ b/doc/html/id2363468.html
@@ -0,0 +1,47 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_PROGRAM_OPTIONS_VERSION</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2363464" title="Header &lt;boost/program_options/version.hpp&gt;">
+<link rel="prev" href="notify.html" title="Function notify">
+<link rel="next" href="ref.html" title="Chapter 8. Boost.Ref">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="notify.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2363464"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ref.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2363468"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_PROGRAM_OPTIONS_VERSION</span></h2>
+<p>BOOST_PROGRAM_OPTIONS_VERSION &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_PROGRAM_OPTIONS_VERSION</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2729941"></a><h2>Description</h2>
+<p>The version of the source interface. The value will be incremented whenever a change is made which might cause compilation errors for existing code. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="notify.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2363464"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ref.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2374912.html b/doc/html/id2374912.html
new file mode 100644
index 0000000000..8f7a4134f2
--- /dev/null
+++ b/doc/html/id2374912.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator!</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2336200" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="id2571496.html" title="Function template operator||">
+<link rel="next" href="is_equal.html" title="Struct is_equal">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2571496.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_equal.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2374912"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator!</span></h2>
+<p>boost::algorithm::operator! &#8212; predicate negation operator </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PredT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <span class="bold"><strong>operator</strong></span>!(<span class="bold"><strong>const</strong></span> predicate_facade&lt; PredT &gt; &amp; Pred);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2748952"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">class_not</code> predicate. This predicate represents a negation. <code class="computeroutput">class_or</code> holds if of the predicates return false.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Pred</span></dt>
+<dd><p>The predicate to be negated </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">class_not</code> predicate </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2571496.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_equal.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2380285.html b/doc/html/id2380285.html
new file mode 100644
index 0000000000..297ec67b19
--- /dev/null
+++ b/doc/html/id2380285.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2380268" title="Header &lt;boost/functional/hash/list.hpp&gt;">
+<link rel="prev" href="id2345386.html" title="Function hash_value">
+<link rel="next" href="id2380363.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2345386.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2380268"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2380363.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2380285"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::list&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2592104"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id2415708.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2345386.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2380268"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2380363.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2380363.html b/doc/html/id2380363.html
new file mode 100644
index 0000000000..1423bb060e
--- /dev/null
+++ b/doc/html/id2380363.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2380345" title="Header &lt;boost/functional/hash/deque.hpp&gt;">
+<link rel="prev" href="id2380285.html" title="Function hash_value">
+<link rel="next" href="id2348724.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2380285.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2380345"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2348724.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2380363"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::deque&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2592269"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id2415708.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2380285.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2380345"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2348724.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2381437-bb.html b/doc/html/id2381437-bb.html
new file mode 100644
index 0000000000..5fee6f8d25
--- /dev/null
+++ b/doc/html/id2381437-bb.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class basic_parsed_options&lt;wchar_t&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2348797" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="basic_parsed_options.html" title="Class template basic_parsed_options">
+<link rel="next" href="basic_command_line_parser.html" title="Class template basic_command_line_parser">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_parsed_options.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2348797"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="basic_command_line_parser.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2381437-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class basic_parsed_options&lt;wchar_t&gt;</span></h2>
+<p>boost::program_options::basic_parsed_options&lt;wchar_t&gt; &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> basic_parsed_options&lt;<span class="bold"><strong>wchar_t</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="id2381437-bb.html#id2397741-bb">public member functions</a></em></span>
+  <span class="type"></span> <a href="id2381437-bb.html#id2377602-bb">basic_parsed_options</a>(<span class="bold"><strong>const</strong></span> <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>char</strong></span> &gt; &amp;) ;
+
+  std::vector&lt; <a href="basic_option.html" title="Class template basic_option">basic_option</a>&lt; wchar_t &gt; &gt; options;
+  const <a href="options_description.html" title="Class options_description">options_description</a> * description;
+  <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; char &gt; utf8_encoded_options;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2723473"></a><h2>Description</h2>
+<p>Specialization of basic_parsed_options which:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>provides convenient conversion from basic_parsed_options&lt;char&gt;</p></li>
+<li><p>stores the passed char-based options for later use. </p></li>
+</ul></div>
+<div class="refsect2" lang="en">
+<a name="id2723490"></a><h3>
+<a name="id2397741-bb"></a><code class="computeroutput">basic_parsed_options</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type"></span> <a name="id2377602-bb"></a>basic_parsed_options(<span class="bold"><strong>const</strong></span> <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>char</strong></span> &gt; &amp; po) ;</pre>
+<p>Constructs wrapped options from options in UTF8 encoding. </p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_parsed_options.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2348797"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="basic_command_line_parser.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2381519-bb.html b/doc/html/id2381519-bb.html
new file mode 100644
index 0000000000..40788f8592
--- /dev/null
+++ b/doc/html/id2381519-bb.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class value_semantic_codecvt_helper&lt;wchar_t&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2379391" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="id2381778-bb.html" title="Class value_semantic_codecvt_helper&lt;char&gt;">
+<link rel="next" href="untyped_value.html" title="Class untyped_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2381778-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2379391"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="untyped_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2381519-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class value_semantic_codecvt_helper&lt;wchar_t&gt;</span></h2>
+<p>boost::program_options::value_semantic_codecvt_helper&lt;wchar_t&gt; &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> value_semantic_codecvt_helper&lt;<span class="bold"><strong>wchar_t</strong></span>&gt;
+ : : <span class="bold"><strong>public</strong></span> boost::program_options::value_semantic
+{
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="id2381519-bb.html#id2381540-bb">protected member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="id2381519-bb.html#id2381544-bb">xparse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::wstring &gt; &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="id2381519-bb.html#id2342851-bb">private member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id2381519-bb.html#id2342856-bb">parse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp;, <span class="bold"><strong>bool</strong></span>) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2726362"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2726365"></a><h3>
+<a name="id2381540-bb"></a><code class="computeroutput">value_semantic_codecvt_helper</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span>
+<a name="id2381544-bb"></a>xparse(boost::any &amp; value_store,
+       <span class="bold"><strong>const</strong></span> std::vector&lt; std::wstring &gt; &amp; new_tokens) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2726425"></a><h3>
+<a name="id2342851-bb"></a><code class="computeroutput">value_semantic_codecvt_helper</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2342856-bb"></a>parse(boost::any &amp; value_store,
+           <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp; new_tokens, <span class="bold"><strong>bool</strong></span> utf8) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2381778-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2379391"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="untyped_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2381778-bb.html b/doc/html/id2381778-bb.html
new file mode 100644
index 0000000000..2405d3f238
--- /dev/null
+++ b/doc/html/id2381778-bb.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class value_semantic_codecvt_helper&lt;char&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2379391" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="id2284769.html" title="Class template value_semantic_codecvt_helper">
+<link rel="next" href="id2381519-bb.html" title="Class value_semantic_codecvt_helper&lt;wchar_t&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2284769.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2379391"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2381519-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2381778-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class value_semantic_codecvt_helper&lt;char&gt;</span></h2>
+<p>boost::program_options::value_semantic_codecvt_helper&lt;char&gt; &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> value_semantic_codecvt_helper&lt;<span class="bold"><strong>char</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="id2381778-bb.html#id2381794-bb">protected member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="id2381778-bb.html#id2381799-bb">xparse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="id2381778-bb.html#id2496863-bb">private member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id2381778-bb.html#id2496867-bb">parse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp;, <span class="bold"><strong>bool</strong></span>) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2726099"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2726102"></a><h3>
+<a name="id2381794-bb"></a><code class="computeroutput">value_semantic_codecvt_helper</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span>
+<a name="id2381799-bb"></a>xparse(boost::any &amp; value_store,
+       <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp; new_tokens) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2726163"></a><h3>
+<a name="id2496863-bb"></a><code class="computeroutput">value_semantic_codecvt_helper</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2496867-bb"></a>parse(boost::any &amp; value_store,
+           <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp; new_tokens, <span class="bold"><strong>bool</strong></span> utf8) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2284769.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2379391"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2381519-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2381950-bb.html b/doc/html/id2381950-bb.html
new file mode 100644
index 0000000000..6aa2e0d955
--- /dev/null
+++ b/doc/html/id2381950-bb.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class value_semantic_codecvt_helper&lt;wchar_t&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2284530" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="id2342470-bb.html" title="Class value_semantic_codecvt_helper&lt;char&gt;">
+<link rel="next" href="untyped_value.html" title="Class untyped_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2342470-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2284530"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="untyped_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2381950-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class value_semantic_codecvt_helper&lt;wchar_t&gt;</span></h2>
+<p>boost::program_options::value_semantic_codecvt_helper&lt;wchar_t&gt; &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> value_semantic_codecvt_helper&lt;<span class="bold"><strong>wchar_t</strong></span>&gt;
+ : : <span class="bold"><strong>public</strong></span> boost::program_options::value_semantic
+{
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="id2381950-bb.html#id2381972-bb">protected member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="id2381950-bb.html#id2381977-bb">xparse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::wstring &gt; &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="id2381950-bb.html#id2382012-bb">private member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id2381950-bb.html#id2382016-bb">parse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp;, <span class="bold"><strong>bool</strong></span>) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2605426"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2605429"></a><h3>
+<a name="id2381972-bb"></a><code class="computeroutput">value_semantic_codecvt_helper</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span>
+<a name="id2381977-bb"></a>xparse(boost::any &amp; value_store,
+       <span class="bold"><strong>const</strong></span> std::vector&lt; std::wstring &gt; &amp; new_tokens) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2605490"></a><h3>
+<a name="id2382012-bb"></a><code class="computeroutput">value_semantic_codecvt_helper</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2382016-bb"></a>parse(boost::any &amp; value_store,
+           <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp; new_tokens, <span class="bold"><strong>bool</strong></span> utf8) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2342470-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2284530"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="untyped_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2382392.html b/doc/html/id2382392.html
new file mode 100644
index 0000000000..8c826bb2b9
--- /dev/null
+++ b/doc/html/id2382392.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class too_many_positional_options_error</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2399042" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="invalid_option_value.html" title="Class invalid_option_value">
+<link rel="next" href="id2509958.html" title="Class too_few_positional_options_error">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="invalid_option_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2509958.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2382392"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class too_many_positional_options_error</span></h2>
+<p>boost::program_options::too_many_positional_options_error &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> too_many_positional_options_error
+ : : <span class="bold"><strong>public</strong></span> boost::program_options::error
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id2382392.html#id2382392construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id2382392.html#id2509943-bb">too_many_positional_options_error</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+  <span class="emphasis"><em>// <a href="id2382392.html#id2360360-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2719577"></a><h2>Description</h2>
+<p>Class thrown when there are too many positional options. </p>
+<div class="refsect2" lang="en">
+<a name="id2719584"></a><h3>
+<a name="id2382392construct-copy-destruct"></a><code class="computeroutput">too_many_positional_options_error</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2509943-bb"></a>too_many_positional_options_error(<span class="bold"><strong>const</strong></span> std::string &amp; what);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2719625"></a><h3>
+<a name="id2360360-bb"></a><code class="computeroutput">too_many_positional_options_error</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="invalid_option_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2509958.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2383787.html b/doc/html/id2383787.html
new file mode 100644
index 0000000000..68fad85cae
--- /dev/null
+++ b/doc/html/id2383787.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function parse_environment</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2348797" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="collect_unrecognized.html" title="Function template collect_unrecognized">
+<link rel="next" href="id2462174.html" title="Function parse_environment">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="collect_unrecognized.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2348797"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2462174.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2383787"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function parse_environment</span></h2>
+<p>boost::program_options::parse_environment &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL parsed_options</span>
+parse_environment(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp; ,
+                  <span class="bold"><strong>const</strong></span> function1&lt; std::string, std::string &gt; &amp; name_mapper);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2724449"></a><h2>Description</h2>
+<p>Parse environment.</p>
+<p>For each environment variable, the 'name_mapper' function is called to obtain the option name. If it returns empty string, the variable is ignored.</p>
+<p>This is done since naming of environment variables is typically different from the naming of command line options. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="collect_unrecognized.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2348797"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2462174.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2383831.html b/doc/html/id2383831.html
new file mode 100644
index 0000000000..f1ef634aaa
--- /dev/null
+++ b/doc/html/id2383831.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class positional_options_description</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2383816" title="Header &lt;boost/program_options/positional_options.hpp&gt;">
+<link rel="prev" href="id2359806.html" title="Function parse_environment">
+<link rel="next" href="value_semantic.html" title="Class value_semantic">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2359806.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2383816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="value_semantic.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2383831"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class positional_options_description</span></h2>
+<p>boost::program_options::positional_options_description &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> positional_options_description {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id2383831.html#id2383831construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id2383831.html#id2284522-bb">positional_options_description</a>();
+
+  <span class="emphasis"><em>// <a href="id2383831.html#id2380766-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id2383831.html#id2380771-bb">add</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>int</strong></span>) ;
+  <span class="type"><span class="bold"><strong>unsigned</strong></span></span> <a href="id2383831.html#id2380814-bb">max_total_count</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> std::string &amp;</span> <a href="id2383831.html#id2284488-bb">name_for_position</a>(<span class="bold"><strong>unsigned</strong></span>) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2603799"></a><h2>Description</h2>
+<p>Describes positional options.</p>
+<p>The class allows to guess option names for positional options, which are specified on the command line and are identified by the position. The class uses the information provided by the user to associate a name with every positional option, or tell that no name is known.</p>
+<p>The primary assumption is that only the relative order of the positional options themselves matters, and that any interleaving ordinary options don't affect interpretation of positional options.</p>
+<p>The user initializes the class by specifying that first N positional options should be given the name X1, following M options should be given the name X2 and so on. </p>
+<div class="refsect2" lang="en">
+<a name="id2603823"></a><h3>
+<a name="id2383831construct-copy-destruct"></a><code class="computeroutput">positional_options_description</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2284522-bb"></a>positional_options_description();</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2603858"></a><h3>
+<a name="id2380766-bb"></a><code class="computeroutput">positional_options_description</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2380771-bb"></a>add(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>int</strong></span> max_count) ;</pre>
+<p>Species that up to 'max_count' next positional options should be given the 'name'. The value of '-1' means 'unlimited'. No calls to 'add' can be made after call with 'max_value' equal to '-1'. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span></span> <a name="id2380814-bb"></a>max_total_count() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns the maximum number of positional options that can be present. Can return numeric_limits&lt;unsigned&gt;::max() to indicate unlimited number. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> std::string &amp;</span> <a name="id2284488-bb"></a>name_for_position(<span class="bold"><strong>unsigned</strong></span> position) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns the name that should be associated with positional options at 'position'. Precondition: position &lt; max_total_count() </p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2359806.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2383816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="value_semantic.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2386234.html b/doc/html/id2386234.html
new file mode 100644
index 0000000000..5b7c01582e
--- /dev/null
+++ b/doc/html/id2386234.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2386217" title="Header &lt;boost/functional/hash/pair.hpp&gt;">
+<link rel="prev" href="id2354316.html" title="Function hash_value">
+<link rel="next" href="id2490467.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2354316.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2386217"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2490467.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2386234"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> A, <span class="bold"><strong>typename</strong></span> B&gt;
+  <span class="type">std::size_t</span> hash_value(std::pair&lt;A, B&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2705672"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ <pre class="programlisting">
+size_t seed = 0;
+<a href="hash_combine.html" title="Function template hash_combine">hash_combine</a>(seed, val.first);
+<a href="hash_combine.html" title="Function template hash_combine">hash_combine</a>(seed, val.second);
+return seed;
+ </pre><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id2510242.html" title="Function hash_value">hash_value</a>(A)</code>
+ or <code class="computeroutput"><a href="id2510242.html" title="Function hash_value">hash_value</a>(B)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2354316.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2386217"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2490467.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2390624.html b/doc/html/id2390624.html
new file mode 100644
index 0000000000..be0f225f02
--- /dev/null
+++ b/doc/html/id2390624.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&gt;&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2361892" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="id2360956.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="tribool/tests.html" title="Testsuite">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2360956.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2361892"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="tribool/tests.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2390624"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&gt;&gt;</span></h2>
+<p>boost::logic::operator&gt;&gt; &#8212; Reads a tribool value from a stream. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+  <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; CharT, Traits &gt; &amp; in, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> &amp; x);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2639788"></a><h2>Description</h2>
+<p>When <code class="computeroutput">(out.flags() &amp; std::ios_base::boolalpha) == 0</code> , this function reads a <code class="computeroutput">long</code> value from the input stream <code class="computeroutput">in</code> and converts that value to a tribool. If that value is 0, <code class="computeroutput">x</code> becomes <code class="computeroutput">false</code> ; if it is 1, <code class="computeroutput">x</code> becomes <code class="computeroutput">true</code> ; if it is 2, <code class="computeroutput">becomes</code><code class="computeroutput">indetermine</code> ; otherwise, the operation fails (and the fail bit is set on the input stream <code class="computeroutput">in</code> ).</p>
+<p>When <code class="computeroutput">(out.flags() &amp; std::ios_base::boolalpha) != 0</code> , this function first determines the names of the false, true, and indeterminate values. The false and true names are extracted from the <code class="computeroutput">std::numpunct</code> facet of the input stream's locale (if the C++ standard library implementation supports locales), or from the <code class="computeroutput">default_false_name</code> and <code class="computeroutput">default_true_name</code> functions (if there is no locale support). The indeterminate name is extracted from the appropriate <code class="computeroutput">indeterminate_name</code> facet (if it is available in the input stream's locale), or from the <code class="computeroutput">get_default_indeterminate_name</code> function (if the C++ standard library implementation does not support locales, or the <code class="computeroutput">indeterminate_name</code> facet is not specified for this locale object). The input is then matched to each of these names, and the tribool <code class="computeroutput">x</code> is assigned the value corresponding to the longest name that matched. If no name is matched or all names are empty, the operation fails (and the fail bit is set on the input stream <code class="computeroutput">in</code> ).</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">in</code></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2360956.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2361892"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="tribool/tests.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2391976.html b/doc/html/id2391976.html
new file mode 100644
index 0000000000..f65069f017
--- /dev/null
+++ b/doc/html/id2391976.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class too_many_positional_options_error</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2369023" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="invalid_option_value.html" title="Class invalid_option_value">
+<link rel="next" href="id2434930.html" title="Class too_few_positional_options_error">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="invalid_option_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2369023"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2434930.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2391976"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class too_many_positional_options_error</span></h2>
+<p>boost::program_options::too_many_positional_options_error &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> too_many_positional_options_error
+ : : <span class="bold"><strong>public</strong></span> boost::program_options::error
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id2391976.html#id2391976construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id2391976.html#id2434915-bb">too_many_positional_options_error</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+  <span class="emphasis"><em>// <a href="id2391976.html#id2434911-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2598624"></a><h2>Description</h2>
+<p>Class thrown when there are too many positional options. </p>
+<div class="refsect2" lang="en">
+<a name="id2598631"></a><h3>
+<a name="id2391976construct-copy-destruct"></a><code class="computeroutput">too_many_positional_options_error</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2434915-bb"></a>too_many_positional_options_error(<span class="bold"><strong>const</strong></span> std::string &amp; what);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2598671"></a><h3>
+<a name="id2434911-bb"></a><code class="computeroutput">too_many_positional_options_error</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="invalid_option_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2369023"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2434930.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2393344.html b/doc/html/id2393344.html
new file mode 100644
index 0000000000..70a3f3e701
--- /dev/null
+++ b/doc/html/id2393344.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2350414" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id2503912.html" title="Function hash_value">
+<link rel="next" href="id2354316.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2503912.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2350414"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2354316.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2393344"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for built in arrays.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>unsigned</strong></span> N&gt; <span class="type">std::size_t</span> hash_value(T (&amp;val)[N] );
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>unsigned</strong></span> N&gt; <span class="type">std::size_t</span> hash_value(<span class="bold"><strong>const</strong></span> T (&amp;val)[N] );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2705367"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">hash_range(val, val+N)</code></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2503912.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2350414"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2354316.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2394886.html b/doc/html/id2394886.html
new file mode 100644
index 0000000000..3a93b6576f
--- /dev/null
+++ b/doc/html/id2394886.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator||</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2426531" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id2535733.html" title="Function operator&amp;&amp;">
+<link rel="next" href="id2605064.html" title="Function operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2535733.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2426531"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2605064.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2394886"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator||</span></h2>
+<p>boost::logic::operator|| &#8212; Computes the logical disjunction of two tribools. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="bold"><strong>bool</strong></span> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(<span class="bold"><strong>bool</strong></span> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(indeterminate_keyword_t , <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, indeterminate_keyword_t );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2791520"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the result of logically ORing the two tribool values, according to the following table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">||</code></strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">true</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2535733.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2426531"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2605064.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2395071.html b/doc/html/id2395071.html
new file mode 100644
index 0000000000..507e8b2ed3
--- /dev/null
+++ b/doc/html/id2395071.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2361892" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="id2496250.html" title="Function template get_default_indeterminate_name">
+<link rel="next" href="id2360956.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2496250.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2361892"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2360956.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2395071"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::logic::operator&lt;&lt; &#8212; Writes the value of a tribool to a stream. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+  <span class="type">std::basic_ostream&lt; CharT, Traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, Traits &gt; &amp; out, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2639570"></a><h2>Description</h2>
+<p>When the value of <code class="computeroutput">x</code> is either <code class="computeroutput">true</code> or <code class="computeroutput">false</code> , this routine is semantically equivalent to: </p>
+<pre class="programlisting"> out &lt;&lt; static_cast&lt;bool&gt;(x);
+</pre>
+<p>When <code class="computeroutput">x</code> has an indeterminate value, it outputs either the integer value 2 (if <code class="computeroutput">(out.flags() &amp; std::ios_base::boolalpha) == 0</code> ) or the name of the indeterminate value. The name of the indeterminate value comes from the indeterminate_name facet (if it is defined in the output stream's locale), or from the get_default_indeterminate_name function (if it is not defined in the locale or if the C++ standard library implementation does not support locales).</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">out</code></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2496250.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2361892"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2360956.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2397684.html b/doc/html/id2397684.html
new file mode 100644
index 0000000000..4e493524c1
--- /dev/null
+++ b/doc/html/id2397684.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2410223" title="Header &lt;boost/date_time/int_adapter.hpp&gt;">
+<link rel="prev" href="int_adapter.html" title="Class template int_adapter">
+<link rel="next" href="iso_format_base.html" title="Class template iso_format_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="int_adapter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2410223"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="iso_format_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2397684"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::date_time::operator&lt;&lt; &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits, <span class="bold"><strong>typename</strong></span> int_type&gt;
+  <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os,
+             <span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a>&lt; int_type &gt; &amp; ia);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2639576"></a><h2>Description</h2>
+<p>Expected output is either a numeric representation or a special values representation.
+ Ex. "12", "+infinity", "not-a-number", etc. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="int_adapter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2410223"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="iso_format_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2400763.html b/doc/html/id2400763.html
new file mode 100644
index 0000000000..c3c19cce06
--- /dev/null
+++ b/doc/html/id2400763.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator!=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2426531" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id2605064.html" title="Function operator==">
+<link rel="next" href="BOOST_TRIBOOL_THIRD_STATE.html" title="Macro BOOST_TRIBOOL_THIRD_STATE">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2605064.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2426531"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TRIBOOL_THIRD_STATE.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2400763"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator!=</span></h2>
+<p>boost::logic::operator!= &#8212; Compare tribools for inequality. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="bold"><strong>bool</strong></span> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(<span class="bold"><strong>bool</strong></span> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(indeterminate_keyword_t , <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, indeterminate_keyword_t );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2792155"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the result of comparing two tribool values for inequality, according to the following table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">!=</code></strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2605064.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2426531"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TRIBOOL_THIRD_STATE.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2402187.html b/doc/html/id2402187.html
new file mode 100644
index 0000000000..5610614d32
--- /dev/null
+++ b/doc/html/id2402187.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class options_description_easy_init</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2337117" title="Header &lt;boost/program_options/options_description.hpp&gt;">
+<link rel="prev" href="option_description.html" title="Class option_description">
+<link rel="next" href="options_description.html" title="Class options_description">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="option_description.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2337117"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="options_description.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2402187"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class options_description_easy_init</span></h2>
+<p>boost::program_options::options_description_easy_init &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> options_description_easy_init {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id2402187.html#id2402187construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id2402187.html#id2412366-bb">options_description_easy_init</a>(<a href="options_description.html" title="Class options_description">options_description</a> *);
+
+  <span class="emphasis"><em>// <a href="id2402187.html#id2402200-bb">public member functions</a></em></span>
+  <span class="type"><a href="id2402187.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span> <a href="id2402187.html#id2402204-bb"><span class="bold"><strong>operator</strong></span>()</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *) ;
+  <span class="type"><a href="id2402187.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+  <a href="id2402187.html#id2410790-bb"><span class="bold"><strong>operator</strong></span>()</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> *) ;
+  <span class="type"><a href="id2402187.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+  <a href="id2402187.html#id2410829-bb"><span class="bold"><strong>operator</strong></span>()</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> *, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2600680"></a><h2>Description</h2>
+<p>Class which provides convenient creation syntax to option_description. </p>
+<div class="refsect2" lang="en">
+<a name="id2600687"></a><h3>
+<a name="id2402187construct-copy-destruct"></a><code class="computeroutput">options_description_easy_init</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2412366-bb"></a>options_description_easy_init(<a href="options_description.html" title="Class options_description">options_description</a> * owner);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2600728"></a><h3>
+<a name="id2402200-bb"></a><code class="computeroutput">options_description_easy_init</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><a href="id2402187.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+<a name="id2402204-bb"></a><span class="bold"><strong>operator</strong></span>()(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * description) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="id2402187.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+<a name="id2410790-bb"></a><span class="bold"><strong>operator</strong></span>()(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> * s) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="id2402187.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+<a name="id2410829-bb"></a><span class="bold"><strong>operator</strong></span>()(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> * s,
+           <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * description) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="option_description.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2337117"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="options_description.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2403874.html b/doc/html/id2403874.html
new file mode 100644
index 0000000000..b54c301c8e
--- /dev/null
+++ b/doc/html/id2403874.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2416494" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id2415820.html" title="Function hash_value">
+<link rel="next" href="id2403949.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2415820.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2416494"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2403949.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2403874"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for pointers.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">std::size_t</span> hash_value(T* <span class="bold"><strong>const</strong></span>&amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2591312"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+
+ An unspecified value, except that equal arguments shall yield the same
+ result
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2415820.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2416494"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2403949.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2403949.html b/doc/html/id2403949.html
new file mode 100644
index 0000000000..09c4373f10
--- /dev/null
+++ b/doc/html/id2403949.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2416494" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id2403874.html" title="Function hash_value">
+<link rel="next" href="id2345195.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2403874.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2416494"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2345195.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2403949"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for built in arrays.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>unsigned</strong></span> N&gt; <span class="type">std::size_t</span> hash_value(T (&amp;val)[N] );
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>unsigned</strong></span> N&gt; <span class="type">std::size_t</span> hash_value(<span class="bold"><strong>const</strong></span> T (&amp;val)[N] );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2591449"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">hash_range(val, val+N)</code></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2403874.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2416494"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2345195.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2404411.html b/doc/html/id2404411.html
new file mode 100644
index 0000000000..0642d3e94e
--- /dev/null
+++ b/doc/html/id2404411.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2654455" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="id2648190.html" title="Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT">
+<link rel="next" href="boost/variant.html" title="Class template variant">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2648190.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2654455"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost/variant.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2404411"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</span></h2>
+<p>BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT &#8212; <p>Indicates
+ <code class="computeroutput"><a href="make_recursive_variant.html" title="Class template make_recursive_variant">make_recursive_variant</a></code> operates in
+ an implementation-defined manner.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2832733"></a><h2>Description</h2>
+<p>Defined only if
+ <code class="computeroutput"><a href="make_recursive_variant.html" title="Class template make_recursive_variant">make_recursive_variant</a></code> does not
+ operate as documented on the target compiler, but rather in an
+ implementation-defined manner.</p>
+<p><span class="bold"><strong>Implementation Note</strong></span>: If
+ <code class="computeroutput">BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</code> is
+ defined for the target compiler, the current implementation uses the
+ <a href="../../libs/mpl/index.html" target="_top">MPL</a> lambda mechanism to approximate the
+ desired behavior. (In most cases, however, such compilers do not have
+ full lambda support either.)</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2648190.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2654455"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost/variant.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2405579.html b/doc/html/id2405579.html
new file mode 100644
index 0000000000..e133f32176
--- /dev/null
+++ b/doc/html/id2405579.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_resolution_traits_bi64_impl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2463060" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id2463150.html" title="Struct time_resolution_traits_adapted32_impl">
+<link rel="next" href="id2405655.html" title="Struct time_resolution_traits_adapted64_impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2463150.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2463060"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2405655.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2405579"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_resolution_traits_bi64_impl</span></h2>
+<p>boost::date_time::time_resolution_traits_bi64_impl &#8212; traits struct for time_resolution_traits implementation type </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_resolution_traits_bi64_impl {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::int64_t int_type; 
+  <span class="bold"><strong>typedef</strong></span> boost::int64_t impl_type;
+
+  <span class="emphasis"><em>// <a href="id2405579.html#id2405608-bb">public static functions</a></em></span>
+  <span class="type">int_type</span> <a href="id2405579.html#id2405612-bb">as_number</a>(impl_type) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id2405579.html#id2405635-bb">is_adapted</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2660558"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2660561"></a><h3>
+<a name="id2405608-bb"></a><code class="computeroutput">time_resolution_traits_bi64_impl</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id2405612-bb"></a>as_number(impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2405635-bb"></a>is_adapted() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2463150.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2463060"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2405655.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2405655.html b/doc/html/id2405655.html
new file mode 100644
index 0000000000..056213f428
--- /dev/null
+++ b/doc/html/id2405655.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_resolution_traits_adapted64_impl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2463060" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id2405579.html" title="Struct time_resolution_traits_bi64_impl">
+<link rel="next" href="time_resolution_traits.html" title="Class template time_resolution_traits">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2405579.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2463060"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_resolution_traits.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2405655"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_resolution_traits_adapted64_impl</span></h2>
+<p>boost::date_time::time_resolution_traits_adapted64_impl &#8212; traits struct for time_resolution_traits implementation type </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_resolution_traits_adapted64_impl {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::int64_t                                  int_type; 
+  <span class="bold"><strong>typedef</strong></span> <a href="int_adapter.html" title="Class template int_adapter">boost::date_time::int_adapter</a>&lt; boost::int64_t &gt; impl_type;
+
+  <span class="emphasis"><em>// <a href="id2405655.html#id2456303-bb">public static functions</a></em></span>
+  <span class="type">int_type</span> <a href="id2405655.html#id2456308-bb">as_number</a>(impl_type) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id2405655.html#id2456334-bb">is_adapted</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2660716"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2660719"></a><h3>
+<a name="id2456303-bb"></a><code class="computeroutput">time_resolution_traits_adapted64_impl</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id2456308-bb"></a>as_number(impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2456334-bb"></a>is_adapted() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2405579.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2463060"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_resolution_traits.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2406096.html b/doc/html/id2406096.html
new file mode 100644
index 0000000000..c8daae721b
--- /dev/null
+++ b/doc/html/id2406096.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template ostream_time_duration_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2406082" title="Header &lt;boost/date_time/time_formatting_streams.hpp&gt;">
+<link rel="prev" href="time_input_facet.html" title="Class template time_input_facet">
+<link rel="next" href="ostream_time_formatter.html" title="Class template ostream_time_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_input_facet.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2406082"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ostream_time_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2406096"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template ostream_time_duration_formatter</span></h2>
+<p>boost::date_time::ostream_time_duration_formatter &#8212; Put a time type into a stream using appropriate facets. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> ostream_time_duration_formatter {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::basic_ostream&lt; charT &gt;                 ostream_type;           
+  <span class="bold"><strong>typedef</strong></span> time_duration_type::fractional_seconds_type fractional_seconds_type;
+
+  <span class="emphasis"><em>// <a href="id2406096.html#id2402070-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id2406096.html#id2402075-bb">duration_put</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;, ostream_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2658485"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2658489"></a><h3>
+<a name="id2402070-bb"></a><code class="computeroutput">ostream_time_duration_formatter</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2402075-bb"></a>duration_put(<span class="bold"><strong>const</strong></span> time_duration_type &amp; td, ostream_type &amp; os) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_input_facet.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2406082"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ostream_time_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2411202.html b/doc/html/id2411202.html
new file mode 100644
index 0000000000..0ac771cd82
--- /dev/null
+++ b/doc/html/id2411202.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class options_description_easy_init</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2473651" title="Header &lt;boost/program_options/options_description.hpp&gt;">
+<link rel="prev" href="option_description.html" title="Class option_description">
+<link rel="next" href="options_description.html" title="Class options_description">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="option_description.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2473651"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="options_description.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2411202"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class options_description_easy_init</span></h2>
+<p>boost::program_options::options_description_easy_init &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> options_description_easy_init {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id2411202.html#id2411202construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id2411202.html#id2413422-bb">options_description_easy_init</a>(<a href="options_description.html" title="Class options_description">options_description</a> *);
+
+  <span class="emphasis"><em>// <a href="id2411202.html#id2418762-bb">public member functions</a></em></span>
+  <span class="type"><a href="id2411202.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span> <a href="id2411202.html#id2418766-bb"><span class="bold"><strong>operator</strong></span>()</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *) ;
+  <span class="type"><a href="id2411202.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+  <a href="id2411202.html#id2351577-bb"><span class="bold"><strong>operator</strong></span>()</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> *) ;
+  <span class="type"><a href="id2411202.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+  <a href="id2411202.html#id2405359-bb"><span class="bold"><strong>operator</strong></span>()</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> *, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2721631"></a><h2>Description</h2>
+<p>Class which provides convenient creation syntax to option_description. </p>
+<div class="refsect2" lang="en">
+<a name="id2721638"></a><h3>
+<a name="id2411202construct-copy-destruct"></a><code class="computeroutput">options_description_easy_init</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2413422-bb"></a>options_description_easy_init(<a href="options_description.html" title="Class options_description">options_description</a> * owner);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2721679"></a><h3>
+<a name="id2418762-bb"></a><code class="computeroutput">options_description_easy_init</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><a href="id2411202.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+<a name="id2418766-bb"></a><span class="bold"><strong>operator</strong></span>()(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * description) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="id2411202.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+<a name="id2351577-bb"></a><span class="bold"><strong>operator</strong></span>()(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> * s) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="id2411202.html" title="Class options_description_easy_init">options_description_easy_init</a> &amp;</span>
+<a name="id2405359-bb"></a><span class="bold"><strong>operator</strong></span>()(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> * s,
+           <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * description) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="option_description.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2473651"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="options_description.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2415708.html b/doc/html/id2415708.html
new file mode 100644
index 0000000000..bfcf3b09fe
--- /dev/null
+++ b/doc/html/id2415708.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2416494" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="hash_range.html" title="Function hash_range">
+<link rel="next" href="id2415820.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hash_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2416494"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2415820.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2415708"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for integers.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>int</strong></span> val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>long</strong></span> val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>long</strong></span> val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2591094"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">val</code></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hash_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2416494"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2415820.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2415820.html b/doc/html/id2415820.html
new file mode 100644
index 0000000000..e82f543c4f
--- /dev/null
+++ b/doc/html/id2415820.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2416494" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id2415708.html" title="Function hash_value">
+<link rel="next" href="id2403874.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2415708.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2416494"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2403874.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2415820"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for floating point values.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>float</strong></span> val);
+<span class="type">std::size_t</span> hash_value(double val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>long</strong></span> double val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2591205"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+
+ An unspecified value, except that equal arguments shall yield the same
+ result
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2415708.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2416494"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2403874.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2416802.html b/doc/html/id2416802.html
new file mode 100644
index 0000000000..0433d6579d
--- /dev/null
+++ b/doc/html/id2416802.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator&amp;&amp;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2455559" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id2484608.html" title="Function operator!">
+<link rel="next" href="id2417636.html" title="Function operator||">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2484608.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2455559"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2417636.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2416802"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator&amp;&amp;</span></h2>
+<p>boost::logic::operator&amp;&amp; &#8212; Computes the logical conjuction of two tribools. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="bold"><strong>bool</strong></span> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<span class="bold"><strong>bool</strong></span> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(indeterminate_keyword_t , <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, indeterminate_keyword_t );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2637725"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the result of logically ANDing the two tribool values, according to the following table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">&amp;&amp;</code></strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">false</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2484608.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2455559"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2417636.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2417636.html b/doc/html/id2417636.html
new file mode 100644
index 0000000000..2e026822dc
--- /dev/null
+++ b/doc/html/id2417636.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator||</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2455559" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id2416802.html" title="Function operator&amp;&amp;">
+<link rel="next" href="id2459964.html" title="Function operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2416802.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2455559"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2459964.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2417636"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator||</span></h2>
+<p>boost::logic::operator|| &#8212; Computes the logical disjunction of two tribools. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="bold"><strong>bool</strong></span> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(<span class="bold"><strong>bool</strong></span> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(indeterminate_keyword_t , <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, indeterminate_keyword_t );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2638044"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the result of logically ORing the two tribool values, according to the following table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">||</code></strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">true</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2416802.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2455559"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2459964.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2423887.html b/doc/html/id2423887.html
new file mode 100644
index 0000000000..d84b0d5431
--- /dev/null
+++ b/doc/html/id2423887.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2561687" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="id2531282.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="id2341545.html" title="Function template operator&gt;&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2531282.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2561687"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2341545.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2423887"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::logic::operator&lt;&lt; &#8212; Writes the indeterminate tribool value to a stream. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+  <span class="type">std::basic_ostream&lt; CharT, Traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, Traits &gt; &amp; out, <span class="emphasis"><em>unspecified</em></span> );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2793166"></a><h2>Description</h2>
+<p>This routine outputs either the integer value 2 (if <code class="computeroutput">(out.flags() &amp; std::ios_base::boolalpha) == 0</code> ) or the name of the indeterminate value. The name of the indeterminate value comes from the indeterminate_name facet (if it is defined in the output stream's locale), or from the get_default_indeterminate_name function (if it is not defined in the locale or if the C++ standard library implementation does not support locales).</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">out</code></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2531282.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2561687"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2341545.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2427956.html b/doc/html/id2427956.html
new file mode 100644
index 0000000000..204af72cda
--- /dev/null
+++ b/doc/html/id2427956.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator!</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2426531" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="indeterminate.html" title="Function indeterminate">
+<link rel="next" href="id2535733.html" title="Function operator&amp;&amp;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="indeterminate.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2426531"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2535733.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2427956"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator!</span></h2>
+<p>boost::logic::operator! &#8212; Computes the logical negation of a tribool. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2790953"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the logical negation of the tribool, according to the table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">!</code></strong></span></td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">true</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">false</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="indeterminate.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2426531"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2535733.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2428972.html b/doc/html/id2428972.html
new file mode 100644
index 0000000000..fac1558009
--- /dev/null
+++ b/doc/html/id2428972.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template ostream_time_period_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2406082" title="Header &lt;boost/date_time/time_formatting_streams.hpp&gt;">
+<link rel="prev" href="ostream_time_formatter.html" title="Class template ostream_time_formatter">
+<link rel="next" href="time_itr.html" title="Class template time_itr">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ostream_time_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2406082"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_itr.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2428972"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template ostream_time_period_formatter</span></h2>
+<p>boost::date_time::ostream_time_period_formatter &#8212; Put a time period into a stream using appropriate facets. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_period_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> ostream_time_period_formatter {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::basic_ostream&lt; charT &gt;                ostream_type;  
+  <span class="bold"><strong>typedef</strong></span> time_period_type::point_type               time_type;     
+  <span class="bold"><strong>typedef</strong></span> <a href="ostream_time_formatter.html" title="Class template ostream_time_formatter">ostream_time_formatter</a>&lt; time_type, charT &gt; time_formatter;
+
+  <span class="emphasis"><em>// <a href="id2428972.html#id2429028-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id2428972.html#id2429032-bb">period_put</a>(<span class="bold"><strong>const</strong></span> time_period_type &amp;, ostream_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2658854"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2658857"></a><h3>
+<a name="id2429028-bb"></a><code class="computeroutput">ostream_time_period_formatter</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2429032-bb"></a>period_put(<span class="bold"><strong>const</strong></span> time_period_type &amp; tp, ostream_type &amp; os) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ostream_time_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2406082"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_itr.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2434930.html b/doc/html/id2434930.html
new file mode 100644
index 0000000000..b40b69fbdd
--- /dev/null
+++ b/doc/html/id2434930.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class too_few_positional_options_error</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2369023" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="id2391976.html" title="Class too_many_positional_options_error">
+<link rel="next" href="id2338422.html" title="Class invalid_command_line_syntax">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2391976.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2369023"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2338422.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2434930"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class too_few_positional_options_error</span></h2>
+<p>boost::program_options::too_few_positional_options_error &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> too_few_positional_options_error
+ : : <span class="bold"><strong>public</strong></span> boost::program_options::error
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id2434930.html#id2434930construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id2434930.html#id2338407-bb">too_few_positional_options_error</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+  <span class="emphasis"><em>// <a href="id2434930.html#id2338402-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2598768"></a><h2>Description</h2>
+<p>Class thrown when there are too few positional options. </p>
+<div class="refsect2" lang="en">
+<a name="id2598774"></a><h3>
+<a name="id2434930construct-copy-destruct"></a><code class="computeroutput">too_few_positional_options_error</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2338407-bb"></a>too_few_positional_options_error(<span class="bold"><strong>const</strong></span> std::string &amp; what);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2598815"></a><h3>
+<a name="id2338402-bb"></a><code class="computeroutput">too_few_positional_options_error</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2391976.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2369023"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2338422.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2434970.html b/doc/html/id2434970.html
new file mode 100644
index 0000000000..47472dfca6
--- /dev/null
+++ b/doc/html/id2434970.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template dynamic_local_time_adjustor</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2485115" title="Header &lt;boost/date_time/local_time_adjustor.hpp&gt;">
+<link rel="prev" href="utc_adjustment.html" title="Class template utc_adjustment">
+<link rel="next" href="static_local_time_adjustor.html" title="Class template static_local_time_adjustor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="utc_adjustment.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2485115"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="static_local_time_adjustor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2434970"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template dynamic_local_time_adjustor</span></h2>
+<p>boost::date_time::dynamic_local_time_adjustor &#8212; Allow sliding utc adjustment with fixed dst rules. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type, <span class="bold"><strong>typename</strong></span> dst_rules&gt;
+<span class="bold"><strong>class</strong></span> dynamic_local_time_adjustor {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> time_type::time_duration_type time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> time_type::date_type          date_type;         
+
+  <span class="emphasis"><em>// <a href="id2434970.html#id2434970construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id2434970.html#id2392578-bb">dynamic_local_time_adjustor</a>(time_duration_type);
+
+  <span class="emphasis"><em>// <a href="id2434970.html#id2426558-bb">public member functions</a></em></span>
+  <span class="type">time_duration_type</span> <a href="id2434970.html#id2426563-bb">utc_offset</a>(<span class="bold"><strong>bool</strong></span>) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2523016"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2523020"></a><h3>
+<a name="id2434970construct-copy-destruct"></a><code class="computeroutput">dynamic_local_time_adjustor</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2392578-bb"></a>dynamic_local_time_adjustor(time_duration_type utc_offset);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2523052"></a><h3>
+<a name="id2426558-bb"></a><code class="computeroutput">dynamic_local_time_adjustor</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">time_duration_type</span> <a name="id2426563-bb"></a>utc_offset(<span class="bold"><strong>bool</strong></span> is_dst) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="utc_adjustment.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2485115"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="static_local_time_adjustor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2440843.html b/doc/html/id2440843.html
new file mode 100644
index 0000000000..1cb401d649
--- /dev/null
+++ b/doc/html/id2440843.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template parse_delimited_time_duration</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2440787" title="Header &lt;boost/date_time/time_parsing.hpp&gt;">
+<link rel="prev" href="time_itr.html" title="Class template time_itr">
+<link rel="next" href="id2463074.html" title="Struct time_resolution_traits_bi32_impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_itr.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2440787"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2463074.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2440843"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template parse_delimited_time_duration</span></h2>
+<p>boost::date_time::parse_delimited_time_duration &#8212; Creates a time_duration object from a delimited string. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration&gt;
+  <span class="type"><a href="id2451976.html" title="Class template time_duration">time_duration</a></span> parse_delimited_time_duration(<span class="bold"><strong>const</strong></span> std::string &amp; s);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2659921"></a><h2>Description</h2>
+<p>Expected format for string is "[-]h[h][:mm][:ss][.fff]". If the number of fractional digits provided is greater than the precision of the time duration type then the extra digits are truncated.</p>
+<p>A negative duration will be created if the first character in string is a '-', all other '-' will be treated as delimiters. Accepted delimiters are "-:,.". </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_itr.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2440787"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2463074.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2441838.html b/doc/html/id2441838.html
new file mode 100644
index 0000000000..f0a5ead834
--- /dev/null
+++ b/doc/html/id2441838.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2441816" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="from_ftime.html" title="Function template from_ftime">
+<link rel="next" href="id2441885.html" title="Function operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="from_ftime.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2441816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2441885.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2441838"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+</span></h2>
+<p>boost::posix_time::operator+ &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> <a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2676342"></a><h2>Description</h2>
+<p>Adds a months object and a ptime. Result will be same day-of-month as ptime unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="from_ftime.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2441816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2441885.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2441885.html b/doc/html/id2441885.html
new file mode 100644
index 0000000000..0b4e4cccf5
--- /dev/null
+++ b/doc/html/id2441885.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2441816" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id2441838.html" title="Function operator+">
+<link rel="next" href="id2441931.html" title="Function operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2441838.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2441816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2441931.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2441885"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+=</span></h2>
+<p>boost::posix_time::operator+= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>+=(<a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2676399"></a><h2>Description</h2>
+<p>Adds a months object to a ptime. Result will be same day-of-month as ptime unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2441838.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2441816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2441931.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2441931.html b/doc/html/id2441931.html
new file mode 100644
index 0000000000..7008798025
--- /dev/null
+++ b/doc/html/id2441931.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2441816" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id2441885.html" title="Function operator+=">
+<link rel="next" href="id2441978.html" title="Function operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2441885.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2441816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2441978.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2441931"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-</span></h2>
+<p>boost::posix_time::operator- &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> <a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2676461"></a><h2>Description</h2>
+<p>Subtracts a months object and a ptime. Result will be same day-of-month as ptime unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2441885.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2441816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2441978.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2441978.html b/doc/html/id2441978.html
new file mode 100644
index 0000000000..fb7cfb806e
--- /dev/null
+++ b/doc/html/id2441978.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2441816" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id2441931.html" title="Function operator-">
+<link rel="next" href="id2442024.html" title="Function operator+">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2441931.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2441816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2442024.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2441978"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-=</span></h2>
+<p>boost::posix_time::operator-= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>-=(<a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2676518"></a><h2>Description</h2>
+<p>Subtracts a months object from a ptime. Result will be same day-of-month as ptime unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2441931.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2441816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2442024.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2442024.html b/doc/html/id2442024.html
new file mode 100644
index 0000000000..ac2b705ad9
--- /dev/null
+++ b/doc/html/id2442024.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2441816" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id2441978.html" title="Function operator-=">
+<link rel="next" href="id2442665.html" title="Function operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2441978.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2441816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2442665.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2442024"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+</span></h2>
+<p>boost::posix_time::operator+ &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> <a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2676580"></a><h2>Description</h2>
+<p>Adds a years object and a ptime. Result will be same month and day-of-month as ptime unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2441978.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2441816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2442665.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2442665.html b/doc/html/id2442665.html
new file mode 100644
index 0000000000..00fabd8c37
--- /dev/null
+++ b/doc/html/id2442665.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2441816" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id2442024.html" title="Function operator+">
+<link rel="next" href="id2442711.html" title="Function operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2442024.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2441816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2442711.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2442665"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+=</span></h2>
+<p>boost::posix_time::operator+= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>+=(<a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2676637"></a><h2>Description</h2>
+<p>Adds a years object to a ptime. Result will be same month and day-of-month as ptime unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2442024.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2441816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2442711.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2442711.html b/doc/html/id2442711.html
new file mode 100644
index 0000000000..d5b133df6e
--- /dev/null
+++ b/doc/html/id2442711.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2441816" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id2442665.html" title="Function operator+=">
+<link rel="next" href="id2442758.html" title="Function operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2442665.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2441816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2442758.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2442711"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-</span></h2>
+<p>boost::posix_time::operator- &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> <a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2676699"></a><h2>Description</h2>
+<p>Subtracts a years object and a ptime. Result will be same month and day-of-month as ptime unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2442665.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2441816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2442758.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2442758.html b/doc/html/id2442758.html
new file mode 100644
index 0000000000..0b7d7af88f
--- /dev/null
+++ b/doc/html/id2442758.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2441816" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id2442711.html" title="Function operator-">
+<link rel="next" href="id2442833.html" title="Class time_duration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2442711.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2441816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2442833.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2442758"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-=</span></h2>
+<p>boost::posix_time::operator-= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>-=(<a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2676756"></a><h2>Description</h2>
+<p>Subtracts a years object from a ptime. Result will be same month and day-of-month as ptime unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2442711.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2441816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2442833.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2442833.html b/doc/html/id2442833.html
new file mode 100644
index 0000000000..41849c02cf
--- /dev/null
+++ b/doc/html/id2442833.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class time_duration</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2442818" title="Header &lt;boost/date_time/posix_time/posix_time_config.hpp&gt;">
+<link rel="prev" href="id2442758.html" title="Function operator-=">
+<link rel="next" href="simple_time_rep.html" title="Struct simple_time_rep">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2442758.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2442818"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="simple_time_rep.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2442833"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class time_duration</span></h2>
+<p>boost::posix_time::time_duration &#8212; Base time duration type. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> time_duration {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> time_res_traits                          rep_type;               
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::day_type                day_type;               
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::hour_type               hour_type;              
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::min_type                min_type;               
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::sec_type                sec_type;               
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::fractional_seconds_type fractional_seconds_type;
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::tick_type               tick_type;              
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::impl_type               impl_type;              
+
+  <span class="emphasis"><em>// <a href="id2442833.html#id2442833construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id2442833.html#id2442922-bb">time_duration</a>(hour_type, min_type, sec_type, fractional_seconds_type = 0);
+  <a href="id2442833.html#id2442970-bb">time_duration</a>();
+  <a href="id2442833.html#id2442973-bb">time_duration</a>(boost::date_time::special_values);
+  <a href="id2442833.html#id2442994-bb">time_duration</a>(impl_type);
+
+  <span class="emphasis"><em>// <a href="id2442833.html#id2442918-bb">public member functions</a></em></span>
+
+  <span class="emphasis"><em>// <a href="id2442833.html#id2442990-bb">private member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2677067"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2677070"></a><h3>
+<a name="id2442833construct-copy-destruct"></a><code class="computeroutput">time_duration</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2442922-bb"></a>time_duration(hour_type hour, min_type min, sec_type sec,
+              fractional_seconds_type fs = 0);</pre></li>
+<li><pre class="literallayout"><a name="id2442970-bb"></a>time_duration();</pre></li>
+<li><pre class="literallayout"><a name="id2442973-bb"></a>time_duration(boost::date_time::special_values sv);</pre></li>
+<li><pre class="literallayout"><a name="id2442994-bb"></a>time_duration(impl_type ticks);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2677150"></a><h3>
+<a name="id2442918-bb"></a><code class="computeroutput">time_duration</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2677169"></a><h3>
+<a name="id2442990-bb"></a><code class="computeroutput">time_duration</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2442758.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2442818"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="simple_time_rep.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2443265.html b/doc/html/id2443265.html
new file mode 100644
index 0000000000..02b0044217
--- /dev/null
+++ b/doc/html/id2443265.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class millisec_posix_time_system_config</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2442818" title="Header &lt;boost/date_time/posix_time/posix_time_config.hpp&gt;">
+<link rel="prev" href="posix_time_system_config.html" title="Class posix_time_system_config">
+<link rel="next" href="hours.html" title="Class hours">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="posix_time_system_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2442818"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hours.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2443265"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class millisec_posix_time_system_config</span></h2>
+<p>boost::posix_time::millisec_posix_time_system_config &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> millisec_posix_time_system_config {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::int64_t             time_rep_type;     
+  <span class="bold"><strong>typedef</strong></span> gregorian::date            date_type;         
+  <span class="bold"><strong>typedef</strong></span> gregorian::date_duration   date_duration_type;
+  <span class="bold"><strong>typedef</strong></span> <a href="id2442833.html" title="Class time_duration">time_duration</a>              time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::tick_type int_type;          
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::impl_type impl_type;         
+  <span class="bold"><strong>typedef</strong></span> time_res_traits            resolution_traits; 
+
+  <span class="emphasis"><em>// <a href="id2443265.html#id2443343-bb">public member functions</a></em></span>
+  <span class="type"></span> <a href="id2443265.html#id2443348-bb">BOOST_STATIC_CONSTANT</a>(boost::int64_t, tick_per_second = 1000000) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2677805"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2677808"></a><h3>
+<a name="id2443343-bb"></a><code class="computeroutput">millisec_posix_time_system_config</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"></span> <a name="id2443348-bb"></a>BOOST_STATIC_CONSTANT(boost::int64_t , tick_per_second = 1000000) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="posix_time_system_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2442818"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hours.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2444918.html b/doc/html/id2444918.html
new file mode 100644
index 0000000000..b648df2538
--- /dev/null
+++ b/doc/html/id2444918.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&gt;&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2444677" title="Header &lt;boost/date_time/posix_time/posix_time_legacy_io.hpp&gt;">
+<link rel="prev" href="seconds.html" title="Class seconds">
+<link rel="next" href="ptime.html" title="Class ptime">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="seconds.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2444677"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ptime.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2444918"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&gt;&gt;</span></h2>
+<p>boost::posix_time::operator&gt;&gt; &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+  <span class="type">std::basic_istream&lt; charT &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&gt;&gt;(std::basic_istream&lt; charT &gt; &amp; is, time_period &amp; tp);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2679174"></a><h2>Description</h2>
+<p>operator&gt;&gt; for time_period. time_period must be in "[date time_duration/date time_duration]" format. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="seconds.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2444677"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ptime.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2451531.html b/doc/html/id2451531.html
new file mode 100644
index 0000000000..2c25fa8107
--- /dev/null
+++ b/doc/html/id2451531.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template get_default_indeterminate_name</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2561687" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="indeterminate_name.html" title="Class template indeterminate_name">
+<link rel="next" href="id2531282.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="indeterminate_name.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2561687"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2531282.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2451531"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template get_default_indeterminate_name</span></h2>
+<p>boost::logic::get_default_indeterminate_name &#8212; Returns a string containing the default name for the indeterminate value of a tribool with the given character type T. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">std::basic_string&lt; T &gt;</span> get_default_indeterminate_name();</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2792974"></a><h2>Description</h2>
+<p>This routine is used by the input and output streaming operators for tribool when there is no locale support or the stream's locale does not contain the indeterminate_name facet. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="indeterminate_name.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2561687"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2531282.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2451976.html b/doc/html/id2451976.html
new file mode 100644
index 0000000000..a2f2288fb4
--- /dev/null
+++ b/doc/html/id2451976.html
@@ -0,0 +1,166 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template time_duration</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2451962" title="Header &lt;boost/date_time/time_duration.hpp&gt;">
+<link rel="prev" href="second_clock.html" title="Class template second_clock">
+<link rel="next" href="subsecond_duration.html" title="Class template subsecond_duration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="second_clock.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2451962"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="subsecond_duration.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2451976"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template time_duration</span></h2>
+<p>boost::date_time::time_duration &#8212; Represents some amount of elapsed time measure to a given resolution. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> rep_type&gt;
+<span class="bold"><strong>class</strong></span> time_duration {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> T                                 duration_type;          
+  <span class="bold"><strong>typedef</strong></span> rep_type                          traits_type;            
+  <span class="bold"><strong>typedef</strong></span> rep_type::day_type                day_type;               
+  <span class="bold"><strong>typedef</strong></span> rep_type::hour_type               hour_type;              
+  <span class="bold"><strong>typedef</strong></span> rep_type::min_type                min_type;               
+  <span class="bold"><strong>typedef</strong></span> rep_type::sec_type                sec_type;               
+  <span class="bold"><strong>typedef</strong></span> rep_type::fractional_seconds_type fractional_seconds_type;
+  <span class="bold"><strong>typedef</strong></span> rep_type::tick_type               tick_type;              
+  <span class="bold"><strong>typedef</strong></span> rep_type::impl_type               impl_type;              
+
+  <span class="emphasis"><em>// <a href="id2451976.html#id2451976construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id2451976.html#id2481917-bb">time_duration</a>();
+  <a href="id2451976.html#id2481920-bb">time_duration</a>(hour_type, min_type, sec_type = 0,
+                fractional_seconds_type = 0);
+  <a href="id2451976.html#id2481972-bb">time_duration</a>(<span class="bold"><strong>const</strong></span> <a href="id2451976.html" title="Class template time_duration">time_duration</a>&lt; T, rep_type &gt; &amp;);
+  <a href="id2451976.html#id2503266-bb">time_duration</a>(special_values);
+  <a href="id2451976.html#id2503360-bb">time_duration</a>(impl_type);
+
+  <span class="emphasis"><em>// <a href="id2451976.html#id2442237-bb">public member functions</a></em></span>
+  <span class="type">hour_type</span> <a href="id2451976.html#id2442242-bb">hours</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">min_type</span> <a href="id2451976.html#id2442258-bb">minutes</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">sec_type</span> <a href="id2451976.html#id2442274-bb">seconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">sec_type</span> <a href="id2451976.html#id2442291-bb">total_seconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">tick_type</span> <a href="id2451976.html#id2442308-bb">total_milliseconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">tick_type</span> <a href="id2451976.html#id2442325-bb">total_nanoseconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">tick_type</span> <a href="id2451976.html#id2482518-bb">total_microseconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">fractional_seconds_type</span> <a href="id2451976.html#id2482536-bb">fractional_seconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id2451976.html#id2482553-bb">invert_sign</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id2451976.html#id2482566-bb">is_negative</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id2451976.html#id2482578-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> <a href="id2451976.html" title="Class template time_duration">time_duration</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id2451976.html#id2384807-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="id2451976.html" title="Class template time_duration">time_duration</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id2451976.html#id2384833-bb"><span class="bold"><strong>operator</strong></span>-</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id2451976.html#id2384849-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id2451976.html#id2384872-bb"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id2451976.html#id2384894-bb"><span class="bold"><strong>operator</strong></span>/</a>(<span class="bold"><strong>int</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id2451976.html#id2453406-bb"><span class="bold"><strong>operator</strong></span>-=</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) ;
+  <span class="type">duration_type</span> <a href="id2451976.html#id2453429-bb"><span class="bold"><strong>operator</strong></span>+=</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) ;
+  <span class="type">duration_type</span> <a href="id2451976.html#id2453451-bb"><span class="bold"><strong>operator</strong></span>/=</a>(<span class="bold"><strong>int</strong></span>) ;
+  <span class="type">duration_type</span> <a href="id2451976.html#id2453478-bb"><span class="bold"><strong>operator</strong></span> *</a>(<span class="bold"><strong>int</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id2451976.html#id2453551-bb"><span class="bold"><strong>operator</strong></span> *=</a>(<span class="bold"><strong>int</strong></span>) ;
+  <span class="type">tick_type</span> <a href="id2451976.html#id2453573-bb">ticks</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id2451976.html#id2453586-bb">is_special</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id2451976.html#id2453602-bb">is_pos_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id2451976.html#id2453618-bb">is_neg_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id2451976.html#id2453634-bb">is_not_a_date_time</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">impl_type</span> <a href="id2451976.html#id2481900-bb">get_rep</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="id2451976.html#id2503283-bb">public static functions</a></em></span>
+  <span class="type">duration_type</span> <a href="id2451976.html#id2503288-bb">unit</a>() ;
+  <span class="type">tick_type</span> <a href="id2451976.html#id2503304-bb">ticks_per_second</a>() ;
+  <span class="type">time_resolutions</span> <a href="id2451976.html#id2503320-bb">resolution</a>() ;
+  <span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a href="id2451976.html#id2503337-bb">num_fractional_digits</a>() ;
+
+  <span class="emphasis"><em>// <a href="id2451976.html#id2503355-bb">protected member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2654411"></a><h2>Description</h2>
+<p>This class represents a standard set of capabilities for all counted time durations. Time duration implementations should derive from this class passing their type as the first template parameter. This design allows the subclass duration types to provide custom construction policies or other custom features not provided here.</p>
+<p></p>
+<div class="refsect2" lang="en">
+<a name="id2654424"></a><h3>
+<a name="id2451976construct-copy-destruct"></a><code class="computeroutput">time_duration</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2481917-bb"></a>time_duration();</pre></li>
+<li><pre class="literallayout"><a name="id2481920-bb"></a>time_duration(hour_type hours, min_type minutes, sec_type seconds = 0,
+              fractional_seconds_type frac_sec = 0);</pre></li>
+<li><pre class="literallayout"><a name="id2481972-bb"></a>time_duration(<span class="bold"><strong>const</strong></span> <a href="id2451976.html" title="Class template time_duration">time_duration</a>&lt; T, rep_type &gt; &amp; other);</pre></li>
+<li><pre class="literallayout"><a name="id2503266-bb"></a>time_duration(special_values sv);</pre></li>
+<li><pre class="literallayout"><a name="id2503360-bb"></a>time_duration(impl_type in);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2654531"></a><h3>
+<a name="id2442237-bb"></a><code class="computeroutput">time_duration</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">hour_type</span> <a name="id2442242-bb"></a>hours() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">min_type</span> <a name="id2442258-bb"></a>minutes() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">sec_type</span> <a name="id2442274-bb"></a>seconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">sec_type</span> <a name="id2442291-bb"></a>total_seconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id2442308-bb"></a>total_milliseconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id2442325-bb"></a>total_nanoseconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id2482518-bb"></a>total_microseconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">fractional_seconds_type</span> <a name="id2482536-bb"></a>fractional_seconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2482553-bb"></a>invert_sign() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2482566-bb"></a>is_negative() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2482578-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<span class="bold"><strong>const</strong></span> <a href="id2451976.html" title="Class template time_duration">time_duration</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2384807-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> <a href="id2451976.html" title="Class template time_duration">time_duration</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2384833-bb"></a><span class="bold"><strong>operator</strong></span>-() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2384849-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> duration_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2384872-bb"></a><span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> duration_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2384894-bb"></a><span class="bold"><strong>operator</strong></span>/(<span class="bold"><strong>int</strong></span> divisor) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2453406-bb"></a><span class="bold"><strong>operator</strong></span>-=(<span class="bold"><strong>const</strong></span> duration_type &amp; d) ;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2453429-bb"></a><span class="bold"><strong>operator</strong></span>+=(<span class="bold"><strong>const</strong></span> duration_type &amp; d) ;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2453451-bb"></a><span class="bold"><strong>operator</strong></span>/=(<span class="bold"><strong>int</strong></span> divisor) ;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2453478-bb"></a><span class="bold"><strong>operator</strong></span> *(<span class="bold"><strong>int</strong></span> rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2453551-bb"></a><span class="bold"><strong>operator</strong></span> *=(<span class="bold"><strong>int</strong></span> divisor) ;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id2453573-bb"></a>ticks() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2453586-bb"></a>is_special() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2453602-bb"></a>is_pos_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2453618-bb"></a>is_neg_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2453634-bb"></a>is_not_a_date_time() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">impl_type</span> <a name="id2481900-bb"></a>get_rep() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2655299"></a><h3>
+<a name="id2503283-bb"></a><code class="computeroutput">time_duration</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2503288-bb"></a>unit() ;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id2503304-bb"></a>ticks_per_second() ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_resolutions</span> <a name="id2503320-bb"></a>resolution() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a name="id2503337-bb"></a>num_fractional_digits() ;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2655397"></a><h3>
+<a name="id2503355-bb"></a><code class="computeroutput">time_duration</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="second_clock.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2451962"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="subsecond_duration.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2458348.html b/doc/html/id2458348.html
new file mode 100644
index 0000000000..49d3abe1d2
--- /dev/null
+++ b/doc/html/id2458348.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator!=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2455559" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id2459964.html" title="Function operator==">
+<link rel="next" href="BOOST_TRIBOOL_THIRD_STATE.html" title="Macro BOOST_TRIBOOL_THIRD_STATE">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2459964.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2455559"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TRIBOOL_THIRD_STATE.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2458348"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator!=</span></h2>
+<p>boost::logic::operator!= &#8212; Compare tribools for inequality. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="bold"><strong>bool</strong></span> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(<span class="bold"><strong>bool</strong></span> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(indeterminate_keyword_t , <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, indeterminate_keyword_t );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2638680"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the result of comparing two tribool values for inequality, according to the following table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">!=</code></strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2459964.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2455559"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TRIBOOL_THIRD_STATE.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2459964.html b/doc/html/id2459964.html
new file mode 100644
index 0000000000..99aeef4206
--- /dev/null
+++ b/doc/html/id2459964.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator==</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2455559" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id2417636.html" title="Function operator||">
+<link rel="next" href="id2458348.html" title="Function operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2417636.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2455559"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2458348.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2459964"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator==</span></h2>
+<p>boost::logic::operator== &#8212; Compare tribools for equality. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="bold"><strong>bool</strong></span> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>bool</strong></span> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(indeterminate_keyword_t , <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, indeterminate_keyword_t );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2638362"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the result of comparing two tribool values, according to the following table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">==</code></strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2417636.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2455559"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2458348.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2460171.html b/doc/html/id2460171.html
new file mode 100644
index 0000000000..6c13b70753
--- /dev/null
+++ b/doc/html/id2460171.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2460086" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="greg_facet_config.html" title="Struct greg_facet_config">
+<link rel="next" href="id2460249.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greg_facet_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2460086"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2460249.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2460171"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::gregorian::operator&lt;&lt; &#8212; ostream operator for gregorian::date </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+  <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os, <span class="bold"><strong>const</strong></span> <a href="boost/gregorian/date.html" title="Class date">date</a> &amp; d);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2671072"></a><h2>Description</h2>
+<p>Uses the date facet to determine various output parameters including:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>string values for the month (eg: Jan, Feb, Mar) (default: English)</p></li>
+<li><p>string values for special values (eg: not-a-date-time) (default: English)</p></li>
+<li><p>selection of long, short strings, or numerical month representation (default: short string)</p></li>
+<li><p>month day year order (default yyyy-mmm-dd) </p></li>
+</ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greg_facet_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2460086"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2460249.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2460249.html b/doc/html/id2460249.html
new file mode 100644
index 0000000000..cc137180a7
--- /dev/null
+++ b/doc/html/id2460249.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2460086" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="id2460171.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="id2460311.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2460171.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2460086"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2460311.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2460249"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::gregorian::operator&lt;&lt; &#8212; operator&lt;&lt; for gregorian::greg_month typically streaming: Jan, Feb, Mar... </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+  <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os, <span class="bold"><strong>const</strong></span> <a href="greg_month.html" title="Class greg_month">greg_month</a> &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2671165"></a><h2>Description</h2>
+<p>Uses the date facet to determine output string as well as selection of long or short strings. Default if no facet is installed is to output a 2 wide numeric value for the month eg: 01 == Jan, 02 == Feb, ... 12 == Dec. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2460171.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2460086"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2460311.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2460311.html b/doc/html/id2460311.html
new file mode 100644
index 0000000000..1615bbd493
--- /dev/null
+++ b/doc/html/id2460311.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2460086" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="id2460249.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="id2460372.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2460249.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2460086"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2460372.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2460311"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::gregorian::operator&lt;&lt; &#8212; operator&lt;&lt; for gregorian::greg_weekday typically streaming: Sun, Mon, Tue, ... </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+  <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os,
+             <span class="bold"><strong>const</strong></span> <a href="greg_weekday.html" title="Class greg_weekday">greg_weekday</a> &amp; wd);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2671245"></a><h2>Description</h2>
+<p>Uses the date facet to determine output string as well as selection of long or short string. Default if no facet is installed is to output a 3 char english string for the day of the week. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2460249.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2460086"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2460372.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2460372.html b/doc/html/id2460372.html
new file mode 100644
index 0000000000..460eda5b06
--- /dev/null
+++ b/doc/html/id2460372.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2460086" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="id2460311.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="bad_month.html" title="Struct bad_month">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2460311.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2460086"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_month.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2460372"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::gregorian::operator&lt;&lt; &#8212; operator&lt;&lt; for gregorian::date_period typical output: [2002-Jan-01/2002-Jan-31] </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+  <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os, <span class="bold"><strong>const</strong></span> date_period &amp; dp);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2671315"></a><h2>Description</h2>
+<p>Uses the date facet to determine output string as well as selection of long or short string fr dates. Default if no facet is installed is to output a 3 char english string for the day of the week. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2460311.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2460086"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_month.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2462174.html b/doc/html/id2462174.html
new file mode 100644
index 0000000000..536abb5d2c
--- /dev/null
+++ b/doc/html/id2462174.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function parse_environment</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2348797" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="id2383787.html" title="Function parse_environment">
+<link rel="next" href="id2525902.html" title="Class positional_options_description">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2383787.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2348797"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2525902.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2462174"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function parse_environment</span></h2>
+<p>boost::program_options::parse_environment &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL parsed_options</span>
+parse_environment(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp; , <span class="bold"><strong>const</strong></span> std::string &amp; prefix);
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL parsed_options</span>
+parse_environment(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp; , <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * prefix);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2724538"></a><h2>Description</h2>
+<p>Parse environment.</p>
+<p>Takes all environment variables which start with 'prefix'. The option name is obtained from variable name by removing the prefix and converting the remaining string into lower case. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2383787.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2348797"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2525902.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2463074.html b/doc/html/id2463074.html
new file mode 100644
index 0000000000..6ccdd14c1f
--- /dev/null
+++ b/doc/html/id2463074.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_resolution_traits_bi32_impl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2463060" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id2440843.html" title="Function template parse_delimited_time_duration">
+<link rel="next" href="id2463150.html" title="Struct time_resolution_traits_adapted32_impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2440843.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2463060"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2463150.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2463074"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_resolution_traits_bi32_impl</span></h2>
+<p>boost::date_time::time_resolution_traits_bi32_impl &#8212; traits struct for time_resolution_traits implementation type </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_resolution_traits_bi32_impl {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::int32_t int_type; 
+  <span class="bold"><strong>typedef</strong></span> boost::int32_t impl_type;
+
+  <span class="emphasis"><em>// <a href="id2463074.html#id2463103-bb">public static functions</a></em></span>
+  <span class="type">int_type</span> <a href="id2463074.html#id2463107-bb">as_number</a>(impl_type) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id2463074.html#id2463130-bb">is_adapted</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2660253"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2660256"></a><h3>
+<a name="id2463103-bb"></a><code class="computeroutput">time_resolution_traits_bi32_impl</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id2463107-bb"></a>as_number(impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2463130-bb"></a>is_adapted() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2440843.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2463060"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2463150.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2463150.html b/doc/html/id2463150.html
new file mode 100644
index 0000000000..72a34f59ab
--- /dev/null
+++ b/doc/html/id2463150.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_resolution_traits_adapted32_impl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2463060" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id2463074.html" title="Struct time_resolution_traits_bi32_impl">
+<link rel="next" href="id2405579.html" title="Struct time_resolution_traits_bi64_impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2463074.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2463060"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2405579.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2463150"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_resolution_traits_adapted32_impl</span></h2>
+<p>boost::date_time::time_resolution_traits_adapted32_impl &#8212; traits struct for time_resolution_traits implementation type </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_resolution_traits_adapted32_impl {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::int32_t                                  int_type; 
+  <span class="bold"><strong>typedef</strong></span> <a href="int_adapter.html" title="Class template int_adapter">boost::date_time::int_adapter</a>&lt; boost::int32_t &gt; impl_type;
+
+  <span class="emphasis"><em>// <a href="id2463150.html#id2405528-bb">public static functions</a></em></span>
+  <span class="type">int_type</span> <a href="id2463150.html#id2405532-bb">as_number</a>(impl_type) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id2463150.html#id2405559-bb">is_adapted</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2660409"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2660412"></a><h3>
+<a name="id2405528-bb"></a><code class="computeroutput">time_resolution_traits_adapted32_impl</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id2405532-bb"></a>as_number(impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2405559-bb"></a>is_adapted() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2463074.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2463060"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2405579.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2473370.html b/doc/html/id2473370.html
new file mode 100644
index 0000000000..6a04954555
--- /dev/null
+++ b/doc/html/id2473370.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template dst_adjustment_offsets</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2443927" title="Header &lt;boost/date_time/time_zone_base.hpp&gt;">
+<link rel="prev" href="time_zone_base.html" title="Class template time_zone_base">
+<link rel="next" href="time_zone_names_base.html" title="Class template time_zone_names_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_zone_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2443927"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_zone_names_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2473370"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template dst_adjustment_offsets</span></h2>
+<p>boost::date_time::dst_adjustment_offsets &#8212; Structure which holds the time offsets associated with daylight savings time. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration_type&gt;
+<span class="bold"><strong>class</strong></span> dst_adjustment_offsets {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id2473370.html#id2473370construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id2473370.html#id2473400-bb">dst_adjustment_offsets</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;,
+                         <span class="bold"><strong>const</strong></span> time_duration_type &amp;,
+                         <span class="bold"><strong>const</strong></span> time_duration_type &amp;);
+
+  <span class="emphasis"><em>// <a href="id2473370.html#id2473396-bb">public member functions</a></em></span>
+
+  time_duration_type dst_adjust_;
+  time_duration_type dst_start_offset_;
+  time_duration_type dst_end_offset_;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2664748"></a><h2>Description</h2>
+<p></p>
+<div class="refsect2" lang="en">
+<a name="id2664752"></a><h3>
+<a name="id2473370construct-copy-destruct"></a><code class="computeroutput">dst_adjustment_offsets</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2473400-bb"></a>dst_adjustment_offsets(<span class="bold"><strong>const</strong></span> time_duration_type &amp; dst_adjust,
+                       <span class="bold"><strong>const</strong></span> time_duration_type &amp; dst_start_offset,
+                       <span class="bold"><strong>const</strong></span> time_duration_type &amp; dst_end_offset);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2664810"></a><h3>
+<a name="id2473396-bb"></a><code class="computeroutput">dst_adjustment_offsets</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_zone_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2443927"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_zone_names_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2473733.html b/doc/html/id2473733.html
new file mode 100644
index 0000000000..9ecb97da49
--- /dev/null
+++ b/doc/html/id2473733.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2473714" title="Header &lt;boost/functional/hash/set.hpp&gt;">
+<link rel="prev" href="id2284811.html" title="Function hash_value">
+<link rel="next" href="id2477525.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2284811.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2473714"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2477525.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2473733"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::set&lt;K, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::multiset&lt;K, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2706450"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id2510242.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2284811.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2473714"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2477525.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2475183.html b/doc/html/id2475183.html
new file mode 100644
index 0000000000..d40ce2cfd9
--- /dev/null
+++ b/doc/html/id2475183.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2475160" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="custom_time_zone.html" title="Class custom_time_zone">
+<link rel="next" href="id2475230.html" title="Function operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="custom_time_zone.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2475230.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2475183"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+</span></h2>
+<p>boost::local_time::operator+ &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2681550"></a><h2>Description</h2>
+<p>Adds a months object and a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="custom_time_zone.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2475230.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2475230.html b/doc/html/id2475230.html
new file mode 100644
index 0000000000..8bfba5c8b5
--- /dev/null
+++ b/doc/html/id2475230.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2475160" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id2475183.html" title="Function operator+">
+<link rel="next" href="id2475277.html" title="Function operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2475183.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2475277.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2475230"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+=</span></h2>
+<p>boost::local_time::operator+= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>+=(local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2681596"></a><h2>Description</h2>
+<p>Adds a months object to a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2475183.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2475277.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2475277.html b/doc/html/id2475277.html
new file mode 100644
index 0000000000..f206c406ed
--- /dev/null
+++ b/doc/html/id2475277.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2475160" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id2475230.html" title="Function operator+=">
+<link rel="next" href="id2475325.html" title="Function operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2475230.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2475325.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2475277"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-</span></h2>
+<p>boost::local_time::operator- &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2681648"></a><h2>Description</h2>
+<p>Subtracts a months object and a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2475230.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2475325.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2475325.html b/doc/html/id2475325.html
new file mode 100644
index 0000000000..4749f71c41
--- /dev/null
+++ b/doc/html/id2475325.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2475160" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id2475277.html" title="Function operator-">
+<link rel="next" href="id2475371.html" title="Function operator+">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2475277.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2475371.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2475325"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-=</span></h2>
+<p>boost::local_time::operator-= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>-=(local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2681695"></a><h2>Description</h2>
+<p>Subtracts a months object from a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2475277.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2475371.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2475371.html b/doc/html/id2475371.html
new file mode 100644
index 0000000000..e3a13f53d1
--- /dev/null
+++ b/doc/html/id2475371.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2475160" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id2475325.html" title="Function operator-=">
+<link rel="next" href="id2475419.html" title="Function operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2475325.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2475419.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2475371"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+</span></h2>
+<p>boost::local_time::operator+ &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2681747"></a><h2>Description</h2>
+<p>Adds a years object and a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2475325.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2475419.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2475419.html b/doc/html/id2475419.html
new file mode 100644
index 0000000000..24b76a3194
--- /dev/null
+++ b/doc/html/id2475419.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2475160" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id2475371.html" title="Function operator+">
+<link rel="next" href="id2475466.html" title="Function operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2475371.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2475466.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2475419"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+=</span></h2>
+<p>boost::local_time::operator+= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>+=(local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2681794"></a><h2>Description</h2>
+<p>Adds a years object to a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2475371.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2475466.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2475466.html b/doc/html/id2475466.html
new file mode 100644
index 0000000000..ef9d0a8af1
--- /dev/null
+++ b/doc/html/id2475466.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2475160" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id2475419.html" title="Function operator+=">
+<link rel="next" href="id2475514.html" title="Function operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2475419.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2475514.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2475466"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-</span></h2>
+<p>boost::local_time::operator- &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2681846"></a><h2>Description</h2>
+<p>Subtracts a years object and a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2475419.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2475514.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2475514.html b/doc/html/id2475514.html
new file mode 100644
index 0000000000..7da8c1cedf
--- /dev/null
+++ b/doc/html/id2475514.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2475160" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id2475466.html" title="Function operator-">
+<link rel="next" href="partial_date_rule_spec.html" title="Struct partial_date_rule_spec">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2475466.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="partial_date_rule_spec.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2475514"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-=</span></h2>
+<p>boost::local_time::operator-= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>-=(local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2681893"></a><h2>Description</h2>
+<p>Subtracts a years object from a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2475466.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="partial_date_rule_spec.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2477525.html b/doc/html/id2477525.html
new file mode 100644
index 0000000000..468cd577ee
--- /dev/null
+++ b/doc/html/id2477525.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2477505" title="Header &lt;boost/functional/hash/map.hpp&gt;">
+<link rel="prev" href="id2473733.html" title="Function hash_value">
+<link rel="next" href="hash/links.html" title=" Links">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2473733.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2477505"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hash/links.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2477525"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::map&lt;K, T, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::multimap&lt;K, T, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2706734"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if
+ <code class="computeroutput"><a href="id2510242.html" title="Function hash_value">hash_value</a>(std::pair&lt;K const, T&gt;)</code>
+ throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2473733.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2477505"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hash/links.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2483937.html b/doc/html/id2483937.html
new file mode 100644
index 0000000000..8c5f233ebd
--- /dev/null
+++ b/doc/html/id2483937.html
@@ -0,0 +1,45 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Type ymd_order_spec</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2499163" title="Header &lt;boost/date_time/parse_format_base.hpp&gt;">
+<link rel="prev" href="microsec_clock.html" title="Class template microsec_clock">
+<link rel="next" href="period.html" title="Class template period">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="microsec_clock.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2499163"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="period.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2483937"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Type ymd_order_spec</span></h2>
+<p>boost::date_time::ymd_order_spec &#8212; Enum for distinguishing the order of Month, Day, &amp; Year. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+
+<span class="bold"><strong>enum</strong></span> ymd_order_spec { ymd_order_iso, ymd_order_dmy, ymd_order_us };</pre></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="microsec_clock.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2499163"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="period.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2484608.html b/doc/html/id2484608.html
new file mode 100644
index 0000000000..5e174564b0
--- /dev/null
+++ b/doc/html/id2484608.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator!</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2455559" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="indeterminate.html" title="Function indeterminate">
+<link rel="next" href="id2416802.html" title="Function operator&amp;&amp;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="indeterminate.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2455559"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2416802.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2484608"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator!</span></h2>
+<p>boost::logic::operator! &#8212; Computes the logical negation of a tribool. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2637477"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the logical negation of the tribool, according to the table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">!</code></strong></span></td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">true</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">false</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="indeterminate.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2455559"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2416802.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2490467.html b/doc/html/id2490467.html
new file mode 100644
index 0000000000..c824c886cf
--- /dev/null
+++ b/doc/html/id2490467.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2446813" title="Header &lt;boost/functional/hash/vector.hpp&gt;">
+<link rel="prev" href="id2386234.html" title="Function hash_value">
+<link rel="next" href="id2514166.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2386234.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2446813"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2514166.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2490467"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::vector&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2705859"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id2510242.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2386234.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2446813"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2514166.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2492742.html b/doc/html/id2492742.html
new file mode 100644
index 0000000000..1286c715a7
--- /dev/null
+++ b/doc/html/id2492742.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class invalid_command_line_syntax</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2399042" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="id2509958.html" title="Class too_few_positional_options_error">
+<link rel="next" href="invalid_command_line_style.html" title="Class invalid_command_line_style">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2509958.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="invalid_command_line_style.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2492742"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class invalid_command_line_syntax</span></h2>
+<p>boost::program_options::invalid_command_line_syntax &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> invalid_command_line_syntax {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id2492742.html#id2492742construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id2492742.html#id2358543-bb">invalid_command_line_syntax</a>(<span class="bold"><strong>const</strong></span> std::string &amp;, kind_t);
+
+  <span class="emphasis"><em>// <a href="id2492742.html#id2447084-bb">public member functions</a></em></span>
+  <span class="type">kind_t</span> <a href="id2492742.html#id2447089-bb">kind</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="id2492742.html#id2438903-bb">protected static functions</a></em></span>
+  <span class="type">std::string</span> <a href="id2492742.html#id2438907-bb">error_message</a>(kind_t) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2719901"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2719905"></a><h3>
+<a name="id2492742construct-copy-destruct"></a><code class="computeroutput">invalid_command_line_syntax</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2358543-bb"></a>invalid_command_line_syntax(<span class="bold"><strong>const</strong></span> std::string &amp; tokens, kind_t kind);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2719946"></a><h3>
+<a name="id2447084-bb"></a><code class="computeroutput">invalid_command_line_syntax</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">kind_t</span> <a name="id2447089-bb"></a>kind() <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2719988"></a><h3>
+<a name="id2438903-bb"></a><code class="computeroutput">invalid_command_line_syntax</code> protected static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">std::string</span> <a name="id2438907-bb"></a>error_message(kind_t kind) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2509958.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="invalid_command_line_style.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2492905-bb.html b/doc/html/id2492905-bb.html
new file mode 100644
index 0000000000..ecdc6cb846
--- /dev/null
+++ b/doc/html/id2492905-bb.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class simple_format&lt;wchar_t&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2462095" title="Header &lt;boost/date_time/date_format_simple.hpp&gt;">
+<link rel="prev" href="simple_format.html" title="Class template simple_format">
+<link rel="next" href="month_formatter.html" title="Class template month_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="simple_format.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2462095"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="month_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2492905-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class simple_format&lt;wchar_t&gt;</span></h2>
+<p>boost::date_time::simple_format&lt;wchar_t&gt; &#8212; Specialization of formmating rules for wchar_t. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> simple_format&lt;<span class="bold"><strong>wchar_t</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="id2492905-bb.html#id2516934-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id2492905-bb.html#id2454622-bb">not_a_date</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id2492905-bb.html#id2469665-bb">pos_infinity</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id2492905-bb.html#id2508025-bb">neg_infinity</a>() ;
+  <span class="type">month_format_spec</span> <a href="id2492905-bb.html#id2514014-bb">month_format</a>() ;
+  <span class="type">ymd_order_spec</span> <a href="id2492905-bb.html#id2512250-bb">date_order</a>() ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id2492905-bb.html#id2512698-bb">has_date_sep_chars</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id2492905-bb.html#id2517825-bb">year_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id2492905-bb.html#id2516346-bb">month_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id2492905-bb.html#id2411144-bb">day_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id2492905-bb.html#id2496699-bb">hour_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id2492905-bb.html#id2463765-bb">minute_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id2492905-bb.html#id2494344-bb">second_sep_char</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2618622"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2618625"></a><h3>
+<a name="id2516934-bb"></a><code class="computeroutput">simple_format</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id2454622-bb"></a>not_a_date() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id2469665-bb"></a>pos_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id2508025-bb"></a>neg_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type">month_format_spec</span> <a name="id2514014-bb"></a>month_format() ;</pre></li>
+<li><pre class="literallayout"><span class="type">ymd_order_spec</span> <a name="id2512250-bb"></a>date_order() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2512698-bb"></a>has_date_sep_chars() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id2517825-bb"></a>year_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id2516346-bb"></a>month_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id2411144-bb"></a>day_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id2496699-bb"></a>hour_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id2463765-bb"></a>minute_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id2494344-bb"></a>second_sep_char() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="simple_format.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2462095"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="month_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2496250.html b/doc/html/id2496250.html
new file mode 100644
index 0000000000..4fdd32a571
--- /dev/null
+++ b/doc/html/id2496250.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template get_default_indeterminate_name</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2361892" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="indeterminate_name.html" title="Class template indeterminate_name">
+<link rel="next" href="id2395071.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="indeterminate_name.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2361892"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2395071.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2496250"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template get_default_indeterminate_name</span></h2>
+<p>boost::logic::get_default_indeterminate_name &#8212; Returns a string containing the default name for the indeterminate value of a tribool with the given character type T. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">std::basic_string&lt; T &gt;</span> get_default_indeterminate_name();</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2639501"></a><h2>Description</h2>
+<p>This routine is used by the input and output streaming operators for tribool when there is no locale support or the stream's locale does not contain the indeterminate_name facet. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="indeterminate_name.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2361892"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2395071.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2498096-bb.html b/doc/html/id2498096-bb.html
new file mode 100644
index 0000000000..ebefeb296d
--- /dev/null
+++ b/doc/html/id2498096-bb.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class last_value&lt;void&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="signals/reference.html#id2488444" title="Header &lt;boost/last_value.hpp&gt;">
+<link rel="prev" href="last_value.html" title="Class template last_value">
+<link rel="next" href="signals/s04.html" title="Frequently Asked Questions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="last_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id2488444"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="signals/s04.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2498096-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class last_value&lt;void&gt;</span></h2>
+<p>boost::last_value&lt;void&gt; &#8212; Evaluate an InputIterator sequence.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> last_value&lt;<span class="bold"><strong>void</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> result_type;
+
+  <span class="emphasis"><em>// <a href="id2498096-bb.html#id2465519-bb">invocation</a></em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
+    <span class="type">result_type</span> <a href="id2498096-bb.html#id2454614-bb"><span class="bold"><strong>operator</strong></span>()</a>(InputIterator, InputIterator) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2617829"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2617832"></a><h3>
+<a name="id2465519-bb"></a><code class="computeroutput">last_value</code> invocation</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
+  <span class="type">result_type</span> <a name="id2454614-bb"></a><span class="bold"><strong>operator</strong></span>()(InputIterator first, InputIterator last) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Dereferences every iterator in the sequence <code class="computeroutput">[first, last)</code>.</p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="last_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id2488444"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="signals/s04.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2501105.html b/doc/html/id2501105.html
new file mode 100644
index 0000000000..9cd833b54b
--- /dev/null
+++ b/doc/html/id2501105.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template regex_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2382044" title="Header &lt;boost/algorithm/string/regex_find_format.hpp&gt;">
+<link rel="prev" href="id2569821.html" title="Function template regex_finder">
+<link rel="next" href="replace_range_copy.html" title="Function replace_range_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2569821.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2382044"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_range_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2501105"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template regex_formatter</span></h2>
+<p>boost::algorithm::regex_formatter &#8212; Regex formatter. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT, <span class="bold"><strong>typename</strong></span> AllocT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> regex_formatter(<span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, TraitsT, AllocT &gt; &amp; Format,
+                              match_flag_type Flags = format_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2765830"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">regex_formatter</code> . Regex formatter uses the regex engine to format a match found by the <code class="computeroutput">regex_finder</code> . This formatted it designed to closely cooperate with <code class="computeroutput">regex_finder</code> .</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Flags</span></dt>
+<dd><p>Format flags </p></dd>
+<dt><span class="term">Format</span></dt>
+<dd><p>Regex format definition </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">regex_formatter</code> functor </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2569821.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2382044"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_range_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2503912.html b/doc/html/id2503912.html
new file mode 100644
index 0000000000..124481261e
--- /dev/null
+++ b/doc/html/id2503912.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2350414" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id2346601.html" title="Function hash_value">
+<link rel="next" href="id2393344.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2346601.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2350414"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2393344.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2503912"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for pointers.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">std::size_t</span> hash_value(T* <span class="bold"><strong>const</strong></span>&amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2705231"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+
+ An unspecified value, except that equal arguments shall yield the same
+ result
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2346601.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2350414"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2393344.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2509958.html b/doc/html/id2509958.html
new file mode 100644
index 0000000000..2b6965b93f
--- /dev/null
+++ b/doc/html/id2509958.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class too_few_positional_options_error</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2399042" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="id2382392.html" title="Class too_many_positional_options_error">
+<link rel="next" href="id2492742.html" title="Class invalid_command_line_syntax">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2382392.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2492742.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2509958"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class too_few_positional_options_error</span></h2>
+<p>boost::program_options::too_few_positional_options_error &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> too_few_positional_options_error
+ : : <span class="bold"><strong>public</strong></span> boost::program_options::error
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id2509958.html#id2509958construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id2509958.html#id2464031-bb">too_few_positional_options_error</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+  <span class="emphasis"><em>// <a href="id2509958.html#id2464027-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2719722"></a><h2>Description</h2>
+<p>Class thrown when there are too few positional options. </p>
+<div class="refsect2" lang="en">
+<a name="id2719729"></a><h3>
+<a name="id2509958construct-copy-destruct"></a><code class="computeroutput">too_few_positional_options_error</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2464031-bb"></a>too_few_positional_options_error(<span class="bold"><strong>const</strong></span> std::string &amp; what);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2719769"></a><h3>
+<a name="id2464027-bb"></a><code class="computeroutput">too_few_positional_options_error</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2382392.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2492742.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2510242.html b/doc/html/id2510242.html
new file mode 100644
index 0000000000..addefb63cf
--- /dev/null
+++ b/doc/html/id2510242.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2350414" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="hash_range.html" title="Function hash_range">
+<link rel="next" href="id2346601.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hash_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2350414"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2346601.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2510242"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for integers.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>int</strong></span> val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>long</strong></span> val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>long</strong></span> val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2705012"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">val</code></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hash_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2350414"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2346601.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2514166.html b/doc/html/id2514166.html
new file mode 100644
index 0000000000..fd45300d33
--- /dev/null
+++ b/doc/html/id2514166.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id2431434" title="Header &lt;boost/functional/hash/list.hpp&gt;">
+<link rel="prev" href="id2490467.html" title="Function hash_value">
+<link rel="next" href="id2284811.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2490467.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2431434"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2284811.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2514166"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::list&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2706024"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id2510242.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2490467.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id2431434"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2284811.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2522859-bb.html b/doc/html/id2522859-bb.html
new file mode 100644
index 0000000000..508def12bd
--- /dev/null
+++ b/doc/html/id2522859-bb.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class iso_format_base&lt;wchar_t&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2447644" title="Header &lt;boost/date_time/iso_format.hpp&gt;">
+<link rel="prev" href="iso_format_base.html" title="Class template iso_format_base">
+<link rel="next" href="iso_format.html" title="Class template iso_format">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iso_format_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2447644"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="iso_format.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2522859-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class iso_format_base&lt;wchar_t&gt;</span></h2>
+<p>boost::date_time::iso_format_base&lt;wchar_t&gt; &#8212; Class to provide common iso formatting spec. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> iso_format_base&lt;<span class="bold"><strong>wchar_t</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="id2522859-bb.html#id2514833-bb">public static functions</a></em></span>
+  <span class="type">month_format_spec</span> <a href="id2522859-bb.html#id2514838-bb">month_format</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id2522859-bb.html#id2503795-bb">not_a_date</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id2522859-bb.html#id2503810-bb">pos_infinity</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id2522859-bb.html#id2527667-bb">neg_infinity</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id2522859-bb.html#id2501014-bb">year_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id2522859-bb.html#id2412124-bb">month_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id2522859-bb.html#id2508315-bb">day_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id2522859-bb.html#id2508331-bb">hour_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id2522859-bb.html#id2456844-bb">minute_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id2522859-bb.html#id2406742-bb">second_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id2522859-bb.html#id2522754-bb">period_start_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id2522859-bb.html#id2522770-bb">time_start_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id2522859-bb.html#id2494142-bb">week_start_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id2522859-bb.html#id2516800-bb">period_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id2522859-bb.html#id2512898-bb">time_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id2522859-bb.html#id2512914-bb">fractional_time_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id2522859-bb.html#id2477736-bb">is_component_sep</a>(<span class="bold"><strong>wchar_t</strong></span>) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id2522859-bb.html#id2385488-bb">is_fractional_time_sep</a>(<span class="bold"><strong>wchar_t</strong></span>) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id2522859-bb.html#id2516158-bb">is_timezone_sep</a>(<span class="bold"><strong>wchar_t</strong></span>) ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id2522859-bb.html#id2457891-bb">element_sep_char</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2641545"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2641548"></a><h3>
+<a name="id2514833-bb"></a><code class="computeroutput">iso_format_base</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">month_format_spec</span> <a name="id2514838-bb"></a>month_format() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id2503795-bb"></a>not_a_date() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id2503810-bb"></a>pos_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id2527667-bb"></a>neg_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id2501014-bb"></a>year_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id2412124-bb"></a>month_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id2508315-bb"></a>day_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id2508331-bb"></a>hour_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id2456844-bb"></a>minute_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id2406742-bb"></a>second_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id2522754-bb"></a>period_start_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id2522770-bb"></a>time_start_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id2494142-bb"></a>week_start_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id2516800-bb"></a>period_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id2512898-bb"></a>time_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id2512914-bb"></a>fractional_time_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2477736-bb"></a>is_component_sep(<span class="bold"><strong>wchar_t</strong></span> sep) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2385488-bb"></a>is_fractional_time_sep(<span class="bold"><strong>wchar_t</strong></span> sep) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2516158-bb"></a>is_timezone_sep(<span class="bold"><strong>wchar_t</strong></span> sep) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id2457891-bb"></a>element_sep_char() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iso_format_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2447644"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="iso_format.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2525902.html b/doc/html/id2525902.html
new file mode 100644
index 0000000000..f63099f57f
--- /dev/null
+++ b/doc/html/id2525902.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class positional_options_description</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2525887" title="Header &lt;boost/program_options/positional_options.hpp&gt;">
+<link rel="prev" href="id2462174.html" title="Function parse_environment">
+<link rel="next" href="value_semantic.html" title="Class value_semantic">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2462174.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2525887"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="value_semantic.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2525902"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class positional_options_description</span></h2>
+<p>boost::program_options::positional_options_description &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> positional_options_description {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id2525902.html#id2525902construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id2525902.html#id2374973-bb">positional_options_description</a>();
+
+  <span class="emphasis"><em>// <a href="id2525902.html#id2546813-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id2525902.html#id2371683-bb">add</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>int</strong></span>) ;
+  <span class="type"><span class="bold"><strong>unsigned</strong></span></span> <a href="id2525902.html#id2344826-bb">max_total_count</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> std::string &amp;</span> <a href="id2525902.html#id2344848-bb">name_for_position</a>(<span class="bold"><strong>unsigned</strong></span>) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2724740"></a><h2>Description</h2>
+<p>Describes positional options.</p>
+<p>The class allows to guess option names for positional options, which are specified on the command line and are identified by the position. The class uses the information provided by the user to associate a name with every positional option, or tell that no name is known.</p>
+<p>The primary assumption is that only the relative order of the positional options themselves matters, and that any interleaving ordinary options don't affect interpretation of positional options.</p>
+<p>The user initializes the class by specifying that first N positional options should be given the name X1, following M options should be given the name X2 and so on. </p>
+<div class="refsect2" lang="en">
+<a name="id2724764"></a><h3>
+<a name="id2525902construct-copy-destruct"></a><code class="computeroutput">positional_options_description</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2374973-bb"></a>positional_options_description();</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2724798"></a><h3>
+<a name="id2546813-bb"></a><code class="computeroutput">positional_options_description</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2371683-bb"></a>add(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>int</strong></span> max_count) ;</pre>
+<p>Species that up to 'max_count' next positional options should be given the 'name'. The value of '-1' means 'unlimited'. No calls to 'add' can be made after call with 'max_value' equal to '-1'. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span></span> <a name="id2344826-bb"></a>max_total_count() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns the maximum number of positional options that can be present. Can return numeric_limits&lt;unsigned&gt;::max() to indicate unlimited number. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> std::string &amp;</span> <a name="id2344848-bb"></a>name_for_position(<span class="bold"><strong>unsigned</strong></span> position) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns the name that should be associated with positional options at 'position'. Precondition: position &lt; max_total_count() </p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2462174.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2525887"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="value_semantic.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2531282.html b/doc/html/id2531282.html
new file mode 100644
index 0000000000..4f6f2d5e33
--- /dev/null
+++ b/doc/html/id2531282.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2561687" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="id2451531.html" title="Function template get_default_indeterminate_name">
+<link rel="next" href="id2423887.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2451531.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2561687"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2423887.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2531282"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::logic::operator&lt;&lt; &#8212; Writes the value of a tribool to a stream. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+  <span class="type">std::basic_ostream&lt; CharT, Traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, Traits &gt; &amp; out, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2793043"></a><h2>Description</h2>
+<p>When the value of <code class="computeroutput">x</code> is either <code class="computeroutput">true</code> or <code class="computeroutput">false</code> , this routine is semantically equivalent to: </p>
+<pre class="programlisting"> out &lt;&lt; static_cast&lt;bool&gt;(x);
+</pre>
+<p>When <code class="computeroutput">x</code> has an indeterminate value, it outputs either the integer value 2 (if <code class="computeroutput">(out.flags() &amp; std::ios_base::boolalpha) == 0</code> ) or the name of the indeterminate value. The name of the indeterminate value comes from the indeterminate_name facet (if it is defined in the output stream's locale), or from the get_default_indeterminate_name function (if it is not defined in the locale or if the C++ standard library implementation does not support locales).</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">out</code></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2451531.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2561687"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2423887.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2535733.html b/doc/html/id2535733.html
new file mode 100644
index 0000000000..df15b0ccd5
--- /dev/null
+++ b/doc/html/id2535733.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator&amp;&amp;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2426531" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id2427956.html" title="Function operator!">
+<link rel="next" href="id2394886.html" title="Function operator||">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2427956.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2426531"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2394886.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2535733"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator&amp;&amp;</span></h2>
+<p>boost::logic::operator&amp;&amp; &#8212; Computes the logical conjuction of two tribools. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="bold"><strong>bool</strong></span> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<span class="bold"><strong>bool</strong></span> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(indeterminate_keyword_t , <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, indeterminate_keyword_t );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2791201"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the result of logically ANDing the two tribool values, according to the following table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">&amp;&amp;</code></strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">false</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2427956.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2426531"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2394886.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2545607.html b/doc/html/id2545607.html
new file mode 100644
index 0000000000..4466bd1f7e
--- /dev/null
+++ b/doc/html/id2545607.html
@@ -0,0 +1,45 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Type xtime_clock_types</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id2416096" title="Header &lt;boost/thread/xtime.hpp&gt;">
+<link rel="prev" href="thread_specific_ptr.html" title="Class thread_specific_ptr">
+<link rel="next" href="xtime.html" title="Struct xtime">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="thread_specific_ptr.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2416096"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="xtime.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2545607"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Type xtime_clock_types</span></h2>
+<p>boost::xtime_clock_types &#8212; <p>Specifies the clock type to use when creating
+ an object of type <a href="xtime.html" title="Struct xtime">xtime</a>.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>enum</strong></span> xtime_clock_types { TIME_UTC };</pre></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="thread_specific_ptr.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2416096"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="xtime.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2559243.html b/doc/html/id2559243.html
new file mode 100644
index 0000000000..76df9aefff
--- /dev/null
+++ b/doc/html/id2559243.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template regex_finder</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2441187" title="Header &lt;boost/algorithm/string/find_format.hpp&gt;">
+<link rel="prev" href="find_format_all.html" title="Function template find_format_all">
+<link rel="next" href="id2586835.html" title="Function template regex_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_format_all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2441187"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2586835.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2559243"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template regex_finder</span></h2>
+<p>boost::algorithm::regex_finder &#8212; "Regex" finder </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> regex_finder(<span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+                           match_flag_type MatchFlags = match_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2757416"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">regex_finder</code> . Finder uses the regex engine to search for a match. Result is given in <code class="computeroutput">regex_search_result</code> . This is an extension of the iterator_range. In addition it containes match results from the <code class="computeroutput">regex_search</code> algorithm.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">MatchFlags</span></dt>
+<dd><p>Regex search options </p></dd>
+<dt><span class="term">Rx</span></dt>
+<dd><p>A regular expression </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">regex_finder</code> object </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_format_all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2441187"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2586835.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2567673.html b/doc/html/id2567673.html
new file mode 100644
index 0000000000..c47feae3f8
--- /dev/null
+++ b/doc/html/id2567673.html
@@ -0,0 +1,44 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Type token_compress_mode_type</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2384198" title="Header &lt;boost/algorithm/string/constants.hpp&gt;">
+<link rel="prev" href="FormatterConcept.html" title="Struct template FormatterConcept">
+<link rel="next" href="erase_range_copy.html" title="Function erase_range_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="FormatterConcept.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2384198"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_range_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2567673"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Type token_compress_mode_type</span></h2>
+<p>boost::algorithm::token_compress_mode_type &#8212; Token compression mode. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>enum</strong></span> token_compress_mode_type { token_compress_on, token_compress_off };</pre></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="FormatterConcept.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2384198"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_range_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2568583.html b/doc/html/id2568583.html
new file mode 100644
index 0000000000..753a58726f
--- /dev/null
+++ b/doc/html/id2568583.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&amp;&amp;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2336200" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="is_from_range.html" title="Function template is_from_range">
+<link rel="next" href="id2571496.html" title="Function template operator||">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_from_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2571496.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2568583"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&amp;&amp;</span></h2>
+<p>boost::algorithm::operator&amp;&amp; &#8212; predicate 'and' composition predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Pred1T, <span class="bold"><strong>typename</strong></span> Pred2T&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<span class="bold"><strong>const</strong></span> predicate_facade&lt; Pred1T &gt; &amp; Pred1,
+                         <span class="bold"><strong>const</strong></span> predicate_facade&lt; Pred2T &gt; &amp; Pred2);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2748719"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">class_and</code> predicate. This predicate can be used to logically combine two classification predicates. <code class="computeroutput">class_and</code> holds, if both predicates return true.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Pred1</span></dt>
+<dd><p>The first predicate </p></dd>
+<dt><span class="term">Pred2</span></dt>
+<dd><p>The second predicate </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">class_and</code> predicate </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_from_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2571496.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2569821.html b/doc/html/id2569821.html
new file mode 100644
index 0000000000..4588509b6f
--- /dev/null
+++ b/doc/html/id2569821.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template regex_finder</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2382044" title="Header &lt;boost/algorithm/string/regex_find_format.hpp&gt;">
+<link rel="prev" href="split_regex.html" title="Function template split_regex">
+<link rel="next" href="id2501105.html" title="Function template regex_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="split_regex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2382044"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2501105.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2569821"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template regex_finder</span></h2>
+<p>boost::algorithm::regex_finder &#8212; "Regex" finder </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> regex_finder(<span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+                           match_flag_type MatchFlags = match_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2765701"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">regex_finder</code> . Finder uses the regex engine to search for a match. Result is given in <code class="computeroutput">regex_search_result</code> . This is an extension of the iterator_range. In addition it containes match results from the <code class="computeroutput">regex_search</code> algorithm.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">MatchFlags</span></dt>
+<dd><p>Regex search options </p></dd>
+<dt><span class="term">Rx</span></dt>
+<dd><p>A regular expression </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">regex_finder</code> object </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="split_regex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2382044"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2501105.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2571496.html b/doc/html/id2571496.html
new file mode 100644
index 0000000000..faac72f211
--- /dev/null
+++ b/doc/html/id2571496.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator||</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2336200" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="id2568583.html" title="Function template operator&amp;&amp;">
+<link rel="next" href="id2374912.html" title="Function template operator!">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2568583.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2374912.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2571496"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator||</span></h2>
+<p>boost::algorithm::operator|| &#8212; predicate 'or' composition predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Pred1T, <span class="bold"><strong>typename</strong></span> Pred2T&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <span class="bold"><strong>operator</strong></span>||(<span class="bold"><strong>const</strong></span> predicate_facade&lt; Pred1T &gt; &amp; Pred1,
+                         <span class="bold"><strong>const</strong></span> predicate_facade&lt; Pred2T &gt; &amp; Pred2);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2748842"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">class_or</code> predicate. This predicate can be used to logically combine two classification predicates. <code class="computeroutput">class_or</code> holds, if one of the predicates return true.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Pred1</span></dt>
+<dd><p>The first predicate </p></dd>
+<dt><span class="term">Pred2</span></dt>
+<dd><p>The second predicate </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">class_or</code> predicate </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2568583.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2374912.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2580251.html b/doc/html/id2580251.html
new file mode 100644
index 0000000000..4746aa43cb
--- /dev/null
+++ b/doc/html/id2580251.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template split</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2541245" title="Header &lt;boost/algorithm/string/split.hpp&gt;">
+<link rel="prev" href="ifind_all.html" title="Function template ifind_all">
+<link rel="next" href="trim_left_copy_if.html" title="Function trim_left_copy_if">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ifind_all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2541245"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_left_copy_if.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2580251"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template split</span></h2>
+<p>boost::algorithm::split &#8212; Split algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceSequenceT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+  <span class="type">SequenceSequenceT &amp;</span>
+  split(SequenceSequenceT &amp; Result, RangeT &amp; Input, PredicateT Pred,
+        token_compress_mode_type eCompress = token_compress_off);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2772641"></a><h2>Description</h2>
+<p>Tokenize expression. This function is equivalent to C strtok. Input sequence is split into tokens, separated by separators. Separators are given by means of the predicate.</p>
+<p>Each part is copied and added as a new element to the output container. Thus the result container must be able to hold copies of the matches (in a compatible structure like std::string) or a reference to it (e.g. using the iterator range class). Examples of such a container are <code class="computeroutput">std::vector&lt;std::string&gt;</code> or <code class="computeroutput">std::list&lt;boost::iterator_range&lt;std::string::iterator&gt;&gt;</code></p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>A container which will be searched. </p></dd>
+<dt><span class="term">Pred</span></dt>
+<dd><p>A predicate to identify separators. This predicate is supposed to return true if a given element is a separator. </p></dd>
+<dt><span class="term">Result</span></dt>
+<dd><p>A container that can hold copies of references to the substrings </p></dd>
+<dt><span class="term">eCompress</span></dt>
+<dd><p>If eCompress argument is set to token_compress_on, adjacent separators are merged together. Otherwise, every two separators delimit a token. </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ A reference the result<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Prior content of the result will be overwritten.<p>This function provides the strong exception-safety guarantee </p></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ifind_all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2541245"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_left_copy_if.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2586835.html b/doc/html/id2586835.html
new file mode 100644
index 0000000000..b086b97e1f
--- /dev/null
+++ b/doc/html/id2586835.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template regex_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2441187" title="Header &lt;boost/algorithm/string/find_format.hpp&gt;">
+<link rel="prev" href="id2559243.html" title="Function template regex_finder">
+<link rel="next" href="find_iterator.html" title="Class template find_iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2559243.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2441187"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_iterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2586835"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template regex_formatter</span></h2>
+<p>boost::algorithm::regex_formatter &#8212; Regex formatter. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT, <span class="bold"><strong>typename</strong></span> AllocT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> regex_formatter(<span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, TraitsT, AllocT &gt; &amp; Format,
+                              match_flag_type Flags = format_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2757546"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">regex_formatter</code> . Regex formatter uses the regex engine to format a match found by the <code class="computeroutput">regex_finder</code> . This formatted it designed to closely cooperate with <code class="computeroutput">regex_finder</code> .</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Flags</span></dt>
+<dd><p>Format flags </p></dd>
+<dt><span class="term">Format</span></dt>
+<dd><p>Regex format definition </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">regex_formatter</code> functor </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2559243.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2441187"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_iterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2591657-bb.html b/doc/html/id2591657-bb.html
new file mode 100644
index 0000000000..c250bdd1bb
--- /dev/null
+++ b/doc/html/id2591657-bb.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class last_value&lt;void&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="signals/reference.html#id2540157" title="Header &lt;boost/last_value.hpp&gt;">
+<link rel="prev" href="last_value.html" title="Class template last_value">
+<link rel="next" href="signals/s04.html" title="Frequently Asked Questions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="last_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id2540157"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="signals/s04.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2591657-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class last_value&lt;void&gt;</span></h2>
+<p>boost::last_value&lt;void&gt; &#8212; Evaluate an InputIterator sequence.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> last_value&lt;<span class="bold"><strong>void</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> result_type;
+
+  <span class="emphasis"><em>// <a href="id2591657-bb.html#id2559279-bb">invocation</a></em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> <a href="InputIterator.html" title="Concept InputIterator">InputIterator</a>&gt;
+    <span class="type">result_type</span> <a href="id2591657-bb.html#id2559284-bb"><span class="bold"><strong>operator</strong></span>()</a>(InputIterator, InputIterator) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2738758"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2738762"></a><h3>
+<a name="id2559279-bb"></a><code class="computeroutput">last_value</code> invocation</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> <a href="InputIterator.html" title="Concept InputIterator">InputIterator</a>&gt;
+  <span class="type">result_type</span> <a name="id2559284-bb"></a><span class="bold"><strong>operator</strong></span>()(InputIterator first, InputIterator last) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Dereferences every iterator in the sequence <code class="computeroutput">[first, last)</code>.</p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="last_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id2540157"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="signals/s04.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2605064.html b/doc/html/id2605064.html
new file mode 100644
index 0000000000..31cc146bb4
--- /dev/null
+++ b/doc/html/id2605064.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator==</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2426531" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id2394886.html" title="Function operator||">
+<link rel="next" href="id2400763.html" title="Function operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2394886.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2426531"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2400763.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2605064"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator==</span></h2>
+<p>boost::logic::operator== &#8212; Compare tribools for equality. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="bold"><strong>bool</strong></span> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>bool</strong></span> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(indeterminate_keyword_t , <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, indeterminate_keyword_t );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2791837"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the result of comparing two tribool values, according to the following table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">==</code></strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2394886.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2426531"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2400763.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2629621.html b/doc/html/id2629621.html
new file mode 100644
index 0000000000..f67905db90
--- /dev/null
+++ b/doc/html/id2629621.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template swap</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2540137" title="Header &lt;boost/variant/variant.hpp&gt;">
+<link rel="prev" href="boost/variant.html" title="Class template variant">
+<link rel="next" href="id2630804.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/variant.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2540137"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2630804.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2629621"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template swap</span></h2>
+<p>boost::swap &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> swap(<a href="boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp; lhs, <a href="boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp; rhs);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2835555"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Swaps <code class="computeroutput">lhs</code> with <code class="computeroutput">rhs</code> by application
+ of <code class="computeroutput"><a href="boost/variant.html#id2641473-bb">variant::swap</a></code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ May fail with any exception arising from
+ <code class="computeroutput"><a href="boost/variant.html#id2641473-bb">variant::swap</a></code>.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/variant.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2540137"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2630804.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2630804.html b/doc/html/id2630804.html
new file mode 100644
index 0000000000..524dc7c93b
--- /dev/null
+++ b/doc/html/id2630804.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2540137" title="Header &lt;boost/variant/variant.hpp&gt;">
+<link rel="prev" href="id2629621.html" title="Function template swap">
+<link rel="next" href="make_variant_over.html" title="Class template make_variant_over">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2629621.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2540137"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="make_variant_over.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2630804"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::operator&lt;&lt; &#8212; Provides streaming output for <code class="computeroutput">variant</code> types.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ElemType, <span class="bold"><strong>typename</strong></span> Traits, <span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ...,
+         <span class="bold"><strong>typename</strong></span> TN&gt;
+  <span class="type">std::basic_ostream&lt;ElemType,Traits&gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt;ElemType,Traits&gt; &amp; out,
+             <span class="bold"><strong>const</strong></span> <a href="boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp; rhs);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2835702"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ Every bounded type of the <code class="computeroutput">variant</code> must
+ fulfill the requirements of the
+ <a href="variant/reference.html#variant.concepts.output-streamable" title="OutputStreamable"><span class="emphasis"><em>OutputStreamable</em></span></a>
+ concept.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Calls <code class="computeroutput">out &lt;&lt; x</code>, where <code class="computeroutput">x</code> is
+ the content of <code class="computeroutput">rhs</code>.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2629621.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2540137"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="make_variant_over.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2648190.html b/doc/html/id2648190.html
new file mode 100644
index 0000000000..4d1d8c4708
--- /dev/null
+++ b/doc/html/id2648190.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2654455" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="id2667605.html" title="Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT">
+<link rel="next" href="id2404411.html" title="Macro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2667605.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2654455"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2404411.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2648190"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</span></h2>
+<p>BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT &#8212; <p>Indicates absence of support for specifying the bounded types
+ of a <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code> by the elements of a
+ type sequence.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2832668"></a><h2>Description</h2>
+<p>Defined only if
+ <code class="computeroutput"><a href="make_variant_over.html" title="Class template make_variant_over">make_variant_over</a></code> and
+ <code class="computeroutput"><a href="id2655704.html" title="Class template make_recursive_variant_over">make_recursive_variant_over</a></code>
+ are not supported for some reason on the target compiler.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2667605.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2654455"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2404411.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2652694.html b/doc/html/id2652694.html
new file mode 100644
index 0000000000..4688021535
--- /dev/null
+++ b/doc/html/id2652694.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_ENUM_SHIFTED_PARAMS</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2654455" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="BOOST_VARIANT_ENUM_PARAMS.html" title="Macro BOOST_VARIANT_ENUM_PARAMS">
+<link rel="next" href="id2667605.html" title="Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_VARIANT_ENUM_PARAMS.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2654455"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2667605.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2652694"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_ENUM_SHIFTED_PARAMS</span></h2>
+<p>BOOST_VARIANT_ENUM_SHIFTED_PARAMS &#8212; <p>Enumerate all but the first parameter for use with
+ <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code>.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_ENUM_SHIFTED_PARAMS(param)</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2832527"></a><h2>Description</h2>
+<p>Expands to a comma-separated sequence of length
+ <code class="computeroutput"><a href="BOOST_VARIANT_LIMIT_TYPES.html" title="Macro BOOST_VARIANT_LIMIT_TYPES">BOOST_VARIANT_LIMIT_TYPES</a> - 1</code>,
+ where each element in the sequence consists of the concatenation of
+ <span class="emphasis"><em>param</em></span> with its one-based index into the sequence.
+ That is,
+ <code class="computeroutput">param ## 1, ..., param ## BOOST_VARIANT_LIMIT_TYPES - 1</code>.</p>
+<p><span class="bold"><strong>Note</strong></span>: This macro results in the
+ same expansion as
+ <code class="computeroutput"><a href="BOOST_VARIANT_ENUM_PARAMS.html" title="Macro BOOST_VARIANT_ENUM_PARAMS">BOOST_VARIANT_ENUM_PARAMS</a></code> -- but
+ without the first term.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_VARIANT_ENUM_PARAMS.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2654455"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2667605.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2655704.html b/doc/html/id2655704.html
new file mode 100644
index 0000000000..0bed4a2799
--- /dev/null
+++ b/doc/html/id2655704.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template make_recursive_variant_over</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2551122" title="Header &lt;boost/variant/recursive_variant.hpp&gt;">
+<link rel="prev" href="make_recursive_variant.html" title="Class template make_recursive_variant">
+<link rel="next" href="recursive_wrapper.html" title="Class template recursive_wrapper">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_recursive_variant.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2551122"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="recursive_wrapper.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2655704"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template make_recursive_variant_over</span></h2>
+<p>boost::make_recursive_variant_over &#8212; <p>Exposes a recursive <code class="computeroutput">variant</code> whose bounded types
+ are the elements of the given type sequence.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Sequence&gt;
+<span class="bold"><strong>class</strong></span> make_recursive_variant_over {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> variant&lt; <span class="emphasis"><em>unspecified</em></span> &gt; type;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2836407"></a><h2>Description</h2>
+<p><code class="computeroutput">type</code> has behavior equivalent in every respect to
+ <code class="computeroutput"><a href="make_recursive_variant.html" title="Class template make_recursive_variant">make_recursive_variant</a>&lt; Sequence[0], Sequence[1], ... &gt;::type</code>
+ (where <code class="computeroutput">Sequence[<span class="emphasis"><em>i</em></span>]</code> denotes the
+ <span class="emphasis"><em>i</em></span>-th element of <code class="computeroutput">Sequence</code>), except
+ that no upper limit is imposed on the number of types.</p>
+<p><span class="bold"><strong>Notes</strong></span>:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<code class="computeroutput">Sequence</code> must meet the requirements of
+ <a href="../../libs/mpl/index.html" target="_top">MPL</a>'s <span class="emphasis"><em>Sequence</em></span>
+ concept.</li>
+<li>Due to standard conformance problems in several compilers,
+ <code class="computeroutput">make_recursive_variant_over</code> may not be supported on
+ your compiler. See
+ <code class="computeroutput"><a href="id2648190.html" title="Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT">BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</a></code>
+ for more information.</li>
+</ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_recursive_variant.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2551122"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="recursive_wrapper.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id2667605.html b/doc/html/id2667605.html
new file mode 100644
index 0000000000..a7786a80a7
--- /dev/null
+++ b/doc/html/id2667605.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2654455" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="id2652694.html" title="Macro BOOST_VARIANT_ENUM_SHIFTED_PARAMS">
+<link rel="next" href="id2648190.html" title="Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2652694.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2654455"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2648190.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id2667605"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT</span></h2>
+<p>BOOST_VARIANT_NO_REFERENCE_SUPPORT &#8212; <p>Indicates <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code> does not
+ support references as bounded types.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_NO_REFERENCE_SUPPORT</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2832614"></a><h2>Description</h2>
+<p>Defined only if <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code> does
+ not support references as bounded types.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2652694.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2654455"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2648190.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id612209.html b/doc/html/id612209.html
new file mode 100644
index 0000000000..661b91cc05
--- /dev/null
+++ b/doc/html/id612209.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id895862" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="id899638.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="bad_month.html" title="Struct bad_month">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id899638.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id895862"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_month.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id612209"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::gregorian::operator&lt;&lt; &#8212; operator&lt;&lt; for gregorian::date_period typical output: [2002-Jan-01/2002-Jan-31] </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+  <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os, <span class="bold"><strong>const</strong></span> date_period &amp; dp);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1080786"></a><h2>Description</h2>
+<p>Uses the date facet to determine output string as well as selection of long or short string fr dates. Default if no facet is installed is to output a 3 char english string for the day of the week. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id899638.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id895862"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_month.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id613511-bb.html b/doc/html/id613511-bb.html
new file mode 100644
index 0000000000..d271519e20
--- /dev/null
+++ b/doc/html/id613511-bb.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class simple_format&lt;wchar_t&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id766250" title="Header &lt;boost/date_time/date_format_simple.hpp&gt;">
+<link rel="prev" href="simple_format.html" title="Class template simple_format">
+<link rel="next" href="month_formatter.html" title="Class template month_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="simple_format.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id766250"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="month_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id613511-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class simple_format&lt;wchar_t&gt;</span></h2>
+<p>boost::date_time::simple_format&lt;wchar_t&gt; &#8212; Specialization of formmating rules for wchar_t. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> simple_format&lt;<span class="bold"><strong>wchar_t</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="id613511-bb.html#id928805-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id613511-bb.html#id928810-bb">not_a_date</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id613511-bb.html#id929742-bb">pos_infinity</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id613511-bb.html#id1002173-bb">neg_infinity</a>() ;
+  <span class="type">month_format_spec</span> <a href="id613511-bb.html#id622412-bb">month_format</a>() ;
+  <span class="type">ymd_order_spec</span> <a href="id613511-bb.html#id1005219-bb">date_order</a>() ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id613511-bb.html#id758020-bb">has_date_sep_chars</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id613511-bb.html#id867458-bb">year_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id613511-bb.html#id832950-bb">month_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id613511-bb.html#id858415-bb">day_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id613511-bb.html#id860199-bb">hour_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id613511-bb.html#id1003295-bb">minute_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id613511-bb.html#id971529-bb">second_sep_char</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id996413"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id996416"></a><h3>
+<a name="id928805-bb"></a><code class="computeroutput">simple_format</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id928810-bb"></a>not_a_date() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id929742-bb"></a>pos_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id1002173-bb"></a>neg_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type">month_format_spec</span> <a name="id622412-bb"></a>month_format() ;</pre></li>
+<li><pre class="literallayout"><span class="type">ymd_order_spec</span> <a name="id1005219-bb"></a>date_order() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id758020-bb"></a>has_date_sep_chars() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id867458-bb"></a>year_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id832950-bb"></a>month_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id858415-bb"></a>day_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id860199-bb"></a>hour_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1003295-bb"></a>minute_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id971529-bb"></a>second_sep_char() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="simple_format.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id766250"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="month_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id652972.html b/doc/html/id652972.html
new file mode 100644
index 0000000000..e5b60abe8b
--- /dev/null
+++ b/doc/html/id652972.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_ENUM_SHIFTED_PARAMS</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1247300" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="BOOST_VARIANT_ENUM_PARAMS.html" title="Macro BOOST_VARIANT_ENUM_PARAMS">
+<link rel="next" href="id1176279.html" title="Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_VARIANT_ENUM_PARAMS.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1247300"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1176279.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id652972"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_ENUM_SHIFTED_PARAMS</span></h2>
+<p>BOOST_VARIANT_ENUM_SHIFTED_PARAMS &#8212; <p>Enumerate all but the first parameter for use with
+ <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code>.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_ENUM_SHIFTED_PARAMS(param)</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1315271"></a><h2>Description</h2>
+<p>Expands to a comma-separated sequence of length
+ <code class="computeroutput"><a href="BOOST_VARIANT_LIMIT_TYPES.html" title="Macro BOOST_VARIANT_LIMIT_TYPES">BOOST_VARIANT_LIMIT_TYPES</a> - 1</code>,
+ where each element in the sequence consists of the concatenation of
+ <span class="emphasis"><em>param</em></span> with its one-based index into the sequence.
+ That is,
+ <code class="computeroutput">param ## 1, ..., param ## BOOST_VARIANT_LIMIT_TYPES - 1</code>.</p>
+<p><span class="bold"><strong>Note</strong></span>: This macro results in the
+ same expansion as
+ <code class="computeroutput"><a href="BOOST_VARIANT_ENUM_PARAMS.html" title="Macro BOOST_VARIANT_ENUM_PARAMS">BOOST_VARIANT_ENUM_PARAMS</a></code> -- but
+ without the first term.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_VARIANT_ENUM_PARAMS.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1247300"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1176279.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id656954.html b/doc/html/id656954.html
new file mode 100644
index 0000000000..2967bc1eff
--- /dev/null
+++ b/doc/html/id656954.html
@@ -0,0 +1,45 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Type collect_unrecognized_mode</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id755166" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="id1117522-bb.html" title="Class basic_parsed_options&lt;wchar_t&gt;">
+<link rel="next" href="parse_command_line.html" title="Function template parse_command_line">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1117522-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id755166"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="parse_command_line.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id656954"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Type collect_unrecognized_mode</span></h2>
+<p>boost::program_options::collect_unrecognized_mode &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+
+<span class="bold"><strong>enum</strong></span> collect_unrecognized_mode { include_positional, exclude_positional };</pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1117522-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id755166"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="parse_command_line.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id660313.html b/doc/html/id660313.html
new file mode 100644
index 0000000000..8bd91aa25a
--- /dev/null
+++ b/doc/html/id660313.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id798666" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id1111919.html" title="Function operator+">
+<link rel="next" href="id1000125.html" title="Function operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1111919.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id798666"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1000125.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id660313"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+=</span></h2>
+<p>boost::posix_time::operator+= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>+=(<a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1175120"></a><h2>Description</h2>
+<p>Adds a months object to a ptime. Result will be same day-of-month as ptime unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1111919.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id798666"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1000125.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id681933.html b/doc/html/id681933.html
new file mode 100644
index 0000000000..dc8b95cf32
--- /dev/null
+++ b/doc/html/id681933.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1031665" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id795566.html" title="Function operator-">
+<link rel="next" href="id967615.html" title="Function operator+">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id795566.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1031665"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id967615.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id681933"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-=</span></h2>
+<p>boost::local_time::operator-= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>-=(local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1180261"></a><h2>Description</h2>
+<p>Subtracts a months object from a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id795566.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1031665"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id967615.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id682549.html b/doc/html/id682549.html
new file mode 100644
index 0000000000..bf987085ea
--- /dev/null
+++ b/doc/html/id682549.html
@@ -0,0 +1,166 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template time_duration</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id892437" title="Header &lt;boost/date_time/time_duration.hpp&gt;">
+<link rel="prev" href="second_clock.html" title="Class template second_clock">
+<link rel="next" href="subsecond_duration.html" title="Class template subsecond_duration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="second_clock.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id892437"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="subsecond_duration.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id682549"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template time_duration</span></h2>
+<p>boost::date_time::time_duration &#8212; Represents some amount of elapsed time measure to a given resolution. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> rep_type&gt;
+<span class="bold"><strong>class</strong></span> time_duration {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> T                                 duration_type;          
+  <span class="bold"><strong>typedef</strong></span> rep_type                          traits_type;            
+  <span class="bold"><strong>typedef</strong></span> rep_type::day_type                day_type;               
+  <span class="bold"><strong>typedef</strong></span> rep_type::hour_type               hour_type;              
+  <span class="bold"><strong>typedef</strong></span> rep_type::min_type                min_type;               
+  <span class="bold"><strong>typedef</strong></span> rep_type::sec_type                sec_type;               
+  <span class="bold"><strong>typedef</strong></span> rep_type::fractional_seconds_type fractional_seconds_type;
+  <span class="bold"><strong>typedef</strong></span> rep_type::tick_type               tick_type;              
+  <span class="bold"><strong>typedef</strong></span> rep_type::impl_type               impl_type;              
+
+  <span class="emphasis"><em>// <a href="id682549.html#id682549construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id682549.html#id866630-bb">time_duration</a>();
+  <a href="id682549.html#id833152-bb">time_duration</a>(hour_type, min_type, sec_type = 0,
+                fractional_seconds_type = 0);
+  <a href="id682549.html#id758625-bb">time_duration</a>(<span class="bold"><strong>const</strong></span> <a href="id682549.html" title="Class template time_duration">time_duration</a>&lt; T, rep_type &gt; &amp;);
+  <a href="id682549.html#id653097-bb">time_duration</a>(special_values);
+  <a href="id682549.html#id865179-bb">time_duration</a>(impl_type);
+
+  <span class="emphasis"><em>// <a href="id682549.html#id727236-bb">public member functions</a></em></span>
+  <span class="type">hour_type</span> <a href="id682549.html#id727241-bb">hours</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">min_type</span> <a href="id682549.html#id822364-bb">minutes</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">sec_type</span> <a href="id682549.html#id837247-bb">seconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">sec_type</span> <a href="id682549.html#id837264-bb">total_seconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">tick_type</span> <a href="id682549.html#id893146-bb">total_milliseconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">tick_type</span> <a href="id682549.html#id893164-bb">total_nanoseconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">tick_type</span> <a href="id682549.html#id893182-bb">total_microseconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">fractional_seconds_type</span> <a href="id682549.html#id827733-bb">fractional_seconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id682549.html#id857583-bb">invert_sign</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id682549.html#id857596-bb">is_negative</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id682549.html#id857609-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> <a href="id682549.html" title="Class template time_duration">time_duration</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id682549.html#id796598-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="id682549.html" title="Class template time_duration">time_duration</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id682549.html#id796626-bb"><span class="bold"><strong>operator</strong></span>-</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id682549.html#id796643-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id682549.html#id838116-bb"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id682549.html#id838140-bb"><span class="bold"><strong>operator</strong></span>/</a>(<span class="bold"><strong>int</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id682549.html#id838163-bb"><span class="bold"><strong>operator</strong></span>-=</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) ;
+  <span class="type">duration_type</span> <a href="id682549.html#id834443-bb"><span class="bold"><strong>operator</strong></span>+=</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) ;
+  <span class="type">duration_type</span> <a href="id682549.html#id834467-bb"><span class="bold"><strong>operator</strong></span>/=</a>(<span class="bold"><strong>int</strong></span>) ;
+  <span class="type">duration_type</span> <a href="id682549.html#id834495-bb"><span class="bold"><strong>operator</strong></span> *</a>(<span class="bold"><strong>int</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id682549.html#id866507-bb"><span class="bold"><strong>operator</strong></span> *=</a>(<span class="bold"><strong>int</strong></span>) ;
+  <span class="type">tick_type</span> <a href="id682549.html#id866530-bb">ticks</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id682549.html#id866543-bb">is_special</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id682549.html#id866560-bb">is_pos_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id682549.html#id866577-bb">is_neg_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id682549.html#id866594-bb">is_not_a_date_time</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">impl_type</span> <a href="id682549.html#id866612-bb">get_rep</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="id682549.html#id653116-bb">public static functions</a></em></span>
+  <span class="type">duration_type</span> <a href="id682549.html#id653121-bb">unit</a>() ;
+  <span class="type">tick_type</span> <a href="id682549.html#id653139-bb">ticks_per_second</a>() ;
+  <span class="type">time_resolutions</span> <a href="id682549.html#id653156-bb">resolution</a>() ;
+  <span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a href="id682549.html#id865155-bb">num_fractional_digits</a>() ;
+
+  <span class="emphasis"><em>// <a href="id682549.html#id865174-bb">protected member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1136685"></a><h2>Description</h2>
+<p>This class represents a standard set of capabilities for all counted time durations. Time duration implementations should derive from this class passing their type as the first template parameter. This design allows the subclass duration types to provide custom construction policies or other custom features not provided here.</p>
+<p></p>
+<div class="refsect2" lang="en">
+<a name="id1136697"></a><h3>
+<a name="id682549construct-copy-destruct"></a><code class="computeroutput">time_duration</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id866630-bb"></a>time_duration();</pre></li>
+<li><pre class="literallayout"><a name="id833152-bb"></a>time_duration(hour_type hours, min_type minutes, sec_type seconds = 0,
+              fractional_seconds_type frac_sec = 0);</pre></li>
+<li><pre class="literallayout"><a name="id758625-bb"></a>time_duration(<span class="bold"><strong>const</strong></span> <a href="id682549.html" title="Class template time_duration">time_duration</a>&lt; T, rep_type &gt; &amp; other);</pre></li>
+<li><pre class="literallayout"><a name="id653097-bb"></a>time_duration(special_values sv);</pre></li>
+<li><pre class="literallayout"><a name="id865179-bb"></a>time_duration(impl_type in);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1136799"></a><h3>
+<a name="id727236-bb"></a><code class="computeroutput">time_duration</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">hour_type</span> <a name="id727241-bb"></a>hours() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">min_type</span> <a name="id822364-bb"></a>minutes() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">sec_type</span> <a name="id837247-bb"></a>seconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">sec_type</span> <a name="id837264-bb"></a>total_seconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id893146-bb"></a>total_milliseconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id893164-bb"></a>total_nanoseconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id893182-bb"></a>total_microseconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">fractional_seconds_type</span> <a name="id827733-bb"></a>fractional_seconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id857583-bb"></a>invert_sign() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id857596-bb"></a>is_negative() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id857609-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<span class="bold"><strong>const</strong></span> <a href="id682549.html" title="Class template time_duration">time_duration</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id796598-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> <a href="id682549.html" title="Class template time_duration">time_duration</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id796626-bb"></a><span class="bold"><strong>operator</strong></span>-() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id796643-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> duration_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id838116-bb"></a><span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> duration_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id838140-bb"></a><span class="bold"><strong>operator</strong></span>/(<span class="bold"><strong>int</strong></span> divisor) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id838163-bb"></a><span class="bold"><strong>operator</strong></span>-=(<span class="bold"><strong>const</strong></span> duration_type &amp; d) ;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id834443-bb"></a><span class="bold"><strong>operator</strong></span>+=(<span class="bold"><strong>const</strong></span> duration_type &amp; d) ;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id834467-bb"></a><span class="bold"><strong>operator</strong></span>/=(<span class="bold"><strong>int</strong></span> divisor) ;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id834495-bb"></a><span class="bold"><strong>operator</strong></span> *(<span class="bold"><strong>int</strong></span> rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id866507-bb"></a><span class="bold"><strong>operator</strong></span> *=(<span class="bold"><strong>int</strong></span> divisor) ;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id866530-bb"></a>ticks() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id866543-bb"></a>is_special() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id866560-bb"></a>is_pos_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id866577-bb"></a>is_neg_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id866594-bb"></a>is_not_a_date_time() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">impl_type</span> <a name="id866612-bb"></a>get_rep() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1137544"></a><h3>
+<a name="id653116-bb"></a><code class="computeroutput">time_duration</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id653121-bb"></a>unit() ;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id653139-bb"></a>ticks_per_second() ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_resolutions</span> <a name="id653156-bb"></a>resolution() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a name="id865155-bb"></a>num_fractional_digits() ;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1137638"></a><h3>
+<a name="id865174-bb"></a><code class="computeroutput">time_duration</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="second_clock.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id892437"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="subsecond_duration.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id682690.html b/doc/html/id682690.html
new file mode 100644
index 0000000000..139e43bf8f
--- /dev/null
+++ b/doc/html/id682690.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template ostream_time_period_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id798731" title="Header &lt;boost/date_time/time_formatting_streams.hpp&gt;">
+<link rel="prev" href="ostream_time_formatter.html" title="Class template ostream_time_formatter">
+<link rel="next" href="time_itr.html" title="Class template time_itr">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ostream_time_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id798731"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_itr.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id682690"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template ostream_time_period_formatter</span></h2>
+<p>boost::date_time::ostream_time_period_formatter &#8212; Put a time period into a stream using appropriate facets. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_period_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> ostream_time_period_formatter {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> std::basic_ostream&lt; charT &gt; ostream_type;
+ <span class="bold"><strong>typedef</strong></span> time_period_type::point_type time_type;
+ <span class="bold"><strong>typedef</strong></span> <a href="ostream_time_formatter.html" title="Class template ostream_time_formatter">ostream_time_formatter</a>&lt; time_type, charT &gt; time_formatter;
+
+ <span class="emphasis"><em>// <a href="id682690.html#id973183-bb">public static functions</a></em></span>
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id682690.html#id973188-bb">period_put</a>(<span class="bold"><strong>const</strong></span> time_period_type &amp;, ostream_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1140242"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1140245"></a><h3>
+<a name="id973183-bb"></a><code class="computeroutput">ostream_time_period_formatter</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id973188-bb"></a>period_put(<span class="bold"><strong>const</strong></span> time_period_type &amp; tp, ostream_type &amp; os) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ostream_time_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id798731"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_itr.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id682992.html b/doc/html/id682992.html
new file mode 100644
index 0000000000..87c6ada486
--- /dev/null
+++ b/doc/html/id682992.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class positional_options_description</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id760678" title="Header &lt;boost/program_options/positional_options.hpp&gt;">
+<link rel="prev" href="id1006469.html" title="Function parse_environment">
+<link rel="next" href="typed_value.html" title="Class template typed_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1006469.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id760678"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="typed_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id682992"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class positional_options_description</span></h2>
+<p>boost::program_options::positional_options_description &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> positional_options_description {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// <a href="id682992.html#id682992construct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a href="id682992.html#id1139290-bb">positional_options_description</a>();
+
+ <span class="emphasis"><em>// <a href="id682992.html#id1006016-bb">public member functions</a></em></span>
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id682992.html#id1006022-bb">add</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>int</strong></span>) ;
+ <span class="type"><span class="bold"><strong>unsigned</strong></span></span> <a href="id682992.html#id1079009-bb">max_total_count</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>const</strong></span> std::string &amp;</span> <a href="id682992.html#id978013-bb">name_for_position</a>(<span class="bold"><strong>unsigned</strong></span>) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1255719"></a><h2>Description</h2>
+<p>Describes positional options.</p>
+<p>The class allows to guess option names for positional options, which are specified on the command line and are identified by the position. The class uses the information provided by the user to associate a name with every positional option, or tell that no name is known.</p>
+<p>The primary assumption is that only the relative order of the positional options themselves matters, and that any interleaving ordinary options don't affect interpretation of positional options.</p>
+<p>The user initializes the class by specifying that first N positional options should be given the name X1, following M options should be given the name X2 and so on. </p>
+<div class="refsect2" lang="en">
+<a name="id1255743"></a><h3>
+<a name="id682992construct-copy-destruct"></a><code class="computeroutput">positional_options_description</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id1139290-bb"></a>positional_options_description();</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1255776"></a><h3>
+<a name="id1006016-bb"></a><code class="computeroutput">positional_options_description</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id1006022-bb"></a>add(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>int</strong></span> max_count) ;</pre>
+<p>Species that up to 'max_count' next positional options should be given the 'name'. The value of '-1' means 'unlimited'. No calls to 'add' can be made after call with 'max_value' equal to '-1'. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span></span> <a name="id1079009-bb"></a>max_total_count() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns the maximum number of positional options that can be present. Can return numeric_limits&lt;unsigned&gt;::max() to indicate unlimited number. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> std::string &amp;</span> <a name="id978013-bb"></a>name_for_position(<span class="bold"><strong>unsigned</strong></span> position) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns the name that should be associated with positional options at 'position'. Precondition: position &lt; max_total_count() </p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1006469.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id760678"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="typed_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id683292.html b/doc/html/id683292.html
new file mode 100644
index 0000000000..93404d5662
--- /dev/null
+++ b/doc/html/id683292.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class positional_options_description</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id1010451" title="Header &lt;boost/program_options/positional_options.hpp&gt;">
+<link rel="prev" href="id1045724.html" title="Function parse_environment">
+<link rel="next" href="typed_value.html" title="Class template typed_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1045724.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1010451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="typed_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id683292"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class positional_options_description</span></h2>
+<p>boost::program_options::positional_options_description &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> positional_options_description {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id683292.html#id683292construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id683292.html#id1141110-bb">positional_options_description</a>();
+
+  <span class="emphasis"><em>// <a href="id683292.html#id1141395-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id683292.html#id683241-bb">add</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>int</strong></span>) ;
+  <span class="type"><span class="bold"><strong>unsigned</strong></span></span> <a href="id683292.html#id733921-bb">max_total_count</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> std::string &amp;</span> <a href="id683292.html#id896719-bb">name_for_position</a>(<span class="bold"><strong>unsigned</strong></span>) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1256133"></a><h2>Description</h2>
+<p>Describes positional options.</p>
+<p>The class allows to guess option names for positional options, which are specified on the command line and are identified by the position. The class uses the information provided by the user to associate a name with every positional option, or tell that no name is known.</p>
+<p>The primary assumption is that only the relative order of the positional options themselves matters, and that any interleaving ordinary options don't affect interpretation of positional options.</p>
+<p>The user initializes the class by specifying that first N positional options should be given the name X1, following M options should be given the name X2 and so on. </p>
+<div class="refsect2" lang="en">
+<a name="id1256156"></a><h3>
+<a name="id683292construct-copy-destruct"></a><code class="computeroutput">positional_options_description</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id1141110-bb"></a>positional_options_description();</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1256190"></a><h3>
+<a name="id1141395-bb"></a><code class="computeroutput">positional_options_description</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id683241-bb"></a>add(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>int</strong></span> max_count) ;</pre>
+<p>Species that up to 'max_count' next positional options should be given the 'name'. The value of '-1' means 'unlimited'. No calls to 'add' can be made after call with 'max_value' equal to '-1'. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span></span> <a name="id733921-bb"></a>max_total_count() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns the maximum number of positional options that can be present. Can return numeric_limits&lt;unsigned&gt;::max() to indicate unlimited number. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> std::string &amp;</span> <a name="id896719-bb"></a>name_for_position(<span class="bold"><strong>unsigned</strong></span> position) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns the name that should be associated with positional options at 'position'. Precondition: position &lt; max_total_count() </p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1045724.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1010451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="typed_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id685080.html b/doc/html/id685080.html
new file mode 100644
index 0000000000..771d574fb3
--- /dev/null
+++ b/doc/html/id685080.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template regex_finder</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id1188068" title="Header &lt;boost/algorithm/string/find_format.hpp&gt;">
+<link rel="prev" href="find_format_all.html" title="Function template find_format_all">
+<link rel="next" href="id1171494.html" title="Function template regex_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_format_all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id1188068"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1171494.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id685080"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template regex_finder</span></h2>
+<p>boost::algorithm::regex_finder &#8212; "Regex" finder </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> regex_finder(<span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+                           match_flag_type MatchFlags = match_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1322674"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">regex_finder</code> . Finder uses the regex engine to search for a match. Result is given in <code class="computeroutput">regex_search_result</code> . This is an extension of the iterator_range. In addition it containes match results from the <code class="computeroutput">regex_search</code> algorithm.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">MatchFlags</span></dt>
+<dd><p>Regex search options </p></dd>
+<dt><span class="term">Rx</span></dt>
+<dd><p>A regular expression </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">regex_finder</code> object </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_format_all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id1188068"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1171494.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id685401.html b/doc/html/id685401.html
new file mode 100644
index 0000000000..ad4f5563cb
--- /dev/null
+++ b/doc/html/id685401.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator!</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id1138094" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="indeterminate.html" title="Function indeterminate">
+<link rel="next" href="id928370.html" title="Function operator&amp;&amp;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="indeterminate.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1138094"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id928370.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id685401"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator!</span></h2>
+<p>boost::logic::operator! &#8212; Computes the logical negation of a tribool. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1563659"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the logical negation of the tribool, according to the table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">!</code></strong></span></td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">true</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">false</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="indeterminate.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1138094"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id928370.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id685876.html b/doc/html/id685876.html
new file mode 100644
index 0000000000..285a4cdcb5
--- /dev/null
+++ b/doc/html/id685876.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template regex_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id731558" title="Header &lt;boost/algorithm/string/find_format.hpp&gt;">
+<link rel="prev" href="id1040893.html" title="Function template regex_finder">
+<link rel="next" href="find_iterator.html" title="Class template find_iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1040893.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id731558"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_iterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id685876"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template regex_formatter</span></h2>
+<p>boost::algorithm::regex_formatter &#8212; Regex formatter. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT, <span class="bold"><strong>typename</strong></span> AllocT&gt;
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> regex_formatter(<span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, TraitsT, AllocT &gt; &amp; Format,
+ match_flag_type Flags = format_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1322294"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">regex_formatter</code> . Regex formatter uses the regex engine to format a match found by the <code class="computeroutput">regex_finder</code> . This formatted it designed to closely cooperate with <code class="computeroutput">regex_finder</code> .</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Flags</span></dt>
+<dd><p>Format flags </p></dd>
+<dt><span class="term">Format</span></dt>
+<dd><p>Regex format definition </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">regex_formatter</code> functor </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1040893.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id731558"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_iterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id691834.html b/doc/html/id691834.html
new file mode 100644
index 0000000000..f17b70c2c8
--- /dev/null
+++ b/doc/html/id691834.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_ENUM_SHIFTED_PARAMS</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1283515" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="BOOST_VARIANT_ENUM_PARAMS.html" title="Macro BOOST_VARIANT_ENUM_PARAMS">
+<link rel="next" href="id1222024.html" title="Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_VARIANT_ENUM_PARAMS.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1283515"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1222024.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id691834"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_ENUM_SHIFTED_PARAMS</span></h2>
+<p>BOOST_VARIANT_ENUM_SHIFTED_PARAMS &#8212; <p>Enumerate all but the first parameter for use with
+ <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code>.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_ENUM_SHIFTED_PARAMS(param)</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1662915"></a><h2>Description</h2>
+<p>Expands to a comma-separated sequence of length
+ <code class="computeroutput"><a href="BOOST_VARIANT_LIMIT_TYPES.html" title="Macro BOOST_VARIANT_LIMIT_TYPES">BOOST_VARIANT_LIMIT_TYPES</a> - 1</code>,
+ where each element in the sequence consists of the concatenation of
+ <span class="emphasis"><em>param</em></span> with its one-based index into the sequence.
+ That is,
+ <code class="computeroutput">param ## 1, ..., param ## BOOST_VARIANT_LIMIT_TYPES - 1</code>.</p>
+<p><span class="bold"><strong>Note</strong></span>: This macro results in the
+ same expansion as
+ <code class="computeroutput"><a href="BOOST_VARIANT_ENUM_PARAMS.html" title="Macro BOOST_VARIANT_ENUM_PARAMS">BOOST_VARIANT_ENUM_PARAMS</a></code> -- but
+ without the first term.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_VARIANT_ENUM_PARAMS.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1283515"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1222024.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id692727.html b/doc/html/id692727.html
new file mode 100644
index 0000000000..dffbc03b5a
--- /dev/null
+++ b/doc/html/id692727.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function store</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id1116985" title="Header &lt;boost/program_options/variables_map.hpp&gt;">
+<link rel="prev" href="variables_map.html" title="Class variables_map">
+<link rel="next" href="id1011206.html" title="Function store">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="variables_map.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1116985"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1011206.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id692727"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function store</span></h2>
+<p>boost::program_options::store &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL <span class="bold"><strong>void</strong></span></span>
+store(<span class="bold"><strong>const</strong></span> <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>char</strong></span> &gt; &amp; options, <a href="variables_map.html" title="Class variables_map">variables_map</a> &amp; m,
+ <span class="bold"><strong>bool</strong></span> utf8 = false);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1278075"></a><h2>Description</h2>
+<p>Stores in 'm' all options that are defined in 'options'. If 'm' already has a non-defaulted value of an option, that value is not changed, even if 'options' specify some value. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="variables_map.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1116985"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1011206.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id696758.html b/doc/html/id696758.html
new file mode 100644
index 0000000000..70f9ec6704
--- /dev/null
+++ b/doc/html/id696758.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1283515" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="id1351704.html" title="Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT">
+<link rel="next" href="boost/variant.html" title="Class template variant">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1351704.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1283515"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost/variant.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id696758"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</span></h2>
+<p>BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT &#8212; <p>Indicates
+ <code class="computeroutput"><a href="make_recursive_variant.html" title="Class template make_recursive_variant">make_recursive_variant</a></code> operates in
+ an implementation-defined manner.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1663120"></a><h2>Description</h2>
+<p>Defined only if
+ <code class="computeroutput"><a href="make_recursive_variant.html" title="Class template make_recursive_variant">make_recursive_variant</a></code> does not
+ operate as documented on the target compiler, but rather in an
+ implementation-defined manner.</p>
+<p><span class="bold"><strong>Implementation Note</strong></span>: If
+ <code class="computeroutput">BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</code> is
+ defined for the target compiler, the current implementation uses the
+ <a href="../../libs/mpl/index.html" target="_top">MPL</a> lambda mechanism to approximate the
+ desired behavior. (In most cases, however, such compilers do not have
+ full lambda support either.)</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1351704.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1283515"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost/variant.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id698854.html b/doc/html/id698854.html
new file mode 100644
index 0000000000..eeb25e8203
--- /dev/null
+++ b/doc/html/id698854.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator||</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id1138094" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id928370.html" title="Function operator&amp;&amp;">
+<link rel="next" href="id1220996.html" title="Function operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id928370.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1138094"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1220996.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id698854"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator||</span></h2>
+<p>boost::logic::operator|| &#8212; Computes the logical disjunction of two tribools. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="bold"><strong>bool</strong></span> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(<span class="bold"><strong>bool</strong></span> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(indeterminate_keyword_t , <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, indeterminate_keyword_t );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1564219"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the result of logically ORing the two tribool values, according to the following table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">||</code></strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">true</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id928370.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1138094"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1220996.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id719223.html b/doc/html/id719223.html
new file mode 100644
index 0000000000..463b4f55b4
--- /dev/null
+++ b/doc/html/id719223.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator!</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id1174262" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="id1217789.html" title="Function template operator||">
+<link rel="next" href="is_equal.html" title="Struct is_equal">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1217789.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id1174262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_equal.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id719223"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator!</span></h2>
+<p>boost::algorithm::operator! &#8212; predicate negation operator </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PredT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <span class="bold"><strong>operator</strong></span>!(<span class="bold"><strong>const</strong></span> predicate_facade&lt; PredT &gt; &amp; Pred);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1314387"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">class_not</code> predicate. This predicate represents a negation. <code class="computeroutput">class_or</code> holds if of the predicates return false.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Pred</span></dt>
+<dd><p>The predicate to be negated </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">class_not</code> predicate </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1217789.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id1174262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_equal.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id726982.html b/doc/html/id726982.html
new file mode 100644
index 0000000000..fd172f4579
--- /dev/null
+++ b/doc/html/id726982.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template dst_adjustment_offsets</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id902996" title="Header &lt;boost/date_time/time_zone_base.hpp&gt;">
+<link rel="prev" href="time_zone_base.html" title="Class template time_zone_base">
+<link rel="next" href="time_zone_names_base.html" title="Class template time_zone_names_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_zone_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id902996"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_zone_names_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id726982"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template dst_adjustment_offsets</span></h2>
+<p>boost::date_time::dst_adjustment_offsets &#8212; Structure which holds the time offsets associated with daylight savings time. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration_type&gt;
+<span class="bold"><strong>class</strong></span> dst_adjustment_offsets {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id726982.html#id726982construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id726982.html#id861962-bb">dst_adjustment_offsets</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;,
+                         <span class="bold"><strong>const</strong></span> time_duration_type &amp;,
+                         <span class="bold"><strong>const</strong></span> time_duration_type &amp;);
+
+  <span class="emphasis"><em>// <a href="id726982.html#id861957-bb">public member functions</a></em></span>
+
+  time_duration_type dst_adjust_;
+  time_duration_type dst_start_offset_;
+  time_duration_type dst_end_offset_;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1074397"></a><h2>Description</h2>
+<p></p>
+<div class="refsect2" lang="en">
+<a name="id1074401"></a><h3>
+<a name="id726982construct-copy-destruct"></a><code class="computeroutput">dst_adjustment_offsets</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id861962-bb"></a>dst_adjustment_offsets(<span class="bold"><strong>const</strong></span> time_duration_type &amp; dst_adjust,
+                       <span class="bold"><strong>const</strong></span> time_duration_type &amp; dst_start_offset,
+                       <span class="bold"><strong>const</strong></span> time_duration_type &amp; dst_end_offset);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1074453"></a><h3>
+<a name="id861957-bb"></a><code class="computeroutput">dst_adjustment_offsets</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_zone_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id902996"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_zone_names_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id727853.html b/doc/html/id727853.html
new file mode 100644
index 0000000000..e189162772
--- /dev/null
+++ b/doc/html/id727853.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id965809" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id927058.html" title="Function operator+=">
+<link rel="next" href="id940597.html" title="Function operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id927058.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id965809"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id940597.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id727853"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-</span></h2>
+<p>boost::posix_time::operator- &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> <a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1175226"></a><h2>Description</h2>
+<p>Subtracts a months object and a ptime. Result will be same day-of-month as ptime unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id927058.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id965809"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id940597.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id730580.html b/doc/html/id730580.html
new file mode 100644
index 0000000000..9ecda3d087
--- /dev/null
+++ b/doc/html/id730580.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template swap</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1560816" title="Header &lt;boost/variant/variant.hpp&gt;">
+<link rel="prev" href="boost/variant.html" title="Class template variant">
+<link rel="next" href="id1005099.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/variant.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1560816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1005099.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id730580"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template swap</span></h2>
+<p>boost::swap &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> swap(<a href="boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp; lhs, <a href="boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp; rhs);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1660723"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Swaps <code class="computeroutput">lhs</code> with <code class="computeroutput">rhs</code> by application
+ of <code class="computeroutput"><a href="boost/variant.html#id1222789-bb">variant::swap</a></code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ May fail with any exception arising from
+ <code class="computeroutput"><a href="boost/variant.html#id1222789-bb">variant::swap</a></code>.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/variant.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1560816"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1005099.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id732463.html b/doc/html/id732463.html
new file mode 100644
index 0000000000..305372bf22
--- /dev/null
+++ b/doc/html/id732463.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function parse_environment</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id755166" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="id974717.html" title="Function parse_environment">
+<link rel="next" href="id753810.html" title="Class positional_options_description">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id974717.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id755166"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id753810.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id732463"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function parse_environment</span></h2>
+<p>boost::program_options::parse_environment &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL parsed_options</span>
+parse_environment(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp; , <span class="bold"><strong>const</strong></span> std::string &amp; prefix);
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL parsed_options</span>
+parse_environment(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp; , <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * prefix);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1256353"></a><h2>Description</h2>
+<p>Parse environment.</p>
+<p>Takes all environment variables which start with 'prefix'. The option name is obtained from variable name by removing the prefix and converting the remaining string into lower case. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id974717.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id755166"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id753810.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id732514.html b/doc/html/id732514.html
new file mode 100644
index 0000000000..caa3403ba3
--- /dev/null
+++ b/doc/html/id732514.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template dynamic_local_time_adjustor</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id930814" title="Header &lt;boost/date_time/local_time_adjustor.hpp&gt;">
+<link rel="prev" href="utc_adjustment.html" title="Class template utc_adjustment">
+<link rel="next" href="static_local_time_adjustor.html" title="Class template static_local_time_adjustor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="utc_adjustment.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id930814"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="static_local_time_adjustor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id732514"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template dynamic_local_time_adjustor</span></h2>
+<p>boost::date_time::dynamic_local_time_adjustor &#8212; Allow sliding utc adjustment with fixed dst rules. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type, <span class="bold"><strong>typename</strong></span> dst_rules&gt;
+<span class="bold"><strong>class</strong></span> dynamic_local_time_adjustor {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> time_type::time_duration_type time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> time_type::date_type          date_type;         
+
+  <span class="emphasis"><em>// <a href="id732514.html#id732514construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id732514.html#id756243-bb">dynamic_local_time_adjustor</a>(time_duration_type);
+
+  <span class="emphasis"><em>// <a href="id732514.html#id902191-bb">public member functions</a></em></span>
+  <span class="type">time_duration_type</span> <a href="id732514.html#id728597-bb">utc_offset</a>(<span class="bold"><strong>bool</strong></span>) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1036368"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1036371"></a><h3>
+<a name="id732514construct-copy-destruct"></a><code class="computeroutput">dynamic_local_time_adjustor</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id756243-bb"></a>dynamic_local_time_adjustor(time_duration_type utc_offset);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1036398"></a><h3>
+<a name="id902191-bb"></a><code class="computeroutput">dynamic_local_time_adjustor</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">time_duration_type</span> <a name="id728597-bb"></a>utc_offset(<span class="bold"><strong>bool</strong></span> is_dst) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="utc_adjustment.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id930814"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="static_local_time_adjustor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id753810.html b/doc/html/id753810.html
new file mode 100644
index 0000000000..e240f991b5
--- /dev/null
+++ b/doc/html/id753810.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class positional_options_description</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id753794" title="Header &lt;boost/program_options/positional_options.hpp&gt;">
+<link rel="prev" href="id732463.html" title="Function parse_environment">
+<link rel="next" href="typed_value.html" title="Class template typed_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id732463.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id753794"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="typed_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id753810"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class positional_options_description</span></h2>
+<p>boost::program_options::positional_options_description &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> positional_options_description {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id753810.html#id753810construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id753810.html#id1114888-bb">positional_options_description</a>();
+
+  <span class="emphasis"><em>// <a href="id753810.html#id1036104-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id753810.html#id1036108-bb">add</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>int</strong></span>) ;
+  <span class="type"><span class="bold"><strong>unsigned</strong></span></span> <a href="id753810.html#id728289-bb">max_total_count</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> std::string &amp;</span> <a href="id753810.html#id728312-bb">name_for_position</a>(<span class="bold"><strong>unsigned</strong></span>) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1256550"></a><h2>Description</h2>
+<p>Describes positional options.</p>
+<p>The class allows to guess option names for positional options, which are specified on the command line and are identified by the position. The class uses the information provided by the user to associate a name with every positional option, or tell that no name is known.</p>
+<p>The primary assumption is that only the relative order of the positional options themselves matters, and that any interleaving ordinary options don't affect interpretation of positional options.</p>
+<p>The user initializes the class by specifying that first N positional options should be given the name X1, following M options should be given the name X2 and so on. </p>
+<div class="refsect2" lang="en">
+<a name="id1256574"></a><h3>
+<a name="id753810construct-copy-destruct"></a><code class="computeroutput">positional_options_description</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id1114888-bb"></a>positional_options_description();</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1256606"></a><h3>
+<a name="id1036104-bb"></a><code class="computeroutput">positional_options_description</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id1036108-bb"></a>add(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>int</strong></span> max_count) ;</pre>
+<p>Species that up to 'max_count' next positional options should be given the 'name'. The value of '-1' means 'unlimited'. No calls to 'add' can be made after call with 'max_value' equal to '-1'. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span></span> <a name="id728289-bb"></a>max_total_count() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns the maximum number of positional options that can be present. Can return numeric_limits&lt;unsigned&gt;::max() to indicate unlimited number. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> std::string &amp;</span> <a name="id728312-bb"></a>name_for_position(<span class="bold"><strong>unsigned</strong></span> position) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns the name that should be associated with positional options at 'position'. Precondition: position &lt; max_total_count() </p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id732463.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id753794"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="typed_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id754617.html b/doc/html/id754617.html
new file mode 100644
index 0000000000..5f32227350
--- /dev/null
+++ b/doc/html/id754617.html
@@ -0,0 +1,45 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Type collect_unrecognized_mode</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id695585" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="id803042-bb.html" title="Class basic_parsed_options&lt;wchar_t&gt;">
+<link rel="next" href="parse_command_line.html" title="Function template parse_command_line">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id803042-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id695585"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="parse_command_line.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id754617"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Type collect_unrecognized_mode</span></h2>
+<p>boost::program_options::collect_unrecognized_mode &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+
+<span class="bold"><strong>enum</strong></span> collect_unrecognized_mode { include_positional, exclude_positional };</pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id803042-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id695585"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="parse_command_line.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id756476.html b/doc/html/id756476.html
new file mode 100644
index 0000000000..f634957467
--- /dev/null
+++ b/doc/html/id756476.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id1008859" title="Header &lt;boost/functional/hash/map.hpp&gt;">
+<link rel="prev" href="id1008761.html" title="Function hash_value">
+<link rel="next" href="hash/links.html" title=" Links">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1008761.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1008859"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hash/links.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id756476"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::map&lt;K, T, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::multimap&lt;K, T, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1150204"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if
+ <code class="computeroutput"><a href="id971950.html" title="Function hash_value">hash_value</a>(std::pair&lt;K const, T&gt;)</code>
+ throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1008761.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1008859"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hash/links.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id756653.html b/doc/html/id756653.html
new file mode 100644
index 0000000000..c953946e12
--- /dev/null
+++ b/doc/html/id756653.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id832482" title="Header &lt;boost/functional/hash/vector.hpp&gt;">
+<link rel="prev" href="id797327.html" title="Function hash_value">
+<link rel="next" href="id978011.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id797327.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id832482"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id978011.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id756653"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::vector&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1149343"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id971950.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id797327.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id832482"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id978011.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id756942.html b/doc/html/id756942.html
new file mode 100644
index 0000000000..9aa1bd164b
--- /dev/null
+++ b/doc/html/id756942.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator!</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id758563" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="indeterminate.html" title="Function indeterminate">
+<link rel="next" href="id1181458.html" title="Function operator&amp;&amp;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="indeterminate.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id758563"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1181458.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id756942"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator!</span></h2>
+<p>boost::logic::operator! &#8212; Computes the logical negation of a tribool. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1564730"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the logical negation of the tribool, according to the table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">!</code></strong></span></td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">true</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">false</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="indeterminate.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id758563"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1181458.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id757234.html b/doc/html/id757234.html
new file mode 100644
index 0000000000..6b67218e37
--- /dev/null
+++ b/doc/html/id757234.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_resolution_traits_adapted64_impl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1006168" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id863881.html" title="Struct time_resolution_traits_bi64_impl">
+<link rel="next" href="time_resolution_traits.html" title="Class template time_resolution_traits">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id863881.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1006168"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_resolution_traits.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id757234"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_resolution_traits_adapted64_impl</span></h2>
+<p>boost::date_time::time_resolution_traits_adapted64_impl &#8212; traits struct for time_resolution_traits implementation type </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_resolution_traits_adapted64_impl {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::int64_t                                  int_type; 
+  <span class="bold"><strong>typedef</strong></span> <a href="int_adapter.html" title="Class template int_adapter">boost::date_time::int_adapter</a>&lt; boost::int64_t &gt; impl_type;
+
+  <span class="emphasis"><em>// <a href="id757234.html#id757265-bb">public static functions</a></em></span>
+  <span class="type">int_type</span> <a href="id757234.html#id1036669-bb">as_number</a>(impl_type) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id757234.html#id1036695-bb">is_adapted</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1070505"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1070509"></a><h3>
+<a name="id757265-bb"></a><code class="computeroutput">time_resolution_traits_adapted64_impl</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id1036669-bb"></a>as_number(impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id1036695-bb"></a>is_adapted() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id863881.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1006168"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_resolution_traits.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id757440.html b/doc/html/id757440.html
new file mode 100644
index 0000000000..f6ef999c8f
--- /dev/null
+++ b/doc/html/id757440.html
@@ -0,0 +1,166 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template time_duration</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id863086" title="Header &lt;boost/date_time/time_duration.hpp&gt;">
+<link rel="prev" href="second_clock.html" title="Class template second_clock">
+<link rel="next" href="subsecond_duration.html" title="Class template subsecond_duration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="second_clock.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id863086"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="subsecond_duration.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id757440"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template time_duration</span></h2>
+<p>boost::date_time::time_duration &#8212; Represents some amount of elapsed time measure to a given resolution. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> rep_type&gt;
+<span class="bold"><strong>class</strong></span> time_duration {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> T duration_type;
+ <span class="bold"><strong>typedef</strong></span> rep_type traits_type;
+ <span class="bold"><strong>typedef</strong></span> rep_type::day_type day_type;
+ <span class="bold"><strong>typedef</strong></span> rep_type::hour_type hour_type;
+ <span class="bold"><strong>typedef</strong></span> rep_type::min_type min_type;
+ <span class="bold"><strong>typedef</strong></span> rep_type::sec_type sec_type;
+ <span class="bold"><strong>typedef</strong></span> rep_type::fractional_seconds_type fractional_seconds_type;
+ <span class="bold"><strong>typedef</strong></span> rep_type::tick_type tick_type;
+ <span class="bold"><strong>typedef</strong></span> rep_type::impl_type impl_type;
+
+ <span class="emphasis"><em>// <a href="id757440.html#id757440construct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a href="id757440.html#id795397-bb">time_duration</a>();
+ <a href="id757440.html#id795400-bb">time_duration</a>(hour_type, min_type, sec_type = 0,
+ fractional_seconds_type = 0);
+ <a href="id757440.html#id795454-bb">time_duration</a>(<span class="bold"><strong>const</strong></span> <a href="id757440.html" title="Class template time_duration">time_duration</a>&lt; T, rep_type &gt; &amp;);
+ <a href="id757440.html#id795477-bb">time_duration</a>(special_values);
+ <a href="id757440.html#id798696-bb">time_duration</a>(impl_type);
+
+ <span class="emphasis"><em>// <a href="id757440.html#id828334-bb">public member functions</a></em></span>
+ <span class="type">hour_type</span> <a href="id757440.html#id828340-bb">hours</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">min_type</span> <a href="id757440.html#id828357-bb">minutes</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">sec_type</span> <a href="id757440.html#id828374-bb">seconds</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">sec_type</span> <a href="id757440.html#id828392-bb">total_seconds</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">tick_type</span> <a href="id757440.html#id828410-bb">total_milliseconds</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">tick_type</span> <a href="id757440.html#id828428-bb">total_nanoseconds</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">tick_type</span> <a href="id757440.html#id828446-bb">total_microseconds</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">fractional_seconds_type</span> <a href="id757440.html#id828464-bb">fractional_seconds</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">duration_type</span> <a href="id757440.html#id828482-bb">invert_sign</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id757440.html#id828495-bb">is_negative</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id757440.html#id892029-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> <a href="id757440.html" title="Class template time_duration">time_duration</a> &amp;) <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id757440.html#id693905-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="id757440.html" title="Class template time_duration">time_duration</a> &amp;) <span class="bold"><strong>const</strong></span>;
+ <span class="type">duration_type</span> <a href="id757440.html#id862511-bb"><span class="bold"><strong>operator</strong></span>-</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">duration_type</span> <a href="id757440.html#id828940-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+ <span class="type">duration_type</span> <a href="id757440.html#id828964-bb"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+ <span class="type">duration_type</span> <a href="id757440.html#id828987-bb"><span class="bold"><strong>operator</strong></span>/</a>(<span class="bold"><strong>int</strong></span>) <span class="bold"><strong>const</strong></span>;
+ <span class="type">duration_type</span> <a href="id757440.html#id829086-bb"><span class="bold"><strong>operator</strong></span>-=</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) ;
+ <span class="type">duration_type</span> <a href="id757440.html#id829110-bb"><span class="bold"><strong>operator</strong></span>+=</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) ;
+ <span class="type">duration_type</span> <a href="id757440.html#id837255-bb"><span class="bold"><strong>operator</strong></span>/=</a>(<span class="bold"><strong>int</strong></span>) ;
+ <span class="type">duration_type</span> <a href="id757440.html#id829509-bb"><span class="bold"><strong>operator</strong></span> *</a>(<span class="bold"><strong>int</strong></span>) <span class="bold"><strong>const</strong></span>;
+ <span class="type">duration_type</span> <a href="id757440.html#id689922-bb"><span class="bold"><strong>operator</strong></span> *=</a>(<span class="bold"><strong>int</strong></span>) ;
+ <span class="type">tick_type</span> <a href="id757440.html#id870539-bb">ticks</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id757440.html#id870552-bb">is_special</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id757440.html#id870569-bb">is_pos_infinity</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id757440.html#id799594-bb">is_neg_infinity</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id757440.html#id799611-bb">is_not_a_date_time</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">impl_type</span> <a href="id757440.html#id828518-bb">get_rep</a>() <span class="bold"><strong>const</strong></span>;
+
+ <span class="emphasis"><em>// <a href="id757440.html#id795496-bb">public static functions</a></em></span>
+ <span class="type">duration_type</span> <a href="id757440.html#id795501-bb">unit</a>() ;
+ <span class="type">tick_type</span> <a href="id757440.html#id795519-bb">ticks_per_second</a>() ;
+ <span class="type">time_resolutions</span> <a href="id757440.html#id795536-bb">resolution</a>() ;
+ <span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a href="id757440.html#id798672-bb">num_fractional_digits</a>() ;
+
+ <span class="emphasis"><em>// <a href="id757440.html#id798691-bb">protected member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1136066"></a><h2>Description</h2>
+<p>This class represents a standard set of capabilities for all counted time durations. Time duration implementations should derive from this class passing their type as the first template parameter. This design allows the subclass duration types to provide custom construction policies or other custom features not provided here.</p>
+<p></p>
+<div class="refsect2" lang="en">
+<a name="id1136078"></a><h3>
+<a name="id757440construct-copy-destruct"></a><code class="computeroutput">time_duration</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id795397-bb"></a>time_duration();</pre></li>
+<li><pre class="literallayout"><a name="id795400-bb"></a>time_duration(hour_type hours, min_type minutes, sec_type seconds = 0,
+ fractional_seconds_type frac_sec = 0);</pre></li>
+<li><pre class="literallayout"><a name="id795454-bb"></a>time_duration(<span class="bold"><strong>const</strong></span> <a href="id757440.html" title="Class template time_duration">time_duration</a>&lt; T, rep_type &gt; &amp; other);</pre></li>
+<li><pre class="literallayout"><a name="id795477-bb"></a>time_duration(special_values sv);</pre></li>
+<li><pre class="literallayout"><a name="id798696-bb"></a>time_duration(impl_type in);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1136180"></a><h3>
+<a name="id828334-bb"></a><code class="computeroutput">time_duration</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">hour_type</span> <a name="id828340-bb"></a>hours() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">min_type</span> <a name="id828357-bb"></a>minutes() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">sec_type</span> <a name="id828374-bb"></a>seconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">sec_type</span> <a name="id828392-bb"></a>total_seconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id828410-bb"></a>total_milliseconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id828428-bb"></a>total_nanoseconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id828446-bb"></a>total_microseconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">fractional_seconds_type</span> <a name="id828464-bb"></a>fractional_seconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id828482-bb"></a>invert_sign() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id828495-bb"></a>is_negative() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id892029-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<span class="bold"><strong>const</strong></span> <a href="id757440.html" title="Class template time_duration">time_duration</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id693905-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> <a href="id757440.html" title="Class template time_duration">time_duration</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id862511-bb"></a><span class="bold"><strong>operator</strong></span>-() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id828940-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> duration_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id828964-bb"></a><span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> duration_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id828987-bb"></a><span class="bold"><strong>operator</strong></span>/(<span class="bold"><strong>int</strong></span> divisor) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id829086-bb"></a><span class="bold"><strong>operator</strong></span>-=(<span class="bold"><strong>const</strong></span> duration_type &amp; d) ;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id829110-bb"></a><span class="bold"><strong>operator</strong></span>+=(<span class="bold"><strong>const</strong></span> duration_type &amp; d) ;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id837255-bb"></a><span class="bold"><strong>operator</strong></span>/=(<span class="bold"><strong>int</strong></span> divisor) ;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id829509-bb"></a><span class="bold"><strong>operator</strong></span> *(<span class="bold"><strong>int</strong></span> rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id689922-bb"></a><span class="bold"><strong>operator</strong></span> *=(<span class="bold"><strong>int</strong></span> divisor) ;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id870539-bb"></a>ticks() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id870552-bb"></a>is_special() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id870569-bb"></a>is_pos_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id799594-bb"></a>is_neg_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id799611-bb"></a>is_not_a_date_time() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">impl_type</span> <a name="id828518-bb"></a>get_rep() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1136926"></a><h3>
+<a name="id795496-bb"></a><code class="computeroutput">time_duration</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id795501-bb"></a>unit() ;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id795519-bb"></a>ticks_per_second() ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_resolutions</span> <a name="id795536-bb"></a>resolution() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a name="id798672-bb"></a>num_fractional_digits() ;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1137022"></a><h3>
+<a name="id798691-bb"></a><code class="computeroutput">time_duration</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="second_clock.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id863086"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="subsecond_duration.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id759771.html b/doc/html/id759771.html
new file mode 100644
index 0000000000..c8ea77bdb0
--- /dev/null
+++ b/doc/html/id759771.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator||</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id1008658" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="id1136776.html" title="Function template operator&amp;&amp;">
+<link rel="next" href="id931882.html" title="Function template operator!">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1136776.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id1008658"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id931882.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id759771"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator||</span></h2>
+<p>boost::algorithm::operator|| &#8212; predicate 'or' composition predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Pred1T, <span class="bold"><strong>typename</strong></span> Pred2T&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <span class="bold"><strong>operator</strong></span>||(<span class="bold"><strong>const</strong></span> predicate_facade&lt; Pred1T &gt; &amp; Pred1,
+                         <span class="bold"><strong>const</strong></span> predicate_facade&lt; Pred2T &gt; &amp; Pred2);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1314718"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">class_or</code> predicate. This predicate can be used to logically combine two classification predicates. <code class="computeroutput">class_or</code> holds, if one of the predicates return true.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Pred1</span></dt>
+<dd><p>The first predicate </p></dd>
+<dt><span class="term">Pred2</span></dt>
+<dd><p>The second predicate </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">class_or</code> predicate </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1136776.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id1008658"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id931882.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id761403.html b/doc/html/id761403.html
new file mode 100644
index 0000000000..4930d68652
--- /dev/null
+++ b/doc/html/id761403.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1213784" title="Header &lt;boost/variant/variant_fwd.hpp&gt;">
+<link rel="prev" href="id1246129.html" title="Macro BOOST_VARIANT_ENUM_SHIFTED_PARAMS">
+<link rel="next" href="id1316002.html" title="Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1246129.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1213784"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1316002.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id761403"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT</span></h2>
+<p>BOOST_VARIANT_NO_REFERENCE_SUPPORT &#8212; <p>Indicates <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code> does not
+ support references as bounded types.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_VARIANT_NO_REFERENCE_SUPPORT</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1639280"></a><h2>Description</h2>
+<p>Defined only if <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a></code> does
+ not support references as bounded types.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1246129.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1213784"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1316002.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id762184-bb.html b/doc/html/id762184-bb.html
new file mode 100644
index 0000000000..59d6ac887f
--- /dev/null
+++ b/doc/html/id762184-bb.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class value_semantic_codecvt_helper&lt;char&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id1114896" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="id963166.html" title="Class template value_semantic_codecvt_helper">
+<link rel="next" href="id1067419-bb.html" title="Class value_semantic_codecvt_helper&lt;wchar_t&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id963166.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1114896"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1067419-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id762184-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class value_semantic_codecvt_helper&lt;char&gt;</span></h2>
+<p>boost::program_options::value_semantic_codecvt_helper&lt;char&gt; &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> value_semantic_codecvt_helper&lt;<span class="bold"><strong>char</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="id762184-bb.html#id690801-bb">protected member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="id762184-bb.html#id690807-bb">xparse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="id762184-bb.html#id1011188-bb">private member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id762184-bb.html#id1011193-bb">parse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp;, <span class="bold"><strong>bool</strong></span>) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1276696"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1276700"></a><h3>
+<a name="id690801-bb"></a><code class="computeroutput">value_semantic_codecvt_helper</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span>
+<a name="id690807-bb"></a>xparse(boost::any &amp; value_store,
+       <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp; new_tokens) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1276757"></a><h3>
+<a name="id1011188-bb"></a><code class="computeroutput">value_semantic_codecvt_helper</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id1011193-bb"></a>parse(boost::any &amp; value_store,
+           <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp; new_tokens, <span class="bold"><strong>bool</strong></span> utf8) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id963166.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1114896"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1067419-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id764073.html b/doc/html/id764073.html
new file mode 100644
index 0000000000..56ddae9842
--- /dev/null
+++ b/doc/html/id764073.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id904986" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id905663.html" title="Function operator+">
+<link rel="next" href="id967208.html" title="Function operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id905663.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id904986"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id967208.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id764073"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+=</span></h2>
+<p>boost::posix_time::operator+= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>+=(<a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1103234"></a><h2>Description</h2>
+<p>Adds a months object to a ptime. Result will be same day-of-month as ptime unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id905663.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id904986"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id967208.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id765833.html b/doc/html/id765833.html
new file mode 100644
index 0000000000..c2a28232f6
--- /dev/null
+++ b/doc/html/id765833.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id1288744" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="id1151074.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="id1111217.html" title="Function template operator&gt;&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1151074.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1288744"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1111217.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id765833"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::logic::operator&lt;&lt; &#8212; Writes the indeterminate tribool value to a stream. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+ <span class="type">std::basic_ostream&lt; CharT, Traits &gt; &amp;</span>
+ <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; CharT, Traits &gt; &amp; out, <span class="emphasis"><em>unspecified</em></span> );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1565828"></a><h2>Description</h2>
+<p>This routine outputs either the integer value 2 (if <code class="computeroutput">(out.flags() &amp; std::ios_base::boolalpha) == 0</code> ) or the name of the indeterminate value. The name of the indeterminate value comes from the indeterminate_name facet (if it is defined in the output stream's locale), or from the get_default_indeterminate_name function (if it is not defined in the locale or if the C++ standard library implementation does not support locales).</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">out</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1151074.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1288744"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1111217.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id766036.html b/doc/html/id766036.html
new file mode 100644
index 0000000000..65d250b335
--- /dev/null
+++ b/doc/html/id766036.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class too_few_positional_options_error</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id696710" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="multiple_values.html" title="Class multiple_values">
+<link rel="next" href="id977493.html" title="Class too_many_positional_options_error">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="multiple_values.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id696710"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id977493.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id766036"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class too_few_positional_options_error</span></h2>
+<p>boost::program_options::too_few_positional_options_error &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> too_few_positional_options_error
+ : : <span class="bold"><strong>public</strong></span> boost::program_options::error
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id766036.html#id766036construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id766036.html#id653557-bb">too_few_positional_options_error</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+  <span class="emphasis"><em>// <a href="id766036.html#id1136903-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1251240"></a><h2>Description</h2>
+<p>Class thrown when there are too few positional options. </p>
+<div class="refsect2" lang="en">
+<a name="id1251246"></a><h3>
+<a name="id766036construct-copy-destruct"></a><code class="computeroutput">too_few_positional_options_error</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id653557-bb"></a>too_few_positional_options_error(<span class="bold"><strong>const</strong></span> std::string &amp; what);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1251286"></a><h3>
+<a name="id1136903-bb"></a><code class="computeroutput">too_few_positional_options_error</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="multiple_values.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id696710"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id977493.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id767095.html b/doc/html/id767095.html
new file mode 100644
index 0000000000..a80f3e3599
--- /dev/null
+++ b/doc/html/id767095.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id856507" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id832781.html" title="Function operator-">
+<link rel="next" href="partial_date_rule_spec.html" title="Struct partial_date_rule_spec">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id832781.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856507"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="partial_date_rule_spec.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id767095"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-=</span></h2>
+<p>boost::local_time::operator-= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>-=(local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1108572"></a><h2>Description</h2>
+<p>Subtracts a years object from a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id832781.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856507"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="partial_date_rule_spec.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id786780.html b/doc/html/id786780.html
new file mode 100644
index 0000000000..e689ef3e7d
--- /dev/null
+++ b/doc/html/id786780.html
@@ -0,0 +1,166 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template time_duration</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id786765" title="Header &lt;boost/date_time/time_duration.hpp&gt;">
+<link rel="prev" href="second_clock.html" title="Class template second_clock">
+<link rel="next" href="subsecond_duration.html" title="Class template subsecond_duration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="second_clock.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id786765"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="subsecond_duration.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id786780"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template time_duration</span></h2>
+<p>boost::date_time::time_duration &#8212; Represents some amount of elapsed time measure to a given resolution. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> rep_type&gt;
+<span class="bold"><strong>class</strong></span> time_duration {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> T                                 duration_type;          
+  <span class="bold"><strong>typedef</strong></span> rep_type                          traits_type;            
+  <span class="bold"><strong>typedef</strong></span> rep_type::day_type                day_type;               
+  <span class="bold"><strong>typedef</strong></span> rep_type::hour_type               hour_type;              
+  <span class="bold"><strong>typedef</strong></span> rep_type::min_type                min_type;               
+  <span class="bold"><strong>typedef</strong></span> rep_type::sec_type                sec_type;               
+  <span class="bold"><strong>typedef</strong></span> rep_type::fractional_seconds_type fractional_seconds_type;
+  <span class="bold"><strong>typedef</strong></span> rep_type::tick_type               tick_type;              
+  <span class="bold"><strong>typedef</strong></span> rep_type::impl_type               impl_type;              
+
+  <span class="emphasis"><em>// <a href="id786780.html#id786780construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id786780.html#id763895-bb">time_duration</a>();
+  <a href="id786780.html#id763898-bb">time_duration</a>(hour_type, min_type, sec_type = 0,
+                fractional_seconds_type = 0);
+  <a href="id786780.html#id798154-bb">time_duration</a>(<span class="bold"><strong>const</strong></span> <a href="id786780.html" title="Class template time_duration">time_duration</a>&lt; T, rep_type &gt; &amp;);
+  <a href="id786780.html#id798176-bb">time_duration</a>(special_values);
+  <a href="id786780.html#id792633-bb">time_duration</a>(impl_type);
+
+  <span class="emphasis"><em>// <a href="id786780.html#id786907-bb">public member functions</a></em></span>
+  <span class="type">hour_type</span> <a href="id786780.html#id786912-bb">hours</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">min_type</span> <a href="id786780.html#id786928-bb">minutes</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">sec_type</span> <a href="id786780.html#id786944-bb">seconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">sec_type</span> <a href="id786780.html#id786960-bb">total_seconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">tick_type</span> <a href="id786780.html#id786976-bb">total_milliseconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">tick_type</span> <a href="id786780.html#id800060-bb">total_nanoseconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">tick_type</span> <a href="id786780.html#id800077-bb">total_microseconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">fractional_seconds_type</span> <a href="id786780.html#id800093-bb">fractional_seconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id786780.html#id729889-bb">invert_sign</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id786780.html#id729901-bb">is_negative</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id786780.html#id729913-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> <a href="id786780.html" title="Class template time_duration">time_duration</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id786780.html#id1043119-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="id786780.html" title="Class template time_duration">time_duration</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id786780.html#id1043144-bb"><span class="bold"><strong>operator</strong></span>-</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id786780.html#id1043160-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id786780.html#id1043182-bb"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id786780.html#id1043204-bb"><span class="bold"><strong>operator</strong></span>/</a>(<span class="bold"><strong>int</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id786780.html#id1043226-bb"><span class="bold"><strong>operator</strong></span>-=</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) ;
+  <span class="type">duration_type</span> <a href="id786780.html#id755958-bb"><span class="bold"><strong>operator</strong></span>+=</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) ;
+  <span class="type">duration_type</span> <a href="id786780.html#id822323-bb"><span class="bold"><strong>operator</strong></span>/=</a>(<span class="bold"><strong>int</strong></span>) ;
+  <span class="type">duration_type</span> <a href="id786780.html#id754592-bb"><span class="bold"><strong>operator</strong></span> *</a>(<span class="bold"><strong>int</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id786780.html#id685338-bb"><span class="bold"><strong>operator</strong></span> *=</a>(<span class="bold"><strong>int</strong></span>) ;
+  <span class="type">tick_type</span> <a href="id786780.html#id685359-bb">ticks</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id786780.html#id685370-bb">is_special</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id786780.html#id763830-bb">is_pos_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id786780.html#id763846-bb">is_neg_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id786780.html#id763862-bb">is_not_a_date_time</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">impl_type</span> <a href="id786780.html#id763878-bb">get_rep</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="id786780.html#id798193-bb">public static functions</a></em></span>
+  <span class="type">duration_type</span> <a href="id786780.html#id794382-bb">unit</a>() ;
+  <span class="type">tick_type</span> <a href="id786780.html#id768921-bb">ticks_per_second</a>() ;
+  <span class="type">time_resolutions</span> <a href="id786780.html#id768937-bb">resolution</a>() ;
+  <span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a href="id786780.html#id768953-bb">num_fractional_digits</a>() ;
+
+  <span class="emphasis"><em>// <a href="id786780.html#id792628-bb">protected member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1046965"></a><h2>Description</h2>
+<p>This class represents a standard set of capabilities for all counted time durations. Time duration implementations should derive from this class passing their type as the first template parameter. This design allows the subclass duration types to provide custom construction policies or other custom features not provided here.</p>
+<p></p>
+<div class="refsect2" lang="en">
+<a name="id1046977"></a><h3>
+<a name="id786780construct-copy-destruct"></a><code class="computeroutput">time_duration</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id763895-bb"></a>time_duration();</pre></li>
+<li><pre class="literallayout"><a name="id763898-bb"></a>time_duration(hour_type hours, min_type minutes, sec_type seconds = 0,
+              fractional_seconds_type frac_sec = 0);</pre></li>
+<li><pre class="literallayout"><a name="id798154-bb"></a>time_duration(<span class="bold"><strong>const</strong></span> <a href="id786780.html" title="Class template time_duration">time_duration</a>&lt; T, rep_type &gt; &amp; other);</pre></li>
+<li><pre class="literallayout"><a name="id798176-bb"></a>time_duration(special_values sv);</pre></li>
+<li><pre class="literallayout"><a name="id792633-bb"></a>time_duration(impl_type in);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1047080"></a><h3>
+<a name="id786907-bb"></a><code class="computeroutput">time_duration</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">hour_type</span> <a name="id786912-bb"></a>hours() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">min_type</span> <a name="id786928-bb"></a>minutes() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">sec_type</span> <a name="id786944-bb"></a>seconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">sec_type</span> <a name="id786960-bb"></a>total_seconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id786976-bb"></a>total_milliseconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id800060-bb"></a>total_nanoseconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id800077-bb"></a>total_microseconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">fractional_seconds_type</span> <a name="id800093-bb"></a>fractional_seconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id729889-bb"></a>invert_sign() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id729901-bb"></a>is_negative() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id729913-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<span class="bold"><strong>const</strong></span> <a href="id786780.html" title="Class template time_duration">time_duration</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id1043119-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> <a href="id786780.html" title="Class template time_duration">time_duration</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id1043144-bb"></a><span class="bold"><strong>operator</strong></span>-() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id1043160-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> duration_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id1043182-bb"></a><span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> duration_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id1043204-bb"></a><span class="bold"><strong>operator</strong></span>/(<span class="bold"><strong>int</strong></span> divisor) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id1043226-bb"></a><span class="bold"><strong>operator</strong></span>-=(<span class="bold"><strong>const</strong></span> duration_type &amp; d) ;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id755958-bb"></a><span class="bold"><strong>operator</strong></span>+=(<span class="bold"><strong>const</strong></span> duration_type &amp; d) ;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id822323-bb"></a><span class="bold"><strong>operator</strong></span>/=(<span class="bold"><strong>int</strong></span> divisor) ;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id754592-bb"></a><span class="bold"><strong>operator</strong></span> *(<span class="bold"><strong>int</strong></span> rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id685338-bb"></a><span class="bold"><strong>operator</strong></span> *=(<span class="bold"><strong>int</strong></span> divisor) ;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id685359-bb"></a>ticks() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id685370-bb"></a>is_special() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id763830-bb"></a>is_pos_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id763846-bb"></a>is_neg_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id763862-bb"></a>is_not_a_date_time() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">impl_type</span> <a name="id763878-bb"></a>get_rep() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1047826"></a><h3>
+<a name="id798193-bb"></a><code class="computeroutput">time_duration</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id794382-bb"></a>unit() ;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id768921-bb"></a>ticks_per_second() ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_resolutions</span> <a name="id768937-bb"></a>resolution() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a name="id768953-bb"></a>num_fractional_digits() ;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1047921"></a><h3>
+<a name="id792628-bb"></a><code class="computeroutput">time_duration</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="second_clock.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id786765"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="subsecond_duration.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id791643.html b/doc/html/id791643.html
new file mode 100644
index 0000000000..42567b3d77
--- /dev/null
+++ b/doc/html/id791643.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class time_duration</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1079172" title="Header &lt;boost/date_time/posix_time/posix_time_config.hpp&gt;">
+<link rel="prev" href="id968571.html" title="Function operator-=">
+<link rel="next" href="simple_time_rep.html" title="Struct simple_time_rep">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id968571.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1079172"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="simple_time_rep.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id791643"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class time_duration</span></h2>
+<p>boost::posix_time::time_duration &#8212; Base time duration type. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> time_duration {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> time_res_traits rep_type;
+ <span class="bold"><strong>typedef</strong></span> time_res_traits::day_type day_type;
+ <span class="bold"><strong>typedef</strong></span> time_res_traits::hour_type hour_type;
+ <span class="bold"><strong>typedef</strong></span> time_res_traits::min_type min_type;
+ <span class="bold"><strong>typedef</strong></span> time_res_traits::sec_type sec_type;
+ <span class="bold"><strong>typedef</strong></span> time_res_traits::fractional_seconds_type fractional_seconds_type;
+ <span class="bold"><strong>typedef</strong></span> time_res_traits::tick_type tick_type;
+ <span class="bold"><strong>typedef</strong></span> time_res_traits::impl_type impl_type;
+
+ <span class="emphasis"><em>// <a href="id791643.html#id791643construct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a href="id791643.html#id828772-bb">time_duration</a>(hour_type, min_type, sec_type, fractional_seconds_type = 0);
+ <a href="id791643.html#id836364-bb">time_duration</a>();
+ <a href="id791643.html#id836366-bb">time_duration</a>(boost::date_time::special_values);
+ <a href="id791643.html#id931981-bb">time_duration</a>(impl_type);
+
+ <span class="emphasis"><em>// <a href="id791643.html#id828766-bb">public member functions</a></em></span>
+
+ <span class="emphasis"><em>// <a href="id791643.html#id931975-bb">private member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1175230"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1175233"></a><h3>
+<a name="id791643construct-copy-destruct"></a><code class="computeroutput">time_duration</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id828772-bb"></a>time_duration(hour_type hour, min_type min, sec_type sec,
+ fractional_seconds_type fs = 0);</pre></li>
+<li><pre class="literallayout"><a name="id836364-bb"></a>time_duration();</pre></li>
+<li><pre class="literallayout"><a name="id836366-bb"></a>time_duration(boost::date_time::special_values sv);</pre></li>
+<li><pre class="literallayout"><a name="id931981-bb"></a>time_duration(impl_type ticks);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1175309"></a><h3>
+<a name="id828766-bb"></a><code class="computeroutput">time_duration</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1175327"></a><h3>
+<a name="id931975-bb"></a><code class="computeroutput">time_duration</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id968571.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1079172"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="simple_time_rep.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id791859.html b/doc/html/id791859.html
new file mode 100644
index 0000000000..f6216fcd0f
--- /dev/null
+++ b/doc/html/id791859.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator||</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id996838" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id1081555.html" title="Function operator&amp;&amp;">
+<link rel="next" href="id935001.html" title="Function operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1081555.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id996838"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id935001.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id791859"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator||</span></h2>
+<p>boost::logic::operator|| &#8212; Computes the logical disjunction of two tribools. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="bold"><strong>bool</strong></span> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(<span class="bold"><strong>bool</strong></span> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(indeterminate_keyword_t , <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, indeterminate_keyword_t );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1570450"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the result of logically ORing the two tribool values, according to the following table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">||</code></strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">true</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1081555.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id996838"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id935001.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id792474.html b/doc/html/id792474.html
new file mode 100644
index 0000000000..182eb2de92
--- /dev/null
+++ b/doc/html/id792474.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id856825" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="id961567.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="bad_month.html" title="Struct bad_month">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id961567.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856825"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_month.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id792474"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::gregorian::operator&lt;&lt; &#8212; operator&lt;&lt; for gregorian::date_period typical output: [2002-Jan-01/2002-Jan-31] </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+  <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os, <span class="bold"><strong>const</strong></span> date_period &amp; dp);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1152673"></a><h2>Description</h2>
+<p>Uses the date facet to determine output string as well as selection of long or short string fr dates. Default if no facet is installed is to output a 3 char english string for the day of the week. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id961567.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856825"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_month.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id792595.html b/doc/html/id792595.html
new file mode 100644
index 0000000000..1dbd7a8191
--- /dev/null
+++ b/doc/html/id792595.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id904986" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id967208.html" title="Function operator-">
+<link rel="next" href="id859664.html" title="Function operator+">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id967208.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id904986"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id859664.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id792595"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-=</span></h2>
+<p>boost::posix_time::operator-= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>-=(<a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1103352"></a><h2>Description</h2>
+<p>Subtracts a months object from a ptime. Result will be same day-of-month as ptime unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id967208.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id904986"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id859664.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id793312.html b/doc/html/id793312.html
new file mode 100644
index 0000000000..2b190981c9
--- /dev/null
+++ b/doc/html/id793312.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_resolution_traits_bi64_impl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id963558" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id976922.html" title="Struct time_resolution_traits_adapted32_impl">
+<link rel="next" href="id976400.html" title="Struct time_resolution_traits_adapted64_impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id976922.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id963558"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id976400.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id793312"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_resolution_traits_bi64_impl</span></h2>
+<p>boost::date_time::time_resolution_traits_bi64_impl &#8212; traits struct for time_resolution_traits implementation type </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_resolution_traits_bi64_impl {
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> boost::int64_t int_type;
+ <span class="bold"><strong>typedef</strong></span> boost::int64_t impl_type;
+
+ <span class="emphasis"><em>// <a href="id793312.html#id976441-bb">public static functions</a></em></span>
+ <span class="type">int_type</span> <a href="id793312.html#id976447-bb">as_number</a>(impl_type) ;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id793312.html#id967940-bb">is_adapted</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1141873"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1141876"></a><h3>
+<a name="id976441-bb"></a><code class="computeroutput">time_resolution_traits_bi64_impl</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id976447-bb"></a>as_number(impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id967940-bb"></a>is_adapted() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id976922.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id963558"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id976400.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id795566.html b/doc/html/id795566.html
new file mode 100644
index 0000000000..0dde32dff1
--- /dev/null
+++ b/doc/html/id795566.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1031665" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id1038994.html" title="Function operator+=">
+<link rel="next" href="id681933.html" title="Function operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1038994.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1031665"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id681933.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id795566"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-</span></h2>
+<p>boost::local_time::operator- &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1180215"></a><h2>Description</h2>
+<p>Subtracts a months object and a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1038994.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1031665"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id681933.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id797225.html b/doc/html/id797225.html
new file mode 100644
index 0000000000..9f06f00411
--- /dev/null
+++ b/doc/html/id797225.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id927299" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id964077.html" title="Function hash_value">
+<link rel="next" href="id797327.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id964077.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id927299"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id797327.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id797225"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for <code class="computeroutput">std::basic_string</code>.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Ch, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::basic_string&lt;Ch, std::char_traits&lt;Ch&gt;, A&gt; <span class="bold"><strong>const</strong></span>&amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1148980"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">hash_range(val.begin(), val.end())</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id964077.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id927299"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id797327.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id797327.html b/doc/html/id797327.html
new file mode 100644
index 0000000000..a6ca1bd6d3
--- /dev/null
+++ b/doc/html/id797327.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id797310" title="Header &lt;boost/functional/hash/pair.hpp&gt;">
+<link rel="prev" href="id797225.html" title="Function hash_value">
+<link rel="next" href="id756653.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id797225.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id797310"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id756653.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id797327"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> A, <span class="bold"><strong>typename</strong></span> B&gt;
+  <span class="type">std::size_t</span> hash_value(std::pair&lt;A, B&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1149159"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ <pre class="programlisting">
+size_t seed = 0;
+<a href="hash_combine.html" title="Function template hash_combine">hash_combine</a>(seed, val.first);
+<a href="hash_combine.html" title="Function template hash_combine">hash_combine</a>(seed, val.second);
+return seed;
+ </pre><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id971950.html" title="Function hash_value">hash_value</a>(A)</code>
+ or <code class="computeroutput"><a href="id971950.html" title="Function hash_value">hash_value</a>(B)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id797225.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id797310"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id756653.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id798130.html b/doc/html/id798130.html
new file mode 100644
index 0000000000..e12bcf4ef3
--- /dev/null
+++ b/doc/html/id798130.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id800602" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id1047787.html" title="Function hash_value">
+<link rel="next" href="id1012853.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1047787.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id800602"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1012853.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id798130"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for floating point values.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>float</strong></span> val);
+<span class="type">std::size_t</span> hash_value(double val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>long</strong></span> double val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1219785"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+
+ An unspecified value, except that equal arguments shall yield the same
+ result
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1047787.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id800602"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1012853.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id801724.html b/doc/html/id801724.html
new file mode 100644
index 0000000000..45c2c92d90
--- /dev/null
+++ b/doc/html/id801724.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_resolution_traits_adapted32_impl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1006168" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id828736.html" title="Struct time_resolution_traits_bi32_impl">
+<link rel="next" href="id863881.html" title="Struct time_resolution_traits_bi64_impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id828736.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1006168"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id863881.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id801724"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_resolution_traits_adapted32_impl</span></h2>
+<p>boost::date_time::time_resolution_traits_adapted32_impl &#8212; traits struct for time_resolution_traits implementation type </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_resolution_traits_adapted32_impl {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::int32_t                                  int_type; 
+  <span class="bold"><strong>typedef</strong></span> <a href="int_adapter.html" title="Class template int_adapter">boost::date_time::int_adapter</a>&lt; boost::int32_t &gt; impl_type;
+
+  <span class="emphasis"><em>// <a href="id801724.html#id864191-bb">public static functions</a></em></span>
+  <span class="type">int_type</span> <a href="id801724.html#id864196-bb">as_number</a>(impl_type) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id801724.html#id795164-bb">is_adapted</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1070210"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1070214"></a><h3>
+<a name="id864191-bb"></a><code class="computeroutput">time_resolution_traits_adapted32_impl</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id864196-bb"></a>as_number(impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id795164-bb"></a>is_adapted() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id828736.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1006168"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id863881.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id801965.html b/doc/html/id801965.html
new file mode 100644
index 0000000000..1a6fae2e29
--- /dev/null
+++ b/doc/html/id801965.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id856507" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id856528.html" title="Function operator+">
+<link rel="next" href="id1035618.html" title="Function operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id856528.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856507"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1035618.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id801965"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+=</span></h2>
+<p>boost::local_time::operator+= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>+=(local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1108278"></a><h2>Description</h2>
+<p>Adds a months object to a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id856528.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856507"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1035618.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id802077.html b/doc/html/id802077.html
new file mode 100644
index 0000000000..598ff1d811
--- /dev/null
+++ b/doc/html/id802077.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id856507" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id902736.html" title="Function operator+">
+<link rel="next" href="id832781.html" title="Function operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id902736.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856507"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id832781.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id802077"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+=</span></h2>
+<p>boost::local_time::operator+= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>+=(local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1108473"></a><h2>Description</h2>
+<p>Adds a years object to a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id902736.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856507"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id832781.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id802125.html b/doc/html/id802125.html
new file mode 100644
index 0000000000..730e72f4eb
--- /dev/null
+++ b/doc/html/id802125.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id1082064" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id1042434.html" title="Function hash_value">
+<link rel="next" href="id1001098.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1042434.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1082064"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1001098.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id802125"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for floating point values.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>float</strong></span> val);
+<span class="type">std::size_t</span> hash_value(double val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>long</strong></span> double val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1220503"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+
+ An unspecified value, except that equal arguments shall yield the same
+ result
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1042434.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1082064"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1001098.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id802530.html b/doc/html/id802530.html
new file mode 100644
index 0000000000..9f5aaab159
--- /dev/null
+++ b/doc/html/id802530.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id798666" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id1000125.html" title="Function operator-">
+<link rel="next" href="id934351.html" title="Function operator+">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1000125.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id798666"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id934351.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id802530"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-=</span></h2>
+<p>boost::posix_time::operator-= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>-=(<a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1175238"></a><h2>Description</h2>
+<p>Subtracts a months object from a ptime. Result will be same day-of-month as ptime unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1000125.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id798666"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id934351.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id803042-bb.html b/doc/html/id803042-bb.html
new file mode 100644
index 0000000000..4442595cd7
--- /dev/null
+++ b/doc/html/id803042-bb.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class basic_parsed_options&lt;wchar_t&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id695585" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="basic_parsed_options.html" title="Class template basic_parsed_options">
+<link rel="next" href="id754617.html" title="Type collect_unrecognized_mode">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_parsed_options.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id695585"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id754617.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id803042-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class basic_parsed_options&lt;wchar_t&gt;</span></h2>
+<p>boost::program_options::basic_parsed_options&lt;wchar_t&gt; &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> basic_parsed_options&lt;<span class="bold"><strong>wchar_t</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+
+ <span class="emphasis"><em>// <a href="id803042-bb.html#id1116080-bb">public member functions</a></em></span>
+ <span class="type"></span> <a href="id803042-bb.html#id1116086-bb">basic_parsed_options</a>(<span class="bold"><strong>const</strong></span> <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>char</strong></span> &gt; &amp;) ;
+
+ std::vector&lt; <a href="basic_option.html" title="Class template basic_option">basic_option</a>&lt; wchar_t &gt; &gt; options;
+ const <a href="options_description.html" title="Class options_description">options_description</a> * description;
+ <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; char &gt; utf8_encoded_options;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1255063"></a><h2>Description</h2>
+<p>Specialization of basic_parsed_options which:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>provides convenient conversion from basic_parsed_options&lt;char&gt;</p></li>
+<li><p>stores the passed char-based options for later use. </p></li>
+</ul></div>
+<div class="refsect2" lang="en">
+<a name="id1255080"></a><h3>
+<a name="id1116080-bb"></a><code class="computeroutput">basic_parsed_options</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type"></span> <a name="id1116086-bb"></a>basic_parsed_options(<span class="bold"><strong>const</strong></span> <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>char</strong></span> &gt; &amp; po) ;</pre>
+<p>Constructs wrapped options from options in UTF8 encoding. </p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_parsed_options.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id695585"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id754617.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id822503.html b/doc/html/id822503.html
new file mode 100644
index 0000000000..c45b395cd4
--- /dev/null
+++ b/doc/html/id822503.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template regex_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id727657" title="Header &lt;boost/algorithm/string/regex_find_format.hpp&gt;">
+<link rel="prev" href="id1185234.html" title="Function template regex_finder">
+<link rel="next" href="replace_range_copy.html" title="Function replace_range_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1185234.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id727657"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_range_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id822503"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template regex_formatter</span></h2>
+<p>boost::algorithm::regex_formatter &#8212; Regex formatter. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT, <span class="bold"><strong>typename</strong></span> AllocT&gt;
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> regex_formatter(<span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, TraitsT, AllocT &gt; &amp; Format,
+ match_flag_type Flags = format_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1347708"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">regex_formatter</code> . Regex formatter uses the regex engine to format a match found by the <code class="computeroutput">regex_finder</code> . This formatted it designed to closely cooperate with <code class="computeroutput">regex_finder</code> .</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Flags</span></dt>
+<dd><p>Format flags </p></dd>
+<dt><span class="term">Format</span></dt>
+<dd><p>Regex format definition </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">regex_formatter</code> functor </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1185234.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id727657"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_range_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id825498.html b/doc/html/id825498.html
new file mode 100644
index 0000000000..cc53241f33
--- /dev/null
+++ b/doc/html/id825498.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1066750" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="custom_time_zone.html" title="Class custom_time_zone">
+<link rel="next" href="id1003172.html" title="Function operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="custom_time_zone.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1066750"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1003172.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id825498"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+</span></h2>
+<p>boost::local_time::operator+ &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1180165"></a><h2>Description</h2>
+<p>Adds a months object and a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="custom_time_zone.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1066750"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1003172.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id827567-bb.html b/doc/html/id827567-bb.html
new file mode 100644
index 0000000000..b182cf57a2
--- /dev/null
+++ b/doc/html/id827567-bb.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class iso_format_base&lt;wchar_t&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id829730" title="Header &lt;boost/date_time/iso_format.hpp&gt;">
+<link rel="prev" href="iso_format_base.html" title="Class template iso_format_base">
+<link rel="next" href="iso_format.html" title="Class template iso_format">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iso_format_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id829730"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="iso_format.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id827567-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class iso_format_base&lt;wchar_t&gt;</span></h2>
+<p>boost::date_time::iso_format_base&lt;wchar_t&gt; &#8212; Class to provide common iso formatting spec. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> iso_format_base&lt;<span class="bold"><strong>wchar_t</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="id827567-bb.html#id1043049-bb">public static functions</a></em></span>
+  <span class="type">month_format_spec</span> <a href="id827567-bb.html#id725306-bb">month_format</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id827567-bb.html#id725323-bb">not_a_date</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id827567-bb.html#id793747-bb">pos_infinity</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id827567-bb.html#id793763-bb">neg_infinity</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id827567-bb.html#id928437-bb">year_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id827567-bb.html#id928453-bb">month_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id827567-bb.html#id857657-bb">day_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id827567-bb.html#id857672-bb">hour_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id827567-bb.html#id970910-bb">minute_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id827567-bb.html#id797885-bb">second_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id827567-bb.html#id768018-bb">period_start_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id827567-bb.html#id902478-bb">time_start_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id827567-bb.html#id584526-bb">week_start_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id827567-bb.html#id870444-bb">period_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id827567-bb.html#id963443-bb">time_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id827567-bb.html#id795402-bb">fractional_time_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id827567-bb.html#id892294-bb">is_component_sep</a>(<span class="bold"><strong>wchar_t</strong></span>) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id827567-bb.html#id863833-bb">is_fractional_time_sep</a>(<span class="bold"><strong>wchar_t</strong></span>) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id827567-bb.html#id751637-bb">is_timezone_sep</a>(<span class="bold"><strong>wchar_t</strong></span>) ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id827567-bb.html#id926327-bb">element_sep_char</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1035393"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1035396"></a><h3>
+<a name="id1043049-bb"></a><code class="computeroutput">iso_format_base</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">month_format_spec</span> <a name="id725306-bb"></a>month_format() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id725323-bb"></a>not_a_date() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id793747-bb"></a>pos_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id793763-bb"></a>neg_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id928437-bb"></a>year_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id928453-bb"></a>month_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id857657-bb"></a>day_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id857672-bb"></a>hour_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id970910-bb"></a>minute_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id797885-bb"></a>second_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id768018-bb"></a>period_start_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id902478-bb"></a>time_start_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id584526-bb"></a>week_start_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id870444-bb"></a>period_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id963443-bb"></a>time_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id795402-bb"></a>fractional_time_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id892294-bb"></a>is_component_sep(<span class="bold"><strong>wchar_t</strong></span> sep) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id863833-bb"></a>is_fractional_time_sep(<span class="bold"><strong>wchar_t</strong></span> sep) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id751637-bb"></a>is_timezone_sep(<span class="bold"><strong>wchar_t</strong></span> sep) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id926327-bb"></a>element_sep_char() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iso_format_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id829730"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="iso_format.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id828736.html b/doc/html/id828736.html
new file mode 100644
index 0000000000..b25bb171fb
--- /dev/null
+++ b/doc/html/id828736.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_resolution_traits_bi32_impl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1006168" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id830090.html" title="Function template parse_delimited_time_duration">
+<link rel="next" href="id801724.html" title="Struct time_resolution_traits_adapted32_impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id830090.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1006168"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id801724.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id828736"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_resolution_traits_bi32_impl</span></h2>
+<p>boost::date_time::time_resolution_traits_bi32_impl &#8212; traits struct for time_resolution_traits implementation type </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_resolution_traits_bi32_impl {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::int32_t int_type; 
+  <span class="bold"><strong>typedef</strong></span> boost::int32_t impl_type;
+
+  <span class="emphasis"><em>// <a href="id828736.html#id726040-bb">public static functions</a></em></span>
+  <span class="type">int_type</span> <a href="id828736.html#id726044-bb">as_number</a>(impl_type) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id828736.html#id802481-bb">is_adapted</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1070058"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1070062"></a><h3>
+<a name="id726040-bb"></a><code class="computeroutput">time_resolution_traits_bi32_impl</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id726044-bb"></a>as_number(impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id802481-bb"></a>is_adapted() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id830090.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1006168"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id801724.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id829552.html b/doc/html/id829552.html
new file mode 100644
index 0000000000..c086f4ff11
--- /dev/null
+++ b/doc/html/id829552.html
@@ -0,0 +1,166 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template time_duration</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id829537" title="Header &lt;boost/date_time/time_duration.hpp&gt;">
+<link rel="prev" href="second_clock.html" title="Class template second_clock">
+<link rel="next" href="subsecond_duration.html" title="Class template subsecond_duration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="second_clock.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id829537"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="subsecond_duration.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id829552"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template time_duration</span></h2>
+<p>boost::date_time::time_duration &#8212; Represents some amount of elapsed time measure to a given resolution. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> rep_type&gt;
+<span class="bold"><strong>class</strong></span> time_duration {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> T                                 duration_type;          
+  <span class="bold"><strong>typedef</strong></span> rep_type                          traits_type;            
+  <span class="bold"><strong>typedef</strong></span> rep_type::day_type                day_type;               
+  <span class="bold"><strong>typedef</strong></span> rep_type::hour_type               hour_type;              
+  <span class="bold"><strong>typedef</strong></span> rep_type::min_type                min_type;               
+  <span class="bold"><strong>typedef</strong></span> rep_type::sec_type                sec_type;               
+  <span class="bold"><strong>typedef</strong></span> rep_type::fractional_seconds_type fractional_seconds_type;
+  <span class="bold"><strong>typedef</strong></span> rep_type::tick_type               tick_type;              
+  <span class="bold"><strong>typedef</strong></span> rep_type::impl_type               impl_type;              
+
+  <span class="emphasis"><em>// <a href="id829552.html#id829552construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id829552.html#id692947-bb">time_duration</a>();
+  <a href="id829552.html#id692950-bb">time_duration</a>(hour_type, min_type, sec_type = 0,
+                fractional_seconds_type = 0);
+  <a href="id829552.html#id655848-bb">time_duration</a>(<span class="bold"><strong>const</strong></span> <a href="id829552.html" title="Class template time_duration">time_duration</a>&lt; T, rep_type &gt; &amp;);
+  <a href="id829552.html#id871564-bb">time_duration</a>(special_values);
+  <a href="id829552.html#id821564-bb">time_duration</a>(impl_type);
+
+  <span class="emphasis"><em>// <a href="id829552.html#id834258-bb">public member functions</a></em></span>
+  <span class="type">hour_type</span> <a href="id829552.html#id834264-bb">hours</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">min_type</span> <a href="id829552.html#id834281-bb">minutes</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">sec_type</span> <a href="id829552.html#id691217-bb">seconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">sec_type</span> <a href="id829552.html#id893837-bb">total_seconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">tick_type</span> <a href="id829552.html#id893855-bb">total_milliseconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">tick_type</span> <a href="id829552.html#id893873-bb">total_nanoseconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">tick_type</span> <a href="id829552.html#id835309-bb">total_microseconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">fractional_seconds_type</span> <a href="id829552.html#id835327-bb">fractional_seconds</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id829552.html#id803644-bb">invert_sign</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id829552.html#id803656-bb">is_negative</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id829552.html#id827955-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> <a href="id829552.html" title="Class template time_duration">time_duration</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id829552.html#id833549-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="id829552.html" title="Class template time_duration">time_duration</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id829552.html#id828567-bb"><span class="bold"><strong>operator</strong></span>-</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id829552.html#id872555-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id829552.html#id872579-bb"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id829552.html#id872603-bb"><span class="bold"><strong>operator</strong></span>/</a>(<span class="bold"><strong>int</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id829552.html#id872626-bb"><span class="bold"><strong>operator</strong></span>-=</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) ;
+  <span class="type">duration_type</span> <a href="id829552.html#id872650-bb"><span class="bold"><strong>operator</strong></span>+=</a>(<span class="bold"><strong>const</strong></span> duration_type &amp;) ;
+  <span class="type">duration_type</span> <a href="id829552.html#id800670-bb"><span class="bold"><strong>operator</strong></span>/=</a>(<span class="bold"><strong>int</strong></span>) ;
+  <span class="type">duration_type</span> <a href="id829552.html#id800698-bb"><span class="bold"><strong>operator</strong></span> *</a>(<span class="bold"><strong>int</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="id829552.html#id891763-bb"><span class="bold"><strong>operator</strong></span> *=</a>(<span class="bold"><strong>int</strong></span>) ;
+  <span class="type">tick_type</span> <a href="id829552.html#id863240-bb">ticks</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id829552.html#id863253-bb">is_special</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id829552.html#id863270-bb">is_pos_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id829552.html#id684070-bb">is_neg_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id829552.html#id870565-bb">is_not_a_date_time</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">impl_type</span> <a href="id829552.html#id692929-bb">get_rep</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="id829552.html#id821482-bb">public static functions</a></em></span>
+  <span class="type">duration_type</span> <a href="id829552.html#id821487-bb">unit</a>() ;
+  <span class="type">tick_type</span> <a href="id829552.html#id821504-bb">ticks_per_second</a>() ;
+  <span class="type">time_resolutions</span> <a href="id829552.html#id821522-bb">resolution</a>() ;
+  <span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a href="id829552.html#id821540-bb">num_fractional_digits</a>() ;
+
+  <span class="emphasis"><em>// <a href="id829552.html#id821559-bb">protected member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1136642"></a><h2>Description</h2>
+<p>This class represents a standard set of capabilities for all counted time durations. Time duration implementations should derive from this class passing their type as the first template parameter. This design allows the subclass duration types to provide custom construction policies or other custom features not provided here.</p>
+<p></p>
+<div class="refsect2" lang="en">
+<a name="id1136654"></a><h3>
+<a name="id829552construct-copy-destruct"></a><code class="computeroutput">time_duration</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id692947-bb"></a>time_duration();</pre></li>
+<li><pre class="literallayout"><a name="id692950-bb"></a>time_duration(hour_type hours, min_type minutes, sec_type seconds = 0,
+              fractional_seconds_type frac_sec = 0);</pre></li>
+<li><pre class="literallayout"><a name="id655848-bb"></a>time_duration(<span class="bold"><strong>const</strong></span> <a href="id829552.html" title="Class template time_duration">time_duration</a>&lt; T, rep_type &gt; &amp; other);</pre></li>
+<li><pre class="literallayout"><a name="id871564-bb"></a>time_duration(special_values sv);</pre></li>
+<li><pre class="literallayout"><a name="id821564-bb"></a>time_duration(impl_type in);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1136756"></a><h3>
+<a name="id834258-bb"></a><code class="computeroutput">time_duration</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">hour_type</span> <a name="id834264-bb"></a>hours() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">min_type</span> <a name="id834281-bb"></a>minutes() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">sec_type</span> <a name="id691217-bb"></a>seconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">sec_type</span> <a name="id893837-bb"></a>total_seconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id893855-bb"></a>total_milliseconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id893873-bb"></a>total_nanoseconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id835309-bb"></a>total_microseconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">fractional_seconds_type</span> <a name="id835327-bb"></a>fractional_seconds() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id803644-bb"></a>invert_sign() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id803656-bb"></a>is_negative() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id827955-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<span class="bold"><strong>const</strong></span> <a href="id829552.html" title="Class template time_duration">time_duration</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id833549-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> <a href="id829552.html" title="Class template time_duration">time_duration</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id828567-bb"></a><span class="bold"><strong>operator</strong></span>-() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id872555-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> duration_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id872579-bb"></a><span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> duration_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id872603-bb"></a><span class="bold"><strong>operator</strong></span>/(<span class="bold"><strong>int</strong></span> divisor) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id872626-bb"></a><span class="bold"><strong>operator</strong></span>-=(<span class="bold"><strong>const</strong></span> duration_type &amp; d) ;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id872650-bb"></a><span class="bold"><strong>operator</strong></span>+=(<span class="bold"><strong>const</strong></span> duration_type &amp; d) ;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id800670-bb"></a><span class="bold"><strong>operator</strong></span>/=(<span class="bold"><strong>int</strong></span> divisor) ;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id800698-bb"></a><span class="bold"><strong>operator</strong></span> *(<span class="bold"><strong>int</strong></span> rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id891763-bb"></a><span class="bold"><strong>operator</strong></span> *=(<span class="bold"><strong>int</strong></span> divisor) ;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id863240-bb"></a>ticks() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id863253-bb"></a>is_special() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id863270-bb"></a>is_pos_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id684070-bb"></a>is_neg_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id870565-bb"></a>is_not_a_date_time() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">impl_type</span> <a name="id692929-bb"></a>get_rep() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1137502"></a><h3>
+<a name="id821482-bb"></a><code class="computeroutput">time_duration</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id821487-bb"></a>unit() ;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id821504-bb"></a>ticks_per_second() ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_resolutions</span> <a name="id821522-bb"></a>resolution() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a name="id821540-bb"></a>num_fractional_digits() ;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1137596"></a><h3>
+<a name="id821559-bb"></a><code class="computeroutput">time_duration</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="second_clock.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id829537"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="subsecond_duration.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id829690.html b/doc/html/id829690.html
new file mode 100644
index 0000000000..384e3ed3d8
--- /dev/null
+++ b/doc/html/id829690.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_resolution_traits_bi32_impl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1042828" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id1110744.html" title="Function template parse_delimited_time_duration">
+<link rel="next" href="id829771.html" title="Struct time_resolution_traits_adapted32_impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1110744.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1042828"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id829771.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id829690"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_resolution_traits_bi32_impl</span></h2>
+<p>boost::date_time::time_resolution_traits_bi32_impl &#8212; traits struct for time_resolution_traits implementation type </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_resolution_traits_bi32_impl {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::int32_t int_type; 
+  <span class="bold"><strong>typedef</strong></span> boost::int32_t impl_type;
+
+  <span class="emphasis"><em>// <a href="id829690.html#id829722-bb">public static functions</a></em></span>
+  <span class="type">int_type</span> <a href="id829690.html#id829727-bb">as_number</a>(impl_type) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id829690.html#id829750-bb">is_adapted</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1141978"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1141981"></a><h3>
+<a name="id829722-bb"></a><code class="computeroutput">time_resolution_traits_bi32_impl</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id829727-bb"></a>as_number(impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id829750-bb"></a>is_adapted() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1110744.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1042828"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id829771.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id829697.html b/doc/html/id829697.html
new file mode 100644
index 0000000000..dc6f4679b4
--- /dev/null
+++ b/doc/html/id829697.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id861522" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="id974672.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="id1002832.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id974672.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id861522"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1002832.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id829697"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::gregorian::operator&lt;&lt; &#8212; operator&lt;&lt; for gregorian::greg_month typically streaming: Jan, Feb, Mar... </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+ <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+ <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os, <span class="bold"><strong>const</strong></span> <a href="greg_month.html" title="Class greg_month">greg_month</a> &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1152051"></a><h2>Description</h2>
+<p>Uses the date facet to determine output string as well as selection of long or short strings. Default if no facet is installed is to output a 2 wide numeric value for the month eg: 01 == Jan, 02 == Feb, ... 12 == Dec. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id974672.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id861522"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1002832.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id829771.html b/doc/html/id829771.html
new file mode 100644
index 0000000000..4753a49375
--- /dev/null
+++ b/doc/html/id829771.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_resolution_traits_adapted32_impl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1042828" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id829690.html" title="Struct time_resolution_traits_bi32_impl">
+<link rel="next" href="id964497.html" title="Struct time_resolution_traits_bi64_impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id829690.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1042828"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id964497.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id829771"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_resolution_traits_adapted32_impl</span></h2>
+<p>boost::date_time::time_resolution_traits_adapted32_impl &#8212; traits struct for time_resolution_traits implementation type </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_resolution_traits_adapted32_impl {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::int32_t                                  int_type; 
+  <span class="bold"><strong>typedef</strong></span> <a href="int_adapter.html" title="Class template int_adapter">boost::date_time::int_adapter</a>&lt; boost::int32_t &gt; impl_type;
+
+  <span class="emphasis"><em>// <a href="id829771.html#id833169-bb">public static functions</a></em></span>
+  <span class="type">int_type</span> <a href="id829771.html#id833174-bb">as_number</a>(impl_type) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id829771.html#id929639-bb">is_adapted</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1142130"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1142134"></a><h3>
+<a name="id833169-bb"></a><code class="computeroutput">time_resolution_traits_adapted32_impl</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id833174-bb"></a>as_number(impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id929639-bb"></a>is_adapted() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id829690.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1042828"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id964497.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id830090.html b/doc/html/id830090.html
new file mode 100644
index 0000000000..21f7a50e41
--- /dev/null
+++ b/doc/html/id830090.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template parse_delimited_time_duration</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id766694" title="Header &lt;boost/date_time/time_parsing.hpp&gt;">
+<link rel="prev" href="time_itr.html" title="Class template time_itr">
+<link rel="next" href="id828736.html" title="Struct time_resolution_traits_bi32_impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_itr.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id766694"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id828736.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id830090"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template parse_delimited_time_duration</span></h2>
+<p>boost::date_time::parse_delimited_time_duration &#8212; Creates a time_duration object from a delimited string. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration&gt;
+  <span class="type"><a href="id786780.html" title="Class template time_duration">time_duration</a></span> parse_delimited_time_duration(<span class="bold"><strong>const</strong></span> std::string &amp; s);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1069734"></a><h2>Description</h2>
+<p>Expected format for string is "[-]h[h][:mm][:ss][.fff]". If the number of fractional digits provided is greater than the precision of the time duration type then the extra digits are truncated.</p>
+<p>A negative duration will be created if the first character in string is a '-', all other '-' will be treated as delimiters. Accepted delimiters are "-:,.". </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_itr.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id766694"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id828736.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id832781.html b/doc/html/id832781.html
new file mode 100644
index 0000000000..51d5961011
--- /dev/null
+++ b/doc/html/id832781.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id856507" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id802077.html" title="Function operator+=">
+<link rel="next" href="id767095.html" title="Function operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id802077.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856507"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id767095.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id832781"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-</span></h2>
+<p>boost::local_time::operator- &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1108525"></a><h2>Description</h2>
+<p>Subtracts a years object and a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id802077.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856507"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id767095.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id833202.html b/doc/html/id833202.html
new file mode 100644
index 0000000000..73f5c752cd
--- /dev/null
+++ b/doc/html/id833202.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class millisec_posix_time_system_config</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id975533" title="Header &lt;boost/date_time/posix_time/posix_time_config.hpp&gt;">
+<link rel="prev" href="posix_time_system_config.html" title="Class posix_time_system_config">
+<link rel="next" href="hours.html" title="Class hours">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="posix_time_system_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id975533"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hours.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id833202"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class millisec_posix_time_system_config</span></h2>
+<p>boost::posix_time::millisec_posix_time_system_config &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> millisec_posix_time_system_config {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::int64_t             time_rep_type;     
+  <span class="bold"><strong>typedef</strong></span> gregorian::date            date_type;         
+  <span class="bold"><strong>typedef</strong></span> gregorian::date_duration   date_duration_type;
+  <span class="bold"><strong>typedef</strong></span> <a href="id975549.html" title="Class time_duration">time_duration</a>              time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::tick_type int_type;          
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::impl_type impl_type;         
+  <span class="bold"><strong>typedef</strong></span> time_res_traits            resolution_traits; 
+
+  <span class="emphasis"><em>// <a href="id833202.html#id895026-bb">public member functions</a></em></span>
+  <span class="type"></span> <a href="id833202.html#id895031-bb">BOOST_STATIC_CONSTANT</a>(boost::int64_t, tick_per_second = 1000000) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1176524"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1176527"></a><h3>
+<a name="id895026-bb"></a><code class="computeroutput">millisec_posix_time_system_config</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"></span> <a name="id895031-bb"></a>BOOST_STATIC_CONSTANT(boost::int64_t , tick_per_second = 1000000) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="posix_time_system_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id975533"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hours.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id833576-bb.html b/doc/html/id833576-bb.html
new file mode 100644
index 0000000000..05c51e5012
--- /dev/null
+++ b/doc/html/id833576-bb.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class value_semantic_codecvt_helper&lt;char&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id1139298" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="id965024.html" title="Class template value_semantic_codecvt_helper">
+<link rel="next" href="id1109608-bb.html" title="Class value_semantic_codecvt_helper&lt;wchar_t&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id965024.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1139298"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1109608-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id833576-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class value_semantic_codecvt_helper&lt;char&gt;</span></h2>
+<p>boost::program_options::value_semantic_codecvt_helper&lt;char&gt; &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> value_semantic_codecvt_helper&lt;<span class="bold"><strong>char</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+
+ <span class="emphasis"><em>// <a href="id833576-bb.html#id895402-bb">protected member functions</a></em></span>
+ <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="id833576-bb.html#id895408-bb">xparse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp;) <span class="bold"><strong>const</strong></span>;
+
+ <span class="emphasis"><em>// <a href="id833576-bb.html#id830288-bb">private member functions</a></em></span>
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id833576-bb.html#id830294-bb">parse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp;, <span class="bold"><strong>bool</strong></span>) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1275858"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1275861"></a><h3>
+<a name="id895402-bb"></a><code class="computeroutput">value_semantic_codecvt_helper</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span>
+<a name="id895408-bb"></a>xparse(boost::any &amp; value_store,
+ <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp; new_tokens) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1275920"></a><h3>
+<a name="id830288-bb"></a><code class="computeroutput">value_semantic_codecvt_helper</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id830294-bb"></a>parse(boost::any &amp; value_store,
+ <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp; new_tokens, <span class="bold"><strong>bool</strong></span> utf8) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id965024.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1139298"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1109608-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id834018.html b/doc/html/id834018.html
new file mode 100644
index 0000000000..96a6ae228d
--- /dev/null
+++ b/doc/html/id834018.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id792377" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id1108300.html" title="Function hash_value">
+<link rel="next" href="id1102684.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1108300.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id792377"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1102684.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id834018"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for floating point values.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>float</strong></span> val);
+<span class="type">std::size_t</span> hash_value(double val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>long</strong></span> double val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1220537"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+
+ An unspecified value, except that equal arguments shall yield the same
+ result
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1108300.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id792377"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1102684.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id835863.html b/doc/html/id835863.html
new file mode 100644
index 0000000000..506360fab8
--- /dev/null
+++ b/doc/html/id835863.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id965809" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id926506.html" title="Function operator+">
+<link rel="next" href="id1076154.html" title="Function operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id926506.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id965809"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1076154.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id835863"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+=</span></h2>
+<p>boost::posix_time::operator+= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>+=(<a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1175401"></a><h2>Description</h2>
+<p>Adds a years object to a ptime. Result will be same month and day-of-month as ptime unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id926506.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id965809"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1076154.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id836208.html b/doc/html/id836208.html
new file mode 100644
index 0000000000..371bf230f8
--- /dev/null
+++ b/doc/html/id836208.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id961262" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id1108774.html" title="Function operator-">
+<link rel="next" href="id996896.html" title="Function operator+">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1108774.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id961262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id996896.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id836208"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-=</span></h2>
+<p>boost::posix_time::operator-= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>-=(<a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1174712"></a><h2>Description</h2>
+<p>Subtracts a months object from a ptime. Result will be same day-of-month as ptime unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1108774.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id961262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id996896.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id837111.html b/doc/html/id837111.html
new file mode 100644
index 0000000000..8ce14d2e29
--- /dev/null
+++ b/doc/html/id837111.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template swap</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id662418" title="Header &lt;boost/variant/variant.hpp&gt;">
+<link rel="prev" href="boost/variant.html" title="Class template variant">
+<link rel="next" href="id1106672.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/variant.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id662418"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1106672.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id837111"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template swap</span></h2>
+<p>boost::swap &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> swap(<a href="boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp; lhs, <a href="boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp; rhs);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1318236"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Swaps <code class="computeroutput">lhs</code> with <code class="computeroutput">rhs</code> by application
+ of <code class="computeroutput"><a href="boost/variant.html#id1150730-bb">variant::swap</a></code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ May fail with any exception arising from
+ <code class="computeroutput"><a href="boost/variant.html#id1150730-bb">variant::swap</a></code>.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/variant.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id662418"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1106672.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id837311.html b/doc/html/id837311.html
new file mode 100644
index 0000000000..e9171b50b5
--- /dev/null
+++ b/doc/html/id837311.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template ostream_time_period_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1000521" title="Header &lt;boost/date_time/time_formatting_streams.hpp&gt;">
+<link rel="prev" href="ostream_time_formatter.html" title="Class template ostream_time_formatter">
+<link rel="next" href="time_itr.html" title="Class template time_itr">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ostream_time_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1000521"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_itr.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id837311"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template ostream_time_period_formatter</span></h2>
+<p>boost::date_time::ostream_time_period_formatter &#8212; Put a time period into a stream using appropriate facets. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_period_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> ostream_time_period_formatter {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::basic_ostream&lt; charT &gt;                ostream_type;  
+  <span class="bold"><strong>typedef</strong></span> time_period_type::point_type               time_type;     
+  <span class="bold"><strong>typedef</strong></span> <a href="ostream_time_formatter.html" title="Class template ostream_time_formatter">ostream_time_formatter</a>&lt; time_type, charT &gt; time_formatter;
+
+  <span class="emphasis"><em>// <a href="id837311.html#id1034863-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id837311.html#id1034868-bb">period_put</a>(<span class="bold"><strong>const</strong></span> time_period_type &amp;, ostream_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1068701"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1068704"></a><h3>
+<a name="id1034863-bb"></a><code class="computeroutput">ostream_time_period_formatter</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id1034868-bb"></a>period_put(<span class="bold"><strong>const</strong></span> time_period_type &amp; tp, ostream_type &amp; os) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ostream_time_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1000521"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_itr.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id837802.html b/doc/html/id837802.html
new file mode 100644
index 0000000000..2050e6971e
--- /dev/null
+++ b/doc/html/id837802.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function store</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id872805" title="Header &lt;boost/program_options/variables_map.hpp&gt;">
+<link rel="prev" href="id1108211.html" title="Function store">
+<link rel="next" href="notify.html" title="Function notify">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1108211.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id872805"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="notify.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id837802"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function store</span></h2>
+<p>boost::program_options::store &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL <span class="bold"><strong>void</strong></span></span>
+store(<span class="bold"><strong>const</strong></span> <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>wchar_t</strong></span> &gt; &amp; options, <a href="variables_map.html" title="Class variables_map">variables_map</a> &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1278559"></a><h2>Description</h2>
+<p>Stores in 'm' all options that are defined in 'options'. If 'm' already has a non-defaulted value of an option, that value is not changed, even if 'options' specify some value. This is wide character variant. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1108211.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id872805"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="notify.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id838605.html b/doc/html/id838605.html
new file mode 100644
index 0000000000..bfb8f19a9f
--- /dev/null
+++ b/doc/html/id838605.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template ostream_time_duration_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id856862" title="Header &lt;boost/date_time/time_formatting_streams.hpp&gt;">
+<link rel="prev" href="time_input_facet.html" title="Class template time_input_facet">
+<link rel="next" href="ostream_time_formatter.html" title="Class template ostream_time_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_input_facet.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856862"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ostream_time_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id838605"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template ostream_time_duration_formatter</span></h2>
+<p>boost::date_time::ostream_time_duration_formatter &#8212; Put a time type into a stream using appropriate facets. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> ostream_time_duration_formatter {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::basic_ostream&lt; charT &gt;                 ostream_type;           
+  <span class="bold"><strong>typedef</strong></span> time_duration_type::fractional_seconds_type fractional_seconds_type;
+
+  <span class="emphasis"><em>// <a href="id838605.html#id1003440-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id838605.html#id1003445-bb">duration_put</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;, ostream_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1140411"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1140414"></a><h3>
+<a name="id1003440-bb"></a><code class="computeroutput">ostream_time_duration_formatter</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id1003445-bb"></a>duration_put(<span class="bold"><strong>const</strong></span> time_duration_type &amp; td, ostream_type &amp; os) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_input_facet.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856862"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ostream_time_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id856528.html b/doc/html/id856528.html
new file mode 100644
index 0000000000..966468f7db
--- /dev/null
+++ b/doc/html/id856528.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id856507" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="custom_time_zone.html" title="Class custom_time_zone">
+<link rel="next" href="id801965.html" title="Function operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="custom_time_zone.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856507"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id801965.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id856528"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+</span></h2>
+<p>boost::local_time::operator+ &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1108232"></a><h2>Description</h2>
+<p>Adds a months object and a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="custom_time_zone.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856507"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id801965.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id857561.html b/doc/html/id857561.html
new file mode 100644
index 0000000000..cf783c7743
--- /dev/null
+++ b/doc/html/id857561.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class too_few_positional_options_error</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id754183" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="multiple_values.html" title="Class multiple_values">
+<link rel="next" href="id963572.html" title="Class too_many_positional_options_error">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="multiple_values.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id754183"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id963572.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id857561"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class too_few_positional_options_error</span></h2>
+<p>boost::program_options::too_few_positional_options_error &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> too_few_positional_options_error
+ : : <span class="bold"><strong>public</strong></span> boost::program_options::error
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id857561.html#id857561construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id857561.html#id976908-bb">too_few_positional_options_error</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+  <span class="emphasis"><em>// <a href="id857561.html#id1008892-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1251395"></a><h2>Description</h2>
+<p>Class thrown when there are too few positional options. </p>
+<div class="refsect2" lang="en">
+<a name="id1251401"></a><h3>
+<a name="id857561construct-copy-destruct"></a><code class="computeroutput">too_few_positional_options_error</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id976908-bb"></a>too_few_positional_options_error(<span class="bold"><strong>const</strong></span> std::string &amp; what);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1251441"></a><h3>
+<a name="id1008892-bb"></a><code class="computeroutput">too_few_positional_options_error</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="multiple_values.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id754183"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id963572.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id858004.html b/doc/html/id858004.html
new file mode 100644
index 0000000000..22cae56c66
--- /dev/null
+++ b/doc/html/id858004.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1031665" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="custom_time_zone.html" title="Class custom_time_zone">
+<link rel="next" href="id1038994.html" title="Function operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="custom_time_zone.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1031665"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1038994.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id858004"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+</span></h2>
+<p>boost::local_time::operator+ &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1180118"></a><h2>Description</h2>
+<p>Adds a months object and a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="custom_time_zone.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1031665"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1038994.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id859664.html b/doc/html/id859664.html
new file mode 100644
index 0000000000..9cfa3a4e0a
--- /dev/null
+++ b/doc/html/id859664.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id904986" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id792595.html" title="Function operator-=">
+<link rel="next" href="id907404.html" title="Function operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id792595.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id904986"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id907404.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id859664"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+</span></h2>
+<p>boost::posix_time::operator+ &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> <a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1103415"></a><h2>Description</h2>
+<p>Adds a years object and a ptime. Result will be same month and day-of-month as ptime unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id792595.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id904986"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id907404.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id863329.html b/doc/html/id863329.html
new file mode 100644
index 0000000000..334252851c
--- /dev/null
+++ b/doc/html/id863329.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id938907" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="id930380.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="id978190.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id930380.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id938907"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id978190.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id863329"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::gregorian::operator&lt;&lt; &#8212; operator&lt;&lt; for gregorian::greg_month typically streaming: Jan, Feb, Mar... </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+  <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os, <span class="bold"><strong>const</strong></span> <a href="greg_month.html" title="Class greg_month">greg_month</a> &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1152571"></a><h2>Description</h2>
+<p>Uses the date facet to determine output string as well as selection of long or short strings. Default if no facet is installed is to output a 2 wide numeric value for the month eg: 01 == Jan, 02 == Feb, ... 12 == Dec. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id930380.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id938907"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id978190.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id863881.html b/doc/html/id863881.html
new file mode 100644
index 0000000000..18590184e8
--- /dev/null
+++ b/doc/html/id863881.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_resolution_traits_bi64_impl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1006168" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id801724.html" title="Struct time_resolution_traits_adapted32_impl">
+<link rel="next" href="id757234.html" title="Struct time_resolution_traits_adapted64_impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id801724.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1006168"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id757234.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id863881"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_resolution_traits_bi64_impl</span></h2>
+<p>boost::date_time::time_resolution_traits_bi64_impl &#8212; traits struct for time_resolution_traits implementation type </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_resolution_traits_bi64_impl {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::int64_t int_type; 
+  <span class="bold"><strong>typedef</strong></span> boost::int64_t impl_type;
+
+  <span class="emphasis"><em>// <a href="id863881.html#id961291-bb">public static functions</a></em></span>
+  <span class="type">int_type</span> <a href="id863881.html#id961296-bb">as_number</a>(impl_type) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id863881.html#id757215-bb">is_adapted</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1070353"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1070356"></a><h3>
+<a name="id961291-bb"></a><code class="computeroutput">time_resolution_traits_bi64_impl</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id961296-bb"></a>as_number(impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id757215-bb"></a>is_adapted() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id801724.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1006168"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id757234.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id865547-bb.html b/doc/html/id865547-bb.html
new file mode 100644
index 0000000000..7745000d58
--- /dev/null
+++ b/doc/html/id865547-bb.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class value_semantic_codecvt_helper&lt;char&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id857530" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="id1140631.html" title="Class template value_semantic_codecvt_helper">
+<link rel="next" href="id1142955-bb.html" title="Class value_semantic_codecvt_helper&lt;wchar_t&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1140631.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id857530"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1142955-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id865547-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class value_semantic_codecvt_helper&lt;char&gt;</span></h2>
+<p>boost::program_options::value_semantic_codecvt_helper&lt;char&gt; &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> value_semantic_codecvt_helper&lt;<span class="bold"><strong>char</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="id865547-bb.html#id716862-bb">protected member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="id865547-bb.html#id716867-bb">xparse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="id865547-bb.html#id768117-bb">private member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id865547-bb.html#id768122-bb">parse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp;, <span class="bold"><strong>bool</strong></span>) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1276273"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1276277"></a><h3>
+<a name="id716862-bb"></a><code class="computeroutput">value_semantic_codecvt_helper</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span>
+<a name="id716867-bb"></a>xparse(boost::any &amp; value_store,
+       <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp; new_tokens) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1276335"></a><h3>
+<a name="id768117-bb"></a><code class="computeroutput">value_semantic_codecvt_helper</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id768122-bb"></a>parse(boost::any &amp; value_store,
+           <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp; new_tokens, <span class="bold"><strong>bool</strong></span> utf8) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1140631.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id857530"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1142955-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id866049.html b/doc/html/id866049.html
new file mode 100644
index 0000000000..f98d34f9c4
--- /dev/null
+++ b/doc/html/id866049.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator!</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id996838" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="indeterminate.html" title="Function indeterminate">
+<link rel="next" href="id1081555.html" title="Function operator&amp;&amp;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="indeterminate.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id996838"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1081555.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id866049"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator!</span></h2>
+<p>boost::logic::operator! &#8212; Computes the logical negation of a tribool. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1569890"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the logical negation of the tribool, according to the table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">!</code></strong></span></td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">true</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">false</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="indeterminate.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id996838"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1081555.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id866316.html b/doc/html/id866316.html
new file mode 100644
index 0000000000..567150a031
--- /dev/null
+++ b/doc/html/id866316.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class time_duration</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id765049" title="Header &lt;boost/date_time/posix_time/posix_time_config.hpp&gt;">
+<link rel="prev" href="id899939.html" title="Function operator-=">
+<link rel="next" href="simple_time_rep.html" title="Struct simple_time_rep">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id899939.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id765049"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="simple_time_rep.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id866316"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class time_duration</span></h2>
+<p>boost::posix_time::time_duration &#8212; Base time duration type. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> time_duration {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> time_res_traits                          rep_type;               
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::day_type                day_type;               
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::hour_type               hour_type;              
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::min_type                min_type;               
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::sec_type                sec_type;               
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::fractional_seconds_type fractional_seconds_type;
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::tick_type               tick_type;              
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::impl_type               impl_type;              
+
+  <span class="emphasis"><em>// <a href="id866316.html#id866316construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id866316.html#id726775-bb">time_duration</a>(hour_type, min_type, sec_type, fractional_seconds_type = 0);
+  <a href="id866316.html#id838780-bb">time_duration</a>();
+  <a href="id866316.html#id838782-bb">time_duration</a>(boost::date_time::special_values);
+  <a href="id866316.html#id1041374-bb">time_duration</a>(impl_type);
+
+  <span class="emphasis"><em>// <a href="id866316.html#id726770-bb">public member functions</a></em></span>
+
+  <span class="emphasis"><em>// <a href="id866316.html#id1041369-bb">private member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1103881"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1103884"></a><h3>
+<a name="id866316construct-copy-destruct"></a><code class="computeroutput">time_duration</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id726775-bb"></a>time_duration(hour_type hour, min_type min, sec_type sec,
+              fractional_seconds_type fs = 0);</pre></li>
+<li><pre class="literallayout"><a name="id838780-bb"></a>time_duration();</pre></li>
+<li><pre class="literallayout"><a name="id838782-bb"></a>time_duration(boost::date_time::special_values sv);</pre></li>
+<li><pre class="literallayout"><a name="id1041374-bb"></a>time_duration(impl_type ticks);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1103960"></a><h3>
+<a name="id726770-bb"></a><code class="computeroutput">time_duration</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1103977"></a><h3>
+<a name="id1041369-bb"></a><code class="computeroutput">time_duration</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id899939.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id765049"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="simple_time_rep.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id867037.html b/doc/html/id867037.html
new file mode 100644
index 0000000000..d55f3f10ea
--- /dev/null
+++ b/doc/html/id867037.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id965809" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="from_ftime.html" title="Function template from_ftime">
+<link rel="next" href="id927058.html" title="Function operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="from_ftime.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id965809"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id927058.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id867037"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+</span></h2>
+<p>boost::posix_time::operator+ &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> <a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1175108"></a><h2>Description</h2>
+<p>Adds a months object and a ptime. Result will be same day-of-month as ptime unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="from_ftime.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id965809"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id927058.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id867073.html b/doc/html/id867073.html
new file mode 100644
index 0000000000..0a6f0c3f2a
--- /dev/null
+++ b/doc/html/id867073.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id800602" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id1012042.html" title="Function hash_value">
+<link rel="next" href="id1000856.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1012042.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id800602"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1000856.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id867073"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for <code class="computeroutput">std::basic_string</code>.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Ch, <span class="bold"><strong>typename</strong></span> A&gt;
+ <span class="type">std::size_t</span> hash_value(std::basic_string&lt;Ch, std::char_traits&lt;Ch&gt;, A&gt; <span class="bold"><strong>const</strong></span>&amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1220148"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">hash_range(val.begin(), val.end())</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1012042.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id800602"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1000856.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id867809.html b/doc/html/id867809.html
new file mode 100644
index 0000000000..1f2c60a729
--- /dev/null
+++ b/doc/html/id867809.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id871656" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id967850.html" title="Function operator-">
+<link rel="next" href="id1002768.html" title="Function operator+">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id967850.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id871656"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1002768.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id867809"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-=</span></h2>
+<p>boost::local_time::operator-= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>-=(local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1179661"></a><h2>Description</h2>
+<p>Subtracts a months object from a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id967850.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id871656"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1002768.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id867950.html b/doc/html/id867950.html
new file mode 100644
index 0000000000..64cc3af0ef
--- /dev/null
+++ b/doc/html/id867950.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template dst_adjustment_offsets</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id825892" title="Header &lt;boost/date_time/time_zone_base.hpp&gt;">
+<link rel="prev" href="time_zone_base.html" title="Class template time_zone_base">
+<link rel="next" href="time_zone_names_base.html" title="Class template time_zone_names_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_zone_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id825892"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_zone_names_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id867950"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template dst_adjustment_offsets</span></h2>
+<p>boost::date_time::dst_adjustment_offsets &#8212; Structure which holds the time offsets associated with daylight savings time. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration_type&gt;
+<span class="bold"><strong>class</strong></span> dst_adjustment_offsets {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// <a href="id867950.html#id867950construct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a href="id867950.html#id1034910-bb">dst_adjustment_offsets</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;,
+ <span class="bold"><strong>const</strong></span> time_duration_type &amp;,
+ <span class="bold"><strong>const</strong></span> time_duration_type &amp;);
+
+ <span class="emphasis"><em>// <a href="id867950.html#id931447-bb">public member functions</a></em></span>
+
+ time_duration_type dst_adjust_;
+ time_duration_type dst_start_offset_;
+ time_duration_type dst_end_offset_;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1145867"></a><h2>Description</h2>
+<p></p>
+<div class="refsect2" lang="en">
+<a name="id1145872"></a><h3>
+<a name="id867950construct-copy-destruct"></a><code class="computeroutput">dst_adjustment_offsets</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id1034910-bb"></a>dst_adjustment_offsets(<span class="bold"><strong>const</strong></span> time_duration_type &amp; dst_adjust,
+ <span class="bold"><strong>const</strong></span> time_duration_type &amp; dst_start_offset,
+ <span class="bold"><strong>const</strong></span> time_duration_type &amp; dst_end_offset);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1145928"></a><h3>
+<a name="id931447-bb"></a><code class="computeroutput">dst_adjustment_offsets</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_zone_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id825892"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_zone_names_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id868865.html b/doc/html/id868865.html
new file mode 100644
index 0000000000..ad827712bb
--- /dev/null
+++ b/doc/html/id868865.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template make_recursive_variant_over</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1047376" title="Header &lt;boost/variant/recursive_variant.hpp&gt;">
+<link rel="prev" href="make_recursive_variant.html" title="Class template make_recursive_variant">
+<link rel="next" href="recursive_wrapper.html" title="Class template recursive_wrapper">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_recursive_variant.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1047376"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="recursive_wrapper.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id868865"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template make_recursive_variant_over</span></h2>
+<p>boost::make_recursive_variant_over &#8212; <p>Exposes a recursive <code class="computeroutput">variant</code> whose bounded types
+ are the elements of the given type sequence.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Sequence&gt;
+<span class="bold"><strong>class</strong></span> make_recursive_variant_over {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> variant&lt; <span class="emphasis"><em>unspecified</em></span> &gt; type;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1319072"></a><h2>Description</h2>
+<p><code class="computeroutput">type</code> has behavior equivalent in every respect to
+ <code class="computeroutput"><a href="make_recursive_variant.html" title="Class template make_recursive_variant">make_recursive_variant</a>&lt; Sequence[0], Sequence[1], ... &gt;::type</code>
+ (where <code class="computeroutput">Sequence[<span class="emphasis"><em>i</em></span>]</code> denotes the
+ <span class="emphasis"><em>i</em></span>-th element of <code class="computeroutput">Sequence</code>), except
+ that no upper limit is imposed on the number of types.</p>
+<p><span class="bold"><strong>Notes</strong></span>:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<code class="computeroutput">Sequence</code> must meet the requirements of
+ <a href="../../libs/mpl/index.html" target="_top">MPL</a>'s <span class="emphasis"><em>Sequence</em></span>
+ concept.</li>
+<li>Due to standard conformance problems in several compilers,
+ <code class="computeroutput">make_recursive_variant_over</code> may not be supported on
+ your compiler. See
+ <code class="computeroutput"><a href="id1102611.html" title="Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT">BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</a></code>
+ for more information.</li>
+</ul></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_recursive_variant.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1047376"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="recursive_wrapper.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id869818.html b/doc/html/id869818.html
new file mode 100644
index 0000000000..cdb3dfe37f
--- /dev/null
+++ b/doc/html/id869818.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template regex_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id658329" title="Header &lt;boost/algorithm/string/regex_find_format.hpp&gt;">
+<link rel="prev" href="id1109157.html" title="Function template regex_finder">
+<link rel="next" href="replace_range_copy.html" title="Function replace_range_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1109157.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id658329"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_range_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id869818"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template regex_formatter</span></h2>
+<p>boost::algorithm::regex_formatter &#8212; Regex formatter. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT, <span class="bold"><strong>typename</strong></span> AllocT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> regex_formatter(<span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, TraitsT, AllocT &gt; &amp; Format,
+                              match_flag_type Flags = format_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1348286"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">regex_formatter</code> . Regex formatter uses the regex engine to format a match found by the <code class="computeroutput">regex_finder</code> . This formatted it designed to closely cooperate with <code class="computeroutput">regex_finder</code> .</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Flags</span></dt>
+<dd><p>Format flags </p></dd>
+<dt><span class="term">Format</span></dt>
+<dd><p>Regex format definition </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">regex_formatter</code> functor </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1109157.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id658329"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_range_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id871323.html b/doc/html/id871323.html
new file mode 100644
index 0000000000..a83b6d64b8
--- /dev/null
+++ b/doc/html/id871323.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class too_many_positional_options_error</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id904492" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="id935107.html" title="Class too_few_positional_options_error">
+<link rel="next" href="unknown_option.html" title="Class unknown_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id935107.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id904492"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="unknown_option.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id871323"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class too_many_positional_options_error</span></h2>
+<p>boost::program_options::too_many_positional_options_error &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> too_many_positional_options_error
+ : : <span class="bold"><strong>public</strong></span> boost::program_options::error
+{
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// <a href="id871323.html#id871323construct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a href="id871323.html#id1139415-bb">too_many_positional_options_error</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+ <span class="emphasis"><em>// <a href="id871323.html#id1035995-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1250734"></a><h2>Description</h2>
+<p>Class thrown when there are too many positional options. </p>
+<div class="refsect2" lang="en">
+<a name="id1250740"></a><h3>
+<a name="id871323construct-copy-destruct"></a><code class="computeroutput">too_many_positional_options_error</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id1139415-bb"></a>too_many_positional_options_error(<span class="bold"><strong>const</strong></span> std::string &amp; what);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1250780"></a><h3>
+<a name="id1035995-bb"></a><code class="computeroutput">too_many_positional_options_error</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id935107.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id904492"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="unknown_option.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id872478.html b/doc/html/id872478.html
new file mode 100644
index 0000000000..bd0a2113ea
--- /dev/null
+++ b/doc/html/id872478.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id682815" title="Header &lt;boost/functional/hash/deque.hpp&gt;">
+<link rel="prev" href="id939231.html" title="Function hash_value">
+<link rel="next" href="id999384.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id939231.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id682815"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id999384.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id872478"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::deque&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1221590"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id1108300.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id939231.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id682815"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id999384.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id873294.html b/doc/html/id873294.html
new file mode 100644
index 0000000000..4feb301ea6
--- /dev/null
+++ b/doc/html/id873294.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id1034618" title="Header &lt;boost/functional/hash/map.hpp&gt;">
+<link rel="prev" href="id898032.html" title="Function hash_value">
+<link rel="next" href="hash/links.html" title=" Links">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id898032.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1034618"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hash/links.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id873294"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::map&lt;K, T, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::multimap&lt;K, T, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1222089"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if
+ <code class="computeroutput"><a href="id1042434.html" title="Function hash_value">hash_value</a>(std::pair&lt;K const, T&gt;)</code>
+ throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id898032.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1034618"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hash/links.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id893464-bb.html b/doc/html/id893464-bb.html
new file mode 100644
index 0000000000..4d37dab26e
--- /dev/null
+++ b/doc/html/id893464-bb.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class simple_format&lt;wchar_t&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1001696" title="Header &lt;boost/date_time/date_format_simple.hpp&gt;">
+<link rel="prev" href="simple_format.html" title="Class template simple_format">
+<link rel="next" href="month_formatter.html" title="Class template month_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="simple_format.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1001696"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="month_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id893464-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class simple_format&lt;wchar_t&gt;</span></h2>
+<p>boost::date_time::simple_format&lt;wchar_t&gt; &#8212; Specialization of formmating rules for wchar_t. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> simple_format&lt;<span class="bold"><strong>wchar_t</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="id893464-bb.html#id1042533-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id893464-bb.html#id860617-bb">not_a_date</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id893464-bb.html#id977713-bb">pos_infinity</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id893464-bb.html#id1071139-bb">neg_infinity</a>() ;
+  <span class="type">month_format_spec</span> <a href="id893464-bb.html#id934519-bb">month_format</a>() ;
+  <span class="type">ymd_order_spec</span> <a href="id893464-bb.html#id1036896-bb">date_order</a>() ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id893464-bb.html#id970402-bb">has_date_sep_chars</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id893464-bb.html#id977444-bb">year_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id893464-bb.html#id900336-bb">month_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id893464-bb.html#id1046820-bb">day_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id893464-bb.html#id1105667-bb">hour_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id893464-bb.html#id1031448-bb">minute_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id893464-bb.html#id831863-bb">second_sep_char</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1068295"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1068298"></a><h3>
+<a name="id1042533-bb"></a><code class="computeroutput">simple_format</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id860617-bb"></a>not_a_date() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id977713-bb"></a>pos_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id1071139-bb"></a>neg_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type">month_format_spec</span> <a name="id934519-bb"></a>month_format() ;</pre></li>
+<li><pre class="literallayout"><span class="type">ymd_order_spec</span> <a name="id1036896-bb"></a>date_order() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id970402-bb"></a>has_date_sep_chars() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id977444-bb"></a>year_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id900336-bb"></a>month_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1046820-bb"></a>day_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1105667-bb"></a>hour_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1031448-bb"></a>minute_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id831863-bb"></a>second_sep_char() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="simple_format.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1001696"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="month_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id895253.html b/doc/html/id895253.html
new file mode 100644
index 0000000000..850efad374
--- /dev/null
+++ b/doc/html/id895253.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template ostream_time_duration_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1000521" title="Header &lt;boost/date_time/time_formatting_streams.hpp&gt;">
+<link rel="prev" href="time_input_facet.html" title="Class template time_input_facet">
+<link rel="next" href="ostream_time_formatter.html" title="Class template ostream_time_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_input_facet.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1000521"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ostream_time_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id895253"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template ostream_time_duration_formatter</span></h2>
+<p>boost::date_time::ostream_time_duration_formatter &#8212; Put a time type into a stream using appropriate facets. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> ostream_time_duration_formatter {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::basic_ostream&lt; charT &gt;                 ostream_type;           
+  <span class="bold"><strong>typedef</strong></span> time_duration_type::fractional_seconds_type fractional_seconds_type;
+
+  <span class="emphasis"><em>// <a href="id895253.html#id726637-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id895253.html#id726641-bb">duration_put</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;, ostream_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1068343"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1068347"></a><h3>
+<a name="id726637-bb"></a><code class="computeroutput">ostream_time_duration_formatter</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id726641-bb"></a>duration_put(<span class="bold"><strong>const</strong></span> time_duration_type &amp; td, ostream_type &amp; os) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_input_facet.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1000521"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ostream_time_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id895555.html b/doc/html/id895555.html
new file mode 100644
index 0000000000..edf4dedc0b
--- /dev/null
+++ b/doc/html/id895555.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template dst_adjustment_offsets</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id832253" title="Header &lt;boost/date_time/time_zone_base.hpp&gt;">
+<link rel="prev" href="time_zone_base.html" title="Class template time_zone_base">
+<link rel="next" href="time_zone_names_base.html" title="Class template time_zone_names_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_zone_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id832253"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_zone_names_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id895555"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template dst_adjustment_offsets</span></h2>
+<p>boost::date_time::dst_adjustment_offsets &#8212; Structure which holds the time offsets associated with daylight savings time. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration_type&gt;
+<span class="bold"><strong>class</strong></span> dst_adjustment_offsets {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id895555.html#id895555construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id895555.html#id895588-bb">dst_adjustment_offsets</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;,
+                         <span class="bold"><strong>const</strong></span> time_duration_type &amp;,
+                         <span class="bold"><strong>const</strong></span> time_duration_type &amp;);
+
+  <span class="emphasis"><em>// <a href="id895555.html#id895583-bb">public member functions</a></em></span>
+
+  time_duration_type dst_adjust_;
+  time_duration_type dst_start_offset_;
+  time_duration_type dst_end_offset_;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1146279"></a><h2>Description</h2>
+<p></p>
+<div class="refsect2" lang="en">
+<a name="id1146283"></a><h3>
+<a name="id895555construct-copy-destruct"></a><code class="computeroutput">dst_adjustment_offsets</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id895588-bb"></a>dst_adjustment_offsets(<span class="bold"><strong>const</strong></span> time_duration_type &amp; dst_adjust,
+                       <span class="bold"><strong>const</strong></span> time_duration_type &amp; dst_start_offset,
+                       <span class="bold"><strong>const</strong></span> time_duration_type &amp; dst_end_offset);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1146335"></a><h3>
+<a name="id895583-bb"></a><code class="computeroutput">dst_adjustment_offsets</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_zone_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id832253"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_zone_names_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id897225.html b/doc/html/id897225.html
new file mode 100644
index 0000000000..306f800d49
--- /dev/null
+++ b/doc/html/id897225.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id895862" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="id997682.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="id899638.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id997682.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id895862"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id899638.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id897225"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::gregorian::operator&lt;&lt; &#8212; operator&lt;&lt; for gregorian::greg_month typically streaming: Jan, Feb, Mar... </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+  <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os, <span class="bold"><strong>const</strong></span> <a href="greg_month.html" title="Class greg_month">greg_month</a> &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1080639"></a><h2>Description</h2>
+<p>Uses the date facet to determine output string as well as selection of long or short strings. Default if no facet is installed is to output a 2 wide numeric value for the month eg: 01 == Jan, 02 == Feb, ... 12 == Dec. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id997682.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id895862"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id899638.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id897675.html b/doc/html/id897675.html
new file mode 100644
index 0000000000..18ec20316b
--- /dev/null
+++ b/doc/html/id897675.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id1082064" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id1070986.html" title="Function hash_value">
+<link rel="next" href="id975607.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1070986.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1082064"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id975607.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id897675"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for <code class="computeroutput">std::basic_string</code>.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Ch, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::basic_string&lt;Ch, std::char_traits&lt;Ch&gt;, A&gt; <span class="bold"><strong>const</strong></span>&amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1220866"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">hash_range(val.begin(), val.end())</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1070986.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1082064"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id975607.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id897825.html b/doc/html/id897825.html
new file mode 100644
index 0000000000..e1c4183a12
--- /dev/null
+++ b/doc/html/id897825.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id904986" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id907404.html" title="Function operator+=">
+<link rel="next" href="id899939.html" title="Function operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id907404.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id904986"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id899939.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id897825"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-</span></h2>
+<p>boost::posix_time::operator- &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> <a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1103533"></a><h2>Description</h2>
+<p>Subtracts a years object and a ptime. Result will be same month and day-of-month as ptime unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id907404.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id904986"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id899939.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id898032.html b/doc/html/id898032.html
new file mode 100644
index 0000000000..913bbaa412
--- /dev/null
+++ b/doc/html/id898032.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id836835" title="Header &lt;boost/functional/hash/set.hpp&gt;">
+<link rel="prev" href="id1068792.html" title="Function hash_value">
+<link rel="next" href="id873294.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1068792.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id836835"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id873294.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id898032"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::set&lt;K, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::multiset&lt;K, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1221810"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id1042434.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1068792.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id836835"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id873294.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id899638.html b/doc/html/id899638.html
new file mode 100644
index 0000000000..45cc47d2ea
--- /dev/null
+++ b/doc/html/id899638.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id895862" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="id897225.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="id612209.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id897225.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id895862"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id612209.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id899638"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::gregorian::operator&lt;&lt; &#8212; operator&lt;&lt; for gregorian::greg_weekday typically streaming: Sun, Mon, Tue, ... </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+  <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os,
+             <span class="bold"><strong>const</strong></span> <a href="greg_weekday.html" title="Class greg_weekday">greg_weekday</a> &amp; wd);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1080717"></a><h2>Description</h2>
+<p>Uses the date facet to determine output string as well as selection of long or short string. Default if no facet is installed is to output a 3 char english string for the day of the week. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id897225.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id895862"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id612209.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id899939.html b/doc/html/id899939.html
new file mode 100644
index 0000000000..b710369539
--- /dev/null
+++ b/doc/html/id899939.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id904986" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id897825.html" title="Function operator-">
+<link rel="next" href="id866316.html" title="Class time_duration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id897825.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id904986"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id866316.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id899939"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-=</span></h2>
+<p>boost::posix_time::operator-= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>-=(<a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1103590"></a><h2>Description</h2>
+<p>Subtracts a years object from a ptime. Result will be same month and day-of-month as ptime unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id897825.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id904986"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id866316.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id901063.html b/doc/html/id901063.html
new file mode 100644
index 0000000000..45ee2acb4f
--- /dev/null
+++ b/doc/html/id901063.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id798666" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id967018.html" title="Function operator-">
+<link rel="next" href="id937125.html" title="Class time_duration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id967018.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id798666"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id937125.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id901063"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-=</span></h2>
+<p>boost::posix_time::operator-= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>-=(<a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1175475"></a><h2>Description</h2>
+<p>Subtracts a years object from a ptime. Result will be same month and day-of-month as ptime unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id967018.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id798666"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id937125.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id902407-bb.html b/doc/html/id902407-bb.html
new file mode 100644
index 0000000000..a4147b2d84
--- /dev/null
+++ b/doc/html/id902407-bb.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class simple_format&lt;wchar_t&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1043329" title="Header &lt;boost/date_time/date_format_simple.hpp&gt;">
+<link rel="prev" href="simple_format.html" title="Class template simple_format">
+<link rel="next" href="month_formatter.html" title="Class template month_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="simple_format.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1043329"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="month_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id902407-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class simple_format&lt;wchar_t&gt;</span></h2>
+<p>boost::date_time::simple_format&lt;wchar_t&gt; &#8212; Specialization of formmating rules for wchar_t. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> simple_format&lt;<span class="bold"><strong>wchar_t</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+
+ <span class="emphasis"><em>// <a href="id902407-bb.html#id898272-bb">public static functions</a></em></span>
+ <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id902407-bb.html#id756879-bb">not_a_date</a>() ;
+ <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id902407-bb.html#id926856-bb">pos_infinity</a>() ;
+ <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id902407-bb.html#id998316-bb">neg_infinity</a>() ;
+ <span class="type">month_format_spec</span> <a href="id902407-bb.html#id867596-bb">month_format</a>() ;
+ <span class="type">ymd_order_spec</span> <a href="id902407-bb.html#id898427-bb">date_order</a>() ;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id902407-bb.html#id938902-bb">has_date_sep_chars</a>() ;
+ <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id902407-bb.html#id1071993-bb">year_sep_char</a>() ;
+ <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id902407-bb.html#id929667-bb">month_sep_char</a>() ;
+ <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id902407-bb.html#id821665-bb">day_sep_char</a>() ;
+ <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id902407-bb.html#id1071364-bb">hour_sep_char</a>() ;
+ <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id902407-bb.html#id962935-bb">minute_sep_char</a>() ;
+ <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id902407-bb.html#id942597-bb">second_sep_char</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1068277"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1068280"></a><h3>
+<a name="id898272-bb"></a><code class="computeroutput">simple_format</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id756879-bb"></a>not_a_date() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id926856-bb"></a>pos_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id998316-bb"></a>neg_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type">month_format_spec</span> <a name="id867596-bb"></a>month_format() ;</pre></li>
+<li><pre class="literallayout"><span class="type">ymd_order_spec</span> <a name="id898427-bb"></a>date_order() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id938902-bb"></a>has_date_sep_chars() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1071993-bb"></a>year_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id929667-bb"></a>month_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id821665-bb"></a>day_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1071364-bb"></a>hour_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id962935-bb"></a>minute_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id942597-bb"></a>second_sep_char() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="simple_format.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1043329"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="month_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id902736.html b/doc/html/id902736.html
new file mode 100644
index 0000000000..f1e6f4dacd
--- /dev/null
+++ b/doc/html/id902736.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id856507" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id1005474.html" title="Function operator-=">
+<link rel="next" href="id802077.html" title="Function operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1005474.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856507"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id802077.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id902736"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+</span></h2>
+<p>boost::local_time::operator+ &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1108427"></a><h2>Description</h2>
+<p>Adds a years object and a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1005474.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856507"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id802077.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id904638.html b/doc/html/id904638.html
new file mode 100644
index 0000000000..29a5702307
--- /dev/null
+++ b/doc/html/id904638.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class invalid_command_line_syntax</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id904492" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="invalid_command_line_style.html" title="Class invalid_command_line_style">
+<link rel="next" href="invalid_option_value.html" title="Class invalid_option_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="invalid_command_line_style.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id904492"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="invalid_option_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id904638"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class invalid_command_line_syntax</span></h2>
+<p>boost::program_options::invalid_command_line_syntax &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> invalid_command_line_syntax {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// <a href="id904638.html#id904638construct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a href="id904638.html#id1117877-bb">invalid_command_line_syntax</a>(<span class="bold"><strong>const</strong></span> std::string &amp;, kind_t);
+
+ <span class="emphasis"><em>// <a href="id904638.html#id901189-bb">public member functions</a></em></span>
+ <span class="type">kind_t</span> <a href="id904638.html#id1045150-bb">kind</a>() <span class="bold"><strong>const</strong></span>;
+
+ <span class="emphasis"><em>// <a href="id904638.html#id1008440-bb">protected static functions</a></em></span>
+ <span class="type">std::string</span> <a href="id904638.html#id727332-bb">error_message</a>(kind_t) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1249769"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1249772"></a><h3>
+<a name="id904638construct-copy-destruct"></a><code class="computeroutput">invalid_command_line_syntax</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id1117877-bb"></a>invalid_command_line_syntax(<span class="bold"><strong>const</strong></span> std::string &amp; tokens, kind_t kind);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1249814"></a><h3>
+<a name="id901189-bb"></a><code class="computeroutput">invalid_command_line_syntax</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">kind_t</span> <a name="id1045150-bb"></a>kind() <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1249854"></a><h3>
+<a name="id1008440-bb"></a><code class="computeroutput">invalid_command_line_syntax</code> protected static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">std::string</span> <a name="id727332-bb"></a>error_message(kind_t kind) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="invalid_command_line_style.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id904492"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="invalid_option_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id905192.html b/doc/html/id905192.html
new file mode 100644
index 0000000000..540138c3ff
--- /dev/null
+++ b/doc/html/id905192.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id792377" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id1102684.html" title="Function hash_value">
+<link rel="next" href="id1066619.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1102684.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id792377"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1066619.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id905192"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for built in arrays.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>unsigned</strong></span> N&gt; <span class="type">std::size_t</span> hash_value(T (&amp;val)[N] );
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>unsigned</strong></span> N&gt; <span class="type">std::size_t</span> hash_value(<span class="bold"><strong>const</strong></span> T (&amp;val)[N] );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1220779"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">hash_range(val, val+N)</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1102684.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id792377"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1066619.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id905663.html b/doc/html/id905663.html
new file mode 100644
index 0000000000..ecca392003
--- /dev/null
+++ b/doc/html/id905663.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id904986" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="from_ftime.html" title="Function template from_ftime">
+<link rel="next" href="id764073.html" title="Function operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="from_ftime.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id904986"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id764073.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id905663"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+</span></h2>
+<p>boost::posix_time::operator+ &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> <a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1103177"></a><h2>Description</h2>
+<p>Adds a months object and a ptime. Result will be same day-of-month as ptime unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="from_ftime.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id904986"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id764073.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id906280-bb.html b/doc/html/id906280-bb.html
new file mode 100644
index 0000000000..5afc5aa51f
--- /dev/null
+++ b/doc/html/id906280-bb.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class last_value&lt;void&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="signals/reference.html#id933956" title="Header &lt;boost/last_value.hpp&gt;">
+<link rel="prev" href="last_value.html" title="Class template last_value">
+<link rel="next" href="signals/s04.html" title="Frequently Asked Questions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="last_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id933956"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="signals/s04.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id906280-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class last_value&lt;void&gt;</span></h2>
+<p>boost::last_value&lt;void&gt; &#8212; Evaluate an InputIterator sequence.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> last_value&lt;<span class="bold"><strong>void</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> result_type;
+
+  <span class="emphasis"><em>// <a href="id906280-bb.html#id975319-bb">invocation</a></em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> <a href="InputIterator.html" title="Concept InputIterator">InputIterator</a>&gt;
+    <span class="type">result_type</span> <a href="id906280-bb.html#id826850-bb"><span class="bold"><strong>operator</strong></span>()</a>(InputIterator, InputIterator) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1185754"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1185758"></a><h3>
+<a name="id975319-bb"></a><code class="computeroutput">last_value</code> invocation</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> <a href="InputIterator.html" title="Concept InputIterator">InputIterator</a>&gt;
+  <span class="type">result_type</span> <a name="id826850-bb"></a><span class="bold"><strong>operator</strong></span>()(InputIterator first, InputIterator last) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Dereferences every iterator in the sequence <code class="computeroutput">[first, last)</code>.</p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="last_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id933956"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="signals/s04.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id906590-bb.html b/doc/html/id906590-bb.html
new file mode 100644
index 0000000000..83d4f63551
--- /dev/null
+++ b/doc/html/id906590-bb.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class last_value&lt;void&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="signals/reference.html#id936232" title="Header &lt;boost/last_value.hpp&gt;">
+<link rel="prev" href="last_value.html" title="Class template last_value">
+<link rel="next" href="signals/s04.html" title="Frequently Asked Questions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="last_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id936232"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="signals/s04.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id906590-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class last_value&lt;void&gt;</span></h2>
+<p>boost::last_value&lt;void&gt; &#8212; Evaluate an InputIterator sequence.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> last_value&lt;<span class="bold"><strong>void</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> result_type;
+
+  <span class="emphasis"><em>// <a href="id906590-bb.html#id1012898-bb">invocation</a></em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> <a href="InputIterator.html" title="Concept InputIterator">InputIterator</a>&gt;
+    <span class="type">result_type</span> <a href="id906590-bb.html#id755548-bb"><span class="bold"><strong>operator</strong></span>()</a>(InputIterator, InputIterator) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1287194"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1287197"></a><h3>
+<a name="id1012898-bb"></a><code class="computeroutput">last_value</code> invocation</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> <a href="InputIterator.html" title="Concept InputIterator">InputIterator</a>&gt;
+  <span class="type">result_type</span> <a name="id755548-bb"></a><span class="bold"><strong>operator</strong></span>()(InputIterator first, InputIterator last) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Dereferences every iterator in the sequence <code class="computeroutput">[first, last)</code>.</p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="last_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id936232"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="signals/s04.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id907001-bb.html b/doc/html/id907001-bb.html
new file mode 100644
index 0000000000..20fec8fbb7
--- /dev/null
+++ b/doc/html/id907001-bb.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class simple_format&lt;wchar_t&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1108259" title="Header &lt;boost/date_time/date_format_simple.hpp&gt;">
+<link rel="prev" href="simple_format.html" title="Class template simple_format">
+<link rel="next" href="month_formatter.html" title="Class template month_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="simple_format.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1108259"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="month_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id907001-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class simple_format&lt;wchar_t&gt;</span></h2>
+<p>boost::date_time::simple_format&lt;wchar_t&gt; &#8212; Specialization of formmating rules for wchar_t. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> simple_format&lt;<span class="bold"><strong>wchar_t</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="id907001-bb.html#id829110-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id907001-bb.html#id906557-bb">not_a_date</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id907001-bb.html#id939498-bb">pos_infinity</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id907001-bb.html#id872520-bb">neg_infinity</a>() ;
+  <span class="type">month_format_spec</span> <a href="id907001-bb.html#id1066952-bb">month_format</a>() ;
+  <span class="type">ymd_order_spec</span> <a href="id907001-bb.html#id926655-bb">date_order</a>() ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id907001-bb.html#id1046084-bb">has_date_sep_chars</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id907001-bb.html#id902579-bb">year_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id907001-bb.html#id998421-bb">month_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id907001-bb.html#id937913-bb">day_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id907001-bb.html#id969903-bb">hour_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id907001-bb.html#id1108315-bb">minute_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id907001-bb.html#id860279-bb">second_sep_char</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1068347"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1068351"></a><h3>
+<a name="id829110-bb"></a><code class="computeroutput">simple_format</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id906557-bb"></a>not_a_date() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id939498-bb"></a>pos_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id872520-bb"></a>neg_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type">month_format_spec</span> <a name="id1066952-bb"></a>month_format() ;</pre></li>
+<li><pre class="literallayout"><span class="type">ymd_order_spec</span> <a name="id926655-bb"></a>date_order() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id1046084-bb"></a>has_date_sep_chars() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id902579-bb"></a>year_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id998421-bb"></a>month_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id937913-bb"></a>day_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id969903-bb"></a>hour_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1108315-bb"></a>minute_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id860279-bb"></a>second_sep_char() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="simple_format.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1108259"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="month_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id907404.html b/doc/html/id907404.html
new file mode 100644
index 0000000000..60729fde5d
--- /dev/null
+++ b/doc/html/id907404.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id904986" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id859664.html" title="Function operator+">
+<link rel="next" href="id897825.html" title="Function operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id859664.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id904986"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id897825.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id907404"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+=</span></h2>
+<p>boost::posix_time::operator+= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>+=(<a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1103471"></a><h2>Description</h2>
+<p>Adds a years object to a ptime. Result will be same month and day-of-month as ptime unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id859664.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id904986"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id897825.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id907863.html b/doc/html/id907863.html
new file mode 100644
index 0000000000..1a088449ff
--- /dev/null
+++ b/doc/html/id907863.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1066750" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id1083385.html" title="Function operator+">
+<link rel="next" href="id970662.html" title="Function operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1083385.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1066750"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id970662.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id907863"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+=</span></h2>
+<p>boost::local_time::operator+= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>+=(local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1180406"></a><h2>Description</h2>
+<p>Adds a years object to a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1083385.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1066750"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id970662.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id908622.html b/doc/html/id908622.html
new file mode 100644
index 0000000000..df9e475623
--- /dev/null
+++ b/doc/html/id908622.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class millisec_posix_time_system_config</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1079172" title="Header &lt;boost/date_time/posix_time/posix_time_config.hpp&gt;">
+<link rel="prev" href="posix_time_system_config.html" title="Class posix_time_system_config">
+<link rel="next" href="hours.html" title="Class hours">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="posix_time_system_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1079172"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hours.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id908622"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class millisec_posix_time_system_config</span></h2>
+<p>boost::posix_time::millisec_posix_time_system_config &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> millisec_posix_time_system_config {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> boost::int64_t time_rep_type;
+ <span class="bold"><strong>typedef</strong></span> gregorian::date date_type;
+ <span class="bold"><strong>typedef</strong></span> gregorian::date_duration date_duration_type;
+ <span class="bold"><strong>typedef</strong></span> <a href="id791643.html" title="Class time_duration">time_duration</a> time_duration_type;
+ <span class="bold"><strong>typedef</strong></span> time_res_traits::tick_type int_type;
+ <span class="bold"><strong>typedef</strong></span> time_res_traits::impl_type impl_type;
+ <span class="bold"><strong>typedef</strong></span> time_res_traits resolution_traits;
+
+ <span class="emphasis"><em>// <a href="id908622.html#id1070932-bb">public member functions</a></em></span>
+ <span class="type"></span> <a href="id908622.html#id1070938-bb">BOOST_STATIC_CONSTANT</a>(boost::int64_t, tick_per_second = 1000000) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1175929"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1175932"></a><h3>
+<a name="id1070932-bb"></a><code class="computeroutput">millisec_posix_time_system_config</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"></span> <a name="id1070938-bb"></a>BOOST_STATIC_CONSTANT(boost::int64_t , tick_per_second = 1000000) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="posix_time_system_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1079172"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hours.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id926506.html b/doc/html/id926506.html
new file mode 100644
index 0000000000..fa25c52855
--- /dev/null
+++ b/doc/html/id926506.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id965809" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id940597.html" title="Function operator-=">
+<link rel="next" href="id835863.html" title="Function operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id940597.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id965809"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id835863.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id926506"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+</span></h2>
+<p>boost::posix_time::operator+ &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> <a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1175345"></a><h2>Description</h2>
+<p>Adds a years object and a ptime. Result will be same month and day-of-month as ptime unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id940597.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id965809"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id835863.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id926799.html b/doc/html/id926799.html
new file mode 100644
index 0000000000..9cd73a1a3d
--- /dev/null
+++ b/doc/html/id926799.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template ostream_time_duration_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id798731" title="Header &lt;boost/date_time/time_formatting_streams.hpp&gt;">
+<link rel="prev" href="time_input_facet.html" title="Class template time_input_facet">
+<link rel="next" href="ostream_time_formatter.html" title="Class template ostream_time_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_input_facet.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id798731"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ostream_time_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id926799"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template ostream_time_duration_formatter</span></h2>
+<p>boost::date_time::ostream_time_duration_formatter &#8212; Put a time type into a stream using appropriate facets. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> ostream_time_duration_formatter {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> std::basic_ostream&lt; charT &gt; ostream_type;
+ <span class="bold"><strong>typedef</strong></span> time_duration_type::fractional_seconds_type fractional_seconds_type;
+
+ <span class="emphasis"><em>// <a href="id926799.html#id970832-bb">public static functions</a></em></span>
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="id926799.html#id970837-bb">duration_put</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;, ostream_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1139889"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1139893"></a><h3>
+<a name="id970832-bb"></a><code class="computeroutput">ostream_time_duration_formatter</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id970837-bb"></a>duration_put(<span class="bold"><strong>const</strong></span> time_duration_type &amp; td, ostream_type &amp; os) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_input_facet.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id798731"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ostream_time_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id927058.html b/doc/html/id927058.html
new file mode 100644
index 0000000000..6dba506bbc
--- /dev/null
+++ b/doc/html/id927058.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id965809" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id867037.html" title="Function operator+">
+<link rel="next" href="id727853.html" title="Function operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id867037.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id965809"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id727853.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id927058"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+=</span></h2>
+<p>boost::posix_time::operator+= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>+=(<a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1175164"></a><h2>Description</h2>
+<p>Adds a months object to a ptime. Result will be same day-of-month as ptime unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id867037.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id965809"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id727853.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id928151.html b/doc/html/id928151.html
new file mode 100644
index 0000000000..5ddb7f4a22
--- /dev/null
+++ b/doc/html/id928151.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id965809" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id1076154.html" title="Function operator-">
+<link rel="next" href="id975549.html" title="Class time_duration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1076154.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id965809"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id975549.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id928151"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-=</span></h2>
+<p>boost::posix_time::operator-= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>-=(<a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1175521"></a><h2>Description</h2>
+<p>Subtracts a years object from a ptime. Result will be same month and day-of-month as ptime unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1076154.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id965809"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id975549.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id928296.html b/doc/html/id928296.html
new file mode 100644
index 0000000000..ac5440ef0c
--- /dev/null
+++ b/doc/html/id928296.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template swap</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id1258086" title="Header &lt;boost/variant/variant.hpp&gt;">
+<link rel="prev" href="boost/variant.html" title="Class template variant">
+<link rel="next" href="id1214336.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/variant.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1258086"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1214336.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id928296"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template swap</span></h2>
+<p>boost::swap &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> swap(<a href="boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp; lhs, <a href="boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp; rhs);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1665885"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Swaps <code class="computeroutput">lhs</code> with <code class="computeroutput">rhs</code> by application
+ of <code class="computeroutput"><a href="boost/variant.html#id1047505-bb">variant::swap</a></code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ May fail with any exception arising from
+ <code class="computeroutput"><a href="boost/variant.html#id1047505-bb">variant::swap</a></code>.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/variant.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id1258086"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1214336.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id928370.html b/doc/html/id928370.html
new file mode 100644
index 0000000000..f4b37a8af1
--- /dev/null
+++ b/doc/html/id928370.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator&amp;&amp;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id1138094" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id685401.html" title="Function operator!">
+<link rel="next" href="id698854.html" title="Function operator||">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id685401.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1138094"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id698854.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id928370"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator&amp;&amp;</span></h2>
+<p>boost::logic::operator&amp;&amp; &#8212; Computes the logical conjuction of two tribools. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="bold"><strong>bool</strong></span> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<span class="bold"><strong>bool</strong></span> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(indeterminate_keyword_t , <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>&amp;&amp;(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, indeterminate_keyword_t );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1563905"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the result of logically ANDing the two tribool values, according to the following table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">&amp;&amp;</code></strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">false</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id685401.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1138094"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id698854.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id929185.html b/doc/html/id929185.html
new file mode 100644
index 0000000000..1c3548790d
--- /dev/null
+++ b/doc/html/id929185.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id871656" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id1082329.html" title="Function operator-">
+<link rel="next" href="partial_date_rule_spec.html" title="Struct partial_date_rule_spec">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1082329.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id871656"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="partial_date_rule_spec.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id929185"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-=</span></h2>
+<p>boost::local_time::operator-= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>-=(local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1179858"></a><h2>Description</h2>
+<p>Subtracts a years object from a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1082329.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id871656"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="partial_date_rule_spec.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id930380.html b/doc/html/id930380.html
new file mode 100644
index 0000000000..993a4e85ff
--- /dev/null
+++ b/doc/html/id930380.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id938907" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="greg_facet_config.html" title="Struct greg_facet_config">
+<link rel="next" href="id863329.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greg_facet_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id938907"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id863329.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id930380"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::gregorian::operator&lt;&lt; &#8212; ostream operator for gregorian::date </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+  <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os, <span class="bold"><strong>const</strong></span> <a href="boost/gregorian/date.html" title="Class date">date</a> &amp; d);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1152477"></a><h2>Description</h2>
+<p>Uses the date facet to determine various output parameters including:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>string values for the month (eg: Jan, Feb, Mar) (default: English)</p></li>
+<li><p>string values for special values (eg: not-a-date-time) (default: English)</p></li>
+<li><p>selection of long, short strings, or numerical month representation (default: short string)</p></li>
+<li><p>month day year order (default yyyy-mmm-dd) </p></li>
+</ul></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greg_facet_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id938907"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id863329.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id931820.html b/doc/html/id931820.html
new file mode 100644
index 0000000000..d337e49c16
--- /dev/null
+++ b/doc/html/id931820.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template parse_delimited_time_duration</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id892302" title="Header &lt;boost/date_time/time_parsing.hpp&gt;">
+<link rel="prev" href="time_itr.html" title="Class template time_itr">
+<link rel="next" href="id963574.html" title="Struct time_resolution_traits_bi32_impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_itr.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id892302"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id963574.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id931820"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template parse_delimited_time_duration</span></h2>
+<p>boost::date_time::parse_delimited_time_duration &#8212; Creates a time_duration object from a delimited string. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration&gt;
+ <span class="type"><a href="id757440.html" title="Class template time_duration">time_duration</a></span> parse_delimited_time_duration(<span class="bold"><strong>const</strong></span> std::string &amp; s);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1141265"></a><h2>Description</h2>
+<p>Expected format for string is "[-]h[h][:mm][:ss][.fff]". If the number of fractional digits provided is greater than the precision of the time duration type then the extra digits are truncated.</p>
+<p>A negative duration will be created if the first character in string is a '-', all other '-' will be treated as delimiters. Accepted delimiters are "-:,.". </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_itr.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id892302"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id963574.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id931882.html b/doc/html/id931882.html
new file mode 100644
index 0000000000..0a806a93d9
--- /dev/null
+++ b/doc/html/id931882.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator!</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id1008658" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="id759771.html" title="Function template operator||">
+<link rel="next" href="is_equal.html" title="Struct is_equal">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id759771.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id1008658"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_equal.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id931882"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator!</span></h2>
+<p>boost::algorithm::operator! &#8212; predicate negation operator </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PredT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <span class="bold"><strong>operator</strong></span>!(<span class="bold"><strong>const</strong></span> predicate_facade&lt; PredT &gt; &amp; Pred);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1314825"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">class_not</code> predicate. This predicate represents a negation. <code class="computeroutput">class_or</code> holds if of the predicates return false.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Pred</span></dt>
+<dd><p>The predicate to be negated </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">class_not</code> predicate </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id759771.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id1008658"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_equal.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id932460.html b/doc/html/id932460.html
new file mode 100644
index 0000000000..96688d54d4
--- /dev/null
+++ b/doc/html/id932460.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id961262" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id974544.html" title="Function operator+">
+<link rel="next" href="id1108774.html" title="Function operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id974544.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id961262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1108774.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id932460"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+=</span></h2>
+<p>boost::posix_time::operator+= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>+=(<a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1174594"></a><h2>Description</h2>
+<p>Adds a months object to a ptime. Result will be same day-of-month as ptime unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id974544.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id961262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1108774.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id934351.html b/doc/html/id934351.html
new file mode 100644
index 0000000000..d4a2bb6304
--- /dev/null
+++ b/doc/html/id934351.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id798666" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id802530.html" title="Function operator-=">
+<link rel="next" href="id974669.html" title="Function operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id802530.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id798666"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id974669.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id934351"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+</span></h2>
+<p>boost::posix_time::operator+ &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> <a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1175300"></a><h2>Description</h2>
+<p>Adds a years object and a ptime. Result will be same month and day-of-month as ptime unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id802530.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id798666"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id974669.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id934588.html b/doc/html/id934588.html
new file mode 100644
index 0000000000..a9bcad7460
--- /dev/null
+++ b/doc/html/id934588.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id856825" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="id1037413.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="id961567.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1037413.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856825"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id961567.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id934588"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::gregorian::operator&lt;&lt; &#8212; operator&lt;&lt; for gregorian::greg_month typically streaming: Jan, Feb, Mar... </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+  <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os, <span class="bold"><strong>const</strong></span> <a href="greg_month.html" title="Class greg_month">greg_month</a> &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1152526"></a><h2>Description</h2>
+<p>Uses the date facet to determine output string as well as selection of long or short strings. Default if no facet is installed is to output a 2 wide numeric value for the month eg: 01 == Jan, 02 == Feb, ... 12 == Dec. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1037413.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856825"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id961567.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id935001.html b/doc/html/id935001.html
new file mode 100644
index 0000000000..c767f74b16
--- /dev/null
+++ b/doc/html/id935001.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator==</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id996838" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id791859.html" title="Function operator||">
+<link rel="next" href="id1222476.html" title="Function operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id791859.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id996838"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1222476.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id935001"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator==</span></h2>
+<p>boost::logic::operator== &#8212; Compare tribools for equality. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="bold"><strong>bool</strong></span> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>bool</strong></span> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(indeterminate_keyword_t , <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>==(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, indeterminate_keyword_t );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1570763"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the result of comparing two tribool values, according to the following table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">==</code></strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id791859.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id996838"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1222476.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id935107.html b/doc/html/id935107.html
new file mode 100644
index 0000000000..1260c04749
--- /dev/null
+++ b/doc/html/id935107.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class too_few_positional_options_error</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id904492" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="multiple_values.html" title="Class multiple_values">
+<link rel="next" href="id871323.html" title="Class too_many_positional_options_error">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="multiple_values.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id904492"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id871323.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id935107"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class too_few_positional_options_error</span></h2>
+<p>boost::program_options::too_few_positional_options_error &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> too_few_positional_options_error
+ : : <span class="bold"><strong>public</strong></span> boost::program_options::error
+{
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// <a href="id935107.html#id935107construct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a href="id935107.html#id1136366-bb">too_few_positional_options_error</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+ <span class="emphasis"><em>// <a href="id935107.html#id900590-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1250593"></a><h2>Description</h2>
+<p>Class thrown when there are too few positional options. </p>
+<div class="refsect2" lang="en">
+<a name="id1250599"></a><h3>
+<a name="id935107construct-copy-destruct"></a><code class="computeroutput">too_few_positional_options_error</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id1136366-bb"></a>too_few_positional_options_error(<span class="bold"><strong>const</strong></span> std::string &amp; what);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1250639"></a><h3>
+<a name="id900590-bb"></a><code class="computeroutput">too_few_positional_options_error</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="multiple_values.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id904492"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id871323.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id935311.html b/doc/html/id935311.html
new file mode 100644
index 0000000000..3d00ad88b5
--- /dev/null
+++ b/doc/html/id935311.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class invalid_command_line_syntax</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id696710" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="invalid_command_line_style.html" title="Class invalid_command_line_style">
+<link rel="next" href="invalid_option_value.html" title="Class invalid_option_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="invalid_command_line_style.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id696710"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="invalid_option_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id935311"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class invalid_command_line_syntax</span></h2>
+<p>boost::program_options::invalid_command_line_syntax &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> invalid_command_line_syntax {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id935311.html#id935311construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id935311.html#id863050-bb">invalid_command_line_syntax</a>(<span class="bold"><strong>const</strong></span> std::string &amp;, kind_t);
+
+  <span class="emphasis"><em>// <a href="id935311.html#id823164-bb">public member functions</a></em></span>
+  <span class="type">kind_t</span> <a href="id935311.html#id733412-bb">kind</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="id935311.html#id998649-bb">protected static functions</a></em></span>
+  <span class="type">std::string</span> <a href="id935311.html#id1009745-bb">error_message</a>(kind_t) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1250418"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1250422"></a><h3>
+<a name="id935311construct-copy-destruct"></a><code class="computeroutput">invalid_command_line_syntax</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id863050-bb"></a>invalid_command_line_syntax(<span class="bold"><strong>const</strong></span> std::string &amp; tokens, kind_t kind);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1250463"></a><h3>
+<a name="id823164-bb"></a><code class="computeroutput">invalid_command_line_syntax</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">kind_t</span> <a name="id733412-bb"></a>kind() <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1250503"></a><h3>
+<a name="id998649-bb"></a><code class="computeroutput">invalid_command_line_syntax</code> protected static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">std::string</span> <a name="id1009745-bb"></a>error_message(kind_t kind) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="invalid_command_line_style.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id696710"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="invalid_option_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id937125.html b/doc/html/id937125.html
new file mode 100644
index 0000000000..04ea2b760d
--- /dev/null
+++ b/doc/html/id937125.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class time_duration</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id937109" title="Header &lt;boost/date_time/posix_time/posix_time_config.hpp&gt;">
+<link rel="prev" href="id901063.html" title="Function operator-=">
+<link rel="next" href="simple_time_rep.html" title="Struct simple_time_rep">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id901063.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id937109"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="simple_time_rep.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id937125"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class time_duration</span></h2>
+<p>boost::posix_time::time_duration &#8212; Base time duration type. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> time_duration {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> time_res_traits                          rep_type;               
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::day_type                day_type;               
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::hour_type               hour_type;              
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::min_type                min_type;               
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::sec_type                sec_type;               
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::fractional_seconds_type fractional_seconds_type;
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::tick_type               tick_type;              
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::impl_type               impl_type;              
+
+  <span class="emphasis"><em>// <a href="id937125.html#id937125construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id937125.html#id1079612-bb">time_duration</a>(hour_type, min_type, sec_type, fractional_seconds_type = 0);
+  <a href="id937125.html#id930715-bb">time_duration</a>();
+  <a href="id937125.html#id930718-bb">time_duration</a>(boost::date_time::special_values);
+  <a href="id937125.html#id861688-bb">time_duration</a>(impl_type);
+
+  <span class="emphasis"><em>// <a href="id937125.html#id1079607-bb">public member functions</a></em></span>
+
+  <span class="emphasis"><em>// <a href="id937125.html#id861682-bb">private member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1175768"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1175772"></a><h3>
+<a name="id937125construct-copy-destruct"></a><code class="computeroutput">time_duration</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id1079612-bb"></a>time_duration(hour_type hour, min_type min, sec_type sec,
+              fractional_seconds_type fs = 0);</pre></li>
+<li><pre class="literallayout"><a name="id930715-bb"></a>time_duration();</pre></li>
+<li><pre class="literallayout"><a name="id930718-bb"></a>time_duration(boost::date_time::special_values sv);</pre></li>
+<li><pre class="literallayout"><a name="id861688-bb"></a>time_duration(impl_type ticks);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1175848"></a><h3>
+<a name="id1079607-bb"></a><code class="computeroutput">time_duration</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1175865"></a><h3>
+<a name="id861682-bb"></a><code class="computeroutput">time_duration</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id901063.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id937109"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="simple_time_rep.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id937212.html b/doc/html/id937212.html
new file mode 100644
index 0000000000..e51a2f531c
--- /dev/null
+++ b/doc/html/id937212.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1066750" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id1003172.html" title="Function operator+=">
+<link rel="next" href="id971242.html" title="Function operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1003172.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1066750"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id971242.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id937212"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-</span></h2>
+<p>boost::local_time::operator- &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1180262"></a><h2>Description</h2>
+<p>Subtracts a months object and a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1003172.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1066750"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id971242.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id937779.html b/doc/html/id937779.html
new file mode 100644
index 0000000000..5fdc6c33e6
--- /dev/null
+++ b/doc/html/id937779.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template dst_adjustment_offsets</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id869039" title="Header &lt;boost/date_time/time_zone_base.hpp&gt;">
+<link rel="prev" href="time_zone_base.html" title="Class template time_zone_base">
+<link rel="next" href="time_zone_names_base.html" title="Class template time_zone_names_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_zone_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id869039"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_zone_names_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id937779"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template dst_adjustment_offsets</span></h2>
+<p>boost::date_time::dst_adjustment_offsets &#8212; Structure which holds the time offsets associated with daylight savings time. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration_type&gt;
+<span class="bold"><strong>class</strong></span> dst_adjustment_offsets {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id937779.html#id937779construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id937779.html#id821934-bb">dst_adjustment_offsets</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;,
+                         <span class="bold"><strong>const</strong></span> time_duration_type &amp;,
+                         <span class="bold"><strong>const</strong></span> time_duration_type &amp;);
+
+  <span class="emphasis"><em>// <a href="id937779.html#id1077201-bb">public member functions</a></em></span>
+
+  time_duration_type dst_adjust_;
+  time_duration_type dst_start_offset_;
+  time_duration_type dst_end_offset_;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1146322"></a><h2>Description</h2>
+<p></p>
+<div class="refsect2" lang="en">
+<a name="id1146326"></a><h3>
+<a name="id937779construct-copy-destruct"></a><code class="computeroutput">dst_adjustment_offsets</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id821934-bb"></a>dst_adjustment_offsets(<span class="bold"><strong>const</strong></span> time_duration_type &amp; dst_adjust,
+                       <span class="bold"><strong>const</strong></span> time_duration_type &amp; dst_start_offset,
+                       <span class="bold"><strong>const</strong></span> time_duration_type &amp; dst_end_offset);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1146378"></a><h3>
+<a name="id1077201-bb"></a><code class="computeroutput">dst_adjustment_offsets</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_zone_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id869039"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_zone_names_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id938144.html b/doc/html/id938144.html
new file mode 100644
index 0000000000..c408ecbb18
--- /dev/null
+++ b/doc/html/id938144.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function parse_environment</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id695585" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="collect_unrecognized.html" title="Function template collect_unrecognized">
+<link rel="next" href="id1006469.html" title="Function parse_environment">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="collect_unrecognized.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id695585"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1006469.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id938144"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function parse_environment</span></h2>
+<p>boost::program_options::parse_environment &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL parsed_options</span>
+parse_environment(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp; ,
+ <span class="bold"><strong>const</strong></span> function1&lt; std::string, std::string &gt; &amp; name_mapper);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1255436"></a><h2>Description</h2>
+<p>Parse environment.</p>
+<p>For each environment variable, the 'name_mapper' function is called to obtain the option name. If it returns empty string, the variable is ignored.</p>
+<p>This is done since naming of environment variables is typically different from the naming of command line options. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="collect_unrecognized.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id695585"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1006469.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id939231.html b/doc/html/id939231.html
new file mode 100644
index 0000000000..ec09c736df
--- /dev/null
+++ b/doc/html/id939231.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id860437" title="Header &lt;boost/functional/hash/list.hpp&gt;">
+<link rel="prev" href="id1111544.html" title="Function hash_value">
+<link rel="next" href="id872478.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1111544.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id860437"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id872478.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id939231"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::list&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1221427"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id1108300.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1111544.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id860437"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id872478.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id940597.html b/doc/html/id940597.html
new file mode 100644
index 0000000000..ff7986ec03
--- /dev/null
+++ b/doc/html/id940597.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id965809" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id727853.html" title="Function operator-">
+<link rel="next" href="id926506.html" title="Function operator+">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id727853.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id965809"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id926506.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id940597"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-=</span></h2>
+<p>boost::posix_time::operator-= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>-=(<a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1175282"></a><h2>Description</h2>
+<p>Subtracts a months object from a ptime. Result will be same day-of-month as ptime unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id727853.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id965809"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id926506.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id961567.html b/doc/html/id961567.html
new file mode 100644
index 0000000000..6dcfebd6ad
--- /dev/null
+++ b/doc/html/id961567.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id856825" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="id934588.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="id792474.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id934588.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856825"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id792474.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id961567"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::gregorian::operator&lt;&lt; &#8212; operator&lt;&lt; for gregorian::greg_weekday typically streaming: Sun, Mon, Tue, ... </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+  <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os,
+             <span class="bold"><strong>const</strong></span> <a href="greg_weekday.html" title="Class greg_weekday">greg_weekday</a> &amp; wd);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1152604"></a><h2>Description</h2>
+<p>Uses the date facet to determine output string as well as selection of long or short string. Default if no facet is installed is to output a 3 char english string for the day of the week. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id934588.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id856825"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id792474.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id962554.html b/doc/html/id962554.html
new file mode 100644
index 0000000000..b829666e73
--- /dev/null
+++ b/doc/html/id962554.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class millisec_posix_time_system_config</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id765049" title="Header &lt;boost/date_time/posix_time/posix_time_config.hpp&gt;">
+<link rel="prev" href="posix_time_system_config.html" title="Class posix_time_system_config">
+<link rel="next" href="hours.html" title="Class hours">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="posix_time_system_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id765049"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hours.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id962554"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class millisec_posix_time_system_config</span></h2>
+<p>boost::posix_time::millisec_posix_time_system_config &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> millisec_posix_time_system_config {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::int64_t             time_rep_type;     
+  <span class="bold"><strong>typedef</strong></span> gregorian::date            date_type;         
+  <span class="bold"><strong>typedef</strong></span> gregorian::date_duration   date_duration_type;
+  <span class="bold"><strong>typedef</strong></span> <a href="id866316.html" title="Class time_duration">time_duration</a>              time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::tick_type int_type;          
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::impl_type impl_type;         
+  <span class="bold"><strong>typedef</strong></span> time_res_traits            resolution_traits; 
+
+  <span class="emphasis"><em>// <a href="id962554.html#id1001796-bb">public member functions</a></em></span>
+  <span class="type"></span> <a href="id962554.html#id1001800-bb">BOOST_STATIC_CONSTANT</a>(boost::int64_t, tick_per_second = 1000000) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1104590"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1104593"></a><h3>
+<a name="id1001796-bb"></a><code class="computeroutput">millisec_posix_time_system_config</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"></span> <a name="id1001800-bb"></a>BOOST_STATIC_CONSTANT(boost::int64_t , tick_per_second = 1000000) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="posix_time_system_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id765049"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hours.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id963166.html b/doc/html/id963166.html
new file mode 100644
index 0000000000..9eeeb62bc1
--- /dev/null
+++ b/doc/html/id963166.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template value_semantic_codecvt_helper</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id1114896" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="value_semantic.html" title="Class value_semantic">
+<link rel="next" href="id762184-bb.html" title="Class value_semantic_codecvt_helper&lt;char&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="value_semantic.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1114896"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id762184-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id963166"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template value_semantic_codecvt_helper</span></h2>
+<p>boost::program_options::value_semantic_codecvt_helper &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+<span class="bold"><strong>class</strong></span> value_semantic_codecvt_helper {
+<span class="bold"><strong>public</strong></span>:
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1276538"></a><h2>Description</h2>
+<p>Helper class which perform necessary character conversions in the 'parse' method and forwards the data further. </p>
+<div class="refsect2" lang="en">
+<a name="id1276546"></a><h3>Specializations</h3>
+<div class="itemizedlist"><ul type="disc">
+<li><p><a href="id762184-bb.html" title="Class value_semantic_codecvt_helper&lt;char&gt;">Class value_semantic_codecvt_helper&lt;char&gt;</a></p></li>
+<li><p><a href="id1067419-bb.html" title="Class value_semantic_codecvt_helper&lt;wchar_t&gt;">Class value_semantic_codecvt_helper&lt;wchar_t&gt;</a></p></li>
+</ul></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="value_semantic.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1114896"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id762184-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id963572.html b/doc/html/id963572.html
new file mode 100644
index 0000000000..009f6379dc
--- /dev/null
+++ b/doc/html/id963572.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class too_many_positional_options_error</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id754183" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="id857561.html" title="Class too_few_positional_options_error">
+<link rel="next" href="unknown_option.html" title="Class unknown_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id857561.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id754183"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="unknown_option.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id963572"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class too_many_positional_options_error</span></h2>
+<p>boost::program_options::too_many_positional_options_error &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> too_many_positional_options_error
+ : : <span class="bold"><strong>public</strong></span> boost::program_options::error
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id963572.html#id963572construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id963572.html#id831578-bb">too_many_positional_options_error</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+  <span class="emphasis"><em>// <a href="id963572.html#id831535-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1251537"></a><h2>Description</h2>
+<p>Class thrown when there are too many positional options. </p>
+<div class="refsect2" lang="en">
+<a name="id1251544"></a><h3>
+<a name="id963572construct-copy-destruct"></a><code class="computeroutput">too_many_positional_options_error</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id831578-bb"></a>too_many_positional_options_error(<span class="bold"><strong>const</strong></span> std::string &amp; what);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1251584"></a><h3>
+<a name="id831535-bb"></a><code class="computeroutput">too_many_positional_options_error</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id857561.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id754183"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="unknown_option.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id963574.html b/doc/html/id963574.html
new file mode 100644
index 0000000000..34eb05c4b2
--- /dev/null
+++ b/doc/html/id963574.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_resolution_traits_bi32_impl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id963558" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id931820.html" title="Function template parse_delimited_time_duration">
+<link rel="next" href="id976922.html" title="Struct time_resolution_traits_adapted32_impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id931820.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id963558"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id976922.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id963574"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_resolution_traits_bi32_impl</span></h2>
+<p>boost::date_time::time_resolution_traits_bi32_impl &#8212; traits struct for time_resolution_traits implementation type </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_resolution_traits_bi32_impl {
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> boost::int32_t int_type;
+ <span class="bold"><strong>typedef</strong></span> boost::int32_t impl_type;
+
+ <span class="emphasis"><em>// <a href="id963574.html#id894638-bb">public static functions</a></em></span>
+ <span class="type">int_type</span> <a href="id963574.html#id894644-bb">as_number</a>(impl_type) ;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id963574.html#id976902-bb">is_adapted</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1141583"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1141586"></a><h3>
+<a name="id894638-bb"></a><code class="computeroutput">time_resolution_traits_bi32_impl</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id894644-bb"></a>as_number(impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id976902-bb"></a>is_adapted() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id931820.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id963558"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id976922.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id964077.html b/doc/html/id964077.html
new file mode 100644
index 0000000000..3ed9f18fa5
--- /dev/null
+++ b/doc/html/id964077.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id927299" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id972508.html" title="Function hash_value">
+<link rel="next" href="id797225.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id972508.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id927299"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id797225.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id964077"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for built in arrays.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>unsigned</strong></span> N&gt; <span class="type">std::size_t</span> hash_value(T (&amp;val)[N] );
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>unsigned</strong></span> N&gt; <span class="type">std::size_t</span> hash_value(<span class="bold"><strong>const</strong></span> T (&amp;val)[N] );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1148859"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">hash_range(val, val+N)</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id972508.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id927299"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id797225.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id964497.html b/doc/html/id964497.html
new file mode 100644
index 0000000000..3bc4afdc18
--- /dev/null
+++ b/doc/html/id964497.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_resolution_traits_bi64_impl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1042828" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id829771.html" title="Struct time_resolution_traits_adapted32_impl">
+<link rel="next" href="id977867.html" title="Struct time_resolution_traits_adapted64_impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id829771.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1042828"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id977867.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id964497"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_resolution_traits_bi64_impl</span></h2>
+<p>boost::date_time::time_resolution_traits_bi64_impl &#8212; traits struct for time_resolution_traits implementation type </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_resolution_traits_bi64_impl {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::int64_t int_type; 
+  <span class="bold"><strong>typedef</strong></span> boost::int64_t impl_type;
+
+  <span class="emphasis"><em>// <a href="id964497.html#id896262-bb">public static functions</a></em></span>
+  <span class="type">int_type</span> <a href="id964497.html#id896268-bb">as_number</a>(impl_type) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id964497.html#id900855-bb">is_adapted</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1142274"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1142277"></a><h3>
+<a name="id896262-bb"></a><code class="computeroutput">time_resolution_traits_bi64_impl</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id896268-bb"></a>as_number(impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id900855-bb"></a>is_adapted() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id829771.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1042828"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id977867.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id964834.html b/doc/html/id964834.html
new file mode 100644
index 0000000000..c8e537f734
--- /dev/null
+++ b/doc/html/id964834.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1031665" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id967615.html" title="Function operator+">
+<link rel="next" href="id1076157.html" title="Function operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id967615.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1031665"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1076157.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id964834"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+=</span></h2>
+<p>boost::local_time::operator+= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>+=(local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1180360"></a><h2>Description</h2>
+<p>Adds a years object to a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id967615.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1031665"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1076157.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id965024.html b/doc/html/id965024.html
new file mode 100644
index 0000000000..abb449cd31
--- /dev/null
+++ b/doc/html/id965024.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template value_semantic_codecvt_helper</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id1139298" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="value_semantic.html" title="Class value_semantic">
+<link rel="next" href="id833576-bb.html" title="Class value_semantic_codecvt_helper&lt;char&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="value_semantic.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1139298"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id833576-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id965024"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template value_semantic_codecvt_helper</span></h2>
+<p>boost::program_options::value_semantic_codecvt_helper &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+<span class="bold"><strong>class</strong></span> value_semantic_codecvt_helper {
+<span class="bold"><strong>public</strong></span>:
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1258223"></a><h2>Description</h2>
+<p>Helper class which perform necessary character conversions in the 'parse' method and forwards the data further. </p>
+<div class="refsect2" lang="en">
+<a name="id1258231"></a><h3>Specializations</h3>
+<div class="itemizedlist"><ul type="disc">
+<li><p><a href="id833576-bb.html" title="Class value_semantic_codecvt_helper&lt;char&gt;">Class value_semantic_codecvt_helper&lt;char&gt;</a></p></li>
+<li><p><a href="id1109608-bb.html" title="Class value_semantic_codecvt_helper&lt;wchar_t&gt;">Class value_semantic_codecvt_helper&lt;wchar_t&gt;</a></p></li>
+</ul></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="value_semantic.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id1139298"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id833576-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id965057.html b/doc/html/id965057.html
new file mode 100644
index 0000000000..fe585bf262
--- /dev/null
+++ b/doc/html/id965057.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator||</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id758563" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id1181458.html" title="Function operator&amp;&amp;">
+<link rel="next" href="id1220439.html" title="Function operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1181458.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id758563"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1220439.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id965057"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator||</span></h2>
+<p>boost::logic::operator|| &#8212; Computes the logical disjunction of two tribools. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="bold"><strong>bool</strong></span> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(<span class="bold"><strong>bool</strong></span> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(indeterminate_keyword_t , <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>||(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, indeterminate_keyword_t );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1565290"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the result of logically ORing the two tribool values, according to the following table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">||</code></strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">true</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1181458.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id758563"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1220439.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id966212.html b/doc/html/id966212.html
new file mode 100644
index 0000000000..ee6d8e3262
--- /dev/null
+++ b/doc/html/id966212.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template dynamic_local_time_adjustor</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1001609" title="Header &lt;boost/date_time/local_time_adjustor.hpp&gt;">
+<link rel="prev" href="utc_adjustment.html" title="Class template utc_adjustment">
+<link rel="next" href="static_local_time_adjustor.html" title="Class template static_local_time_adjustor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="utc_adjustment.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1001609"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="static_local_time_adjustor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id966212"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template dynamic_local_time_adjustor</span></h2>
+<p>boost::date_time::dynamic_local_time_adjustor &#8212; Allow sliding utc adjustment with fixed dst rules. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type, <span class="bold"><strong>typename</strong></span> dst_rules&gt;
+<span class="bold"><strong>class</strong></span> dynamic_local_time_adjustor {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> time_type::time_duration_type time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> time_type::date_type          date_type;         
+
+  <span class="emphasis"><em>// <a href="id966212.html#id966212construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id966212.html#id932798-bb">dynamic_local_time_adjustor</a>(time_duration_type);
+
+  <span class="emphasis"><em>// <a href="id966212.html#id907485-bb">public member functions</a></em></span>
+  <span class="type">time_duration_type</span> <a href="id966212.html#id907490-bb">utc_offset</a>(<span class="bold"><strong>bool</strong></span>) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1108533"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1108537"></a><h3>
+<a name="id966212construct-copy-destruct"></a><code class="computeroutput">dynamic_local_time_adjustor</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id932798-bb"></a>dynamic_local_time_adjustor(time_duration_type utc_offset);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1108571"></a><h3>
+<a name="id907485-bb"></a><code class="computeroutput">dynamic_local_time_adjustor</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">time_duration_type</span> <a name="id907490-bb"></a>utc_offset(<span class="bold"><strong>bool</strong></span> is_dst) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="utc_adjustment.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1001609"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="static_local_time_adjustor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id966919.html b/doc/html/id966919.html
new file mode 100644
index 0000000000..61c76dcb68
--- /dev/null
+++ b/doc/html/id966919.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id966901" title="Header &lt;boost/functional/hash/list.hpp&gt;">
+<link rel="prev" href="id1013364.html" title="Function hash_value">
+<link rel="next" href="id1075809.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1013364.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id966901"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1075809.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id966919"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+ <span class="type">std::size_t</span> hash_value(std::list&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1220670"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id1047787.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1013364.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id966901"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1075809.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id967018.html b/doc/html/id967018.html
new file mode 100644
index 0000000000..70f97c0830
--- /dev/null
+++ b/doc/html/id967018.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id798666" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id974669.html" title="Function operator+=">
+<link rel="next" href="id901063.html" title="Function operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id974669.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id798666"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id901063.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id967018"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-</span></h2>
+<p>boost::posix_time::operator- &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> <a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1175419"></a><h2>Description</h2>
+<p>Subtracts a years object and a ptime. Result will be same month and day-of-month as ptime unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id974669.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id798666"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id901063.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id967208.html b/doc/html/id967208.html
new file mode 100644
index 0000000000..57c83b2070
--- /dev/null
+++ b/doc/html/id967208.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id904986" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id764073.html" title="Function operator+=">
+<link rel="next" href="id792595.html" title="Function operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id764073.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id904986"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id792595.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id967208"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-</span></h2>
+<p>boost::posix_time::operator- &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> <a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1103296"></a><h2>Description</h2>
+<p>Subtracts a months object and a ptime. Result will be same day-of-month as ptime unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id764073.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id904986"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id792595.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id967615.html b/doc/html/id967615.html
new file mode 100644
index 0000000000..3da10f2f73
--- /dev/null
+++ b/doc/html/id967615.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1031665" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id681933.html" title="Function operator-=">
+<link rel="next" href="id964834.html" title="Function operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id681933.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1031665"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id964834.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id967615"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+</span></h2>
+<p>boost::local_time::operator+ &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1180313"></a><h2>Description</h2>
+<p>Adds a years object and a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id681933.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1031665"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id964834.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id967850.html b/doc/html/id967850.html
new file mode 100644
index 0000000000..0bf12f3e3d
--- /dev/null
+++ b/doc/html/id967850.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id871656" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id1069976.html" title="Function operator+=">
+<link rel="next" href="id867809.html" title="Function operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1069976.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id871656"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id867809.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id967850"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-</span></h2>
+<p>boost::local_time::operator- &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1179614"></a><h2>Description</h2>
+<p>Subtracts a months object and a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1069976.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id871656"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id867809.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id968571.html b/doc/html/id968571.html
new file mode 100644
index 0000000000..4a14ce2875
--- /dev/null
+++ b/doc/html/id968571.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id961262" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id1000727.html" title="Function operator-">
+<link rel="next" href="id791643.html" title="Class time_duration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1000727.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id961262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id791643.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id968571"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-=</span></h2>
+<p>boost::posix_time::operator-= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>-=(<a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1174948"></a><h2>Description</h2>
+<p>Subtracts a years object from a ptime. Result will be same month and day-of-month as ptime unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1000727.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id961262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id791643.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id970494.html b/doc/html/id970494.html
new file mode 100644
index 0000000000..d3cba6c55e
--- /dev/null
+++ b/doc/html/id970494.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id871656" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id1002768.html" title="Function operator+">
+<link rel="next" href="id1082329.html" title="Function operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1002768.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id871656"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1082329.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id970494"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+=</span></h2>
+<p>boost::local_time::operator+= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>+=(local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1179759"></a><h2>Description</h2>
+<p>Adds a years object to a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1002768.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id871656"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1082329.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id970662.html b/doc/html/id970662.html
new file mode 100644
index 0000000000..8603c44939
--- /dev/null
+++ b/doc/html/id970662.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1066750" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id907863.html" title="Function operator+=">
+<link rel="next" href="id978266.html" title="Function operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id907863.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1066750"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id978266.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id970662"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-</span></h2>
+<p>boost::local_time::operator- &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1180457"></a><h2>Description</h2>
+<p>Subtracts a years object and a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id907863.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1066750"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id978266.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id971242.html b/doc/html/id971242.html
new file mode 100644
index 0000000000..15aa804de7
--- /dev/null
+++ b/doc/html/id971242.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1066750" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id937212.html" title="Function operator-">
+<link rel="next" href="id1083385.html" title="Function operator+">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id937212.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1066750"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1083385.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id971242"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-=</span></h2>
+<p>boost::local_time::operator-= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>-=(local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1180308"></a><h2>Description</h2>
+<p>Subtracts a months object from a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id937212.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1066750"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1083385.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id971950.html b/doc/html/id971950.html
new file mode 100644
index 0000000000..cb095b9022
--- /dev/null
+++ b/doc/html/id971950.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id927299" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="hash_range.html" title="Function hash_range">
+<link rel="next" href="id1006770.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hash_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id927299"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1006770.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id971950"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for integers.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>int</strong></span> val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>long</strong></span> val);
+<span class="type">std::size_t</span> hash_value(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>long</strong></span> val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1148507"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">val</code></p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hash_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id927299"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1006770.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id972407.html b/doc/html/id972407.html
new file mode 100644
index 0000000000..94405a1da0
--- /dev/null
+++ b/doc/html/id972407.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id871656" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="custom_time_zone.html" title="Class custom_time_zone">
+<link rel="next" href="id1069976.html" title="Function operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="custom_time_zone.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id871656"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1069976.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id972407"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+</span></h2>
+<p>boost::local_time::operator+ &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1179517"></a><h2>Description</h2>
+<p>Adds a months object and a local_date_time. Result will be same day-of-month as local_date_time unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="custom_time_zone.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id871656"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1069976.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id972508.html b/doc/html/id972508.html
new file mode 100644
index 0000000000..f9d9487e9f
--- /dev/null
+++ b/doc/html/id972508.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id927299" title="Header &lt;boost/functional/hash/hash.hpp&gt;">
+<link rel="prev" href="id1006770.html" title="Function hash_value">
+<link rel="next" href="id964077.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1006770.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id927299"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id964077.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id972508"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212;
+ Implementation of a hash function for pointers.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">std::size_t</span> hash_value(T* <span class="bold"><strong>const</strong></span>&amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1148724"></a><h2>Description</h2>
+<p>
+ Generally shouldn't be called directly by users, instead they should use
+ <code class="computeroutput"><a href="boost/hash.html" title="Struct template hash">boost::hash</a></code>, <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">boost::hash_range</a></code>
+ or <code class="computeroutput"><a href="hash_combine.html" title="Function template hash_combine">boost::hash_combine</a></code> which
+ call hash_value without namespace qualification so that overloads
+ for custom types are found via ADL.
+ </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Overloads for other types supplied in other headers.<p>This is an extension to TR1</p><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+
+ An unspecified value, except that equal arguments shall yield the same
+ result
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1006770.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id927299"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id964077.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id972660.html b/doc/html/id972660.html
new file mode 100644
index 0000000000..29c3e83253
--- /dev/null
+++ b/doc/html/id972660.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id861522" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="id1002832.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="bad_month.html" title="Struct bad_month">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1002832.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id861522"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_month.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id972660"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::gregorian::operator&lt;&lt; &#8212; operator&lt;&lt; for gregorian::date_period typical output: [2002-Jan-01/2002-Jan-31] </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+ <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+ <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os, <span class="bold"><strong>const</strong></span> date_period &amp; dp);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1152198"></a><h2>Description</h2>
+<p>Uses the date facet to determine output string as well as selection of long or short string fr dates. Default if no facet is installed is to output a 3 char english string for the day of the week. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1002832.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id861522"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_month.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id973766.html b/doc/html/id973766.html
new file mode 100644
index 0000000000..7f349cc7af
--- /dev/null
+++ b/doc/html/id973766.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id936515" title="Header &lt;boost/functional/hash/map.hpp&gt;">
+<link rel="prev" href="id999384.html" title="Function hash_value">
+<link rel="next" href="hash/links.html" title=" Links">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id999384.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id936515"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hash/links.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id973766"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::map&lt;K, T, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::multimap&lt;K, T, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1222124"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if
+ <code class="computeroutput"><a href="id1108300.html" title="Function hash_value">hash_value</a>(std::pair&lt;K const, T&gt;)</code>
+ throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id999384.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id936515"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hash/links.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id973952.html b/doc/html/id973952.html
new file mode 100644
index 0000000000..cec90b93c0
--- /dev/null
+++ b/doc/html/id973952.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template dynamic_local_time_adjustor</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id971086" title="Header &lt;boost/date_time/local_time_adjustor.hpp&gt;">
+<link rel="prev" href="utc_adjustment.html" title="Class template utc_adjustment">
+<link rel="next" href="static_local_time_adjustor.html" title="Class template static_local_time_adjustor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="utc_adjustment.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id971086"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="static_local_time_adjustor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id973952"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template dynamic_local_time_adjustor</span></h2>
+<p>boost::date_time::dynamic_local_time_adjustor &#8212; Allow sliding utc adjustment with fixed dst rules. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type, <span class="bold"><strong>typename</strong></span> dst_rules&gt;
+<span class="bold"><strong>class</strong></span> dynamic_local_time_adjustor {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> time_type::time_duration_type time_duration_type;
+ <span class="bold"><strong>typedef</strong></span> time_type::date_type date_type;
+
+ <span class="emphasis"><em>// <a href="id973952.html#id973952construct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a href="id973952.html#id962204-bb">dynamic_local_time_adjustor</a>(time_duration_type);
+
+ <span class="emphasis"><em>// <a href="id973952.html#id935865-bb">public member functions</a></em></span>
+ <span class="type">time_duration_type</span> <a href="id973952.html#id935870-bb">utc_offset</a>(<span class="bold"><strong>bool</strong></span>) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1107811"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1107814"></a><h3>
+<a name="id973952construct-copy-destruct"></a><code class="computeroutput">dynamic_local_time_adjustor</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id962204-bb"></a>dynamic_local_time_adjustor(time_duration_type utc_offset);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1107847"></a><h3>
+<a name="id935865-bb"></a><code class="computeroutput">dynamic_local_time_adjustor</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">time_duration_type</span> <a name="id935870-bb"></a>utc_offset(<span class="bold"><strong>bool</strong></span> is_dst) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="utc_adjustment.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id971086"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="static_local_time_adjustor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id974544.html b/doc/html/id974544.html
new file mode 100644
index 0000000000..4e55850d92
--- /dev/null
+++ b/doc/html/id974544.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id961262" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="from_ftime.html" title="Function template from_ftime">
+<link rel="next" href="id932460.html" title="Function operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="from_ftime.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id961262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id932460.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id974544"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+</span></h2>
+<p>boost::posix_time::operator+ &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> <a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::months &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1174538"></a><h2>Description</h2>
+<p>Adds a months object and a ptime. Result will be same day-of-month as ptime unless original day was the last day of month. see date_time::months_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="from_ftime.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id961262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id932460.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id974575.html b/doc/html/id974575.html
new file mode 100644
index 0000000000..d93b6ac529
--- /dev/null
+++ b/doc/html/id974575.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class millisec_posix_time_system_config</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id937109" title="Header &lt;boost/date_time/posix_time/posix_time_config.hpp&gt;">
+<link rel="prev" href="posix_time_system_config.html" title="Class posix_time_system_config">
+<link rel="next" href="hours.html" title="Class hours">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="posix_time_system_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id937109"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hours.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id974575"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class millisec_posix_time_system_config</span></h2>
+<p>boost::posix_time::millisec_posix_time_system_config &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> millisec_posix_time_system_config {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::int64_t             time_rep_type;     
+  <span class="bold"><strong>typedef</strong></span> gregorian::date            date_type;         
+  <span class="bold"><strong>typedef</strong></span> gregorian::date_duration   date_duration_type;
+  <span class="bold"><strong>typedef</strong></span> <a href="id937125.html" title="Class time_duration">time_duration</a>              time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::tick_type int_type;          
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::impl_type impl_type;         
+  <span class="bold"><strong>typedef</strong></span> time_res_traits            resolution_traits; 
+
+  <span class="emphasis"><em>// <a href="id974575.html#id972821-bb">public member functions</a></em></span>
+  <span class="type"></span> <a href="id974575.html#id972826-bb">BOOST_STATIC_CONSTANT</a>(boost::int64_t, tick_per_second = 1000000) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1176475"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1176478"></a><h3>
+<a name="id972821-bb"></a><code class="computeroutput">millisec_posix_time_system_config</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"></span> <a name="id972826-bb"></a>BOOST_STATIC_CONSTANT(boost::int64_t , tick_per_second = 1000000) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="posix_time_system_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id937109"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hours.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id974669.html b/doc/html/id974669.html
new file mode 100644
index 0000000000..b34aa383ad
--- /dev/null
+++ b/doc/html/id974669.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id798666" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id934351.html" title="Function operator+">
+<link rel="next" href="id967018.html" title="Function operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id934351.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id798666"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id967018.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id974669"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+=</span></h2>
+<p>boost::posix_time::operator+= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>+=(<a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1175357"></a><h2>Description</h2>
+<p>Adds a years object to a ptime. Result will be same month and day-of-month as ptime unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id934351.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id798666"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id967018.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id974672.html b/doc/html/id974672.html
new file mode 100644
index 0000000000..0020e99152
--- /dev/null
+++ b/doc/html/id974672.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id861522" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="greg_facet_config.html" title="Struct greg_facet_config">
+<link rel="next" href="id829697.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greg_facet_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id861522"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id829697.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id974672"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::gregorian::operator&lt;&lt; &#8212; ostream operator for gregorian::date </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+ <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+ <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os, <span class="bold"><strong>const</strong></span> <a href="boost/gregorian/date.html" title="Class date">date</a> &amp; d);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1151958"></a><h2>Description</h2>
+<p>Uses the date facet to determine various output parameters including:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>string values for the month (eg: Jan, Feb, Mar) (default: English)</p></li>
+<li><p>string values for special values (eg: not-a-date-time) (default: English)</p></li>
+<li><p>selection of long, short strings, or numerical month representation (default: short string)</p></li>
+<li><p>month day year order (default yyyy-mmm-dd) </p></li>
+</ul></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greg_facet_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id861522"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id829697.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id974717.html b/doc/html/id974717.html
new file mode 100644
index 0000000000..b52ea1dc8f
--- /dev/null
+++ b/doc/html/id974717.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function parse_environment</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id755166" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="collect_unrecognized.html" title="Function template collect_unrecognized">
+<link rel="next" href="id732463.html" title="Function parse_environment">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="collect_unrecognized.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id755166"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id732463.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id974717"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function parse_environment</span></h2>
+<p>boost::program_options::parse_environment &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL parsed_options</span>
+parse_environment(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp; ,
+                  <span class="bold"><strong>const</strong></span> function1&lt; std::string, std::string &gt; &amp; name_mapper);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1256264"></a><h2>Description</h2>
+<p>Parse environment.</p>
+<p>For each environment variable, the 'name_mapper' function is called to obtain the option name. If it returns empty string, the variable is ignored.</p>
+<p>This is done since naming of environment variables is typically different from the naming of command line options. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="collect_unrecognized.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id755166"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id732463.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id975549.html b/doc/html/id975549.html
new file mode 100644
index 0000000000..f80e02ba74
--- /dev/null
+++ b/doc/html/id975549.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class time_duration</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id975533" title="Header &lt;boost/date_time/posix_time/posix_time_config.hpp&gt;">
+<link rel="prev" href="id928151.html" title="Function operator-=">
+<link rel="next" href="simple_time_rep.html" title="Struct simple_time_rep">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id928151.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id975533"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="simple_time_rep.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id975549"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class time_duration</span></h2>
+<p>boost::posix_time::time_duration &#8212; Base time duration type. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> time_duration {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> time_res_traits                          rep_type;               
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::day_type                day_type;               
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::hour_type               hour_type;              
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::min_type                min_type;               
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::sec_type                sec_type;               
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::fractional_seconds_type fractional_seconds_type;
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::tick_type               tick_type;              
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::impl_type               impl_type;              
+
+  <span class="emphasis"><em>// <a href="id975549.html#id975549construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id975549.html#id1105994-bb">time_duration</a>(hour_type, min_type, sec_type, fractional_seconds_type = 0);
+  <a href="id975549.html#id866241-bb">time_duration</a>();
+  <a href="id975549.html#id866244-bb">time_duration</a>(boost::date_time::special_values);
+  <a href="id975549.html#id895321-bb">time_duration</a>(impl_type);
+
+  <span class="emphasis"><em>// <a href="id975549.html#id1105989-bb">public member functions</a></em></span>
+
+  <span class="emphasis"><em>// <a href="id975549.html#id1035592-bb">private member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1175816"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1175820"></a><h3>
+<a name="id975549construct-copy-destruct"></a><code class="computeroutput">time_duration</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id1105994-bb"></a>time_duration(hour_type hour, min_type min, sec_type sec,
+              fractional_seconds_type fs = 0);</pre></li>
+<li><pre class="literallayout"><a name="id866241-bb"></a>time_duration();</pre></li>
+<li><pre class="literallayout"><a name="id866244-bb"></a>time_duration(boost::date_time::special_values sv);</pre></li>
+<li><pre class="literallayout"><a name="id895321-bb"></a>time_duration(impl_type ticks);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1175896"></a><h3>
+<a name="id1105989-bb"></a><code class="computeroutput">time_duration</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1175914"></a><h3>
+<a name="id1035592-bb"></a><code class="computeroutput">time_duration</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id928151.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id975533"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="simple_time_rep.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id975607.html b/doc/html/id975607.html
new file mode 100644
index 0000000000..ac7867e0ba
--- /dev/null
+++ b/doc/html/id975607.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id1081880" title="Header &lt;boost/functional/hash/pair.hpp&gt;">
+<link rel="prev" href="id897675.html" title="Function hash_value">
+<link rel="next" href="id1000285.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id897675.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1081880"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1000285.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id975607"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> A, <span class="bold"><strong>typename</strong></span> B&gt;
+  <span class="type">std::size_t</span> hash_value(std::pair&lt;A, B&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1221045"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ <pre class="programlisting">
+size_t seed = 0;
+<a href="hash_combine.html" title="Function template hash_combine">hash_combine</a>(seed, val.first);
+<a href="hash_combine.html" title="Function template hash_combine">hash_combine</a>(seed, val.second);
+return seed;
+ </pre><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id1042434.html" title="Function hash_value">hash_value</a>(A)</code>
+ or <code class="computeroutput"><a href="id1042434.html" title="Function hash_value">hash_value</a>(B)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id897675.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1081880"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1000285.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id976020.html b/doc/html/id976020.html
new file mode 100644
index 0000000000..2fb7d794fb
--- /dev/null
+++ b/doc/html/id976020.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator!=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id1138094" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="id1220996.html" title="Function operator==">
+<link rel="next" href="BOOST_TRIBOOL_THIRD_STATE.html" title="Macro BOOST_TRIBOOL_THIRD_STATE">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1220996.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1138094"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TRIBOOL_THIRD_STATE.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id976020"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator!=</span></h2>
+<p>boost::logic::operator!= &#8212; Compare tribools for inequality. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="bold"><strong>bool</strong></span> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(<span class="bold"><strong>bool</strong></span> x, <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> y);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(indeterminate_keyword_t , <a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x);
+<span class="type"><a href="boost/logic/tribool.html" title="Class tribool">tribool</a></span> <span class="bold"><strong>operator</strong></span>!=(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, indeterminate_keyword_t );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1564845"></a><h2>Description</h2>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ the result of comparing two tribool values for inequality, according to the following table: <div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong><code class="computeroutput">!=</code></strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>false</strong></span></td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>true</strong></span></td>
+<td align="center" valign="middle">true</td>
+<td align="center" valign="middle">false</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+<tr>
+<td align="center" valign="middle"><span class="bold"><strong>indeterminate</strong></span></td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+<td align="center" valign="middle">indeterminate</td>
+</tr>
+</tbody>
+</table></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1220996.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id1138094"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TRIBOOL_THIRD_STATE.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id976400.html b/doc/html/id976400.html
new file mode 100644
index 0000000000..3a5935159b
--- /dev/null
+++ b/doc/html/id976400.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_resolution_traits_adapted64_impl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id963558" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id793312.html" title="Struct time_resolution_traits_bi64_impl">
+<link rel="next" href="time_resolution_traits.html" title="Class template time_resolution_traits">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id793312.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id963558"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_resolution_traits.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id976400"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_resolution_traits_adapted64_impl</span></h2>
+<p>boost::date_time::time_resolution_traits_adapted64_impl &#8212; traits struct for time_resolution_traits implementation type </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_resolution_traits_adapted64_impl {
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> boost::int64_t int_type;
+ <span class="bold"><strong>typedef</strong></span> <a href="int_adapter.html" title="Class template int_adapter">boost::date_time::int_adapter</a>&lt; boost::int64_t &gt; impl_type;
+
+ <span class="emphasis"><em>// <a href="id976400.html#id897013-bb">public static functions</a></em></span>
+ <span class="type">int_type</span> <a href="id976400.html#id897018-bb">as_number</a>(impl_type) ;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id976400.html#id897046-bb">is_adapted</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1142021"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1142024"></a><h3>
+<a name="id897013-bb"></a><code class="computeroutput">time_resolution_traits_adapted64_impl</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id897018-bb"></a>as_number(impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id897046-bb"></a>is_adapted() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id793312.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id963558"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_resolution_traits.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id976922.html b/doc/html/id976922.html
new file mode 100644
index 0000000000..a2eec2655e
--- /dev/null
+++ b/doc/html/id976922.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_resolution_traits_adapted32_impl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id963558" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id963574.html" title="Struct time_resolution_traits_bi32_impl">
+<link rel="next" href="id793312.html" title="Struct time_resolution_traits_bi64_impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id963574.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id963558"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id793312.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id976922"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_resolution_traits_adapted32_impl</span></h2>
+<p>boost::date_time::time_resolution_traits_adapted32_impl &#8212; traits struct for time_resolution_traits implementation type </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_resolution_traits_adapted32_impl {
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> boost::int32_t int_type;
+ <span class="bold"><strong>typedef</strong></span> <a href="int_adapter.html" title="Class template int_adapter">boost::date_time::int_adapter</a>&lt; boost::int32_t &gt; impl_type;
+
+ <span class="emphasis"><em>// <a href="id976922.html#id976957-bb">public static functions</a></em></span>
+ <span class="type">int_type</span> <a href="id976922.html#id976962-bb">as_number</a>(impl_type) ;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id976922.html#id793292-bb">is_adapted</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1141732"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1141735"></a><h3>
+<a name="id976957-bb"></a><code class="computeroutput">time_resolution_traits_adapted32_impl</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id976962-bb"></a>as_number(impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id793292-bb"></a>is_adapted() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id963574.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id963558"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id793312.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id977493.html b/doc/html/id977493.html
new file mode 100644
index 0000000000..c0c99ca6f6
--- /dev/null
+++ b/doc/html/id977493.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class too_many_positional_options_error</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id696710" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="id766036.html" title="Class too_few_positional_options_error">
+<link rel="next" href="unknown_option.html" title="Class unknown_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id766036.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id696710"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="unknown_option.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id977493"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class too_many_positional_options_error</span></h2>
+<p>boost::program_options::too_many_positional_options_error &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> too_many_positional_options_error
+ : : <span class="bold"><strong>public</strong></span> boost::program_options::error
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="id977493.html#id977493construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="id977493.html#id1141065-bb">too_many_positional_options_error</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+  <span class="emphasis"><em>// <a href="id977493.html#id1117030-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1251381"></a><h2>Description</h2>
+<p>Class thrown when there are too many positional options. </p>
+<div class="refsect2" lang="en">
+<a name="id1251387"></a><h3>
+<a name="id977493construct-copy-destruct"></a><code class="computeroutput">too_many_positional_options_error</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id1141065-bb"></a>too_many_positional_options_error(<span class="bold"><strong>const</strong></span> std::string &amp; what);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id1251427"></a><h3>
+<a name="id1117030-bb"></a><code class="computeroutput">too_many_positional_options_error</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id766036.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id696710"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="unknown_option.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id977867.html b/doc/html/id977867.html
new file mode 100644
index 0000000000..e4f1bb41ea
--- /dev/null
+++ b/doc/html/id977867.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_resolution_traits_adapted64_impl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1042828" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id964497.html" title="Struct time_resolution_traits_bi64_impl">
+<link rel="next" href="time_resolution_traits.html" title="Class template time_resolution_traits">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id964497.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1042828"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_resolution_traits.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id977867"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_resolution_traits_adapted64_impl</span></h2>
+<p>boost::date_time::time_resolution_traits_adapted64_impl &#8212; traits struct for time_resolution_traits implementation type </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_resolution_traits_adapted64_impl {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::int64_t                                  int_type; 
+  <span class="bold"><strong>typedef</strong></span> <a href="int_adapter.html" title="Class template int_adapter">boost::date_time::int_adapter</a>&lt; boost::int64_t &gt; impl_type;
+
+  <span class="emphasis"><em>// <a href="id977867.html#id964451-bb">public static functions</a></em></span>
+  <span class="type">int_type</span> <a href="id977867.html#id961625-bb">as_number</a>(impl_type) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id977867.html#id961653-bb">is_adapted</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1142426"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1142429"></a><h3>
+<a name="id964451-bb"></a><code class="computeroutput">time_resolution_traits_adapted64_impl</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id961625-bb"></a>as_number(impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id961653-bb"></a>is_adapted() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id964497.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1042828"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_resolution_traits.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id978011.html b/doc/html/id978011.html
new file mode 100644
index 0000000000..caefd67f7a
--- /dev/null
+++ b/doc/html/id978011.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id977994" title="Header &lt;boost/functional/hash/list.hpp&gt;">
+<link rel="prev" href="id756653.html" title="Function hash_value">
+<link rel="next" href="id1043782.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id756653.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id977994"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1043782.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id978011"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::list&lt;T, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1149506"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id971950.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id756653.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id977994"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1043782.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id978190.html b/doc/html/id978190.html
new file mode 100644
index 0000000000..4e44d8964c
--- /dev/null
+++ b/doc/html/id978190.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id938907" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="id863329.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="id1101061.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id863329.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id938907"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1101061.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id978190"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::gregorian::operator&lt;&lt; &#8212; operator&lt;&lt; for gregorian::greg_weekday typically streaming: Sun, Mon, Tue, ... </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+  <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os,
+             <span class="bold"><strong>const</strong></span> <a href="greg_weekday.html" title="Class greg_weekday">greg_weekday</a> &amp; wd);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1152648"></a><h2>Description</h2>
+<p>Uses the date facet to determine output string as well as selection of long or short string. Default if no facet is installed is to output a 3 char english string for the day of the week. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id863329.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id938907"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1101061.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id978266.html b/doc/html/id978266.html
new file mode 100644
index 0000000000..0900245130
--- /dev/null
+++ b/doc/html/id978266.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator-=</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id1066750" title="Header &lt;boost/date_time/local_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id970662.html" title="Function operator-">
+<link rel="next" href="partial_date_rule_spec.html" title="Struct partial_date_rule_spec">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id970662.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1066750"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="partial_date_rule_spec.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id978266"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator-=</span></h2>
+<p>boost::local_time::operator-= &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">local_date_time</span>
+<span class="bold"><strong>operator</strong></span>-=(local_date_time &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1180504"></a><h2>Description</h2>
+<p>Subtracts a years object from a local_date_time. Result will be same month and day-of-month as local_date_time unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id970662.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id1066750"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="partial_date_rule_spec.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id978312.html b/doc/html/id978312.html
new file mode 100644
index 0000000000..56ac3b0e3d
--- /dev/null
+++ b/doc/html/id978312.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id835702" title="Header &lt;boost/functional/hash/map.hpp&gt;">
+<link rel="prev" href="id1075734.html" title="Function hash_value">
+<link rel="next" href="hash/links.html" title=" Links">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1075734.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id835702"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hash/links.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id978312"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+ <span class="type">std::size_t</span> hash_value(std::map&lt;K, T, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+ <span class="type">std::size_t</span> hash_value(std::multimap&lt;K, T, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1221365"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if
+ <code class="computeroutput"><a href="id1047787.html" title="Function hash_value">hash_value</a>(std::pair&lt;K const, T&gt;)</code>
+ throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1075734.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id835702"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="hash/links.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id978358-bb.html b/doc/html/id978358-bb.html
new file mode 100644
index 0000000000..a9f286d1a8
--- /dev/null
+++ b/doc/html/id978358-bb.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class last_value&lt;void&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="signals/reference.html#id1176086" title="Header &lt;boost/last_value.hpp&gt;">
+<link rel="prev" href="last_value.html" title="Class template last_value">
+<link rel="next" href="signals/s04.html" title="Frequently Asked Questions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="last_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id1176086"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="signals/s04.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id978358-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class last_value&lt;void&gt;</span></h2>
+<p>boost::last_value&lt;void&gt; &#8212; Evaluate an InputIterator sequence.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> last_value&lt;<span class="bold"><strong>void</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> result_type;
+
+  <span class="emphasis"><em>// <a href="id978358-bb.html#id935340-bb">invocation</a></em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> <a href="InputIterator.html" title="Concept InputIterator">InputIterator</a>&gt;
+    <span class="type">result_type</span> <a href="id978358-bb.html#id1048489-bb"><span class="bold"><strong>operator</strong></span>()</a>(InputIterator, InputIterator) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1287604"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1287608"></a><h3>
+<a name="id935340-bb"></a><code class="computeroutput">last_value</code> invocation</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> <a href="InputIterator.html" title="Concept InputIterator">InputIterator</a>&gt;
+  <span class="type">result_type</span> <a name="id1048489-bb"></a><span class="bold"><strong>operator</strong></span>()(InputIterator first, InputIterator last) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Dereferences every iterator in the sequence <code class="computeroutput">[first, last)</code>.</p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="last_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id1176086"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="signals/s04.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id996896.html b/doc/html/id996896.html
new file mode 100644
index 0000000000..927aa7e617
--- /dev/null
+++ b/doc/html/id996896.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function operator+</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id961262" title="Header &lt;boost/date_time/posix_time/date_duration_operators.hpp&gt;">
+<link rel="prev" href="id836208.html" title="Function operator-=">
+<link rel="next" href="id1077172.html" title="Function operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id836208.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id961262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1077172.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id996896"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function operator+</span></h2>
+<p>boost::posix_time::operator+ &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><a href="ptime.html" title="Class ptime">ptime</a></span> <span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> <a href="ptime.html" title="Class ptime">ptime</a> &amp; t, <span class="bold"><strong>const</strong></span> boost::gregorian::years &amp; y);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1174774"></a><h2>Description</h2>
+<p>Adds a years object and a ptime. Result will be same month and day-of-month as ptime unless original day was the last day of month. see date_time::years_duration for more details </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id836208.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id961262"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id1077172.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id997682.html b/doc/html/id997682.html
new file mode 100644
index 0000000000..5b9a08cf52
--- /dev/null
+++ b/doc/html/id997682.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id895862" title="Header &lt;boost/date_time/gregorian/greg_facet.hpp&gt;">
+<link rel="prev" href="greg_facet_config.html" title="Struct greg_facet_config">
+<link rel="next" href="id897225.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greg_facet_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id895862"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id897225.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id997682"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::gregorian::operator&lt;&lt; &#8212; ostream operator for gregorian::date </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT, <span class="bold"><strong>typename</strong></span> traits&gt;
+  <span class="type">std::basic_ostream&lt; charT, traits &gt; &amp;</span>
+  <span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; charT, traits &gt; &amp; os, <span class="bold"><strong>const</strong></span> <a href="boost/gregorian/date.html" title="Class date">date</a> &amp; d);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1080546"></a><h2>Description</h2>
+<p>Uses the date facet to determine various output parameters including:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>string values for the month (eg: Jan, Feb, Mar) (default: English)</p></li>
+<li><p>string values for special values (eg: not-a-date-time) (default: English)</p></li>
+<li><p>selection of long, short strings, or numerical month representation (default: short string)</p></li>
+<li><p>month day year order (default yyyy-mmm-dd) </p></li>
+</ul></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greg_facet_config.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id895862"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id897225.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id998748-bb.html b/doc/html/id998748-bb.html
new file mode 100644
index 0000000000..35c43d2160
--- /dev/null
+++ b/doc/html/id998748-bb.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class iso_format_base&lt;wchar_t&gt;</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id866144" title="Header &lt;boost/date_time/iso_format.hpp&gt;">
+<link rel="prev" href="iso_format_base.html" title="Class template iso_format_base">
+<link rel="next" href="iso_format.html" title="Class template iso_format">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iso_format_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id866144"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="iso_format.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id998748-bb"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class iso_format_base&lt;wchar_t&gt;</span></h2>
+<p>boost::date_time::iso_format_base&lt;wchar_t&gt; &#8212; Class to provide common iso formatting spec. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> iso_format_base&lt;<span class="bold"><strong>wchar_t</strong></span>&gt; {
+<span class="bold"><strong>public</strong></span>:
+
+ <span class="emphasis"><em>// <a href="id998748-bb.html#id998770-bb">public static functions</a></em></span>
+ <span class="type">month_format_spec</span> <a href="id998748-bb.html#id998776-bb">month_format</a>() ;
+ <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id998748-bb.html#id998793-bb">not_a_date</a>() ;
+ <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id998748-bb.html#id1070158-bb">pos_infinity</a>() ;
+ <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a href="id998748-bb.html#id895545-bb">neg_infinity</a>() ;
+ <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id998748-bb.html#id1071726-bb">year_sep_char</a>() ;
+ <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id998748-bb.html#id1076828-bb">month_sep_char</a>() ;
+ <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id998748-bb.html#id975420-bb">day_sep_char</a>() ;
+ <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id998748-bb.html#id863874-bb">hour_sep_char</a>() ;
+ <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id998748-bb.html#id892344-bb">minute_sep_char</a>() ;
+ <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id998748-bb.html#id1112783-bb">second_sep_char</a>() ;
+ <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id998748-bb.html#id829800-bb">period_start_char</a>() ;
+ <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id998748-bb.html#id904332-bb">time_start_char</a>() ;
+ <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id998748-bb.html#id1078760-bb">week_start_char</a>() ;
+ <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id998748-bb.html#id1067646-bb">period_sep_char</a>() ;
+ <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id998748-bb.html#id1045723-bb">time_sep_char</a>() ;
+ <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id998748-bb.html#id1046295-bb">fractional_time_sep_char</a>() ;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id998748-bb.html#id1102146-bb">is_component_sep</a>(<span class="bold"><strong>wchar_t</strong></span>) ;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id998748-bb.html#id1077226-bb">is_fractional_time_sep</a>(<span class="bold"><strong>wchar_t</strong></span>) ;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="id998748-bb.html#id928095-bb">is_timezone_sep</a>(<span class="bold"><strong>wchar_t</strong></span>) ;
+ <span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a href="id998748-bb.html#id974913-bb">element_sep_char</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1106647"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id1106651"></a><h3>
+<a name="id998770-bb"></a><code class="computeroutput">iso_format_base</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">month_format_spec</span> <a name="id998776-bb"></a>month_format() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id998793-bb"></a>not_a_date() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id1070158-bb"></a>pos_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>wchar_t</strong></span> *</span> <a name="id895545-bb"></a>neg_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1071726-bb"></a>year_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1076828-bb"></a>month_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id975420-bb"></a>day_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id863874-bb"></a>hour_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id892344-bb"></a>minute_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1112783-bb"></a>second_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id829800-bb"></a>period_start_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id904332-bb"></a>time_start_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1078760-bb"></a>week_start_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1067646-bb"></a>period_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1045723-bb"></a>time_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id1046295-bb"></a>fractional_time_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id1102146-bb"></a>is_component_sep(<span class="bold"><strong>wchar_t</strong></span> sep) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id1077226-bb"></a>is_fractional_time_sep(<span class="bold"><strong>wchar_t</strong></span> sep) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id928095-bb"></a>is_timezone_sep(<span class="bold"><strong>wchar_t</strong></span> sep) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>wchar_t</strong></span></span> <a name="id974913-bb"></a>element_sep_char() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iso_format_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id866144"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="iso_format.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/id999384.html b/doc/html/id999384.html
new file mode 100644
index 0000000000..99b72274a4
--- /dev/null
+++ b/doc/html/id999384.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function hash_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="hash/reference_.html#id1109177" title="Header &lt;boost/functional/hash/set.hpp&gt;">
+<link rel="prev" href="id872478.html" title="Function hash_value">
+<link rel="next" href="id973766.html" title="Function hash_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id872478.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1109177"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id973766.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="id999384"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function hash_value</span></h2>
+<p>boost::hash_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::set&lt;K, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> K, <span class="bold"><strong>typename</strong></span> C, <span class="bold"><strong>typename</strong></span> A&gt;
+  <span class="type">std::size_t</span> hash_value(std::multiset&lt;K, C, A&gt; <span class="bold"><strong>const</strong></span> &amp; val);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1221844"></a><h2>Description</h2>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="hash_range.html" title="Function hash_range">hash_range</a>(val.begin(), val.end());</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+
+ Only throws if <code class="computeroutput"><a href="id1108300.html" title="Function hash_value">hash_value</a>(T)</code> throws.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is an extension to TR1</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Daniel James</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id872478.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="hash/reference_.html#id1109177"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id973766.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/identity_formatter.html b/doc/html/identity_formatter.html
new file mode 100644
index 0000000000..2c3e85aee2
--- /dev/null
+++ b/doc/html/identity_formatter.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template identity_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2356089" title="Header &lt;boost/algorithm/string/formatter.hpp&gt;">
+<link rel="prev" href="const_formatter.html" title="Function template const_formatter">
+<link rel="next" href="empty_formatter.html" title="Function template empty_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="const_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2356089"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="empty_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="identity_formatter"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template identity_formatter</span></h2>
+<p>boost::algorithm::identity_formatter &#8212; Identity formatter. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT&gt; <span class="type"><span class="emphasis"><em>unspecified</em></span></span> identity_formatter();</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2760527"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">identity_formatter</code> . Identity formatter always returns the parameter.</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">identity_formatter</code> object. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="const_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2356089"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="empty_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/iends_with.html b/doc/html/iends_with.html
new file mode 100644
index 0000000000..52b43b4cfe
--- /dev/null
+++ b/doc/html/iends_with.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template iends_with</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2589054" title="Header &lt;boost/algorithm/string/predicate.hpp&gt;">
+<link rel="prev" href="ends_with.html" title="Function ends_with">
+<link rel="next" href="contains.html" title="Function contains">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ends_with.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2589054"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="contains.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="iends_with"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template iends_with</span></h2>
+<p>boost::algorithm::iends_with &#8212; 'Ends with' predicate ( case insensitive ) </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> iends_with(<span class="bold"><strong>const</strong></span> Range1T &amp; Input, <span class="bold"><strong>const</strong></span> Range2T &amp; Test,
+                  <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2761842"></a><h2>Description</h2>
+<p>This predicate holds when the test container is a suffix of the Input. In other words, if the input ends with the test. Elements are compared case insensitively.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Test</span></dt>
+<dd><p>A test sequence </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ The result of the test<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ends_with.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2589054"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="contains.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/iequals.html b/doc/html/iequals.html
new file mode 100644
index 0000000000..64b57167f7
--- /dev/null
+++ b/doc/html/iequals.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template iequals</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2589054" title="Header &lt;boost/algorithm/string/predicate.hpp&gt;">
+<link rel="prev" href="equals.html" title="Function equals">
+<link rel="next" href="all.html" title="Function template all">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="equals.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2589054"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="iequals"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template iequals</span></h2>
+<p>boost::algorithm::iequals &#8212; 'Equals' predicate ( casa insensitive ) </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> iequals(<span class="bold"><strong>const</strong></span> Range1T &amp; Input, <span class="bold"><strong>const</strong></span> Range2T &amp; Test,
+               <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2762420"></a><h2>Description</h2>
+<p>This predicate holds when the test container is equal to the input container i.e. all elements in both containers are same. Elements are compared case insensitively.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Test</span></dt>
+<dd><p>A test sequence </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ The result of the test<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This is a two-way version of <code class="computeroutput">std::equal</code> algorithm<p>This function provides the strong exception-safety guarantee </p></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="equals.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2589054"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ierase_all.html b/doc/html/ierase_all.html
new file mode 100644
index 0000000000..dec49390e2
--- /dev/null
+++ b/doc/html/ierase_all.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template ierase_all</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="ierase_all_copy.html" title="Function ierase_all_copy">
+<link rel="next" href="erase_head_copy.html" title="Function erase_head_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ierase_all_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_head_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ierase_all"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template ierase_all</span></h2>
+<p>boost::algorithm::ierase_all &#8212; Erase all algorithm ( case insensitive ). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> ierase_all(SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> RangeT &amp; Search,
+                  <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2754056"></a><h2>Description</h2>
+<p>Remove all the occurrences of the string from the input. The input sequence is modified in-place. Searching is case insensitive.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for. </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ierase_all_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_head_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ierase_all_copy.html b/doc/html/ierase_all_copy.html
new file mode 100644
index 0000000000..47329bbfd6
--- /dev/null
+++ b/doc/html/ierase_all_copy.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function ierase_all_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="erase_all.html" title="Function template erase_all">
+<link rel="next" href="ierase_all.html" title="Function template ierase_all">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ierase_all.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ierase_all_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function ierase_all_copy</span></h2>
+<p>boost::algorithm::ierase_all_copy &#8212; Erase all algorithm ( case insensitive ). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">OutputIteratorT</span>
+  ierase_all_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> Range1T &amp; Input,
+                  <span class="bold"><strong>const</strong></span> Range2T &amp; Search,
+                  <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type">SequenceT</span> ierase_all_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> RangeT &amp; Search,
+                            <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2753927"></a><h2>Description</h2>
+<p>Remove all the occurrences of the string from the input. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator. Searching is case insensitive.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ierase_all.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ierase_first.html b/doc/html/ierase_first.html
new file mode 100644
index 0000000000..ddcda6c923
--- /dev/null
+++ b/doc/html/ierase_first.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template ierase_first</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="ierase_first_copy.html" title="Function ierase_first_copy">
+<link rel="next" href="erase_last_copy.html" title="Function erase_last_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ierase_first_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_last_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ierase_first"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template ierase_first</span></h2>
+<p>boost::algorithm::ierase_first &#8212; Erase first algorithm ( case insensitive ). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> ierase_first(SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> RangeT &amp; Search,
+                    <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2752372"></a><h2>Description</h2>
+<p>Remove the first occurrence of the substring from the input. The input sequence is modified in-place. Searching is case insensitive.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ierase_first_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_last_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ierase_first_copy.html b/doc/html/ierase_first_copy.html
new file mode 100644
index 0000000000..f21ff14786
--- /dev/null
+++ b/doc/html/ierase_first_copy.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function ierase_first_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="erase_first.html" title="Function template erase_first">
+<link rel="next" href="ierase_first.html" title="Function template ierase_first">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_first.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ierase_first.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ierase_first_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function ierase_first_copy</span></h2>
+<p>boost::algorithm::ierase_first_copy &#8212; Erase first algorithm ( case insensitive ). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">OutputIteratorT</span>
+  ierase_first_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> Range1T &amp; Input,
+                    <span class="bold"><strong>const</strong></span> Range2T &amp; Search,
+                    <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type">SequenceT</span> ierase_first_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> RangeT &amp; Search,
+                              <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2752242"></a><h2>Description</h2>
+<p>Remove the first occurrence of the substring from the input. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator. Searching is case insensitive.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_first.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ierase_first.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ierase_last.html b/doc/html/ierase_last.html
new file mode 100644
index 0000000000..5e2d30c3b7
--- /dev/null
+++ b/doc/html/ierase_last.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template ierase_last</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="ierase_last_copy.html" title="Function ierase_last_copy">
+<link rel="next" href="erase_nth_copy.html" title="Function erase_nth_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ierase_last_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_nth_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ierase_last"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template ierase_last</span></h2>
+<p>boost::algorithm::ierase_last &#8212; Erase last algorithm ( case insensitive ). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> ierase_last(SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> RangeT &amp; Search,
+                   <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2752900"></a><h2>Description</h2>
+<p>Remove the last occurrence of the substring from the input. The input sequence is modified in-place. Searching is case insensitive.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ierase_last_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_nth_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ierase_last_copy.html b/doc/html/ierase_last_copy.html
new file mode 100644
index 0000000000..cc7ea50916
--- /dev/null
+++ b/doc/html/ierase_last_copy.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function ierase_last_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="erase_last.html" title="Function template erase_last">
+<link rel="next" href="ierase_last.html" title="Function template ierase_last">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_last.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ierase_last.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ierase_last_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function ierase_last_copy</span></h2>
+<p>boost::algorithm::ierase_last_copy &#8212; Erase last algorithm ( case insensitive ). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">OutputIteratorT</span>
+  ierase_last_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> Range1T &amp; Input,
+                   <span class="bold"><strong>const</strong></span> Range2T &amp; Search,
+                   <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type">SequenceT</span> ierase_last_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> RangeT &amp; Search,
+                             <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2752771"></a><h2>Description</h2>
+<p>Remove the last occurrence of the substring from the input. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator. Searching is case insensitive.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_last.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ierase_last.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ierase_nth.html b/doc/html/ierase_nth.html
new file mode 100644
index 0000000000..e3454b73ec
--- /dev/null
+++ b/doc/html/ierase_nth.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template ierase_nth</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="ierase_nth_copy.html" title="Function ierase_nth_copy">
+<link rel="next" href="erase_all_copy.html" title="Function erase_all_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ierase_nth_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_all_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ierase_nth"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template ierase_nth</span></h2>
+<p>boost::algorithm::ierase_nth &#8212; Erase nth algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> ierase_nth(SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> RangeT &amp; Search, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> Nth,
+                  <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2753522"></a><h2>Description</h2>
+<p>Remove the Nth occurrence of the substring in the input. The input sequence is modified in-place. Searching is case insensitive.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Nth</span></dt>
+<dd><p>An index of the match to be replaced. The index is 0-based. </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for. </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ierase_nth_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_all_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ierase_nth_copy.html b/doc/html/ierase_nth_copy.html
new file mode 100644
index 0000000000..918af2d0f5
--- /dev/null
+++ b/doc/html/ierase_nth_copy.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function ierase_nth_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">
+<link rel="prev" href="erase_nth.html" title="Function template erase_nth">
+<link rel="next" href="ierase_nth.html" title="Function template ierase_nth">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_nth.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ierase_nth.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ierase_nth_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function ierase_nth_copy</span></h2>
+<p>boost::algorithm::ierase_nth_copy &#8212; Erase nth algorithm ( case insensitive ). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">OutputIteratorT</span>
+  ierase_nth_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> Range1T &amp; Input,
+                  <span class="bold"><strong>const</strong></span> Range2T &amp; Search, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> Nth,
+                  <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type">SequenceT</span> ierase_nth_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> RangeT &amp; Search,
+                            <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> Nth,
+                            <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2753374"></a><h2>Description</h2>
+<p>Remove the Nth occurrence of the substring in the input. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator. Searching is case insensitive.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Nth</span></dt>
+<dd><p>An index of the match to be replaced. The index is 0-based. </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for. </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase_nth.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2571451"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ierase_nth.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ifind_all.html b/doc/html/ifind_all.html
new file mode 100644
index 0000000000..34052ddda9
--- /dev/null
+++ b/doc/html/ifind_all.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template ifind_all</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2541245" title="Header &lt;boost/algorithm/string/split.hpp&gt;">
+<link rel="prev" href="find_all.html" title="Function template find_all">
+<link rel="next" href="id2580251.html" title="Function template split">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2541245"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2580251.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ifind_all"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template ifind_all</span></h2>
+<p>boost::algorithm::ifind_all &#8212; Find all algorithm ( case insensitive ). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceSequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">SequenceSequenceT &amp;</span>
+  ifind_all(SequenceSequenceT &amp; Result, Range1T &amp; Input,
+            <span class="bold"><strong>const</strong></span> Range2T &amp; Search, <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2772502"></a><h2>Description</h2>
+<p>This algorithm finds all occurrences of the search string in the input. Each part is copied and added as a new element to the output container. Thus the result container must be able to hold copies of the matches (in a compatible structure like std::string) or a reference to it (e.g. using the iterator range class). Examples of such a container are <code class="computeroutput">std::vector&lt;std::string&gt;</code> or <code class="computeroutput">std::list&lt;boost::iterator_range&lt;std::string::iterator&gt;&gt;</code></p>
+<p>Searching is case insensitive.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>A container which will be searched. </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Result</span></dt>
+<dd><p>A container that can hold copies of references to the substrings </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for. </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ A reference the result<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Prior content of the result will be overwritten.<p>This function provides the strong exception-safety guarantee </p></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2541245"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2580251.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ifind_first.html b/doc/html/ifind_first.html
new file mode 100644
index 0000000000..502130a69f
--- /dev/null
+++ b/doc/html/ifind_first.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template ifind_first</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2487443" title="Header &lt;boost/algorithm/string/find.hpp&gt;">
+<link rel="prev" href="find_first.html" title="Function template find_first">
+<link rel="next" href="find_last.html" title="Function template find_last">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_first.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2487443"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_last.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ifind_first"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template ifind_first</span></h2>
+<p>boost::algorithm::ifind_first &#8212; Find first algorithm ( case insensitive ). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; Range1T &gt;::type &gt;</span>
+  ifind_first(Range1T &amp; Input, <span class="bold"><strong>const</strong></span> Range2T &amp; Search,
+              <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2755397"></a><h2>Description</h2>
+<p>Search for the first occurence of the substring in the input. Searching is case insensitive.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>A string which will be searched. </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for. </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An <code class="computeroutput">iterator_range</code> delimiting the match. Returned iterator is either <code class="computeroutput">Range1T::iterator</code> or <code class="computeroutput">Range1T::const_iterator</code> , depending on the constness of the input parameter.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_first.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2487443"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_last.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ifind_last.html b/doc/html/ifind_last.html
new file mode 100644
index 0000000000..acc8b95d30
--- /dev/null
+++ b/doc/html/ifind_last.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template ifind_last</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2487443" title="Header &lt;boost/algorithm/string/find.hpp&gt;">
+<link rel="prev" href="find_last.html" title="Function template find_last">
+<link rel="next" href="find_nth.html" title="Function template find_nth">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_last.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2487443"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_nth.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ifind_last"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template ifind_last</span></h2>
+<p>boost::algorithm::ifind_last &#8212; Find last algorithm ( case insensitive ). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; Range1T &gt;::type &gt;</span>
+  ifind_last(Range1T &amp; Input, <span class="bold"><strong>const</strong></span> Range2T &amp; Search,
+             <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2755663"></a><h2>Description</h2>
+<p>Search for the last match a string in the input. Searching is case insensitive.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>A string which will be searched. </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for. </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An <code class="computeroutput">iterator_range</code> delimiting the match. Returned iterator is either <code class="computeroutput">Range1T::iterator</code> or <code class="computeroutput">Range1T::const_iterator</code> , depending on the constness of the input parameter.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_last.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2487443"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_nth.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ifind_nth.html b/doc/html/ifind_nth.html
new file mode 100644
index 0000000000..5cb4650e5b
--- /dev/null
+++ b/doc/html/ifind_nth.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template ifind_nth</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2487443" title="Header &lt;boost/algorithm/string/find.hpp&gt;">
+<link rel="prev" href="find_nth.html" title="Function template find_nth">
+<link rel="next" href="find_head.html" title="Function template find_head">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_nth.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2487443"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_head.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ifind_nth"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template ifind_nth</span></h2>
+<p>boost::algorithm::ifind_nth &#8212; Find n-th algorithm ( case insensitive ). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; Range1T &gt;::type &gt;</span>
+  ifind_nth(Range1T &amp; Input, <span class="bold"><strong>const</strong></span> Range2T &amp; Search, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> Nth,
+            <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2755951"></a><h2>Description</h2>
+<p>Search for the n-th (zero-indexed) occurence of the substring in the input. Searching is case insensitive.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>A string which will be searched. </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Nth</span></dt>
+<dd><p>An index (zero-indexed) of the match to be found. </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for. </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An <code class="computeroutput">iterator_range</code> delimiting the match. Returned iterator is either <code class="computeroutput">Range1T::iterator</code> or <code class="computeroutput">Range1T::const_iterator</code> , depending on the constness of the input parameter.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_nth.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2487443"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="find_head.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/images/blank.png b/doc/html/images/blank.png
new file mode 100644
index 0000000000..764bf4f0c3
--- /dev/null
+++ b/doc/html/images/blank.png
Binary files differ
diff --git a/doc/html/images/caution.png b/doc/html/images/caution.png
new file mode 100644
index 0000000000..5b7809ca4a
--- /dev/null
+++ b/doc/html/images/caution.png
Binary files differ
diff --git a/doc/html/images/draft.png b/doc/html/images/draft.png
new file mode 100644
index 0000000000..0084708c9b
--- /dev/null
+++ b/doc/html/images/draft.png
Binary files differ
diff --git a/doc/html/images/home.png b/doc/html/images/home.png
new file mode 100644
index 0000000000..5584aacb09
--- /dev/null
+++ b/doc/html/images/home.png
Binary files differ
diff --git a/doc/html/images/important.png b/doc/html/images/important.png
new file mode 100644
index 0000000000..12c90f607a
--- /dev/null
+++ b/doc/html/images/important.png
Binary files differ
diff --git a/doc/html/images/next.png b/doc/html/images/next.png
new file mode 100644
index 0000000000..59800b4e87
--- /dev/null
+++ b/doc/html/images/next.png
Binary files differ
diff --git a/doc/html/images/next_disabled.png b/doc/html/images/next_disabled.png
new file mode 100755
index 0000000000..10a8c59d7b
--- /dev/null
+++ b/doc/html/images/next_disabled.png
Binary files differ
diff --git a/doc/html/images/note.png b/doc/html/images/note.png
new file mode 100644
index 0000000000..d0c3c645ab
--- /dev/null
+++ b/doc/html/images/note.png
Binary files differ
diff --git a/doc/html/images/prev.png b/doc/html/images/prev.png
new file mode 100644
index 0000000000..d88a40f923
--- /dev/null
+++ b/doc/html/images/prev.png
Binary files differ
diff --git a/doc/html/images/prev_disabled.png b/doc/html/images/prev_disabled.png
new file mode 100755
index 0000000000..ab3c17e02d
--- /dev/null
+++ b/doc/html/images/prev_disabled.png
Binary files differ
diff --git a/doc/html/images/tip.png b/doc/html/images/tip.png
new file mode 100644
index 0000000000..5c4aab3bb3
--- /dev/null
+++ b/doc/html/images/tip.png
Binary files differ
diff --git a/doc/html/images/toc-blank.png b/doc/html/images/toc-blank.png
new file mode 100644
index 0000000000..6ffad17a0c
--- /dev/null
+++ b/doc/html/images/toc-blank.png
Binary files differ
diff --git a/doc/html/images/toc-minus.png b/doc/html/images/toc-minus.png
new file mode 100644
index 0000000000..abbb020c8e
--- /dev/null
+++ b/doc/html/images/toc-minus.png
Binary files differ
diff --git a/doc/html/images/toc-plus.png b/doc/html/images/toc-plus.png
new file mode 100644
index 0000000000..941312ce0d
--- /dev/null
+++ b/doc/html/images/toc-plus.png
Binary files differ
diff --git a/doc/html/images/up.png b/doc/html/images/up.png
new file mode 100644
index 0000000000..17d9c3ec49
--- /dev/null
+++ b/doc/html/images/up.png
Binary files differ
diff --git a/doc/html/images/up_disabled.png b/doc/html/images/up_disabled.png
new file mode 100755
index 0000000000..e22bc87121
--- /dev/null
+++ b/doc/html/images/up_disabled.png
Binary files differ
diff --git a/doc/html/images/warning.png b/doc/html/images/warning.png
new file mode 100644
index 0000000000..1c33db8f34
--- /dev/null
+++ b/doc/html/images/warning.png
Binary files differ
diff --git a/doc/html/indeterminate.html b/doc/html/indeterminate.html
new file mode 100644
index 0000000000..12bcf7a4d1
--- /dev/null
+++ b/doc/html/indeterminate.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function indeterminate</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2426531" title="Header &lt;boost/logic/tribool.hpp&gt;">
+<link rel="prev" href="boost/logic/tribool.html" title="Class tribool">
+<link rel="next" href="id2427956.html" title="Function operator!">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/logic/tribool.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2426531"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2427956.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="indeterminate"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function indeterminate</span></h2>
+<p>boost::logic::indeterminate &#8212; Keyword and test function for the indeterminate tribool value. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><span class="bold"><strong>bool</strong></span></span> indeterminate(<a href="boost/logic/tribool.html" title="Class tribool">tribool</a> x, <span class="emphasis"><em>unspecified</em></span> dummy = <span class="emphasis"><em>unspecified</em></span>);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2790864"></a><h2>Description</h2>
+<p>The <code class="computeroutput">indeterminate</code> function has a dual role. It's first role is as a unary function that tells whether the tribool value is in the "indeterminate" state. It's second role is as a keyword representing the indeterminate (just like "true" and "false" represent the true and false states). If you do not like the name "indeterminate", and would prefer to use a different name, see the macro <code class="computeroutput">BOOST_TRIBOOL_THIRD_STATE</code> .</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">x.value == tribool::indeterminate_value</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/logic/tribool.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2426531"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2427956.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/indeterminate_name.html b/doc/html/indeterminate_name.html
new file mode 100644
index 0000000000..073eaf172a
--- /dev/null
+++ b/doc/html/indeterminate_name.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template indeterminate_name</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="tribool/reference.html#id2561687" title="Header &lt;boost/logic/tribool_io.hpp&gt;">
+<link rel="prev" href="BOOST_TRIBOOL_THIRD_STATE.html" title="Macro BOOST_TRIBOOL_THIRD_STATE">
+<link rel="next" href="id2451531.html" title="Function template get_default_indeterminate_name">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_TRIBOOL_THIRD_STATE.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2561687"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2451531.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="indeterminate_name"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template indeterminate_name</span></h2>
+<p>boost::logic::indeterminate_name &#8212; A locale facet specifying the name of the indeterminate value of a tribool. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT&gt;
+<span class="bold"><strong>class</strong></span> indeterminate_name {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> CharT                      char_type;  
+  <span class="bold"><strong>typedef</strong></span> std::basic_string&lt; CharT &gt; string_type;
+
+  <span class="emphasis"><em>// <a href="indeterminate_name.html#indeterminate_nameconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="indeterminate_name.html#id2512183-bb">indeterminate_name</a>();
+  <a href="indeterminate_name.html#id2512190-bb">indeterminate_name</a>(<span class="bold"><strong>const</strong></span> string_type &amp;);
+
+  <span class="emphasis"><em>// <a href="indeterminate_name.html#id2367663-bb">public member functions</a></em></span>
+  <span class="type">string_type</span> <a href="indeterminate_name.html#id2367666-bb">name</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="bold"><strong>static</strong></span> std::locale::id id;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2792822"></a><h2>Description</h2>
+<p>The facet is used to perform I/O on tribool values when <code class="computeroutput">std::boolalpha</code> has been specified. This class template is only available if the C++ standard library implementation supports locales. </p>
+<div class="refsect2" lang="en">
+<a name="id2792836"></a><h3>
+<a name="indeterminate_nameconstruct-copy-destruct"></a><code class="computeroutput">indeterminate_name</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2512183-bb"></a>indeterminate_name();</pre></li>
+<li><pre class="literallayout"><a name="id2512190-bb"></a>indeterminate_name(<span class="bold"><strong>const</strong></span> string_type &amp; name);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2792890"></a><h3>
+<a name="id2367663-bb"></a><code class="computeroutput">indeterminate_name</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">string_type</span> <a name="id2367666-bb"></a>name() <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_TRIBOOL_THIRD_STATE.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="tribool/reference.html#id2561687"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2451531.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/index.html b/doc/html/index.html
new file mode 100644
index 0000000000..131dba2879
--- /dev/null
+++ b/doc/html/index.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>The Boost C++ Libraries</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="next" href="libraries.html" title="Part I. The Boost C++ Libraries">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="libraries.html"><img src="images/next.png" alt="Next"></a></div>
+<div class="book" lang="en">
+<div class="titlepage">
+<div><div><h1 class="title">
+<a name="id2559985"></a>The Boost C++ Libraries</h1></div></div>
+<hr>
+</div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="part"><a href="libraries.html">I. The Boost C++ Libraries</a></span></dt>
+<dd><dl>
+<dt><span class="chapter"><a href="any.html">1. Boost.Any</a></span></dt>
+<dt><span class="chapter"><a href="array.html">2. Boost.Array</a></span></dt>
+<dt><span class="chapter"><a href="date_time.html">3. Boost.Date_Time</a></span></dt>
+<dt><span class="chapter"><a href="function.html">4. Boost.Function</a></span></dt>
+<dt><span class="chapter"><a href="hash.html">5. Boost.Functional/Hash</a></span></dt>
+<dt><span class="chapter"><a href="lambda.html">6. Boost.Lambda</a></span></dt>
+<dt><span class="chapter"><a href="program_options.html">7. Boost.Program_options</a></span></dt>
+<dt><span class="chapter"><a href="ref.html">8. Boost.Ref</a></span></dt>
+<dt><span class="chapter"><a href="signals.html">9. Boost.Signals</a></span></dt>
+<dt><span class="chapter"><a href="boost_staticassert.html">10. Boost.StaticAssert</a></span></dt>
+<dt><span class="chapter"><a href="string_algo.html">11. Boost String Algorithms Library</a></span></dt>
+<dt><span class="chapter"><a href="threads.html">12. Boost.Threads</a></span></dt>
+<dt><span class="chapter"><a href="tribool.html">13. Boost.Tribool</a></span></dt>
+<dt><span class="chapter"><a href="boost_typetraits.html">14. Boost.TypeTraits</a></span></dt>
+<dt><span class="chapter"><a href="variant.html">15. Boost.Variant</a></span></dt>
+</dl></dd>
+<dt><span class="part"><a href="boostbook.html">II. The BoostBook Documentation Format</a></span></dt>
+<dd><dl>
+<dt><span class="chapter"><a href="boostbook/introduction.html">16. Introduction</a></span></dt>
+<dt><span class="chapter"><a href="boostbook/getting/started.html">17. Getting Started</a></span></dt>
+<dt><span class="chapter"><a href="boostbook/documenting.html">18. Documenting libraries</a></span></dt>
+<dt><span class="chapter"><a href="boostbook/together.html">19. Bringing Together a BoostBook Document</a></span></dt>
+<dt><span class="chapter"><a href="reference.html">20. Reference</a></span></dt>
+</dl></dd>
+<dt><span class="part"><a href="bbv2.html">III. Boost.Build v2 User Manual</a></span></dt>
+<dd><dl>
+<dt><span class="chapter"><a href="bbv2/howto.html">21. How to use this document</a></span></dt>
+<dt><span class="chapter"><a href="bbv2/installation.html">22. Installation</a></span></dt>
+<dt><span class="chapter"><a href="bbv2/tutorial.html">23. Tutorial</a></span></dt>
+<dt><span class="chapter"><a href="bbv2/advanced.html">24. User documentation</a></span></dt>
+<dt><span class="chapter"><a href="bbv2/extender.html">25. Extender Manual</a></span></dt>
+<dt><span class="chapter"><a href="bbv2/reference.html">26. Detailed reference</a></span></dt>
+<dt><span class="chapter"><a href="bbv2/faq.html">27. Frequently Asked Questions</a></span></dt>
+<dt><span class="appendix"><a href="bbv2/arch.html">B. Boost.Build v2 architecture</a></span></dt>
+</dl></dd>
+<dt><span class="article"><a href="who_s_using_boost_.html">Who's Using Boost?</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="who_s_using_boost_.html#who_s_using_boost_.intro"></a></span></dt>
+<dt><span class="section"><a href="who_s_using_boost_/shrink.html"> Shrink Wrapped Boost</a></span></dt>
+<dt><span class="section"><a href="who_s_using_boost_/open.html"> Open Source Boost</a></span></dt>
+<dt><span class="section"><a href="who_s_using_boost_/inhouse.html"> In House Boost</a></span></dt>
+<dt><span class="section"><a href="who_s_using_boost_/submit.html"> Submissions</a></span></dt>
+</dl></dd>
+</dl>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="libraries.html"><img src="images/next.png" alt="Next"></a></div>
+</body>
+</html>
diff --git a/doc/html/int_adapter.html b/doc/html/int_adapter.html
new file mode 100644
index 0000000000..dee9c220e6
--- /dev/null
+++ b/doc/html/int_adapter.html
@@ -0,0 +1,191 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template int_adapter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2410223" title="Header &lt;boost/date_time/int_adapter.hpp&gt;">
+<link rel="prev" href="gregorian_calendar_base.html" title="Class template gregorian_calendar_base">
+<link rel="next" href="id2397684.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="gregorian_calendar_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2410223"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2397684.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="int_adapter"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template int_adapter</span></h2>
+<p>boost::date_time::int_adapter &#8212; Adapter to create integer types with +-infinity, and not a value. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> int_type_&gt;
+<span class="bold"><strong>class</strong></span> int_adapter {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> int_type_ int_type;
+
+  <span class="emphasis"><em>// <a href="int_adapter.html#int_adapterconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="int_adapter.html#id2519909-bb">int_adapter</a>(int_type);
+
+  <span class="emphasis"><em>// <a href="int_adapter.html#id2457288-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="int_adapter.html#id2457293-bb">is_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="int_adapter.html#id2404349-bb">is_pos_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="int_adapter.html#id2404361-bb">is_neg_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="int_adapter.html#id2423098-bb">is_nan</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="int_adapter.html#id2423110-bb">is_special</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="int_adapter.html#id2511194-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="int_adapter.html#id2429216-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>int</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="int_adapter.html#id2394347-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="int_adapter.html#id2513015-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>int</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="int_adapter.html#id2455292-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="int_adapter.html#id2434443-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>int</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="int_adapter.html#id2404382-bb"><span class="bold"><strong>operator</strong></span>&gt;</a>(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">int_type</span> <a href="int_adapter.html#id2420528-bb">as_number</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">special_values</span> <a href="int_adapter.html#id2494022-bb">as_special</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> rhs_type&gt;
+    <span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a href="int_adapter.html#id2494039-bb"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a>&lt; rhs_type &gt; &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a href="int_adapter.html#id2401740-bb"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> int_type) <span class="bold"><strong>const</strong></span>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> rhs_type&gt;
+    <span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a href="int_adapter.html#id2526406-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a>&lt; rhs_type &gt; &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a href="int_adapter.html#id2502658-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> int_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a href="int_adapter.html#id2528049-bb"><span class="bold"><strong>operator</strong></span> *</a>(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a href="int_adapter.html#id2498655-bb"><span class="bold"><strong>operator</strong></span> *</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>int</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a href="int_adapter.html#id2428149-bb"><span class="bold"><strong>operator</strong></span>/</a>(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a href="int_adapter.html#id2396807-bb"><span class="bold"><strong>operator</strong></span>/</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>int</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a href="int_adapter.html#id2496416-bb"><span class="bold"><strong>operator</strong></span>%</a>(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a href="int_adapter.html#id2407883-bb"><span class="bold"><strong>operator</strong></span>%</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>int</strong></span>) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="int_adapter.html#id2412620-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="int_adapter.html#id2412624-bb">has_infinity</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a href="int_adapter.html#id2412637-bb">pos_infinity</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a href="int_adapter.html#id2415841-bb">neg_infinity</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a href="int_adapter.html#id2493322-bb">not_a_number</a>() ;
+  <span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> max</span> <a href="int_adapter.html#id2493337-bb">BOOST_PREVENT_MACRO_SUBSTITUTION</a>() ;
+  <span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> min</span> <a href="int_adapter.html#id2422764-bb">BOOST_PREVENT_MACRO_SUBSTITUTION</a>() ;
+  <span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a href="int_adapter.html#id2469798-bb">from_special</a>(special_values) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="int_adapter.html#id2440052-bb">is_inf</a>(int_type) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="int_adapter.html#id2507479-bb">is_neg_inf</a>(int_type) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="int_adapter.html#id2527086-bb">is_pos_inf</a>(int_type) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="int_adapter.html#id2464222-bb">is_not_a_number</a>(int_type) ;
+  <span class="type">special_values</span> <a href="int_adapter.html#id2495949-bb">to_special</a>(int_type) ;
+  <span class="type">int_type</span> <a href="int_adapter.html#id2526572-bb">maxcount</a>() ;
+
+  <span class="emphasis"><em>// <a href="int_adapter.html#id2526585-bb">private member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>int</strong></span></span> <a href="int_adapter.html#id2526590-bb">compare</a>(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a href="int_adapter.html#id2515021-bb">mult_div_specials</a>(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a href="int_adapter.html#id2494174-bb">mult_div_specials</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>int</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2638019"></a><h2>Description</h2>
+<p>This class is used internally in counted date/time representations. It adds the floating point like features of infinities and not a number. It also provides mathmatical operations with consideration to special values following these rules: </p>
+<pre class="programlisting"> +infinity - infinity == Not A Number (NAN)
+ infinity * non-zero == infinity
+ infinity * zero == NAN
+ +infinity * -integer == -infinity
+ infinity / infinity == NAN
+ infinity * infinity == infinity
+ *
+</pre>
+<div class="refsect2" lang="en">
+<a name="id2638037"></a><h3>
+<a name="int_adapterconstruct-copy-destruct"></a><code class="computeroutput">int_adapter</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2519909-bb"></a>int_adapter(int_type v);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2638072"></a><h3>
+<a name="id2457288-bb"></a><code class="computeroutput">int_adapter</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2457293-bb"></a>is_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2404349-bb"></a>is_pos_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2404361-bb"></a>is_neg_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2423098-bb"></a>is_nan() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2423110-bb"></a>is_special() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2511194-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2429216-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>int</strong></span> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2394347-bb"></a><span class="bold"><strong>operator</strong></span>!=(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2513015-bb"></a><span class="bold"><strong>operator</strong></span>!=(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>int</strong></span> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2455292-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2434443-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>int</strong></span> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2404382-bb"></a><span class="bold"><strong>operator</strong></span>&gt;(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id2420528-bb"></a>as_number() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">special_values</span> <a name="id2494022-bb"></a>as_special() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> rhs_type&gt;
+  <span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a name="id2494039-bb"></a><span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a>&lt; rhs_type &gt; &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Operator allows for adding dissimilar int_adapter types. The return type will match that of the the calling object's type </p>
+</li>
+<li><pre class="literallayout"><span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a name="id2401740-bb"></a><span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> int_type rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> rhs_type&gt;
+  <span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a name="id2526406-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a>&lt; rhs_type &gt; &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Operator allows for subtracting dissimilar int_adapter types. The return type will match that of the the calling object's type </p>
+</li>
+<li><pre class="literallayout"><span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a name="id2502658-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> int_type rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a name="id2528049-bb"></a><span class="bold"><strong>operator</strong></span> *(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a name="id2498655-bb"></a><span class="bold"><strong>operator</strong></span> *(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>int</strong></span> rhs) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Provided for cases when automatic conversion from 'int' to 'int_adapter' causes incorrect results. </p>
+</li>
+<li><pre class="literallayout"><span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a name="id2428149-bb"></a><span class="bold"><strong>operator</strong></span>/(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a name="id2396807-bb"></a><span class="bold"><strong>operator</strong></span>/(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>int</strong></span> rhs) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Provided for cases when automatic conversion from 'int' to 'int_adapter' causes incorrect results. </p>
+</li>
+<li><pre class="literallayout"><span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a name="id2496416-bb"></a><span class="bold"><strong>operator</strong></span>%(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a name="id2407883-bb"></a><span class="bold"><strong>operator</strong></span>%(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>int</strong></span> rhs) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Provided for cases when automatic conversion from 'int' to 'int_adapter' causes incorrect results. </p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2639053"></a><h3>
+<a name="id2412620-bb"></a><code class="computeroutput">int_adapter</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2412624-bb"></a>has_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a name="id2412637-bb"></a>pos_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a name="id2415841-bb"></a>neg_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a name="id2493322-bb"></a>not_a_number() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> max</span> <a name="id2493337-bb"></a>BOOST_PREVENT_MACRO_SUBSTITUTION() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> min</span> <a name="id2422764-bb"></a>BOOST_PREVENT_MACRO_SUBSTITUTION() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a name="id2469798-bb"></a>from_special(special_values sv) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2440052-bb"></a>is_inf(int_type v) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2507479-bb"></a>is_neg_inf(int_type v) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2527086-bb"></a>is_pos_inf(int_type v) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2464222-bb"></a>is_not_a_number(int_type v) ;</pre></li>
+<li><pre class="literallayout"><span class="type">special_values</span> <a name="id2495949-bb"></a>to_special(int_type v) ;</pre></li>
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id2526572-bb"></a>maxcount() ;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2639365"></a><h3>
+<a name="id2526585-bb"></a><code class="computeroutput">int_adapter</code> private member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="id2526590-bb"></a>compare(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a name="id2515021-bb"></a>mult_div_specials(<span class="bold"><strong>const</strong></span> <a href="int_adapter.html" title="Class template int_adapter">int_adapter</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="int_adapter.html" title="Class template int_adapter">int_adapter</a></span> <a name="id2494174-bb"></a>mult_div_specials(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>int</strong></span> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="gregorian_calendar_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2410223"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2397684.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/invalid_command_line_style.html b/doc/html/invalid_command_line_style.html
new file mode 100644
index 0000000000..e01991744b
--- /dev/null
+++ b/doc/html/invalid_command_line_style.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class invalid_command_line_style</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2399042" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="id2492742.html" title="Class invalid_command_line_syntax">
+<link rel="next" href="basic_option.html" title="Class template basic_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2492742.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="basic_option.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="invalid_command_line_style"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class invalid_command_line_style</span></h2>
+<p>boost::program_options::invalid_command_line_style &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> invalid_command_line_style : <span class="bold"><strong>public</strong></span> boost::program_options::error {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="invalid_command_line_style.html#invalid_command_line_styleconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="invalid_command_line_style.html#id2370790-bb">invalid_command_line_style</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+  <span class="emphasis"><em>// <a href="invalid_command_line_style.html#id2370786-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2720103"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2720106"></a><h3>
+<a name="invalid_command_line_styleconstruct-copy-destruct"></a><code class="computeroutput">invalid_command_line_style</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2370790-bb"></a>invalid_command_line_style(<span class="bold"><strong>const</strong></span> std::string &amp; msg);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2720147"></a><h3>
+<a name="id2370786-bb"></a><code class="computeroutput">invalid_command_line_style</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2492742.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="basic_option.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/invalid_option_value.html b/doc/html/invalid_option_value.html
new file mode 100644
index 0000000000..611a21df15
--- /dev/null
+++ b/doc/html/invalid_option_value.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class invalid_option_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2399042" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="validation_error.html" title="Class validation_error">
+<link rel="next" href="id2382392.html" title="Class too_many_positional_options_error">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="validation_error.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2382392.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="invalid_option_value"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class invalid_option_value</span></h2>
+<p>boost::program_options::invalid_option_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> invalid_option_value
+ : : <span class="bold"><strong>public</strong></span> boost::program_options::validation_error
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="invalid_option_value.html#invalid_option_valueconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="invalid_option_value.html#id2546356-bb">invalid_option_value</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+  <a href="invalid_option_value.html#id2382377-bb">invalid_option_value</a>(<span class="bold"><strong>const</strong></span> std::wstring &amp;);
+
+  <span class="emphasis"><em>// <a href="invalid_option_value.html#id2546351-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2719417"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2719420"></a><h3>
+<a name="invalid_option_valueconstruct-copy-destruct"></a><code class="computeroutput">invalid_option_value</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2546356-bb"></a>invalid_option_value(<span class="bold"><strong>const</strong></span> std::string &amp; value);</pre></li>
+<li><pre class="literallayout"><a name="id2382377-bb"></a>invalid_option_value(<span class="bold"><strong>const</strong></span> std::wstring &amp; value);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2719481"></a><h3>
+<a name="id2546351-bb"></a><code class="computeroutput">invalid_option_value</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="validation_error.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2382392.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/invalid_syntax.html b/doc/html/invalid_syntax.html
new file mode 100644
index 0000000000..e5746f1a40
--- /dev/null
+++ b/doc/html/invalid_syntax.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class invalid_syntax</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2399042" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="error.html" title="Class error">
+<link rel="next" href="unknown_option.html" title="Class unknown_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="unknown_option.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="invalid_syntax"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class invalid_syntax</span></h2>
+<p>boost::program_options::invalid_syntax &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> invalid_syntax : <span class="bold"><strong>public</strong></span> boost::program_options::error {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="invalid_syntax.html#invalid_syntaxconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="invalid_syntax.html#id2425241-bb">invalid_syntax</a>(<span class="bold"><strong>const</strong></span> std::string &amp;, <span class="bold"><strong>const</strong></span> std::string &amp;);
+  <a href="invalid_syntax.html#id2411228-bb">~invalid_syntax</a>();
+
+  <span class="emphasis"><em>// <a href="invalid_syntax.html#id2425237-bb">public member functions</a></em></span>
+
+  std::string tokens;
+  std::string msg;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2718325"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2718328"></a><h3>
+<a name="invalid_syntaxconstruct-copy-destruct"></a><code class="computeroutput">invalid_syntax</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2425241-bb"></a>invalid_syntax(<span class="bold"><strong>const</strong></span> std::string &amp; tokens, <span class="bold"><strong>const</strong></span> std::string &amp; msg);</pre></li>
+<li><pre class="literallayout"><a name="id2411228-bb"></a>~invalid_syntax();</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2718388"></a><h3>
+<a name="id2425237-bb"></a><code class="computeroutput">invalid_syntax</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="unknown_option.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ireplace_all.html b/doc/html/ireplace_all.html
new file mode 100644
index 0000000000..ffc13fe561
--- /dev/null
+++ b/doc/html/ireplace_all.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template ireplace_all</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="ireplace_all_copy.html" title="Function ireplace_all_copy">
+<link rel="next" href="replace_head_copy.html" title="Function replace_head_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ireplace_all_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_head_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ireplace_all"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template ireplace_all</span></h2>
+<p>boost::algorithm::ireplace_all &#8212; Replace all algorithm ( case insensitive ). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> ireplace_all(SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> Range1T &amp; Search,
+                    <span class="bold"><strong>const</strong></span> Range2T &amp; Format,
+                    <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2770998"></a><h2>Description</h2>
+<p>Replace all occurrences of the search string in the input with the format string.The input sequence is modified in-place. Searching is case insensitive.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ireplace_all_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_head_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ireplace_all_copy.html b/doc/html/ireplace_all_copy.html
new file mode 100644
index 0000000000..25e8ca0117
--- /dev/null
+++ b/doc/html/ireplace_all_copy.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function ireplace_all_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="replace_all.html" title="Function template replace_all">
+<link rel="next" href="ireplace_all.html" title="Function template ireplace_all">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ireplace_all.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ireplace_all_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function ireplace_all_copy</span></h2>
+<p>boost::algorithm::ireplace_all_copy &#8212; Replace all algorithm ( case insensitive ). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T,
+         <span class="bold"><strong>typename</strong></span> Range3T&gt;
+  <span class="type">OutputIteratorT</span>
+  ireplace_all_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> Range1T &amp; Input,
+                    <span class="bold"><strong>const</strong></span> Range2T &amp; Search, <span class="bold"><strong>const</strong></span> Range3T &amp; Format,
+                    <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">SequenceT</span> ireplace_all_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> Range1T &amp; Search,
+                              <span class="bold"><strong>const</strong></span> Range2T &amp; Format,
+                              <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2770846"></a><h2>Description</h2>
+<p>Replace all occurrences of the search string in the input with the format string. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator. Searching is case insensitive.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ireplace_all.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ireplace_first.html b/doc/html/ireplace_first.html
new file mode 100644
index 0000000000..b725887b5b
--- /dev/null
+++ b/doc/html/ireplace_first.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template ireplace_first</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="ireplace_first_copy.html" title="Function ireplace_first_copy">
+<link rel="next" href="replace_last_copy.html" title="Function replace_last_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ireplace_first_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_last_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ireplace_first"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template ireplace_first</span></h2>
+<p>boost::algorithm::ireplace_first &#8212; Replace first algorithm ( case insensitive ). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> ireplace_first(SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> Range1T &amp; Search,
+                      <span class="bold"><strong>const</strong></span> Range2T &amp; Format,
+                      <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2768943"></a><h2>Description</h2>
+<p>Replace the first match of the search substring in the input with the format string. Input sequence is modified in-place. Searching is case insensitive.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ireplace_first_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_last_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ireplace_first_copy.html b/doc/html/ireplace_first_copy.html
new file mode 100644
index 0000000000..125cddc26f
--- /dev/null
+++ b/doc/html/ireplace_first_copy.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function ireplace_first_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="replace_first.html" title="Function template replace_first">
+<link rel="next" href="ireplace_first.html" title="Function template ireplace_first">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_first.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ireplace_first.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ireplace_first_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function ireplace_first_copy</span></h2>
+<p>boost::algorithm::ireplace_first_copy &#8212; Replace first algorithm ( case insensitive ). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T,
+         <span class="bold"><strong>typename</strong></span> Range3T&gt;
+  <span class="type">OutputIteratorT</span>
+  ireplace_first_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> Range1T &amp; Input,
+                      <span class="bold"><strong>const</strong></span> Range2T &amp; Search, <span class="bold"><strong>const</strong></span> Range3T &amp; Format,
+                      <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range2T, <span class="bold"><strong>typename</strong></span> Range1T&gt;
+  <span class="type">SequenceT</span> ireplace_first_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input,
+                                <span class="bold"><strong>const</strong></span> Range2T &amp; Search,
+                                <span class="bold"><strong>const</strong></span> Range1T &amp; Format,
+                                <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2768791"></a><h2>Description</h2>
+<p>Replace the first match of the search substring in the input with the format string. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator. Searching is case insensitive.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_first.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ireplace_first.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ireplace_last.html b/doc/html/ireplace_last.html
new file mode 100644
index 0000000000..7c58ae9747
--- /dev/null
+++ b/doc/html/ireplace_last.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template ireplace_last</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="ireplace_last_copy.html" title="Function ireplace_last_copy">
+<link rel="next" href="replace_nth_copy.html" title="Function replace_nth_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ireplace_last_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_nth_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ireplace_last"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template ireplace_last</span></h2>
+<p>boost::algorithm::ireplace_last &#8212; Replace last algorithm ( case insensitive ). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> ireplace_last(SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> Range1T &amp; Search,
+                     <span class="bold"><strong>const</strong></span> Range2T &amp; Format,
+                     <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2769590"></a><h2>Description</h2>
+<p>Replace the last match of the search string in the input with the format string.The input sequence is modified in-place. Searching is case insensitive.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ A reference to the modified input </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ireplace_last_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_nth_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ireplace_last_copy.html b/doc/html/ireplace_last_copy.html
new file mode 100644
index 0000000000..a02b708553
--- /dev/null
+++ b/doc/html/ireplace_last_copy.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function ireplace_last_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="replace_last.html" title="Function template replace_last">
+<link rel="next" href="ireplace_last.html" title="Function template ireplace_last">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_last.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ireplace_last.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ireplace_last_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function ireplace_last_copy</span></h2>
+<p>boost::algorithm::ireplace_last_copy &#8212; Replace last algorithm ( case insensitive ). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T,
+         <span class="bold"><strong>typename</strong></span> Range3T&gt;
+  <span class="type">OutputIteratorT</span>
+  ireplace_last_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> Range1T &amp; Input,
+                     <span class="bold"><strong>const</strong></span> Range2T &amp; Search, <span class="bold"><strong>const</strong></span> Range3T &amp; Format,
+                     <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">SequenceT</span> ireplace_last_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input,
+                               <span class="bold"><strong>const</strong></span> Range1T &amp; Search,
+                               <span class="bold"><strong>const</strong></span> Range2T &amp; Format,
+                               <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2769438"></a><h2>Description</h2>
+<p>Replace the last match of the search string in the input with the format string. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator. Searching is case insensitive.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_last.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ireplace_last.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ireplace_nth.html b/doc/html/ireplace_nth.html
new file mode 100644
index 0000000000..7cf094871f
--- /dev/null
+++ b/doc/html/ireplace_nth.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template ireplace_nth</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="ireplace_nth_copy.html" title="Function ireplace_nth_copy">
+<link rel="next" href="replace_all_copy.html" title="Function replace_all_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ireplace_nth_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_all_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ireplace_nth"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template ireplace_nth</span></h2>
+<p>boost::algorithm::ireplace_nth &#8212; Replace nth algorithm ( case insensitive ). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> ireplace_nth(SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> Range1T &amp; Search,
+                    <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> Nth, <span class="bold"><strong>const</strong></span> Range2T &amp; Format,
+                    <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2770337"></a><h2>Description</h2>
+<p>Replace an Nth (zero-indexed) match of the search string in the input with the format string. Input sequence is modified in-place. Searching is case insensitive.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Nth</span></dt>
+<dd><p>An index of the match to be replaced. The index is 0-based. </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ireplace_nth_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_all_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ireplace_nth_copy.html b/doc/html/ireplace_nth_copy.html
new file mode 100644
index 0000000000..dc7145db7d
--- /dev/null
+++ b/doc/html/ireplace_nth_copy.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function ireplace_nth_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="replace_nth.html" title="Function template replace_nth">
+<link rel="next" href="ireplace_nth.html" title="Function template ireplace_nth">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_nth.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ireplace_nth.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ireplace_nth_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function ireplace_nth_copy</span></h2>
+<p>boost::algorithm::ireplace_nth_copy &#8212; Replace nth algorithm ( case insensitive ). </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T,
+         <span class="bold"><strong>typename</strong></span> Range3T&gt;
+  <span class="type">OutputIteratorT</span>
+  ireplace_nth_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> Range1T &amp; Input,
+                    <span class="bold"><strong>const</strong></span> Range2T &amp; Search, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> Nth,
+                    <span class="bold"><strong>const</strong></span> Range3T &amp; Format,
+                    <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">SequenceT</span> ireplace_nth_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> Range1T &amp; Search,
+                              <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> Nth, <span class="bold"><strong>const</strong></span> Range2T &amp; Format,
+                              <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2770167"></a><h2>Description</h2>
+<p>Replace an Nth (zero-indexed) match of the search string in the input with the format string. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator. Searching is case insensitive.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Nth</span></dt>
+<dd><p>An index of the match to be replaced. The index is 0-based. </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_nth.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ireplace_nth.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/is_alnum.html b/doc/html/is_alnum.html
new file mode 100644
index 0000000000..8f7e41f8ae
--- /dev/null
+++ b/doc/html/is_alnum.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function is_alnum</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2336200" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="is_space.html" title="Function is_space">
+<link rel="next" href="is_alpha.html" title="Function is_alpha">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_space.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_alpha.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="is_alnum"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function is_alnum</span></h2>
+<p>boost::algorithm::is_alnum &#8212; is_alnum predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><span class="emphasis"><em>unspecified</em></span></span> is_alnum(<span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2747667"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">is_classified</code> predicate for the <code class="computeroutput">ctype_base::alnum</code> category.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for classification </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">is_classified</code> predicate </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_space.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_alpha.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/is_alpha.html b/doc/html/is_alpha.html
new file mode 100644
index 0000000000..9a0d19884b
--- /dev/null
+++ b/doc/html/is_alpha.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function is_alpha</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2336200" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="is_alnum.html" title="Function is_alnum">
+<link rel="next" href="is_cntrl.html" title="Function is_cntrl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_alnum.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_cntrl.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="is_alpha"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function is_alpha</span></h2>
+<p>boost::algorithm::is_alpha &#8212; is_alpha predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><span class="emphasis"><em>unspecified</em></span></span> is_alpha(<span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2747751"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">is_classified</code> predicate for the <code class="computeroutput">ctype_base::alpha</code> category.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for classification </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">is_classified</code> predicate </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_alnum.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_cntrl.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/is_any_of.html b/doc/html/is_any_of.html
new file mode 100644
index 0000000000..5fd58f2554
--- /dev/null
+++ b/doc/html/is_any_of.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template is_any_of</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2336200" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="is_xdigit.html" title="Function is_xdigit">
+<link rel="next" href="is_from_range.html" title="Function template is_from_range">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_xdigit.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_from_range.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="is_any_of"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template is_any_of</span></h2>
+<p>boost::algorithm::is_any_of &#8212; is_any_of predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT&gt; <span class="type"><span class="emphasis"><em>unspecified</em></span></span> is_any_of(<span class="bold"><strong>const</strong></span> RangeT &amp; Set);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2748514"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">is_any_of</code> predicate. The predicate holds if the input is included in the specified set of characters.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Set</span></dt>
+<dd><p>A set of characters to be recognized </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">is_any_of</code> predicate </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_xdigit.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_from_range.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/is_classified.html b/doc/html/is_classified.html
new file mode 100644
index 0000000000..95f2e6ade7
--- /dev/null
+++ b/doc/html/is_classified.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function is_classified</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2336200" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="to_upper.html" title="Function template to_upper">
+<link rel="next" href="is_space.html" title="Function is_space">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="to_upper.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_space.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="is_classified"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function is_classified</span></h2>
+<p>boost::algorithm::is_classified &#8212; is_classified predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><span class="emphasis"><em>unspecified</em></span></span> is_classified(std::ctype_base::mask Type,
+                          <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2747486"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">is_classified</code> predicate. This predicate holds if the input is of specified <code class="computeroutput">std::ctype</code> category.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for classification </p></dd>
+<dt><span class="term">Type</span></dt>
+<dd><p>A <code class="computeroutput">std::ctype</code> category </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">is_classified</code> predicate </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="to_upper.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_space.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/is_cntrl.html b/doc/html/is_cntrl.html
new file mode 100644
index 0000000000..a0493f2dcc
--- /dev/null
+++ b/doc/html/is_cntrl.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function is_cntrl</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2336200" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="is_alpha.html" title="Function is_alpha">
+<link rel="next" href="is_digit.html" title="Function is_digit">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_alpha.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_digit.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="is_cntrl"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function is_cntrl</span></h2>
+<p>boost::algorithm::is_cntrl &#8212; is_cntrl predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><span class="emphasis"><em>unspecified</em></span></span> is_cntrl(<span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2747834"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">is_classified</code> predicate for the <code class="computeroutput">ctype_base::cntrl</code> category.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for classification </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">is_classified</code> predicate </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_alpha.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_digit.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/is_digit.html b/doc/html/is_digit.html
new file mode 100644
index 0000000000..8ae2ad7883
--- /dev/null
+++ b/doc/html/is_digit.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function is_digit</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2336200" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="is_cntrl.html" title="Function is_cntrl">
+<link rel="next" href="is_graph.html" title="Function is_graph">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_cntrl.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_graph.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="is_digit"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function is_digit</span></h2>
+<p>boost::algorithm::is_digit &#8212; is_digit predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><span class="emphasis"><em>unspecified</em></span></span> is_digit(<span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2747918"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">is_classified</code> predicate for the <code class="computeroutput">ctype_base::digit</code> category.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for classification </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">is_classified</code> predicate </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_cntrl.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_graph.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/is_equal.html b/doc/html/is_equal.html
new file mode 100644
index 0000000000..fb53868a5e
--- /dev/null
+++ b/doc/html/is_equal.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct is_equal</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2558715" title="Header &lt;boost/algorithm/string/compare.hpp&gt;">
+<link rel="prev" href="id2374912.html" title="Function template operator!">
+<link rel="next" href="is_iequal.html" title="Struct is_iequal">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2374912.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2558715"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_iequal.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="is_equal"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct is_equal</span></h2>
+<p>boost::algorithm::is_equal &#8212; is_equal functor </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> is_equal {
+
+  <span class="emphasis"><em>// <a href="is_equal.html#id2578261-bb">public member functions</a></em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="is_equal.html#id2578265-bb"><span class="bold"><strong>operator</strong></span>()</a>(<span class="bold"><strong>const</strong></span> T1 &amp;, <span class="bold"><strong>const</strong></span> T2 &amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2749162"></a><h2>Description</h2>
+<p>Standard STL equal_to only handle comparison between arguments of the same type. This is a less restrictive version which wraps operator ==. </p>
+<div class="refsect2" lang="en">
+<a name="id2749170"></a><h3>
+<a name="id2578261-bb"></a><code class="computeroutput">is_equal</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2578265-bb"></a><span class="bold"><strong>operator</strong></span>()(<span class="bold"><strong>const</strong></span> T1 &amp; Arg1, <span class="bold"><strong>const</strong></span> T2 &amp; Arg2) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Compare two operands for equality </p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2374912.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2558715"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_iequal.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/is_from_range.html b/doc/html/is_from_range.html
new file mode 100644
index 0000000000..9dda1f1a53
--- /dev/null
+++ b/doc/html/is_from_range.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template is_from_range</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2336200" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="is_any_of.html" title="Function template is_any_of">
+<link rel="next" href="id2568583.html" title="Function template operator&amp;&amp;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_any_of.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2568583.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="is_from_range"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template is_from_range</span></h2>
+<p>boost::algorithm::is_from_range &#8212; is_from_range predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT&gt; <span class="type"><span class="emphasis"><em>unspecified</em></span></span> is_from_range(CharT From, CharT To);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2748599"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">is_from_range</code> predicate. The predicate holds if the input is included in the specified range. (i.e. From &lt;= Ch &lt;= To )</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">From</span></dt>
+<dd><p>The start of the range </p></dd>
+<dt><span class="term">To</span></dt>
+<dd><p>The end of the range </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">is_from_range</code> predicate </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_any_of.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2568583.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/is_graph.html b/doc/html/is_graph.html
new file mode 100644
index 0000000000..2d3c50ab35
--- /dev/null
+++ b/doc/html/is_graph.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function is_graph</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2336200" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="is_digit.html" title="Function is_digit">
+<link rel="next" href="is_lower.html" title="Function is_lower">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_digit.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_lower.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="is_graph"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function is_graph</span></h2>
+<p>boost::algorithm::is_graph &#8212; is_graph predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><span class="emphasis"><em>unspecified</em></span></span> is_graph(<span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2748002"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">is_classified</code> predicate for the <code class="computeroutput">ctype_base::graph</code> category.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for classification </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">is_classified</code> predicate </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_digit.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_lower.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/is_iequal.html b/doc/html/is_iequal.html
new file mode 100644
index 0000000000..2c630ab728
--- /dev/null
+++ b/doc/html/is_iequal.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct is_iequal</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2558715" title="Header &lt;boost/algorithm/string/compare.hpp&gt;">
+<link rel="prev" href="is_equal.html" title="Struct is_equal">
+<link rel="next" href="FinderConcept.html" title="Struct template FinderConcept">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_equal.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2558715"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="FinderConcept.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="is_iequal"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct is_iequal</span></h2>
+<p>boost::algorithm::is_iequal &#8212; case insensitive version of is_equal </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> is_iequal {
+  <span class="emphasis"><em>// <a href="is_iequal.html#is_iequalconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="is_iequal.html#id2573581-bb">is_iequal</a>(<span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+
+  <span class="emphasis"><em>// <a href="is_iequal.html#id2352595-bb">public member functions</a></em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2&gt;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="is_iequal.html#id2352599-bb"><span class="bold"><strong>operator</strong></span>()</a>(<span class="bold"><strong>const</strong></span> T1 &amp;, <span class="bold"><strong>const</strong></span> T2 &amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2749376"></a><h2>Description</h2>
+<p>Case insensitive comparison predicate. Comparison is done using specified locales. </p>
+<div class="refsect2" lang="en">
+<a name="id2749383"></a><h3>
+<a name="is_iequalconstruct-copy-destruct"></a><code class="computeroutput">is_iequal</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><a name="id2573581-bb"></a>is_iequal(<span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Loc</span></dt>
+<dd><p>locales used for comparison </p></dd>
+</dl>
+</div>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2749437"></a><h3>
+<a name="id2352595-bb"></a><code class="computeroutput">is_iequal</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2352599-bb"></a><span class="bold"><strong>operator</strong></span>()(<span class="bold"><strong>const</strong></span> T1 &amp; Arg1, <span class="bold"><strong>const</strong></span> T2 &amp; Arg2) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Compare two operands. Case is ignored. </p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_equal.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2558715"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="FinderConcept.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/is_lower.html b/doc/html/is_lower.html
new file mode 100644
index 0000000000..38b05f4fb2
--- /dev/null
+++ b/doc/html/is_lower.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function is_lower</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2336200" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="is_graph.html" title="Function is_graph">
+<link rel="next" href="is_print.html" title="Function is_print">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_graph.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_print.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="is_lower"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function is_lower</span></h2>
+<p>boost::algorithm::is_lower &#8212; is_lower predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><span class="emphasis"><em>unspecified</em></span></span> is_lower(<span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2748086"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">is_classified</code> predicate for the <code class="computeroutput">ctype_base::lower</code> category.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for classification </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of <code class="computeroutput">is_classified</code> predicate </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_graph.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_print.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/is_print.html b/doc/html/is_print.html
new file mode 100644
index 0000000000..7e62846804
--- /dev/null
+++ b/doc/html/is_print.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function is_print</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2336200" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="is_lower.html" title="Function is_lower">
+<link rel="next" href="is_punct.html" title="Function is_punct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_lower.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_punct.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="is_print"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function is_print</span></h2>
+<p>boost::algorithm::is_print &#8212; is_print predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><span class="emphasis"><em>unspecified</em></span></span> is_print(<span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2748169"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">is_classified</code> predicate for the <code class="computeroutput">ctype_base::print</code> category.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for classification </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">is_classified</code> predicate </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_lower.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_punct.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/is_punct.html b/doc/html/is_punct.html
new file mode 100644
index 0000000000..39129fc258
--- /dev/null
+++ b/doc/html/is_punct.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function is_punct</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2336200" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="is_print.html" title="Function is_print">
+<link rel="next" href="is_upper.html" title="Function is_upper">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_print.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_upper.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="is_punct"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function is_punct</span></h2>
+<p>boost::algorithm::is_punct &#8212; is_punct predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><span class="emphasis"><em>unspecified</em></span></span> is_punct(<span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2748253"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">is_classified</code> predicate for the <code class="computeroutput">ctype_base::punct</code> category.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for classification </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">is_classified</code> predicate </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_print.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_upper.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/is_recursive_wrapper.html b/doc/html/is_recursive_wrapper.html
new file mode 100644
index 0000000000..b70f7b3cca
--- /dev/null
+++ b/doc/html/is_recursive_wrapper.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template is_recursive_wrapper</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2644455" title="Header &lt;boost/variant/recursive_wrapper.hpp&gt;">
+<link rel="prev" href="recursive_wrapper.html" title="Class template recursive_wrapper">
+<link rel="next" href="unwrap_recursive_wrapper.html" title="Class template unwrap_recursive_wrapper">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="recursive_wrapper.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2644455"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="unwrap_recursive_wrapper.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="is_recursive_wrapper"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template is_recursive_wrapper</span></h2>
+<p>boost::is_recursive_wrapper &#8212; <p>Determines whether the specified type is a specialization of
+ <code class="computeroutput">recursive_wrapper</code>.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+<span class="bold"><strong>class</strong></span> is_recursive_wrapper {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> type;
+
+  <span class="emphasis"><em>// static constants</em></span>
+  <span class="bold"><strong>static</strong></span> <span class="bold"><strong>const</strong></span> <span class="bold"><strong>bool</strong></span> value = unspecified;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2837640"></a><h2>Description</h2>
+<p>Value is true iff <code class="computeroutput">T</code> is a specialization of
+ <code class="computeroutput"><a href="recursive_wrapper.html" title="Class template recursive_wrapper">recursive_wrapper</a></code>.</p>
+<p><span class="bold"><strong>Note</strong></span>:
+ <code class="computeroutput">is_recursive_wrapper</code> is a model of
+ <a href="../../libs/mpl/index.html" target="_top">MPL</a>'s
+ <span class="emphasis"><em>IntegralConstant</em></span> concept.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="recursive_wrapper.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2644455"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="unwrap_recursive_wrapper.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/is_reference_wrapper.html b/doc/html/is_reference_wrapper.html
new file mode 100644
index 0000000000..452dd57073
--- /dev/null
+++ b/doc/html/is_reference_wrapper.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template is_reference_wrapper</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="ref/reference.html#header.boost.ref.hpp" title="Header &lt;boost/ref.hpp&gt;">
+<link rel="prev" href="reference_wrapper.html" title="Class template reference_wrapper">
+<link rel="next" href="unwrap_reference.html" title="Class template unwrap_reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference_wrapper.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="ref/reference.html#header.boost.ref.hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="unwrap_reference.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="is_reference_wrapper"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template is_reference_wrapper</span></h2>
+<p>boost::is_reference_wrapper &#8212; Determine if a type <code class="computeroutput">T</code> is an instantiation of <code class="computeroutput"><a href="reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a></code>.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+<span class="bold"><strong>class</strong></span> is_reference_wrapper {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// static constants</em></span>
+  <span class="bold"><strong>static</strong></span> <span class="bold"><strong>const</strong></span> <span class="bold"><strong>bool</strong></span> value = unspecified;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2730976"></a><h2>Description</h2>
+<p>The <code class="computeroutput">value</code> static
+ constant will be <code class="computeroutput">true</code> iff the
+ type <code class="computeroutput">T</code> is a specialization of
+ <code class="computeroutput"><a href="reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a></code>.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 1999, 2000 Jaakko Järvi<br>Copyright © 2001, 2002 Peter Dimov<br>Copyright © 2002 David Abrahams</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference_wrapper.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="ref/reference.html#header.boost.ref.hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="unwrap_reference.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/is_space.html b/doc/html/is_space.html
new file mode 100644
index 0000000000..213a415d91
--- /dev/null
+++ b/doc/html/is_space.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function is_space</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2336200" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="is_classified.html" title="Function is_classified">
+<link rel="next" href="is_alnum.html" title="Function is_alnum">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_classified.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_alnum.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="is_space"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function is_space</span></h2>
+<p>boost::algorithm::is_space &#8212; is_space predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><span class="emphasis"><em>unspecified</em></span></span> is_space(<span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2747583"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">is_classified</code> predicate for the <code class="computeroutput">ctype_base::space</code> category.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for classification </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">is_classified</code> predicate </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_classified.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_alnum.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/is_upper.html b/doc/html/is_upper.html
new file mode 100644
index 0000000000..23eb6b93b9
--- /dev/null
+++ b/doc/html/is_upper.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function is_upper</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2336200" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="is_punct.html" title="Function is_punct">
+<link rel="next" href="is_xdigit.html" title="Function is_xdigit">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_punct.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_xdigit.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="is_upper"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function is_upper</span></h2>
+<p>boost::algorithm::is_upper &#8212; is_upper predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><span class="emphasis"><em>unspecified</em></span></span> is_upper(<span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2748336"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">is_classified</code> predicate for the <code class="computeroutput">ctype_base::upper</code> category.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for classification </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">is_classified</code> predicate </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_punct.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_xdigit.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/is_xdigit.html b/doc/html/is_xdigit.html
new file mode 100644
index 0000000000..a0cc764735
--- /dev/null
+++ b/doc/html/is_xdigit.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function is_xdigit</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2336200" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">
+<link rel="prev" href="is_upper.html" title="Function is_upper">
+<link rel="next" href="is_any_of.html" title="Function template is_any_of">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_upper.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_any_of.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="is_xdigit"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function is_xdigit</span></h2>
+<p>boost::algorithm::is_xdigit &#8212; is_xdigit predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><span class="emphasis"><em>unspecified</em></span></span> is_xdigit(<span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2748420"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">is_classified</code> predicate for the <code class="computeroutput">ctype_base::xdigit</code> category.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for classification </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">is_classified</code> predicate </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_upper.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2336200"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_any_of.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/iso_extended_format.html b/doc/html/iso_extended_format.html
new file mode 100644
index 0000000000..3931e15849
--- /dev/null
+++ b/doc/html/iso_extended_format.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template iso_extended_format</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2447644" title="Header &lt;boost/date_time/iso_format.hpp&gt;">
+<link rel="prev" href="iso_format.html" title="Class template iso_format">
+<link rel="next" href="utc_adjustment.html" title="Class template utc_adjustment">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iso_format.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2447644"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="utc_adjustment.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="iso_extended_format"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template iso_extended_format</span></h2>
+<p>boost::date_time::iso_extended_format &#8212; Extended format uses seperators YYYY-MM-DD. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+<span class="bold"><strong>class</strong></span> iso_extended_format
+ : : <span class="bold"><strong>public</strong></span> boost::date_time::iso_format_base&lt; charT &gt;
+{
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="iso_extended_format.html#id2421576-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="iso_extended_format.html#id2421580-bb">has_date_sep_chars</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2642117"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2642120"></a><h3>
+<a name="id2421576-bb"></a><code class="computeroutput">iso_extended_format</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2421580-bb"></a>has_date_sep_chars() ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iso_format.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2447644"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="utc_adjustment.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/iso_format.html b/doc/html/iso_format.html
new file mode 100644
index 0000000000..f8b5b2e3ca
--- /dev/null
+++ b/doc/html/iso_format.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template iso_format</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2447644" title="Header &lt;boost/date_time/iso_format.hpp&gt;">
+<link rel="prev" href="id2522859-bb.html" title="Class iso_format_base&lt;wchar_t&gt;">
+<link rel="next" href="iso_extended_format.html" title="Class template iso_extended_format">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2522859-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2447644"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="iso_extended_format.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="iso_format"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template iso_format</span></h2>
+<p>boost::date_time::iso_format &#8212; Format description for iso normal YYYYMMDD. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+<span class="bold"><strong>class</strong></span> iso_format : <span class="bold"><strong>public</strong></span> boost::date_time::iso_format_base&lt; charT &gt; {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="iso_format.html#id2396652-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="iso_format.html#id2396657-bb">has_date_sep_chars</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2642014"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2642017"></a><h3>
+<a name="id2396652-bb"></a><code class="computeroutput">iso_format</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2396657-bb"></a>has_date_sep_chars() ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2522859-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2447644"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="iso_extended_format.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/iso_format_base.html b/doc/html/iso_format_base.html
new file mode 100644
index 0000000000..dd166396c3
--- /dev/null
+++ b/doc/html/iso_format_base.html
@@ -0,0 +1,101 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template iso_format_base</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2447644" title="Header &lt;boost/date_time/iso_format.hpp&gt;">
+<link rel="prev" href="id2397684.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="id2522859-bb.html" title="Class iso_format_base&lt;wchar_t&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2397684.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2447644"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2522859-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="iso_format_base"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template iso_format_base</span></h2>
+<p>boost::date_time::iso_format_base &#8212; Class to provide common iso formatting spec. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+<span class="bold"><strong>class</strong></span> iso_format_base {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="iso_format_base.html#id2517556-bb">public static functions</a></em></span>
+  <span class="type">month_format_spec</span> <a href="iso_format_base.html#id2517560-bb">month_format</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> charT *</span> <a href="iso_format_base.html#id2507552-bb">not_a_date</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> charT *</span> <a href="iso_format_base.html#id2507568-bb">pos_infinity</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> charT *</span> <a href="iso_format_base.html#id2425768-bb">neg_infinity</a>() ;
+  <span class="type">charT</span> <a href="iso_format_base.html#id2416050-bb">year_sep_char</a>() ;
+  <span class="type">charT</span> <a href="iso_format_base.html#id2513719-bb">month_sep_char</a>() ;
+  <span class="type">charT</span> <a href="iso_format_base.html#id2513735-bb">day_sep_char</a>() ;
+  <span class="type">charT</span> <a href="iso_format_base.html#id2424221-bb">hour_sep_char</a>() ;
+  <span class="type">charT</span> <a href="iso_format_base.html#id2528636-bb">minute_sep_char</a>() ;
+  <span class="type">charT</span> <a href="iso_format_base.html#id2497415-bb">second_sep_char</a>() ;
+  <span class="type">charT</span> <a href="iso_format_base.html#id2497431-bb">period_start_char</a>() ;
+  <span class="type">charT</span> <a href="iso_format_base.html#id2504653-bb">time_start_char</a>() ;
+  <span class="type">charT</span> <a href="iso_format_base.html#id2429091-bb">week_start_char</a>() ;
+  <span class="type">charT</span> <a href="iso_format_base.html#id2457344-bb">period_sep_char</a>() ;
+  <span class="type">charT</span> <a href="iso_format_base.html#id2462572-bb">time_sep_char</a>() ;
+  <span class="type">charT</span> <a href="iso_format_base.html#id2462589-bb">fractional_time_sep_char</a>() ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="iso_format_base.html#id2418199-bb">is_component_sep</a>(charT) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="iso_format_base.html#id2442153-bb">is_fractional_time_sep</a>(charT) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="iso_format_base.html#id2484762-bb">is_timezone_sep</a>(charT) ;
+  <span class="type">charT</span> <a href="iso_format_base.html#id2414522-bb">element_sep_char</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2640052"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2640056"></a><h3>
+<a name="id2517556-bb"></a><code class="computeroutput">iso_format_base</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">month_format_spec</span> <a name="id2517560-bb"></a>month_format() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> charT *</span> <a name="id2507552-bb"></a>not_a_date() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> charT *</span> <a name="id2507568-bb"></a>pos_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> charT *</span> <a name="id2425768-bb"></a>neg_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type">charT</span> <a name="id2416050-bb"></a>year_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type">charT</span> <a name="id2513719-bb"></a>month_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type">charT</span> <a name="id2513735-bb"></a>day_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type">charT</span> <a name="id2424221-bb"></a>hour_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type">charT</span> <a name="id2528636-bb"></a>minute_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type">charT</span> <a name="id2497415-bb"></a>second_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type">charT</span> <a name="id2497431-bb"></a>period_start_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type">charT</span> <a name="id2504653-bb"></a>time_start_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type">charT</span> <a name="id2429091-bb"></a>week_start_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type">charT</span> <a name="id2457344-bb"></a>period_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type">charT</span> <a name="id2462572-bb"></a>time_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type">charT</span> <a name="id2462589-bb"></a>fractional_time_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2418199-bb"></a>is_component_sep(charT sep) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2442153-bb"></a>is_fractional_time_sep(charT sep) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2484762-bb"></a>is_timezone_sep(charT sep) ;</pre></li>
+<li><pre class="literallayout"><span class="type">charT</span> <a name="id2414522-bb"></a>element_sep_char() ;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2641154"></a><h3>Specializations</h3>
+<div class="itemizedlist"><ul type="disc"><li><p><a href="id2522859-bb.html" title="Class iso_format_base&lt;wchar_t&gt;">Class iso_format_base&lt;wchar_t&gt;</a></p></li></ul></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2397684.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2447644"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2522859-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/istarts_with.html b/doc/html/istarts_with.html
new file mode 100644
index 0000000000..42d50fc121
--- /dev/null
+++ b/doc/html/istarts_with.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template istarts_with</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2589054" title="Header &lt;boost/algorithm/string/predicate.hpp&gt;">
+<link rel="prev" href="starts_with.html" title="Function starts_with">
+<link rel="next" href="ends_with.html" title="Function ends_with">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="starts_with.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2589054"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ends_with.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="istarts_with"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template istarts_with</span></h2>
+<p>boost::algorithm::istarts_with &#8212; 'Starts with' predicate ( case insensitive ) </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> istarts_with(<span class="bold"><strong>const</strong></span> Range1T &amp; Input, <span class="bold"><strong>const</strong></span> Range2T &amp; Test,
+                    <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2761556"></a><h2>Description</h2>
+<p>This predicate holds when the test string is a prefix of the Input. In other words, if the input starts with the test. Elements are compared case insensitively.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for case insensitive comparison </p></dd>
+<dt><span class="term">Test</span></dt>
+<dd><p>A test sequence </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ The result of the test<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="starts_with.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2589054"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ends_with.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/lambda.html b/doc/html/lambda.html
new file mode 100644
index 0000000000..acfeecd3bc
--- /dev/null
+++ b/doc/html/lambda.html
@@ -0,0 +1,177 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 6. Boost.Lambda</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries">
+<link rel="prev" href="hash/acknowledgements.html" title=" Acknowledgements">
+<link rel="next" href="lambda/getting_started.html" title="Getting Started">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hash/acknowledgements.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="lambda/getting_started.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="lambda"></a>Chapter 6. Boost.Lambda</h2></div>
+<div><div class="author">
+<h3 class="author">
+<span class="firstname">Jaakko</span> <span class="surname">Järvi</span>
+</h3>
+<code class="email">&lt;<a href="mailto:jarvi%20at%20cs%20tamu%20edu">jarvi at cs tamu edu</a>&gt;</code>
+</div></div>
+<div><p class="copyright">Copyright © 1999-2004 Jaakko Järvi, Gary Powell</p></div>
+<div><div class="legalnotice">
+<a name="id2706954"></a><p>Use, modification and distribution is subject to the Boost
+ Software License, Version 1.0. (See accompanying file
+ <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="lambda.html#introduction">In a nutshell</a></span></dt>
+<dt><span class="section"><a href="lambda/getting_started.html">Getting Started</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="lambda/getting_started.html#id2707059">Installing the library</a></span></dt>
+<dt><span class="section"><a href="lambda/getting_started.html#id2707319">Conventions used in this document</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="lambda/s03.html">Introduction</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="lambda/s03.html#id2707350">Motivation</a></span></dt>
+<dt><span class="section"><a href="lambda/s03.html#id2707599">Introduction to lambda expressions</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="lambda/using_library.html">Using the library</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="lambda/using_library.html#lambda.introductory_examples">Introductory Examples</a></span></dt>
+<dt><span class="section"><a href="lambda/using_library.html#lambda.parameter_and_return_types">Parameter and return types of lambda functors</a></span></dt>
+<dt><span class="section"><a href="lambda/using_library.html#lambda.actual_arguments_to_lambda_functors">About actual arguments to lambda functors</a></span></dt>
+<dt><span class="section"><a href="lambda/using_library.html#lambda.storing_bound_arguments">Storing bound arguments in lambda functions</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="lambda/le_in_details.html">Lambda expressions in details</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="lambda/le_in_details.html#lambda.placeholders">Placeholders</a></span></dt>
+<dt><span class="section"><a href="lambda/le_in_details.html#lambda.operator_expressions">Operator expressions</a></span></dt>
+<dt><span class="section"><a href="lambda/le_in_details.html#lambda.bind_expressions">Bind expressions</a></span></dt>
+<dt><span class="section"><a href="lambda/le_in_details.html#lambda.overriding_deduced_return_type">Overriding the deduced return type</a></span></dt>
+<dt><span class="section"><a href="lambda/le_in_details.html#lambda.delaying_constants_and_variables">Delaying constants and variables</a></span></dt>
+<dt><span class="section"><a href="lambda/le_in_details.html#lambda.lambda_expressions_for_control_structures">Lambda expressions for control structures</a></span></dt>
+<dt><span class="section"><a href="lambda/le_in_details.html#lambda.exceptions">Exceptions</a></span></dt>
+<dt><span class="section"><a href="lambda/le_in_details.html#lambda.construction_and_destruction">Construction and destruction</a></span></dt>
+<dt><span class="section"><a href="lambda/le_in_details.html#id2711160">Special lambda expressions</a></span></dt>
+<dt><span class="section"><a href="lambda/le_in_details.html#id2711604">Casts, sizeof and typeid</a></span></dt>
+<dt><span class="section"><a href="lambda/le_in_details.html#lambda.nested_stl_algorithms">Nesting STL algorithm invocations</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="lambda/extending.html">Extending return type deduction system</a></span></dt>
+<dt><span class="section"><a href="lambda/s07.html">Practical considerations</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="lambda/s07.html#id2712759">Performance</a></span></dt>
+<dt><span class="section"><a href="lambda/s07.html#id2713087">About compiling</a></span></dt>
+<dt><span class="section"><a href="lambda/s07.html#id2713129">Portability</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="lambda/s08.html">Relation to other Boost libraries</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="lambda/s08.html#id2713388">Boost Function</a></span></dt>
+<dt><span class="section"><a href="lambda/s08.html#id2713474">Boost Bind</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="lambda/s09.html">Contributors</a></span></dt>
+<dt><span class="appendix"><a href="apa.html">A. Rationale for some of the design decisions</a></span></dt>
+<dd><dl><dt><span class="section"><a href="apa.html#lambda.why_weak_arity">
+Lambda functor arity
+</a></span></dt></dl></dd>
+<dt><span class="bibliography"><a href="lambda.html#id2713747">Bibliography</a></span></dt>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="introduction"></a>In a nutshell</h3></div></div></div>
+<p>
+
+ The Boost Lambda Library (BLL in the sequel) is a C++ template
+ library, which implements form of <span class="emphasis"><em>lambda abstractions</em></span> for C++.
+The term originates from functional programming and lambda calculus, where a lambda abstraction defines an unnamed function.
+ The primary motivation for the BLL is to provide flexible and
+ convenient means to define unnamed function objects for STL algorithms.
+In explaining what the library is about, a line of code says more than a thousand words; the
+ following line outputs the elements of some STL container
+ <code class="literal">a</code> separated by spaces:
+
+ </p>
+<pre class="programlisting">for_each(a.begin(), a.end(), std::cout &lt;&lt; _1 &lt;&lt; ' ');</pre>
+<p>
+
+ The expression <code class="literal">std::cout &lt;&lt; _1 &lt;&lt; ' '</code> defines a unary function object.
+ The variable <code class="literal">_1</code> is the parameter of this function, a <span class="emphasis"><em>placeholder</em></span> for the actual argument.
+ Within each iteration of <code class="literal">for_each</code>, the function is
+ called with an element of <code class="literal">a</code> as the actual argument.
+ This actual argument is substituted for the placeholder, and the &#8220;<span class="quote">body</span>&#8221; of the function is evaluated.
+ </p>
+<p>The essence of BLL is letting you define small unnamed function objects, such as the one above, directly on the call site of an STL algorithm.
+ </p>
+</div>
+<div class="bibliography">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="id2713747"></a>Bibliography</h2></div></div></div>
+<div class="biblioentry">
+<a name="cit:stepanov:94"></a><p>[<span class="abbrev">STL94</span>] <span class="authorgroup"><span class="firstname">A. A.</span> <span class="surname">Stepanov</span> and <span class="firstname">M.</span> <span class="surname">Lee</span>. </span><span class="title"><i>The Standard Template Library</i>. </span><span class="orgname">Hewlett-Packard Laboratories. </span><span class="pubdate">1994. </span><span class="bibliomisc"><a href="http://www.hpl.hp.com/techreports" target="_top">www.hpl.hp.com/techreports</a>. </span></p>
+</div>
+<div class="biblioentry">
+<a name="cit:sgi:02"></a><p>[<span class="abbrev">SGI02</span>] <span class="title"><i>The SGI Standard Template Library</i>. </span><span class="pubdate">2002. </span><span class="bibliomisc"><a href="http://www.sgi.com/tech/stl/" target="_top">www.sgi.com/tech/stl/</a>. </span></p>
+</div>
+<div class="biblioentry">
+<a name="cit:c++:98"></a><p>[<span class="abbrev">C++98</span>] <span class="title"><i>International Standard, Programming Languages &#8211; C++</i>. </span><span class="subtitle">ISO/IEC:14882. </span><span class="pubdate">1998. </span></p>
+</div>
+<div class="biblioentry">
+<a name="cit:jarvi:99"></a><p>[<span class="abbrev">Jär99</span>] <span class="articleinfo"><span class="author"><span class="firstname">Jaakko</span> <span class="surname">Järvi</span>. </span><span class="title"><i>C++ Function Object Binders Made Easy</i>. </span>. </span><span class="title"><i>Lecture Notes in Computer Science</i>. </span><span class="volumenum">1977. </span><span class="publishername">Springer. </span><span class="pubdate">2000. </span></p>
+</div>
+<div class="biblioentry">
+<a name="cit:jarvi:00"></a><p>[<span class="abbrev">Jär00</span>] <span class="author"><span class="firstname">Jaakko</span> <span class="surname">Järvi</span>. </span><span class="author"><span class="firstname">Gary</span> <span class="surname">Powell</span>. </span><span class="title"><i>The Lambda Library : Lambda Abstraction in C++</i>. </span><span class="orgname">Turku Centre for Computer Science. </span><span class="bibliomisc">Technical Report . </span><span class="issuenum">378. </span><span class="pubdate">2000. </span><span class="bibliomisc"><a href="http://www.tucs.fi/Publications/techreports/TR378.php" target="_top">www.tucs.fi/publications</a>. </span></p>
+</div>
+<div class="biblioentry">
+<a name="cit:jarvi:01"></a><p>[<span class="abbrev">Jär01</span>] <span class="author"><span class="firstname">Jaakko</span> <span class="surname">Järvi</span>. </span><span class="author"><span class="firstname">Gary</span> <span class="surname">Powell</span>. </span><span class="title"><i>The Lambda Library : Lambda Abstraction in C++</i>. </span><span class="confgroup"><span class="conftitle">Second Workshop on C++ Template Programming. </span><span class="address">Tampa Bay, OOPSLA'01. </span>. </span><span class="pubdate">2001. </span><span class="bibliomisc"><a href="http://www.oonumerics.org/tmpw01/" target="_top">www.oonumerics.org/tmpw01/</a>. </span></p>
+</div>
+<div class="biblioentry">
+<a name="cit:jarvi:03"></a><p>[<span class="abbrev">Jär03</span>] <span class="articleinfo"><span class="author"><span class="firstname">Jaakko</span> <span class="surname">Järvi</span>. </span><span class="author"><span class="firstname">Gary</span> <span class="surname">Powell</span>. </span><span class="author"><span class="firstname">Andrew</span> <span class="surname">Lumsdaine</span>. </span><span class="title"><i>The Lambda Library : unnamed functions in C++</i>. </span>. </span><span class="title"><i>Software - Practice and Expreience</i>. </span><span class="volumenum">33:259-291. </span><span class="pubdate">2003. </span></p>
+</div>
+<div class="biblioentry">
+<a name="cit:boost::tuple"></a><p>[<span class="abbrev">tuple</span>] <span class="title"><i>The Boost Tuple Library</i>. </span><span class="bibliomisc"><a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html" target="_top">www.boost.org/libs/tuple/doc/tuple_users_guide.html</a>. </span><span class="pubdate">2002. </span></p>
+</div>
+<div class="biblioentry">
+<a name="cit:boost::type_traits"></a><p>[<span class="abbrev">type_traits</span>] <span class="title"><i>The Boost type_traits</i>. </span><span class="bibliomisc"><a href="http://www.boost.org/libs/type_traits/index.htm" target="_top">www.boost.org/libs/type_traits/</a>. </span><span class="pubdate">2002. </span></p>
+</div>
+<div class="biblioentry">
+<a name="cit:boost::ref"></a><p>[<span class="abbrev">ref</span>] <span class="title"><i>Boost ref</i>. </span><span class="bibliomisc"><a href="http://www.boost.org/libs/bind/ref.html" target="_top">www.boost.org/libs/bind/ref.html</a>. </span><span class="pubdate">2002. </span></p>
+</div>
+<div class="biblioentry">
+<a name="cit:boost::bind"></a><p>[<span class="abbrev">bind</span>] <span class="title"><i>Boost Bind Library</i>. </span><span class="bibliomisc"><a href="http://www.boost.org/libs/bind/bind.html" target="_top">www.boost.org/libs/bind/bind.html</a>. </span><span class="pubdate">2002. </span></p>
+</div>
+<div class="biblioentry">
+<a name="cit:boost::function"></a><p>[<span class="abbrev">function</span>] <span class="title"><i>Boost Function Library</i>. </span><span class="bibliomisc"><a href="http://www.boost.org/libs/function/" target="_top">www.boost.org/libs/function/</a>. </span><span class="pubdate">2002. </span></p>
+</div>
+<div class="biblioentry">
+<a name="cit:fc++"></a><p>[<span class="abbrev">fc++</span>] <span class="title"><i>The FC++ library: Functional Programming in C++</i>. </span><span class="author"><span class="firstname">Yannis</span> <span class="surname">Smaragdakis</span>. </span><span class="author"><span class="firstname">Brian</span> <span class="surname">McNamara</span>. </span><span class="bibliomisc"><a href="http://www.cc.gatech.edu/~yannis/fc++/" target="_top">www.cc.gatech.edu/~yannis/fc++/</a>. </span><span class="pubdate">2002. </span></p>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: November 28, 2004 at 03:29:16 GMT</p></small></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hash/acknowledgements.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="lambda/getting_started.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/lambda/extending.html b/doc/html/lambda/extending.html
new file mode 100644
index 0000000000..3329dfd6d8
--- /dev/null
+++ b/doc/html/lambda/extending.html
@@ -0,0 +1,421 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Extending return type deduction system</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../lambda.html" title="Chapter 6. Boost.Lambda">
+<link rel="prev" href="le_in_details.html" title="Lambda expressions in details">
+<link rel="next" href="s07.html" title="Practical considerations">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="le_in_details.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../lambda.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="s07.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="lambda.extending"></a>Extending return type deduction system</h3></div></div></div>
+<p>
+
+In this section, we explain how to extend the return type deduction system
+to cover user defined operators.
+
+In many cases this is not necessary,
+as the BLL defines default return types for operators.
+
+For example, the default return type for all comparison operators is
+<code class="literal">bool</code>, and as long as the user defined comparison operators
+have a bool return type, there is no need to write new specializations
+for the return type deduction classes.
+
+Sometimes this cannot be avoided, though.
+
+</p>
+<p>
+The overloadable user defined operators are either unary or binary.
+
+For each arity, there are two traits templates that define the
+return types of the different operators.
+
+Hence, the return type system can be extended by providing more
+specializations for these templates.
+
+The templates for unary functors are
+
+<code class="literal">
+plain_return_type_1&lt;Action, A&gt;
+</code>
+
+and
+
+<code class="literal">
+return_type_1&lt;Action, A&gt;
+</code>, and
+
+<code class="literal">
+plain_return_type_2&lt;Action, A, B&gt;
+</code>
+
+and
+
+<code class="literal">
+return_type_2&lt;Action, A, B&gt;
+</code>
+
+respectively for binary functors.
+
+</p>
+<p>
+The first parameter (<code class="literal">Action</code>) to all these templates
+is the <span class="emphasis"><em>action</em></span> class, which specifies the operator.
+
+Operators with similar return type rules are grouped together into
+<span class="emphasis"><em>action groups</em></span>,
+and only the action class and action group together define the operator
+unambiguously.
+
+As an example, the action type
+<code class="literal">arithmetic_action&lt;plus_action&gt;</code> stands for
+<code class="literal">operator+</code>.
+
+The complete listing of different action types is shown in
+<a href="extending.html#table:actions" title="Table 6.2. Action types">Table 6.2, &#8220;Action types&#8221;</a>.
+</p>
+<p>
+The latter parameters, <code class="literal">A</code> in the unary case,
+or <code class="literal">A</code> and <code class="literal">B</code> in the binary case,
+stand for the argument types of the operator call.
+
+The two sets of templates,
+<code class="literal">plain_return_type_<em class="parameter"><code>n</code></em></code> and
+<code class="literal">return_type_<em class="parameter"><code>n</code></em></code>
+(<em class="parameter"><code>n</code></em> is 1 or 2) differ in the way how parameter types
+are presented to them.
+
+For the former templates, the parameter types are always provided as
+non-reference types, and do not have const or volatile qualifiers.
+
+This makes specializing easy, as commonly one specialization for each
+user defined operator, or operator group, is enough.
+
+On the other hand, if a particular operator is overloaded for different
+cv-qualifications of the same argument types,
+and the return types of these overloaded versions differ, a more fine-grained control is needed.
+
+Hence, for the latter templates, the parameter types preserve the
+cv-qualifiers, and are non-reference types as well.
+
+The downside is, that for an overloaded set of operators of the
+kind described above, one may end up needing up to
+16 <code class="literal">return_type_2</code> specializations.
+</p>
+<p>
+Suppose the user has overloaded the following operators for some user defined
+types <code class="literal">X</code>, <code class="literal">Y</code> and <code class="literal">Z</code>:
+
+</p>
+<pre class="programlisting">
+Z operator+(const X&amp;, const Y&amp;);
+Z operator-(const X&amp;, const Y&amp;);
+</pre>
+<p>
+
+Now, one can add a specialization stating, that if the left hand argument
+is of type <code class="literal">X</code>, and the right hand one of type
+<code class="literal">Y</code>, the return type of all such binary arithmetic
+operators is <code class="literal">Z</code>:
+
+</p>
+<pre class="programlisting">
+namespace boost {
+namespace lambda {
+
+template&lt;class Act&gt;
+struct plain_return_type_2&lt;arithmetic_action&lt;Act&gt;, X, Y&gt; {
+ typedef Z type;
+};
+
+}
+}
+</pre>
+<p>
+
+Having this specialization defined, BLL is capable of correctly
+deducing the return type of the above two operators.
+
+Note, that the specializations must be in the same namespace,
+<code class="literal">::boost::lambda</code>, with the primary template.
+
+For brevity, we do not show the namespace definitions in the examples below.
+</p>
+<p>
+It is possible to specialize on the level of an individual operator as well,
+in addition to providing a specialization for a group of operators.
+Say, we add a new arithmetic operator for argument types <code class="literal">X</code>
+and <code class="literal">Y</code>:
+
+</p>
+<pre class="programlisting">
+X operator*(const X&amp;, const Y&amp;);
+</pre>
+<p>
+
+Our first rule for all arithmetic operators specifies that the return
+type of this operator is <code class="literal">Z</code>,
+which obviously is not the case.
+Hence, we provide a new rule for the multiplication operator:
+
+</p>
+<pre class="programlisting">
+template&lt;&gt;
+struct plain_return_type_2&lt;arithmetic_action&lt;multiply_action&gt;, X, Y&gt; {
+ typedef X type;
+};
+</pre>
+<p>
+The specializations can define arbitrary mappings from the argument types
+to the return type.
+
+Suppose we have some mathematical vector type, templated on the element type:
+
+</p>
+<pre class="programlisting">
+template &lt;class T&gt; class my_vector;
+</pre>
+<p>
+
+Suppose the addition operator is defined between any two
+<code class="literal">my_vector</code> instantiations,
+as long as the addition operator is defined between their element types.
+
+Furthermore, the element type of the resulting <code class="literal">my_vector</code>
+is the same as the result type of the addition between the element types.
+
+E.g., adding <code class="literal">my_vector&lt;int&gt;</code> and
+<code class="literal">my_vector&lt;double&gt;</code> results in
+<code class="literal">my_vector&lt;double&gt;</code>.
+
+The BLL has traits classes to perform the implicit built-in and standard
+type conversions between integral, floating point, and complex classes.
+
+Using BLL tools, the addition operator described above can be defined as:
+
+</p>
+<pre class="programlisting">
+template&lt;class A, class B&gt;
+my_vector&lt;typename return_type_2&lt;arithmetic_action&lt;plus_action&gt;, A, B&gt;::type&gt;
+operator+(const my_vector&lt;A&gt;&amp; a, const my_vector&lt;B&gt;&amp; b)
+{
+ typedef typename
+ return_type_2&lt;arithmetic_action&lt;plus_action&gt;, A, B&gt;::type res_type;
+ return my_vector&lt;res_type&gt;();
+}
+</pre>
+<p>
+To allow BLL to deduce the type of <code class="literal">my_vector</code>
+additions correctly, we can define:
+
+</p>
+<pre class="programlisting">
+template&lt;class A, class B&gt;
+class plain_return_type_2&lt;arithmetic_action&lt;plus_action&gt;,
+ my_vector&lt;A&gt;, my_vector&lt;B&gt; &gt; {
+ typedef typename
+ return_type_2&lt;arithmetic_action&lt;plus_action&gt;, A, B&gt;::type res_type;
+public:
+ typedef my_vector&lt;res_type&gt; type;
+};
+</pre>
+<p>
+Note, that we are reusing the existing specializations for the
+BLL <code class="literal">return_type_2</code> template,
+which require that the argument types are references.
+</p>
+<div class="table">
+<a name="table:actions"></a><p class="title"><b>Table 6.2. Action types</b></p>
+<table class="table" summary="Action types">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><code class="literal">+</code></td>
+<td><code class="literal">arithmetic_action&lt;plus_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">-</code></td>
+<td><code class="literal">arithmetic_action&lt;minus_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">*</code></td>
+<td><code class="literal">arithmetic_action&lt;multiply_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">/</code></td>
+<td><code class="literal">arithmetic_action&lt;divide_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">%</code></td>
+<td><code class="literal">arithmetic_action&lt;remainder_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">+</code></td>
+<td><code class="literal">unary_arithmetic_action&lt;plus_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">-</code></td>
+<td><code class="literal">unary_arithmetic_action&lt;minus_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">&amp;</code></td>
+<td><code class="literal">bitwise_action&lt;and_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">|</code></td>
+<td><code class="literal">bitwise_action&lt;or_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">~</code></td>
+<td><code class="literal">bitwise_action&lt;not_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">^</code></td>
+<td><code class="literal">bitwise_action&lt;xor_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">&lt;&lt;</code></td>
+<td><code class="literal">bitwise_action&lt;leftshift_action_no_stream&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">&gt;&gt;</code></td>
+<td><code class="literal">bitwise_action&lt;rightshift_action_no_stream&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">&amp;&amp;</code></td>
+<td><code class="literal">logical_action&lt;and_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">||</code></td>
+<td><code class="literal">logical_action&lt;or_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">!</code></td>
+<td><code class="literal">logical_action&lt;not_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">&lt;</code></td>
+<td><code class="literal">relational_action&lt;less_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">&gt;</code></td>
+<td><code class="literal">relational_action&lt;greater_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">&lt;=</code></td>
+<td><code class="literal">relational_action&lt;lessorequal_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">&gt;=</code></td>
+<td><code class="literal">relational_action&lt;greaterorequal_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">==</code></td>
+<td><code class="literal">relational_action&lt;equal_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">!=</code></td>
+<td><code class="literal">relational_action&lt;notequal_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">+=</code></td>
+<td><code class="literal">arithmetic_assignment_action&lt;plus_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">-=</code></td>
+<td><code class="literal">arithmetic_assignment_action&lt;minus_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">*=</code></td>
+<td><code class="literal">arithmetic_assignment_action&lt;multiply_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">/=</code></td>
+<td><code class="literal">arithmetic_assignment_action&lt;divide_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">%=</code></td>
+<td><code class="literal">arithmetic_assignment_action&lt;remainder_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">&amp;=</code></td>
+<td><code class="literal">bitwise_assignment_action&lt;and_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">=|</code></td>
+<td><code class="literal">bitwise_assignment_action&lt;or_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">^=</code></td>
+<td><code class="literal">bitwise_assignment_action&lt;xor_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">&lt;&lt;=</code></td>
+<td><code class="literal">bitwise_assignment_action&lt;leftshift_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">&gt;&gt;=</code></td>
+<td><code class="literal">bitwise_assignment_action&lt;rightshift_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">++</code></td>
+<td><code class="literal">pre_increment_decrement_action&lt;increment_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">--</code></td>
+<td><code class="literal">pre_increment_decrement_action&lt;decrement_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">++</code></td>
+<td><code class="literal">post_increment_decrement_action&lt;increment_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">--</code></td>
+<td><code class="literal">post_increment_decrement_action&lt;decrement_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">&amp;</code></td>
+<td><code class="literal">other_action&lt;address_of_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">*</code></td>
+<td><code class="literal">other_action&lt;contents_of_action&gt;</code></td>
+</tr>
+<tr>
+<td><code class="literal">,</code></td>
+<td><code class="literal">other_action&lt;comma_action&gt;</code></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 1999-2004 Jaakko Järvi, Gary Powell</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="le_in_details.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../lambda.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="s07.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/lambda/getting_started.html b/doc/html/lambda/getting_started.html
new file mode 100644
index 0000000000..1d056f4fbf
--- /dev/null
+++ b/doc/html/lambda/getting_started.html
@@ -0,0 +1,102 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Getting Started</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../lambda.html" title="Chapter 6. Boost.Lambda">
+<link rel="prev" href="../lambda.html" title="Chapter 6. Boost.Lambda">
+<link rel="next" href="s03.html" title="Introduction">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../lambda.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../lambda.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="s03.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="lambda.getting_started"></a>Getting Started</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="getting_started.html#id2707059">Installing the library</a></span></dt>
+<dt><span class="section"><a href="getting_started.html#id2707319">Conventions used in this document</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2707059"></a>Installing the library</h4></div></div></div>
+<p>
+ The library consists of include files only, hence there is no
+ installation procedure. The <code class="literal">boost</code> include directory
+ must be on the include path.
+ There are a number of include files that give different functionality:
+
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="filename">lambda/lambda.hpp</code> defines lambda expressions for different C++
+ operators, see <a href="le_in_details.html#lambda.operator_expressions" title="Operator expressions">the section called &#8220;Operator expressions&#8221;</a>.
+ </p></li>
+<li><p><code class="filename">lambda/bind.hpp</code> defines <code class="literal">bind</code> functions for up to 9 arguments, see <a href="le_in_details.html#lambda.bind_expressions" title="Bind expressions">the section called &#8220;Bind expressions&#8221;</a>.</p></li>
+<li><p><code class="filename">lambda/if.hpp</code> defines lambda function equivalents for if statements and the conditional operator, see <a href="le_in_details.html#lambda.lambda_expressions_for_control_structures" title="Lambda expressions for control structures">the section called &#8220;Lambda expressions for control structures&#8221;</a> (includes <code class="filename">lambda.hpp</code>).
+ </p></li>
+<li><p><code class="filename">lambda/loops.hpp</code> defines lambda function equivalent for looping constructs, see <a href="le_in_details.html#lambda.lambda_expressions_for_control_structures" title="Lambda expressions for control structures">the section called &#8220;Lambda expressions for control structures&#8221;</a>.
+ </p></li>
+<li><p><code class="filename">lambda/switch.hpp</code> defines lambda function equivalent for the switch statement, see <a href="le_in_details.html#lambda.lambda_expressions_for_control_structures" title="Lambda expressions for control structures">the section called &#8220;Lambda expressions for control structures&#8221;</a>.
+ </p></li>
+<li><p><code class="filename">lambda/construct.hpp</code> provides tools for writing lambda expressions with constructor, destructor, new and delete invocations, see <a href="le_in_details.html#lambda.construction_and_destruction" title="Construction and destruction">the section called &#8220;Construction and destruction&#8221;</a> (includes <code class="filename">lambda.hpp</code>).
+ </p></li>
+<li><p><code class="filename">lambda/casts.hpp</code> provides lambda versions of different casts, as well as <code class="literal">sizeof</code> and <code class="literal">typeid</code>, see <a href="le_in_details.html#lambda.cast_expressions" title="
+Cast expressions
+">the section called &#8220;
+Cast expressions
+&#8221;</a>.
+ </p></li>
+<li><p><code class="filename">lambda/exceptions.hpp</code> gives tools for throwing and catching
+ exceptions within lambda functions, <a href="le_in_details.html#lambda.exceptions" title="Exceptions">the section called &#8220;Exceptions&#8221;</a> (includes
+ <code class="filename">lambda.hpp</code>).
+ </p></li>
+<li><p><code class="filename">lambda/algorithm.hpp</code> and <code class="filename">lambda/numeric.hpp</code> (cf. standard <code class="filename">algortihm</code> and <code class="filename">numeric</code> headers) allow nested STL algorithm invocations, see <a href="le_in_details.html#lambda.nested_stl_algorithms" title="Nesting STL algorithm invocations">the section called &#8220;Nesting STL algorithm invocations&#8221;</a>.
+ </p></li>
+</ul></div>
+<p>
+
+ Any other header files in the package are for internal use.
+ Additionally, the library depends on two other Boost Libraries, the
+ <span class="emphasis"><em>Tuple</em></span>[<a href="../lambda.html#cit:boost::tuple" title="[tuple]"><span class="abbrev">tuple</span></a>] and the <span class="emphasis"><em>type_traits</em></span>[<a href="../lambda.html#cit:boost::type_traits" title="[type_traits]"><span class="abbrev">type_traits</span></a>] libraries, and on the <code class="filename">boost/ref.hpp</code> header.
+ </p>
+<p>
+ All definitions are placed in the namespace <code class="literal">boost::lambda</code> and its subnamespaces.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2707319"></a>Conventions used in this document</h4></div></div></div>
+<p>In most code examples, we omit the namespace prefixes for names in the <code class="literal">std</code> and <code class="literal">boost::lambda</code> namespaces.
+Implicit using declarations
+</p>
+<pre class="programlisting">
+using namespace std;
+using namespace boost::lambda;
+</pre>
+<p>
+are assumed to be in effect.
+</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 1999-2004 Jaakko Järvi, Gary Powell</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../lambda.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../lambda.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="s03.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/lambda/le_in_details.html b/doc/html/lambda/le_in_details.html
new file mode 100644
index 0000000000..999040fbb9
--- /dev/null
+++ b/doc/html/lambda/le_in_details.html
@@ -0,0 +1,1614 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Lambda expressions in details</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../lambda.html" title="Chapter 6. Boost.Lambda">
+<link rel="prev" href="using_library.html" title="Using the library">
+<link rel="next" href="extending.html" title="Extending return type deduction system">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="using_library.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../lambda.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="extending.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="lambda.le_in_details"></a>Lambda expressions in details</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="le_in_details.html#lambda.placeholders">Placeholders</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#lambda.operator_expressions">Operator expressions</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#lambda.bind_expressions">Bind expressions</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#lambda.overriding_deduced_return_type">Overriding the deduced return type</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#lambda.delaying_constants_and_variables">Delaying constants and variables</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#lambda.lambda_expressions_for_control_structures">Lambda expressions for control structures</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#lambda.exceptions">Exceptions</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#lambda.construction_and_destruction">Construction and destruction</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#id2711160">Special lambda expressions</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#id2711604">Casts, sizeof and typeid</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#lambda.nested_stl_algorithms">Nesting STL algorithm invocations</a></span></dt>
+</dl></div>
+<p>
+This section describes different categories of lambda expressions in details.
+We devote a separate section for each of the possible forms of a lambda expression.
+
+
+</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="lambda.placeholders"></a>Placeholders</h4></div></div></div>
+<p>
+The BLL defines three placeholder types: <code class="literal">placeholder1_type</code>, <code class="literal">placeholder2_type</code> and <code class="literal">placeholder3_type</code>.
+BLL has a predefined placeholder variable for each placeholder type: <code class="literal">_1</code>, <code class="literal">_2</code> and <code class="literal">_3</code>.
+However, the user is not forced to use these placeholders.
+It is easy to define placeholders with alternative names.
+This is done by defining new variables of placeholder types.
+For example:
+
+</p>
+<pre class="programlisting">boost::lambda::placeholder1_type X;
+boost::lambda::placeholder2_type Y;
+boost::lambda::placeholder3_type Z;
+</pre>
+<p>
+
+With these variables defined, <code class="literal">X += Y * Z</code> is equivalent to <code class="literal">_1 += _2 * _3</code>.
+</p>
+<p>
+The use of placeholders in the lambda expression determines whether the resulting function is nullary, unary, binary or 3-ary.
+The highest placeholder index is decisive. For example:
+
+</p>
+<pre class="programlisting">
+_1 + 5 // unary
+_1 * _1 + _1 // unary
+_1 + _2 // binary
+bind(f, _1, _2, _3) // 3-ary
+_3 + 10 // 3-ary
+</pre>
+<p>
+
+Note that the last line creates a 3-ary function, which adds <code class="literal">10</code> to its <span class="emphasis"><em>third</em></span> argument.
+The first two arguments are discarded.
+Furthermore, lambda functors only have a minimum arity.
+One can always provide more arguments (up the number of supported placeholders)
+that is really needed.
+The remaining arguments are just discarded.
+For example:
+
+</p>
+<pre class="programlisting">
+int i, j, k;
+_1(i, j, k) // returns i, discards j and k
+(_2 + _2)(i, j, k) // returns j+j, discards i and k
+</pre>
+<p>
+
+See
+<a href="../apa.html#lambda.why_weak_arity" title="
+Lambda functor arity
+">the section called &#8220;
+Lambda functor arity
+&#8221;</a> for the design rationale behind this
+functionality.
+
+</p>
+<p>
+In addition to these three placeholder types, there is also a fourth placeholder type <code class="literal">placeholderE_type</code>.
+The use of this placeholder is defined in <a href="le_in_details.html#lambda.exceptions" title="Exceptions">the section called &#8220;Exceptions&#8221;</a> describing exception handling in lambda expressions.
+</p>
+<p>When an actual argument is supplied for a placeholder, the parameter passing mode is always by reference.
+This means that any side-effects to the placeholder are reflected to the actual argument.
+For example:
+
+
+</p>
+<pre class="programlisting">
+int i = 1;
+(_1 += 2)(i); // i is now 3
+(++_1, cout &lt;&lt; _1)(i) // i is now 4, outputs 4
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="lambda.operator_expressions"></a>Operator expressions</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="le_in_details.html#id2708718">Operators that cannot be overloaded</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#lambda.assignment_and_subscript">Assignment and subscript operators</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#lambda.logical_operators">Logical operators</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#lambda.comma_operator">Comma operator</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#lambda.function_call_operator">Function call operator</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#lambda.member_pointer_operator">Member pointer operator</a></span></dt>
+</dl></div>
+<p>
+The basic rule is that any C++ operator invocation with at least one argument being a lambda expression is itself a lambda expression.
+Almost all overloadable operators are supported.
+For example, the following is a valid lambda expression:
+
+</p>
+<pre class="programlisting">cout &lt;&lt; _1, _2[_3] = _1 &amp;&amp; false</pre>
+<p>
+However, there are some restrictions that originate from the C++ operator overloading rules, and some special cases.
+</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2708718"></a>Operators that cannot be overloaded</h5></div></div></div>
+<p>
+Some operators cannot be overloaded at all (<code class="literal">::</code>, <code class="literal">.</code>, <code class="literal">.*</code>).
+For some operators, the requirements on return types prevent them to be overloaded to create lambda functors.
+These operators are <code class="literal">-&gt;.</code>, <code class="literal">-&gt;</code>, <code class="literal">new</code>, <code class="literal">new[]</code>, <code class="literal">delete</code>, <code class="literal">delete[]</code> and <code class="literal">?:</code> (the conditional operator).
+</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="lambda.assignment_and_subscript"></a>Assignment and subscript operators</h5></div></div></div>
+<p>
+These operators must be implemented as class members.
+Consequently, the left operand must be a lambda expression. For example:
+
+</p>
+<pre class="programlisting">
+int i;
+_1 = i; // ok
+i = _1; // not ok. i is not a lambda expression
+</pre>
+<p>
+
+There is a simple solution around this limitation, described in <a href="le_in_details.html#lambda.delaying_constants_and_variables" title="Delaying constants and variables">the section called &#8220;Delaying constants and variables&#8221;</a>.
+In short,
+the left hand argument can be explicitly turned into a lambda functor by wrapping it with a special <code class="literal">var</code> function:
+</p>
+<pre class="programlisting">
+var(i) = _1; // ok
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="lambda.logical_operators"></a>Logical operators</h5></div></div></div>
+<p>
+Logical operators obey the short-circuiting evaluation rules. For example, in the following code, <code class="literal">i</code> is never incremented:
+</p>
+<pre class="programlisting">
+bool flag = true; int i = 0;
+(_1 || ++_2)(flag, i);
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="lambda.comma_operator"></a>Comma operator</h5></div></div></div>
+<p>
+Comma operator is the &#8220;<span class="quote">statement separator</span>&#8221; in lambda expressions.
+Since comma is also the separator between arguments in a function call, extra parenthesis are sometimes needed:
+
+</p>
+<pre class="programlisting">
+for_each(a.begin(), a.end(), (++_1, cout &lt;&lt; _1));
+</pre>
+<p>
+
+Without the extra parenthesis around <code class="literal">++_1, cout &lt;&lt; _1</code>, the code would be interpreted as an attempt to call <code class="literal">for_each</code> with four arguments.
+</p>
+<p>
+The lambda functor created by the comma operator adheres to the C++ rule of always evaluating the left operand before the right one.
+In the above example, each element of <code class="literal">a</code> is first incremented, then written to the stream.
+</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="lambda.function_call_operator"></a>Function call operator</h5></div></div></div>
+<p>
+The function call operators have the effect of evaluating the lambda
+functor.
+Calls with too few arguments lead to a compile time error.
+</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="lambda.member_pointer_operator"></a>Member pointer operator</h5></div></div></div>
+<p>
+The member pointer operator <code class="literal">operator-&gt;*</code> can be overloaded freely.
+Hence, for user defined types, member pointer operator is no special case.
+The built-in meaning, however, is a somewhat more complicated case.
+The built-in member pointer operator is applied if the left argument is a pointer to an object of some class <code class="literal">A</code>, and the right hand argument is a pointer to a member of <code class="literal">A</code>, or a pointer to a member of a class from which <code class="literal">A</code> derives.
+We must separate two cases:
+
+</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<p>The right hand argument is a pointer to a data member.
+In this case the lambda functor simply performs the argument substitution and calls the built-in member pointer operator, which returns a reference to the member pointed to.
+For example:
+</p>
+<pre class="programlisting">
+struct A { int d; };
+A* a = new A();
+ ...
+(a -&gt;* &amp;A::d); // returns a reference to a-&gt;d
+(_1 -&gt;* &amp;A::d)(a); // likewise
+</pre>
+</li>
+<li>
+<p>
+The right hand argument is a pointer to a member function.
+For a built-in call like this, the result is kind of a delayed member function call.
+Such an expression must be followed by a function argument list, with which the delayed member function call is performed.
+For example:
+</p>
+<pre class="programlisting">
+struct B { int foo(int); };
+B* b = new B();
+ ...
+(b -&gt;* &amp;B::foo) // returns a delayed call to b-&gt;foo
+ // a function argument list must follow
+(b -&gt;* &amp;B::foo)(1) // ok, calls b-&gt;foo(1)
+
+(_1 -&gt;* &amp;B::foo)(b); // returns a delayed call to b-&gt;foo,
+ // no effect as such
+(_1 -&gt;* &amp;B::foo)(b)(1); // calls b-&gt;foo(1)
+</pre>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="lambda.bind_expressions"></a>Bind expressions</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="le_in_details.html#lambda.function_pointers_as_targets">Function pointers or references as targets</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#member_functions_as_targets">Member functions as targets</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#lambda.members_variables_as_targets">Member variables as targets</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#lambda.function_objects_as_targets">Function objects as targets</a></span></dt>
+</dl></div>
+<p>
+Bind expressions can have two forms:
+
+</p>
+<pre class="programlisting">
+bind(<em class="parameter"><code>target-function</code></em>, <em class="parameter"><code>bind-argument-list</code></em>)
+bind(<em class="parameter"><code>target-member-function</code></em>, <em class="parameter"><code>object-argument</code></em>, <em class="parameter"><code>bind-argument-list</code></em>)
+</pre>
+<p>
+
+A bind expression delays the call of a function.
+If this <span class="emphasis"><em>target function</em></span> is <span class="emphasis"><em>n</em></span>-ary, then the <code class="literal"><span class="emphasis"><em>bind-argument-list</em></span></code> must contain <span class="emphasis"><em>n</em></span> arguments as well.
+In the current version of the BLL, 0 &lt;= n &lt;= 9 must hold.
+For member functions, the number of arguments must be at most 8, as the object argument takes one argument position.
+
+Basically, the
+<span class="emphasis"><em><code class="literal">bind-argument-list</code></em></span> must be a valid argument list for the target function, except that any argument can be replaced with a placeholder, or more generally, with a lambda expression.
+Note that also the target function can be a lambda expression.
+
+The result of a bind expression is either a nullary, unary, binary or 3-ary function object depending on the use of placeholders in the <span class="emphasis"><em><code class="literal">bind-argument-list</code></em></span> (see <a href="le_in_details.html#lambda.placeholders" title="Placeholders">the section called &#8220;Placeholders&#8221;</a>).
+</p>
+<p>
+The return type of the lambda functor created by the bind expression can be given as an explicitly specified template parameter, as in the following example:
+</p>
+<pre class="programlisting">
+bind&lt;<span class="emphasis"><em>RET</em></span>&gt;(<span class="emphasis"><em>target-function</em></span>, <span class="emphasis"><em>bind-argument-list</em></span>)
+</pre>
+<p>
+This is only necessary if the return type of the target function cannot be deduced.
+</p>
+<p>
+The following sections describe the different types of bind expressions.
+</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="lambda.function_pointers_as_targets"></a>Function pointers or references as targets</h5></div></div></div>
+<p>The target function can be a pointer or a reference to a function and it can be either bound or unbound. For example:
+</p>
+<pre class="programlisting">
+X foo(A, B, C); A a; B b; C c;
+bind(foo, _1, _2, c)(a, b);
+bind(&amp;foo, _1, _2, c)(a, b);
+bind(_1, a, b, c)(foo);
+</pre>
+<p>
+
+The return type deduction always succeeds with this type of bind expressions.
+</p>
+<p>
+Note, that in C++ it is possible to take the address of an overloaded function only if the address is assigned to, or used as an initializer of, a variable, the type of which solves the amibiguity, or if an explicit cast expression is used.
+This means that overloaded functions cannot be used in bind expressions directly, e.g.:
+</p>
+<pre class="programlisting">
+void foo(int);
+void foo(float);
+int i;
+ ...
+bind(&amp;foo, _1)(i); // error
+ ...
+void (*pf1)(int) = &amp;foo;
+bind(pf1, _1)(i); // ok
+bind(static_cast&lt;void(*)(int)&gt;(&amp;foo), _1)(i); // ok
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="member_functions_as_targets"></a>Member functions as targets</h5></div></div></div>
+<p>
+The syntax for using pointers to member function in bind expression is:
+</p>
+<pre class="programlisting">
+bind(<em class="parameter"><code>target-member-function</code></em>, <em class="parameter"><code>object-argument</code></em>, <em class="parameter"><code>bind-argument-list</code></em>)
+</pre>
+<p>
+
+The object argument can be a reference or pointer to the object, the BLL supports both cases with a uniform interface:
+
+</p>
+<pre class="programlisting">
+bool A::foo(int) const;
+A a;
+vector&lt;int&gt; ints;
+ ...
+find_if(ints.begin(), ints.end(), bind(&amp;A::foo, a, _1));
+find_if(ints.begin(), ints.end(), bind(&amp;A::foo, &amp;a, _1));
+</pre>
+<p>
+
+Similarly, if the object argument is unbound, the resulting lambda functor can be called both via a pointer or a reference:
+
+</p>
+<pre class="programlisting">
+bool A::foo(int);
+list&lt;A&gt; refs;
+list&lt;A*&gt; pointers;
+ ...
+find_if(refs.begin(), refs.end(), bind(&amp;A::foo, _1, 1));
+find_if(pointers.begin(), pointers.end(), bind(&amp;A::foo, _1, 1));
+</pre>
+<p>
+Even though the interfaces are the same, there are important semantic differences between using a pointer or a reference as the object argument.
+The differences stem from the way <code class="literal">bind</code>-functions take their parameters, and how the bound parameters are stored within the lambda functor.
+The object argument has the same parameter passing and storing mechanism as any other bind argument slot (see <a href="using_library.html#lambda.storing_bound_arguments" title="Storing bound arguments in lambda functions">the section called &#8220;Storing bound arguments in lambda functions&#8221;</a>); it is passed as a const reference and stored as a const copy in the lambda functor.
+This creates some asymmetry between the lambda functor and the original member function, and between seemingly similar lambda functors. For example:
+</p>
+<pre class="programlisting">
+class A {
+ int i; mutable int j;
+public:
+
+ A(int ii, int jj) : i(ii), j(jj) {};
+ void set_i(int x) { i = x; };
+ void set_j(int x) const { j = x; };
+};
+</pre>
+<p>
+
+When a pointer is used, the behavior is what the programmer might expect:
+
+</p>
+<pre class="programlisting">
+A a(0,0); int k = 1;
+bind(&amp;A::set_i, &amp;a, _1)(k); // a.i == 1
+bind(&amp;A::set_j, &amp;a, _1)(k); // a.j == 1
+</pre>
+<p>
+
+Even though a const copy of the object argument is stored, the original object <code class="literal">a</code> is still modified.
+This is since the object argument is a pointer, and the pointer is copied, not the object it points to.
+When we use a reference, the behaviour is different:
+
+</p>
+<pre class="programlisting">
+A a(0,0); int k = 1;
+bind(&amp;A::set_i, a, _1)(k); // error; a const copy of a is stored.
+ // Cannot call a non-const function set_i
+bind(&amp;A::set_j, a, _1)(k); // a.j == 0, as a copy of a is modified
+</pre>
+<p>
+To prevent the copying from taking place, one can use the <code class="literal">ref</code> or <code class="literal">cref</code> wrappers (<code class="literal">var</code> and <code class="literal">constant_ref</code> would do as well):
+</p>
+<pre class="programlisting">
+bind(&amp;A::set_i, ref(a), _1)(k); // a.j == 1
+bind(&amp;A::set_j, cref(a), _1)(k); // a.j == 1
+</pre>
+<p>Note that the preceding discussion is relevant only for bound arguments.
+If the object argument is unbound, the parameter passing mode is always by reference.
+Hence, the argument <code class="literal">a</code> is not copied in the calls to the two lambda functors below:
+</p>
+<pre class="programlisting">
+A a(0,0);
+bind(&amp;A::set_i, _1, 1)(a); // a.i == 1
+bind(&amp;A::set_j, _1, 1)(a); // a.j == 1
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="lambda.members_variables_as_targets"></a>Member variables as targets</h5></div></div></div>
+<p>
+A pointer to a member variable is not really a function, but
+the first argument to the <code class="literal">bind</code> function can nevertheless
+be a pointer to a member variable.
+Invoking such a bind expression returns a reference to the data member.
+For example:
+
+</p>
+<pre class="programlisting">
+struct A { int data; };
+A a;
+bind(&amp;A::data, _1)(a) = 1; // a.data == 1
+</pre>
+<p>
+
+The cv-qualifiers of the object whose member is accessed are respected.
+For example, the following tries to write into a const location:
+</p>
+<pre class="programlisting">
+const A ca = a;
+bind(&amp;A::data, _1)(ca) = 1; // error
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="lambda.function_objects_as_targets"></a>Function objects as targets</h5></div></div></div>
+<p>
+
+Function objects, that is, class objects which have the function call
+operator defined, can be used as target functions.
+
+In general, BLL cannot deduce the return type of an arbitrary function object.
+
+However, there are two methods for giving BLL this capability for a certain
+function object class.
+
+</p>
+<div class="simplesect" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="id2709396"></a>The result_type typedef</h6></div></div></div>
+<p>
+
+The BLL supports the standard library convention of declaring the return type
+of a function object with a member typedef named <code class="literal">result_type</code> in the
+function object class.
+
+Here is a simple example:
+</p>
+<pre class="programlisting">
+struct A {
+ typedef B result_type;
+ B operator()(X, Y, Z);
+};
+</pre>
+<p>
+
+If a function object does not define a <code class="literal">result_type</code> typedef,
+the method described below (<code class="literal">sig</code> template)
+is attempted to resolve the return type of the
+function object. If a function object defines both <code class="literal">result_type</code>
+and <code class="literal">sig</code>, <code class="literal">result_type</code> takes precedence.
+
+</p>
+</div>
+<div class="simplesect" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="id2709451"></a>The sig template</h6></div></div></div>
+<p>
+Another mechanism that make BLL aware of the return type(s) of a function object is defining
+member template struct
+<code class="literal">sig&lt;Args&gt;</code> with a typedef
+<code class="literal">type</code> that specifies the return type.
+
+Here is a simple example:
+</p>
+<pre class="programlisting">
+struct A {
+ template &lt;class Args&gt; struct sig { typedef B type; }
+ B operator()(X, Y, Z);
+};
+</pre>
+<p>
+
+The template argument <code class="literal">Args</code> is a
+<code class="literal">tuple</code> (or more precisely a <code class="literal">cons</code> list)
+type [<a href="../lambda.html#cit:boost::tuple" title="[tuple]"><span class="abbrev">tuple</span></a>], where the first element
+is the function
+object type itself, and the remaining elements are the types of
+the arguments, with which the function object is being called.
+
+This may seem overly complex compared to defining the <code class="literal">result_type</code> typedef.
+Howver, there are two significant restrictions with using just a simple
+typedef to express the return type:
+</p>
+<div class="orderedlist"><ol type="1">
+<li><p>
+If the function object defines several function call operators, there is no way to specify different result types for them.
+</p></li>
+<li><p>
+If the function call operator is a template, the result type may
+depend on the template parameters.
+Hence, the typedef ought to be a template too, which the C++ language
+does not support.
+</p></li>
+</ol></div>
+<p>
+
+The following code shows an example, where the return type depends on the type
+of one of the arguments, and how that dependency can be expressed with the
+<code class="literal">sig</code> template:
+
+</p>
+<pre class="programlisting">
+struct A {
+
+ // the return type equals the third argument type:
+ template&lt;class T1, class T2, class T3&gt;
+ T3 operator()(const T1&amp; t1, const T2&amp; t2, const T3&amp; t3) const;
+
+ template &lt;class Args&gt;
+ class sig {
+ // get the third argument type (4th element)
+ typedef typename
+ boost::tuples::element&lt;3, Args&gt;::type T3;
+ public:
+ typedef typename
+ boost::remove_cv&lt;T3&gt;::type type;
+ };
+};
+</pre>
+<p>
+
+
+The elements of the <code class="literal">Args</code> tuple are always
+non-reference types.
+
+Moreover, the element types can have a const or volatile qualifier
+(jointly referred to as <span class="emphasis"><em>cv-qualifiers</em></span>), or both.
+This is since the cv-qualifiers in the arguments can affect the return type.
+The reason for including the potentially cv-qualified function object
+type itself into the <code class="literal">Args</code> tuple, is that the function
+object class can contain both const and non-const (or volatile, even
+const volatile) function call operators, and they can each have a different
+return type.
+</p>
+<p>
+The <code class="literal">sig</code> template can be seen as a
+<span class="emphasis"><em>meta-function</em></span> that maps the argument type tuple to
+the result type of the call made with arguments of the types in the tuple.
+
+As the example above demonstrates, the template can end up being somewhat
+complex.
+Typical tasks to be performed are the extraction of the relevant types
+from the tuple, removing cv-qualifiers etc.
+See the Boost type_traits [<a href="../lambda.html#cit:boost::type_traits" title="[type_traits]"><span class="abbrev">type_traits</span></a>] and
+Tuple [<a href="../lambda.html#cit:boost::type_traits" title="[type_traits]"><span class="abbrev">type_traits</span></a>] libraries
+for tools that can aid in these tasks.
+The <code class="literal">sig</code> templates are a refined version of a similar
+mechanism first introduced in the FC++ library
+[<a href="../lambda.html#cit:fc++" title="[fc++]"><span class="abbrev">fc++</span></a>].
+</p>
+</div>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="lambda.overriding_deduced_return_type"></a>Overriding the deduced return type</h4></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="le_in_details.html#lambda.nullary_functors_and_ret">Nullary lambda functors and ret</a></span></dt></dl></div>
+<p>
+The return type deduction system may not be able to deduce the return types of some user defined operators or bind expressions with class objects.
+
+A special lambda expression type is provided for stating the return type explicitly and overriding the deduction system.
+To state that the return type of the lambda functor defined by the lambda expression <code class="literal">e</code> is <code class="literal">T</code>, you can write:
+
+</p>
+<pre class="programlisting">ret&lt;T&gt;(e);</pre>
+<p>
+
+The effect is that the return type deduction is not performed for the lambda expression <code class="literal">e</code> at all, but instead, <code class="literal">T</code> is used as the return type.
+Obviously <code class="literal">T</code> cannot be an arbitrary type, the true result of the lambda functor must be implicitly convertible to <code class="literal">T</code>.
+For example:
+
+</p>
+<pre class="programlisting">
+A a; B b;
+C operator+(A, B);
+int operator*(A, B);
+ ...
+ret&lt;D&gt;(_1 + _2)(a, b); // error (C cannot be converted to D)
+ret&lt;C&gt;(_1 + _2)(a, b); // ok
+ret&lt;float&gt;(_1 * _2)(a, b); // ok (int can be converted to float)
+ ...
+struct X {
+ Y operator(int)();
+};
+ ...
+X x; int i;
+bind(x, _1)(i); // error, return type cannot be deduced
+ret&lt;Y&gt;(bind(x, _1))(i); // ok
+</pre>
+<p>
+For bind expressions, there is a short-hand notation that can be used instead of <code class="literal">ret</code>.
+The last line could alternatively be written as:
+
+</p>
+<pre class="programlisting">bind&lt;Z&gt;(x, _1)(i);</pre>
+<p>
+This feature is modeled after the Boost Bind library [<a href="../lambda.html#cit:boost::bind" title="[bind]"><span class="abbrev">bind</span></a>].
+
+</p>
+<p>Note that within nested lambda expressions,
+the <code class="literal">ret</code> must be used at each subexpression where
+the deduction would otherwise fail.
+For example:
+</p>
+<pre class="programlisting">
+A a; B b;
+C operator+(A, B); D operator-(C);
+ ...
+ret&lt;D&gt;( - (_1 + _2))(a, b); // error
+ret&lt;D&gt;( - ret&lt;C&gt;(_1 + _2))(a, b); // ok
+</pre>
+<p>If you find yourself using <code class="literal">ret</code> repeatedly with the same types, it is worth while extending the return type deduction (see <a href="extending.html" title="Extending return type deduction system">the section called &#8220;Extending return type deduction system&#8221;</a>).
+</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="lambda.nullary_functors_and_ret"></a>Nullary lambda functors and ret</h5></div></div></div>
+<p>
+As stated above, the effect of <code class="literal">ret</code> is to prevent the return type deduction to be performed.
+However, there is an exception.
+Due to the way the C++ template instantiation works, the compiler is always forced to instantiate the return type deduction templates for zero-argument lambda functors.
+This introduces a slight problem with <code class="literal">ret</code>, best described with an example:
+
+</p>
+<pre class="programlisting">
+struct F { int operator()(int i) const; };
+F f;
+ ...
+bind(f, _1); // fails, cannot deduce the return type
+ret&lt;int&gt;(bind(f, _1)); // ok
+ ...
+bind(f, 1); // fails, cannot deduce the return type
+ret&lt;int&gt;(bind(f, 1)); // fails as well!
+</pre>
+<p>
+The BLL cannot deduce the return types of the above bind calls, as <code class="literal">F</code> does not define the typedef <code class="literal">result_type</code>.
+One would expect <code class="literal">ret</code> to fix this, but for the nullary lambda functor that results from a bind expression (last line above) this does not work.
+The return type deduction templates are instantiated, even though it would not be necessary and the result is a compilation error.
+</p>
+<p>The solution to this is not to use the <code class="literal">ret</code> function, but rather define the return type as an explicitly specified template parameter in the <code class="literal">bind</code> call:
+</p>
+<pre class="programlisting">
+bind&lt;int&gt;(f, 1); // ok
+</pre>
+<p>
+
+The lambda functors created with
+<code class="literal">ret&lt;<em class="parameter"><code>T</code></em>&gt;(bind(<em class="parameter"><code>arg-list</code></em>))</code> and
+<code class="literal">bind&lt;<em class="parameter"><code>T</code></em>&gt;(<em class="parameter"><code>arg-list</code></em>)</code> have the exact same functionality &#8212;
+apart from the fact that for some nullary lambda functors the former does not work while the latter does.
+</p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="lambda.delaying_constants_and_variables"></a>Delaying constants and variables</h4></div></div></div>
+<p>
+The unary functions <code class="literal">constant</code>,
+<code class="literal">constant_ref</code> and <code class="literal">var</code> turn their argument into a lambda functor, that implements an identity mapping.
+The former two are for constants, the latter for variables.
+The use of these <span class="emphasis"><em>delayed</em></span> constants and variables is sometimes necessary due to the lack of explicit syntax for lambda expressions.
+For example:
+</p>
+<pre class="programlisting">
+for_each(a.begin(), a.end(), cout &lt;&lt; _1 &lt;&lt; ' ');
+for_each(a.begin(), a.end(), cout &lt;&lt; ' ' &lt;&lt; _1);
+</pre>
+<p>
+The first line outputs the elements of <code class="literal">a</code> separated by spaces, while the second line outputs a space followed by the elements of <code class="literal">a</code> without any separators.
+The reason for this is that neither of the operands of
+<code class="literal">cout &lt;&lt; ' '</code> is a lambda expression, hence <code class="literal">cout &lt;&lt; ' '</code> is evaluated immediately.
+
+To delay the evaluation of <code class="literal">cout &lt;&lt; ' '</code>, one of the operands must be explicitly marked as a lambda expression.
+This is accomplished with the <code class="literal">constant</code> function:
+</p>
+<pre class="programlisting">
+for_each(a.begin(), a.end(), cout &lt;&lt; constant(' ') &lt;&lt; _1);
+</pre>
+<p>
+
+The call <code class="literal">constant(' ')</code> creates a nullary lambda functor which stores the character constant <code class="literal">' '</code>
+and returns a reference to it when invoked.
+The function <code class="literal">constant_ref</code> is similar, except that it
+stores a constant reference to its argument.
+
+The <code class="literal">constant</code> and <code class="literal">consant_ref</code> are only
+needed when the operator call has side effects, like in the above example.
+</p>
+<p>
+Sometimes we need to delay the evaluation of a variable.
+Suppose we wanted to output the elements of a container in a numbered list:
+
+</p>
+<pre class="programlisting">
+int index = 0;
+for_each(a.begin(), a.end(), cout &lt;&lt; ++index &lt;&lt; ':' &lt;&lt; _1 &lt;&lt; '\n');
+for_each(a.begin(), a.end(), cout &lt;&lt; ++var(index) &lt;&lt; ':' &lt;&lt; _1 &lt;&lt; '\n');
+</pre>
+<p>
+
+The first <code class="literal">for_each</code> invocation does not do what we want; <code class="literal">index</code> is incremented only once, and its value is written into the output stream only once.
+By using <code class="literal">var</code> to make <code class="literal">index</code> a lambda expression, we get the desired effect.
+</p>
+<p>
+In sum, <code class="literal">var(x)</code> creates a nullary lambda functor,
+which stores a reference to the variable <code class="literal">x</code>.
+When the lambda functor is invoked, a reference to <code class="literal">x</code> is returned.
+</p>
+<div class="simplesect" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2710093"></a>Naming delayed constants and variables</h5></div></div></div>
+<p>
+It is possible to predefine and name a delayed variable or constant outside a lambda expression.
+The templates <code class="literal">var_type</code>, <code class="literal">constant_type</code>
+and <code class="literal">constant_ref_type</code> serve for this purpose.
+They are used as:
+</p>
+<pre class="programlisting">
+var_type&lt;T&gt;::type delayed_i(var(i));
+constant_type&lt;T&gt;::type delayed_c(constant(c));
+</pre>
+<p>
+The first line defines the variable <code class="literal">delayed_i</code> which is a delayed version of the variable <code class="literal">i</code> of type <code class="literal">T</code>.
+Analogously, the second line defines the constant <code class="literal">delayed_c</code> as a delayed version of the constant <code class="literal">c</code>.
+For example:
+
+</p>
+<pre class="programlisting">
+int i = 0; int j;
+for_each(a.begin(), a.end(), (var(j) = _1, _1 = var(i), var(i) = var(j)));
+</pre>
+<p>
+is equivalent to:
+</p>
+<pre class="programlisting">
+int i = 0; int j;
+var_type&lt;int&gt;::type vi(var(i)), vj(var(j));
+for_each(a.begin(), a.end(), (vj = _1, _1 = vi, vi = vj));
+</pre>
+<p>
+Here is an example of naming a delayed constant:
+</p>
+<pre class="programlisting">
+constant_type&lt;char&gt;::type space(constant(' '));
+for_each(a.begin(),a.end(), cout &lt;&lt; space &lt;&lt; _1);
+</pre>
+</div>
+<div class="simplesect" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2710189"></a>About assignment and subscript operators</h5></div></div></div>
+<p>
+As described in <a href="le_in_details.html#lambda.assignment_and_subscript" title="Assignment and subscript operators">the section called &#8220;Assignment and subscript operators&#8221;</a>, assignment and subscripting operators are always defined as member functions.
+This means, that for expressions of the form
+<code class="literal">x = y</code> or <code class="literal">x[y]</code> to be interpreted as lambda expressions, the left-hand operand <code class="literal">x</code> must be a lambda expression.
+Consequently, it is sometimes necessary to use <code class="literal">var</code> for this purpose.
+We repeat the example from <a href="le_in_details.html#lambda.assignment_and_subscript" title="Assignment and subscript operators">the section called &#8220;Assignment and subscript operators&#8221;</a>:
+
+</p>
+<pre class="programlisting">
+int i;
+i = _1; // error
+var(i) = _1; // ok
+</pre>
+<p>
+
+Note that the compound assignment operators <code class="literal">+=</code>, <code class="literal">-=</code> etc. can be defined as non-member functions, and thus they are interpreted as lambda expressions even if only the right-hand operand is a lambda expression.
+Nevertheless, it is perfectly ok to delay the left operand explicitly.
+For example, <code class="literal">i += _1</code> is equivalent to <code class="literal">var(i) += _1</code>.
+</p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="lambda.lambda_expressions_for_control_structures"></a>Lambda expressions for control structures</h4></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="le_in_details.html#lambda.switch_statement">Switch statement</a></span></dt></dl></div>
+<p>
+BLL defines several functions to create lambda functors that represent control structures.
+They all take lambda functors as parameters and return <code class="literal">void</code>.
+To start with an example, the following code outputs all even elements of some container <code class="literal">a</code>:
+
+</p>
+<pre class="programlisting">
+for_each(a.begin(), a.end(),
+ if_then(_1 % 2 == 0, cout &lt;&lt; _1));
+</pre>
+<p>
+The BLL supports the following function templates for control structures:
+
+</p>
+<pre class="programlisting">
+if_then(condition, then_part)
+if_then_else(condition, then_part, else_part)
+if_then_else_return(condition, then_part, else_part)
+while_loop(condition, body)
+while_loop(condition) // no body case
+do_while_loop(condition, body)
+do_while_loop(condition) // no body case
+for_loop(init, condition, increment, body)
+for_loop(init, condition, increment) // no body case
+switch_statement(...)
+</pre>
+<p>
+
+The return types of all control construct lambda functor is
+<code class="literal">void</code>, except for <code class="literal">if_then_else_return</code>,
+which wraps a call to the conditional operator
+</p>
+<pre class="programlisting">
+condition ? then_part : else_part
+</pre>
+<p>
+The return type rules for this operator are somewhat complex.
+Basically, if the branches have the same type, this type is the return type.
+If the type of the branches differ, one branch, say of type
+<code class="literal">A</code>, must be convertible to the other branch,
+say of type <code class="literal">B</code>.
+In this situation, the result type is <code class="literal">B</code>.
+Further, if the common type is an lvalue, the return type will be an lvalue
+too.
+</p>
+<p>
+Delayed variables tend to be commonplace in control structure lambda expressions.
+For instance, here we use the <code class="literal">var</code> function to turn the arguments of <code class="literal">for_loop</code> into lambda expressions.
+The effect of the code is to add 1 to each element of a two-dimensional array:
+
+</p>
+<pre class="programlisting">
+int a[5][10]; int i;
+for_each(a, a+5,
+ for_loop(var(i)=0, var(i)&lt;10, ++var(i),
+ _1[var(i)] += 1));
+</pre>
+<p>
+The BLL supports an alternative syntax for control expressions, suggested
+by Joel de Guzmann.
+By overloading the <code class="literal">operator[]</code> we can
+get a closer resemblance with the built-in control structures:
+
+</p>
+<pre class="programlisting">
+if_(condition)[then_part]
+if_(condition)[then_part].else_[else_part]
+while_(condition)[body]
+do_[body].while_(condition)
+for_(init, condition, increment)[body]
+</pre>
+<p>
+
+For example, using this syntax the <code class="literal">if_then</code> example above
+can be written as:
+</p>
+<pre class="programlisting">
+for_each(a.begin(), a.end(),
+ if_(_1 % 2 == 0)[ cout &lt;&lt; _1 ])
+</pre>
+<p>
+
+As more experience is gained, we may end up deprecating one or the other
+of these syntaces.
+
+</p>
+<div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title">
+<a name="lambda.switch_statement"></a>Switch statement</h5></div></div></div></div>
+<p>
+The lambda expressions for <code class="literal">switch</code> control structures are more complex since the number of cases may vary.
+The general form of a switch lambda expression is:
+
+</p>
+<pre class="programlisting">
+switch_statement(<em class="parameter"><code>condition</code></em>,
+ case_statement&lt;<em class="parameter"><code>label</code></em>&gt;(<em class="parameter"><code>lambda expression</code></em>),
+ case_statement&lt;<em class="parameter"><code>label</code></em>&gt;(<em class="parameter"><code>lambda expression</code></em>),
+ ...
+ default_statement(<em class="parameter"><code>lambda expression</code></em>)
+)
+</pre>
+<p>
+
+The <code class="literal"><em class="parameter"><code>condition</code></em></code> argument must be a lambda expression that creates a lambda functor with an integral return type.
+The different cases are created with the <code class="literal">case_statement</code> functions, and the optional default case with the <code class="literal">default_statement</code> function.
+The case labels are given as explicitly specified template arguments to <code class="literal">case_statement</code> functions and
+<code class="literal">break</code> statements are implicitly part of each case.
+For example, <code class="literal">case_statement&lt;1&gt;(a)</code>, where <code class="literal">a</code> is some lambda functor, generates the code:
+
+</p>
+<pre class="programlisting">
+case 1:
+ <em class="parameter"><code>evaluate lambda functor</code></em> a;
+ break;
+</pre>
+<p>
+The <code class="literal">switch_statement</code> function is specialized for up to 9 case statements.
+
+</p>
+<p>
+As a concrete example, the following code iterates over some container <code class="literal">v</code> and ouptuts &#8220;<span class="quote">zero</span>&#8221; for each <code class="literal">0</code>, &#8220;<span class="quote">one</span>&#8221; for each <code class="literal">1</code>, and &#8220;<span class="quote">other: <em class="parameter"><code>n</code></em></span>&#8221; for any other value <em class="parameter"><code>n</code></em>.
+Note that another lambda expression is sequenced after the <code class="literal">switch_statement</code> to output a line break after each element:
+
+</p>
+<pre class="programlisting">
+std::for_each(v.begin(), v.end(),
+ (
+ switch_statement(
+ _1,
+ case_statement&lt;0&gt;(std::cout &lt;&lt; constant("zero")),
+ case_statement&lt;1&gt;(std::cout &lt;&lt; constant("one")),
+ default_statement(cout &lt;&lt; constant("other: ") &lt;&lt; _1)
+ ),
+ cout &lt;&lt; constant("\n")
+ )
+);
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="lambda.exceptions"></a>Exceptions</h4></div></div></div>
+<p>
+The BLL provides lambda functors that throw and catch exceptions.
+Lambda functors for throwing exceptions are created with the unary function <code class="literal">throw_exception</code>.
+The argument to this function is the exception to be thrown, or a lambda functor which creates the exception to be thrown.
+A lambda functor for rethrowing exceptions is created with the nullary <code class="literal">rethrow</code> function.
+</p>
+<p>
+Lambda expressions for handling exceptions are somewhat more complex.
+The general form of a lambda expression for try catch blocks is as follows:
+
+</p>
+<pre class="programlisting">
+try_catch(
+ <em class="parameter"><code>lambda expression</code></em>,
+ catch_exception&lt;<em class="parameter"><code>type</code></em>&gt;(<em class="parameter"><code>lambda expression</code></em>),
+ catch_exception&lt;<em class="parameter"><code>type</code></em>&gt;(<em class="parameter"><code>lambda expression</code></em>),
+ ...
+ catch_all(<em class="parameter"><code>lambda expression</code></em>)
+)
+</pre>
+<p>
+
+The first lambda expression is the try block.
+Each <code class="literal">catch_exception</code> defines a catch block where the
+explicitly specified template argument defines the type of the exception
+to catch.
+
+The lambda expression within the <code class="literal">catch_exception</code> defines
+the actions to take if the exception is caught.
+
+Note that the resulting exception handlers catch the exceptions as
+references, i.e., <code class="literal">catch_exception&lt;T&gt;(...)</code>
+results in the catch block:
+
+</p>
+<pre class="programlisting">
+catch(T&amp; e) { ... }
+</pre>
+<p>
+
+The last catch block can alternatively be a call to
+<code class="literal">catch_exception&lt;<em class="parameter"><code>type</code></em>&gt;</code>
+or to
+<code class="literal">catch_all</code>, which is the lambda expression equivalent to
+<code class="literal">catch(...)</code>.
+
+</p>
+<p>
+
+The <a href="le_in_details.html#ex:exceptions" title="Example 6.1. Throwing and handling exceptions in lambda expressions.">Example 6.1, &#8220;Throwing and handling exceptions in lambda expressions.&#8221;</a> demonstrates the use of the BLL
+exception handling tools.
+The first handler catches exceptions of type <code class="literal">foo_exception</code>.
+Note the use of <code class="literal">_1</code> placeholder in the body of the handler.
+</p>
+<p>
+The second handler shows how to throw exceptions, and demonstrates the
+use of the <span class="emphasis"><em>exception placeholder</em></span><code class="literal">_e</code>.
+
+It is a special placeholder, which refers to the caught exception object
+within the handler body.
+
+Here we are handling an exception of type <code class="literal">std::exception</code>,
+which carries a string explaining the cause of the exception.
+
+This explanation can be queried with the zero-argument member
+function <code class="literal">what</code>.
+
+The expression
+<code class="literal">bind(&amp;std::exception::what, _e)</code> creates the lambda
+function for making that call.
+
+Note that <code class="literal">_e</code> cannot be used outside of an exception handler lambda expression.
+
+
+The last line of the second handler constructs a new exception object and
+throws that with <code class="literal">throw exception</code>.
+
+Constructing and destructing objects within lambda expressions is
+explained in <a href="le_in_details.html#lambda.construction_and_destruction" title="Construction and destruction">the section called &#8220;Construction and destruction&#8221;</a></p>
+<p>
+Finally, the third handler (<code class="literal">catch_all</code>) demonstrates
+rethrowing exceptions.
+</p>
+<div class="example">
+<a name="ex:exceptions"></a><p class="title"><b>Example 6.1. Throwing and handling exceptions in lambda expressions.</b></p>
+<pre class="programlisting">
+for_each(
+ a.begin(), a.end(),
+ try_catch(
+ bind(foo, _1), // foo may throw
+ catch_exception&lt;foo_exception&gt;(
+ cout &lt;&lt; constant("Caught foo_exception: ")
+ &lt;&lt; "foo was called with argument = " &lt;&lt; _1
+ ),
+ catch_exception&lt;std::exception&gt;(
+ cout &lt;&lt; constant("Caught std::exception: ")
+ &lt;&lt; bind(&amp;std::exception::what, _e),
+ throw_exception(bind(constructor&lt;bar_exception&gt;(), _1)))
+ ),
+ catch_all(
+ (cout &lt;&lt; constant("Unknown"), rethrow())
+ )
+ )
+);
+</pre>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="lambda.construction_and_destruction"></a>Construction and destruction</h4></div></div></div>
+<p>
+Operators <code class="literal">new</code> and <code class="literal">delete</code> can be
+overloaded, but their return types are fixed.
+
+Particularly, the return types cannot be lambda functors,
+which prevents them to be overloaded for lambda expressions.
+
+It is not possible to take the address of a constructor,
+hence constructors cannot be used as target functions in bind expressions.
+
+The same is true for destructors.
+
+As a way around these constraints, BLL defines wrapper classes for
+<code class="literal">new</code> and <code class="literal">delete</code> calls,
+as well as for constructors and destructors.
+
+Instances of these classes are function objects, that can be used as
+target functions of bind expressions.
+
+For example:
+
+</p>
+<pre class="programlisting">
+int* a[10];
+for_each(a, a+10, _1 = bind(new_ptr&lt;int&gt;()));
+for_each(a, a+10, bind(delete_ptr(), _1));
+</pre>
+<p>
+
+The <code class="literal">new_ptr&lt;int&gt;()</code> expression creates
+a function object that calls <code class="literal">new int()</code> when invoked,
+and wrapping that inside <code class="literal">bind</code> makes it a lambda functor.
+
+In the same way, the expression <code class="literal">delete_ptr()</code> creates
+a function object that invokes <code class="literal">delete</code> on its argument.
+
+Note that <code class="literal">new_ptr&lt;<em class="parameter"><code>T</code></em>&gt;()</code>
+can take arguments as well.
+
+They are passed directly to the constructor invocation and thus allow
+calls to constructors which take arguments.
+
+</p>
+<p>
+
+As an example of constructor calls in lambda expressions,
+the following code reads integers from two containers <code class="literal">x</code>
+and <code class="literal">y</code>,
+constructs pairs out of them and inserts them into a third container:
+
+</p>
+<pre class="programlisting">
+vector&lt;pair&lt;int, int&gt; &gt; v;
+transform(x.begin(), x.end(), y.begin(), back_inserter(v),
+ bind(constructor&lt;pair&lt;int, int&gt; &gt;(), _1, _2));
+</pre>
+<p><a href="le_in_details.html#table:constructor_destructor_fos" title="Table 6.1. Construction and destruction related function objects.">Table 6.1, &#8220;Construction and destruction related function objects.&#8221;</a> lists all the function
+objects related to creating and destroying objects,
+ showing the expression to create and call the function object,
+and the effect of evaluating that expression.
+
+</p>
+<div class="table">
+<a name="table:constructor_destructor_fos"></a><p class="title"><b>Table 6.1. Construction and destruction related function objects.</b></p>
+<table class="table" summary="Construction and destruction related function objects.">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Function object call</th>
+<th>Wrapped expression</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="literal">constructor&lt;T&gt;()(<em class="parameter"><code>arg_list</code></em>)</code></td>
+<td>T(<em class="parameter"><code>arg_list</code></em>)</td>
+</tr>
+<tr>
+<td><code class="literal">destructor()(a)</code></td>
+<td>
+<code class="literal">a.~A()</code>, where <code class="literal">a</code> is of type <code class="literal">A</code>
+</td>
+</tr>
+<tr>
+<td><code class="literal">destructor()(pa)</code></td>
+<td>
+<code class="literal">pa-&gt;~A()</code>, where <code class="literal">pa</code> is of type <code class="literal">A*</code>
+</td>
+</tr>
+<tr>
+<td><code class="literal">new_ptr&lt;T&gt;()(<em class="parameter"><code>arg_list</code></em>)</code></td>
+<td><code class="literal">new T(<em class="parameter"><code>arg_list</code></em>)</code></td>
+</tr>
+<tr>
+<td><code class="literal">new_array&lt;T&gt;()(sz)</code></td>
+<td><code class="literal">new T[sz]</code></td>
+</tr>
+<tr>
+<td><code class="literal">delete_ptr()(p)</code></td>
+<td><code class="literal">delete p</code></td>
+</tr>
+<tr>
+<td><code class="literal">delete_array()(p)</code></td>
+<td><code class="literal">delete p[]</code></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2711160"></a>Special lambda expressions</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="le_in_details.html#id2711164">Preventing argument substitution</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#lambda.rvalues_as_actual_arguments">Rvalues as actual arguments to lambda functors</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2711164"></a>Preventing argument substitution</h5></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="le_in_details.html#lambda.unlambda">Unlambda</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#id2711372">Protect</a></span></dt>
+</dl></div>
+<p>
+When a lambda functor is called, the default behavior is to substitute
+the actual arguments for the placeholders within all subexpressions.
+
+This section describes the tools to prevent the substitution and
+evaluation of a subexpression, and explains when these tools should be used.
+</p>
+<p>
+The arguments to a bind expression can be arbitrary lambda expressions,
+e.g., other bind expressions.
+
+For example:
+
+</p>
+<pre class="programlisting">
+int foo(int); int bar(int);
+...
+int i;
+bind(foo, bind(bar, _1)(i);
+</pre>
+<p>
+
+The last line makes the call <code class="literal">foo(bar(i));</code>
+
+Note that the first argument in a bind expression, the target function,
+is no exception, and can thus be a bind expression too.
+
+The innermost lambda functor just has to return something that can be used
+as a target function: another lambda functor, function pointer,
+pointer to member function etc.
+
+For example, in the following code the innermost lambda functor makes
+a selection between two functions, and returns a pointer to one of them:
+
+</p>
+<pre class="programlisting">
+int add(int a, int b) { return a+b; }
+int mul(int a, int b) { return a*b; }
+
+int(*)(int, int) add_or_mul(bool x) {
+ return x ? add : mul;
+}
+
+bool condition; int i; int j;
+...
+bind(bind(&amp;add_or_mul, _1), _2, _3)(condition, i, j);
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="lambda.unlambda"></a>Unlambda</h6></div></div></div>
+<p>A nested bind expression may occur inadvertently,
+if the target function is a variable with a type that depends on a
+template parameter.
+
+Typically the target function could be a formal parameter of a
+function template.
+
+In such a case, the programmer may not know whether the target function is a lambda functor or not.
+</p>
+<p>Consider the following function template:
+
+</p>
+<pre class="programlisting">
+template&lt;class F&gt;
+int nested(const F&amp; f) {
+ int x;
+ ...
+ bind(f, _1)(x);
+ ...
+}
+</pre>
+<p>
+
+Somewhere inside the function the formal parameter
+<code class="literal">f</code> is used as a target function in a bind expression.
+
+In order for this <code class="literal">bind</code> call to be valid,
+<code class="literal">f</code> must be a unary function.
+
+Suppose the following two calls to <code class="literal">nested</code> are made:
+
+</p>
+<pre class="programlisting">
+int foo(int);
+int bar(int, int);
+nested(&amp;foo);
+nested(bind(bar, 1, _1));
+</pre>
+<p>
+
+Both are unary functions, or function objects, with appropriate argument
+and return types, but the latter will not compile.
+
+In the latter call, the bind expression inside <code class="literal">nested</code>
+will become:
+
+</p>
+<pre class="programlisting">
+bind(bind(bar, 1, _1), _1)
+</pre>
+<p>
+
+When this is invoked with <code class="literal">x</code>,
+after substituitions we end up trying to call
+
+</p>
+<pre class="programlisting">
+bar(1, x)(x)
+</pre>
+<p>
+
+which is an error.
+
+The call to <code class="literal">bar</code> returns int,
+not a unary function or function object.
+</p>
+<p>
+In the example above, the intent of the bind expression in the
+<code class="literal">nested</code> function is to treat <code class="literal">f</code>
+as an ordinary function object, instead of a lambda functor.
+
+The BLL provides the function template <code class="literal">unlambda</code> to
+express this: a lambda functor wrapped inside <code class="literal">unlambda</code>
+is not a lambda functor anymore, and does not take part into the
+argument substitution process.
+
+Note that for all other argument types <code class="literal">unlambda</code> is
+an identity operation, except for making non-const objects const.
+</p>
+<p>
+Using <code class="literal">unlambda</code>, the <code class="literal">nested</code>
+function is written as:
+
+</p>
+<pre class="programlisting">
+template&lt;class F&gt;
+int nested(const F&amp; f) {
+ int x;
+ ...
+ bind(unlambda(f), _1)(x);
+ ...
+}
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="id2711372"></a>Protect</h6></div></div></div>
+<p>
+The <code class="literal">protect</code> function is related to unlambda.
+
+It is also used to prevent the argument substitution taking place,
+but whereas <code class="literal">unlambda</code> turns a lambda functor into
+an ordinary function object for good, <code class="literal">protect</code> does
+this temporarily, for just one evaluation round.
+
+For example:
+
+</p>
+<pre class="programlisting">
+int x = 1, y = 10;
+(_1 + protect(_1 + 2))(x)(y);
+</pre>
+<p>
+
+The first call substitutes <code class="literal">x</code> for the leftmost
+<code class="literal">_1</code>, and results in another lambda functor
+<code class="literal">x + (_1 + 2)</code>, which after the call with
+<code class="literal">y</code> becomes <code class="literal">x + (y + 2)</code>,
+and thus finally 13.
+</p>
+<p>
+Primary motivation for including <code class="literal">protect</code> into the library,
+was to allow nested STL algorithm invocations
+(<a href="le_in_details.html#lambda.nested_stl_algorithms" title="Nesting STL algorithm invocations">the section called &#8220;Nesting STL algorithm invocations&#8221;</a>).
+</p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="lambda.rvalues_as_actual_arguments"></a>Rvalues as actual arguments to lambda functors</h5></div></div></div>
+<p>
+Actual arguments to the lambda functors cannot be non-const rvalues.
+This is due to a deliberate design decision: either we have this restriction,
+or there can be no side-effects to the actual arguments.
+
+There are ways around this limitation.
+
+We repeat the example from section
+<a href="using_library.html#lambda.actual_arguments_to_lambda_functors" title="About actual arguments to lambda functors">the section called &#8220;About actual arguments to lambda functors&#8221;</a> and list the
+different solutions:
+
+</p>
+<pre class="programlisting">
+int i = 1; int j = 2;
+(_1 + _2)(i, j); // ok
+(_1 + _2)(1, 2); // error (!)
+</pre>
+<div class="orderedlist"><ol type="1">
+<li><p>
+If the rvalue is of a class type, the return type of the function that
+creates the rvalue should be defined as const.
+Due to an unfortunate language restriction this does not work for
+built-in types, as built-in rvalues cannot be const qualified.
+</p></li>
+<li>
+<p>
+If the lambda function call is accessible, the <code class="literal">make_const</code>
+function can be used to <span class="emphasis"><em>constify</em></span> the rvalue. E.g.:
+
+</p>
+<pre class="programlisting">
+(_1 + _2)(make_const(1), make_const(2)); // ok
+</pre>
+<p>
+
+Commonly the lambda function call site is inside a standard algorithm
+function template, preventing this solution to be used.
+
+</p>
+</li>
+<li>
+<p>
+If neither of the above is possible, the lambda expression can be wrapped
+in a <code class="literal">const_parameters</code> function.
+It creates another type of lambda functor, which takes its arguments as
+const references. For example:
+
+</p>
+<pre class="programlisting">
+const_parameters(_1 + _2)(1, 2); // ok
+</pre>
+<p>
+
+Note that <code class="literal">const_parameters</code> makes all arguments const.
+Hence, in the case were one of the arguments is a non-const rvalue,
+and another argument needs to be passed as a non-const reference,
+this approach cannot be used.
+</p>
+</li>
+<li>
+<p>If none of the above is possible, there is still one solution,
+which unfortunately can break const correctness.
+
+The solution is yet another lambda functor wrapper, which we have named
+<code class="literal">break_const</code> to alert the user of the potential dangers
+of this function.
+
+The <code class="literal">break_const</code> function creates a lambda functor that
+takes its arguments as const, and casts away constness prior to the call
+to the original wrapped lambda functor.
+
+For example:
+</p>
+<pre class="programlisting">
+int i;
+...
+(_1 += _2)(i, 2); // error, 2 is a non-const rvalue
+const_parameters(_1 += _2)(i, 2); // error, i becomes const
+break_const(_1 += _2)(i, 2); // ok, but dangerous
+</pre>
+<p>
+
+Note, that the results of <code class="literal"> break_const</code> or
+<code class="literal">const_parameters</code> are not lambda functors,
+so they cannot be used as subexpressions of lambda expressions. For instance:
+
+</p>
+<pre class="programlisting">
+break_const(_1 + _2) + _3; // fails.
+const_parameters(_1 + _2) + _3; // fails.
+</pre>
+<p>
+
+However, this kind of code should never be necessary,
+since calls to sub lambda functors are made inside the BLL,
+and are not affected by the non-const rvalue problem.
+</p>
+</li>
+</ol></div>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2711604"></a>Casts, sizeof and typeid</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="le_in_details.html#lambda.cast_expressions">
+Cast expressions
+</a></span></dt>
+<dt><span class="section"><a href="le_in_details.html#id2711683">Sizeof and typeid</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="lambda.cast_expressions"></a>
+Cast expressions
+</h5></div></div></div>
+<p>
+The BLL defines its counterparts for the four cast expressions
+<code class="literal">static_cast</code>, <code class="literal">dynamic_cast</code>,
+<code class="literal">const_cast</code> and <code class="literal">reinterpret_cast</code>.
+
+The BLL versions of the cast expressions have the prefix
+<code class="literal">ll_</code>.
+
+The type to cast to is given as an explicitly specified template argument,
+and the sole argument is the expression from which to perform the cast.
+
+If the argument is a lambda functor, the lambda functor is evaluated first.
+
+For example, the following code uses <code class="literal">ll_dynamic_cast</code>
+to count the number of <code class="literal">derived</code> instances in the container
+<code class="literal">a</code>:
+
+</p>
+<pre class="programlisting">
+class base {};
+class derived : public base {};
+
+vector&lt;base*&gt; a;
+...
+int count = 0;
+for_each(a.begin(), a.end(),
+ if_then(ll_dynamic_cast&lt;derived*&gt;(_1), ++var(count)));
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2711683"></a>Sizeof and typeid</h5></div></div></div>
+<p>
+The BLL counterparts for these expressions are named
+<code class="literal">ll_sizeof</code> and <code class="literal">ll_typeid</code>.
+
+Both take one argument, which can be a lambda expression.
+The lambda functor created wraps the <code class="literal">sizeof</code> or
+<code class="literal">typeid</code> call, and when the lambda functor is called
+the wrapped operation is performed.
+
+For example:
+
+</p>
+<pre class="programlisting">
+vector&lt;base*&gt; a;
+...
+for_each(a.begin(), a.end(),
+ cout &lt;&lt; bind(&amp;type_info::name, ll_typeid(*_1)));
+</pre>
+<p>
+
+Here <code class="literal">ll_typeid</code> creates a lambda functor for
+calling <code class="literal">typeid</code> for each element.
+
+The result of a <code class="literal">typeid</code> call is an instance of
+the <code class="literal">type_info</code> class, and the bind expression creates
+a lambda functor for calling the <code class="literal">name</code> member
+function of that class.
+
+</p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="lambda.nested_stl_algorithms"></a>Nesting STL algorithm invocations</h4></div></div></div>
+<p>
+The BLL defines common STL algorithms as function object classes,
+instances of which can be used as target functions in bind expressions.
+For example, the following code iterates over the elements of a
+two-dimensional array, and computes their sum.
+
+</p>
+<pre class="programlisting">
+int a[100][200];
+int sum = 0;
+
+std::for_each(a, a + 100,
+ bind(ll::for_each(), _1, _1 + 200, protect(sum += _1)));
+</pre>
+<p>
+
+The BLL versions of the STL algorithms are classes, which define the function call operator (or several overloaded ones) to call the corresponding function templates in the <code class="literal">std</code> namespace.
+All these structs are placed in the subnamespace <code class="literal">boost::lambda:ll</code>.
+</p>
+<p>
+Note that there is no easy way to express an overloaded member function
+call in a lambda expression.
+
+This limits the usefulness of nested STL algorithms, as for instance
+the <code class="literal">begin</code> function has more than one overloaded
+definitions in container templates.
+
+In general, something analogous to the pseudo-code below cannot be written:
+
+</p>
+<pre class="programlisting">
+std::for_each(a.begin(), a.end(),
+ bind(ll::for_each(), _1.begin(), _1.end(), protect(sum += _1)));
+</pre>
+<p>
+
+Some aid for common special cases can be provided though.
+
+The BLL defines two helper function object classes,
+<code class="literal">call_begin</code> and <code class="literal">call_end</code>,
+which wrap a call to the <code class="literal">begin</code> and, respectively,
+<code class="literal">end</code> functions of a container, and return the
+<code class="literal">const_iterator</code> type of the container.
+
+With these helper templates, the above code becomes:
+</p>
+<pre class="programlisting">
+std::for_each(a.begin(), a.end(),
+ bind(ll::for_each(),
+ bind(call_begin(), _1), bind(call_end(), _1),
+ protect(sum += _1)));
+</pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 1999-2004 Jaakko Järvi, Gary Powell</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="using_library.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../lambda.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="extending.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/lambda/s03.html b/doc/html/lambda/s03.html
new file mode 100644
index 0000000000..a50e75c536
--- /dev/null
+++ b/doc/html/lambda/s03.html
@@ -0,0 +1,264 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Introduction</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../lambda.html" title="Chapter 6. Boost.Lambda">
+<link rel="prev" href="getting_started.html" title="Getting Started">
+<link rel="next" href="using_library.html" title="Using the library">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="getting_started.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../lambda.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="using_library.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2707346"></a>Introduction</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="s03.html#id2707350">Motivation</a></span></dt>
+<dt><span class="section"><a href="s03.html#id2707599">Introduction to lambda expressions</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2707350"></a>Motivation</h4></div></div></div>
+<p>The Standard Template Library (STL)
+ [<a href="../lambda.html#cit:stepanov:94" title="[STL94]"><span class="abbrev">STL94</span></a>], now part of the C++ Standard Library [<a href="../lambda.html#cit:c++:98" title="[C++98]"><span class="abbrev">C++98</span></a>], is a generic container and algorithm library.
+Typically STL algorithms operate on container elements via <span class="emphasis"><em>function objects</em></span>. These function objects are passed as arguments to the algorithms.
+</p>
+<p>
+Any C++ construct that can be called with the function call syntax
+is a function object.
+The STL contains predefined function objects for some common cases (such as <code class="literal">plus</code>, <code class="literal">less</code> and <code class="literal">not1</code>).
+As an example, one possible implementation for the standard <code class="literal">plus</code> template is:
+
+</p>
+<pre class="programlisting">
+template &lt;class T&gt; : public binary_function&lt;T, T, T&gt;
+struct plus {
+ T operator()(const T&amp; i, const T&amp; j) const {
+ return i + j;
+ }
+};
+</pre>
+<p>
+
+The base class <code class="literal">binary_function&lt;T, T, T&gt;</code> contains typedefs for the argument and return types of the function object, which are needed to make the function object <span class="emphasis"><em>adaptable</em></span>.
+</p>
+<p>
+In addition to the basic function object classes, such as the one above,
+the STL contains <span class="emphasis"><em>binder</em></span> templates for creating a unary function object from an adaptable binary function object by fixing one of the arguments to a constant value.
+For example, instead of having to explicitly write a function object class like:
+
+</p>
+<pre class="programlisting">
+class plus_1 {
+ int _i;
+public:
+ plus_1(const int&amp; i) : _i(i) {}
+ int operator()(const int&amp; j) { return _i + j; }
+};
+</pre>
+<p>
+
+the equivalent functionality can be achieved with the <code class="literal">plus</code> template and one of the binder templates (<code class="literal">bind1st</code>).
+E.g., the following two expressions create function objects with identical functionalities;
+when invoked, both return the result of adding <code class="literal">1</code> to the argument of the function object:
+
+</p>
+<pre class="programlisting">
+plus_1(1)
+bind1st(plus&lt;int&gt;(), 1)
+</pre>
+<p>
+
+The subexpression <code class="literal">plus&lt;int&gt;()</code> in the latter line is a binary function object which computes the sum of two integers, and <code class="literal">bind1st</code> invokes this function object partially binding the first argument to <code class="literal">1</code>.
+As an example of using the above function object, the following code adds <code class="literal">1</code> to each element of some container <code class="literal">a</code> and outputs the results into the standard output stream <code class="literal">cout</code>.
+
+</p>
+<pre class="programlisting">
+transform(a.begin(), a.end(), ostream_iterator&lt;int&gt;(cout),
+ bind1st(plus&lt;int&gt;(), 1));
+</pre>
+<p>
+To make the binder templates more generally applicable, the STL contains <span class="emphasis"><em>adaptors</em></span> for making
+pointers or references to functions, and pointers to member functions,
+adaptable.
+
+Finally, some STL implementations contain function composition operations as
+extensions to the standard [<a href="../lambda.html#cit:sgi:02" title="[SGI02]"><span class="abbrev">SGI02</span></a>].
+ </p>
+<p>
+All these tools aim at one goal: to make it possible to specify
+<span class="emphasis"><em>unnamed functions</em></span> in a call of an STL algorithm,
+in other words, to pass code fragments as an argument to a function.
+
+However, this goal is attained only partially.
+The simple example above shows that the definition of unnamed functions
+with the standard tools is cumbersome.
+
+Complex expressions involving functors, adaptors, binders and
+function composition operations tend to be difficult to comprehend.
+
+In addition to this, there are significant restrictions in applying
+the standard tools. E.g. the standard binders allow only one argument
+of a binary function to be bound; there are no binders for
+3-ary, 4-ary etc. functions.
+</p>
+<p>
+The Boost Lambda Library provides solutions for the problems described above:
+
+</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<p>
+Unnamed functions can be created easily with an intuitive syntax.
+
+The above example can be written as:
+
+</p>
+<pre class="programlisting">
+transform(a.begin(), a.end(), ostream_iterator&lt;int&gt;(cout),
+ 1 + _1);
+</pre>
+<p>
+
+or even more intuitively:
+
+</p>
+<pre class="programlisting">
+for_each(a.begin(), a.end(), cout &lt;&lt; (1 + _1));
+</pre>
+</li>
+<li><p>
+Most of the restrictions in argument binding are removed,
+arbitrary arguments of practically any C++ function can be bound.
+</p></li>
+<li><p>
+Separate function composition operations are not needed,
+as function composition is supported implicitly.
+
+</p></li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2707599"></a>Introduction to lambda expressions</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="s03.html#lambda.partial_function_application">Partial function application</a></span></dt>
+<dt><span class="section"><a href="s03.html#lambda.terminology">Terminology</a></span></dt>
+</dl></div>
+<p>
+ Lambda expression are common in functional programming languages.
+ Their syntax varies between languages (and between different forms of lambda calculus), but the basic form of a lambda expressions is:
+
+
+</p>
+<pre class="programlisting">
+lambda x<sub>1</sub> ... x<sub>n</sub>.e
+</pre>
+<p>
+
+ A lambda expression defines an unnamed function and consists of:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>
+ the parameters of this function: <code class="literal">x<sub>1</sub> ... x<sub>n</sub></code>.
+ </p></li>
+<li><p>the expression e which computes the value of the function in terms of the parameters <code class="literal">x<sub>1</sub> ... x<sub>n</sub></code>.
+ </p></li>
+</ul></div>
+<p>
+
+ A simple example of a lambda expression is
+</p>
+<pre class="programlisting">
+lambda x y.x+y
+</pre>
+<p>
+Applying the lambda function means substituting the formal parameters with the actual arguments:
+</p>
+<pre class="programlisting">
+(lambda x y.x+y) 2 3 = 2 + 3 = 5
+</pre>
+<p>
+In the C++ version of lambda expressions the <code class="literal">lambda x<sub>1</sub> ... x<sub>n</sub></code> part is missing and the formal parameters have predefined names.
+In the current version of the library,
+there are three such predefined formal parameters,
+called <span class="emphasis"><em>placeholders</em></span>:
+<code class="literal">_1</code>, <code class="literal">_2</code> and <code class="literal">_3</code>.
+They refer to the first, second and third argument of the function defined
+by the lambda expression.
+
+For example, the C++ version of the definition
+</p>
+<pre class="programlisting">lambda x y.x+y</pre>
+<p>
+is
+</p>
+<pre class="programlisting">_1 + _2</pre>
+<p>
+Hence, there is no syntactic keyword for C++ lambda expressions.
+ The use of a placeholder as an operand implies that the operator invocation is a lambda expression.
+ However, this is true only for operator invocations.
+ Lambda expressions containing function calls, control structures, casts etc. require special syntactic constructs.
+ Most importantly, function calls need to be wrapped inside a <code class="literal">bind</code> function.
+
+ As an example, consider the lambda expression:
+
+ </p>
+<pre class="programlisting">lambda x y.foo(x,y)</pre>
+<p>
+
+ Rather than <code class="literal">foo(_1, _2)</code>, the C++ counterpart for this expression is:
+
+ </p>
+<pre class="programlisting">bind(foo, _1, _2)</pre>
+<p>
+
+ We refer to this type of C++ lambda expressions as <span class="emphasis"><em>bind expressions</em></span>.
+ </p>
+<p>A lambda expression defines a C++ function object, hence function application syntax is like calling any other function object, for instance: <code class="literal">(_1 + _2)(i, j)</code>.
+
+
+ </p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="lambda.partial_function_application"></a>Partial function application</h5></div></div></div>
+<p>
+A bind expression is in effect a <span class="emphasis"><em>partial function application</em></span>.
+In partial function application, some of the arguments of a function are bound to fixed values.
+ The result is another function, with possibly fewer arguments.
+ When called with the unbound arguments, this new function invokes the original function with the merged argument list of bound and unbound arguments.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="lambda.terminology"></a>Terminology</h5></div></div></div>
+<p>
+ A lambda expression defines a function. A C++ lambda expression concretely constructs a function object, <span class="emphasis"><em>a functor</em></span>, when evaluated. We use the name <span class="emphasis"><em>lambda functor</em></span> to refer to such a function object.
+ Hence, in the terminology adopted here, the result of evaluating a lambda expression is a lambda functor.
+ </p>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 1999-2004 Jaakko Järvi, Gary Powell</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="getting_started.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../lambda.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="using_library.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/lambda/s07.html b/doc/html/lambda/s07.html
new file mode 100644
index 0000000000..15e56237f0
--- /dev/null
+++ b/doc/html/lambda/s07.html
@@ -0,0 +1,314 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Practical considerations</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../lambda.html" title="Chapter 6. Boost.Lambda">
+<link rel="prev" href="extending.html" title="Extending return type deduction system">
+<link rel="next" href="s08.html" title="Relation to other Boost libraries">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="extending.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../lambda.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="s08.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2712755"></a>Practical considerations</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="s07.html#id2712759">Performance</a></span></dt>
+<dt><span class="section"><a href="s07.html#id2713087">About compiling</a></span></dt>
+<dt><span class="section"><a href="s07.html#id2713129">Portability</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2712759"></a>Performance</h4></div></div></div>
+<p>In theory, all overhead of using STL algorithms and lambda functors
+compared to hand written loops can be optimized away, just as the overhead
+from standard STL function objects and binders can.
+
+Depending on the compiler, this can also be true in practice.
+We ran two tests with the GCC 3.0.4 compiler on 1.5 GHz Intel Pentium 4.
+The optimization flag -03 was used.
+</p>
+<p>
+In the first test we compared lambda functors against explicitly written
+function objects.
+We used both of these styles to define unary functions which multiply the
+argument repeatedly by itself.
+We started with the identity function, going up to
+x<sup>5</sup>.
+The expressions were called inside a <code class="literal">std::transform</code> loop,
+reading the argument from one <code class="literal">std::vector&lt;int&gt;</code>
+and placing the result into another.
+The length of the vectors was 100 elements.
+The running times are listed in
+<a href="s07.html#table:increasing_arithmetic_test" title="Table 6.3. Test 1">Table 6.3, &#8220;Test 1&#8221;</a>.
+
+We can observe that there is no significant difference between the
+two approaches.
+</p>
+<p>
+In the second test we again used <code class="literal">std::transform</code> to
+perform an operation to each element in a 100-element long vector.
+This time the element type of the vectors was <code class="literal">double</code>
+and we started with very simple arithmetic expressions and moved to
+more complex ones.
+The running times are listed in <a href="s07.html#table:ll_vs_stl_test" title="Table 6.4. Test 2">Table 6.4, &#8220;Test 2&#8221;</a>.
+
+Here, we also included classic STL style unnamed functions into tests.
+We do not show these expressions, as they get rather complex.
+For example, the
+last expression in <a href="s07.html#table:ll_vs_stl_test" title="Table 6.4. Test 2">Table 6.4, &#8220;Test 2&#8221;</a> written with
+classic STL tools contains 7 calls to <code class="literal">compose2</code>,
+8 calls to <code class="literal">bind1st</code>
+and altogether 14 constructor invocations for creating
+<code class="literal">multiplies</code>, <code class="literal">minus</code>
+and <code class="literal">plus</code> objects.
+
+In this test the BLL expressions are a little slower (roughly 10% on average,
+less than 14% in all cases)
+than the corresponding hand-written function objects.
+The performance hit is a bit greater with classic STL expressions,
+up to 27% for the simplest expressios.
+</p>
+<p>
+The tests suggest that the BLL does not introduce a loss of performance
+compared to STL function objects.
+With a reasonable optimizing compiler, one should expect the performance characteristics be comparable to using classic STL.
+Moreover, with simple expressions the performance can be expected to be close
+to that of explicitly written function objects.
+
+
+
+Note however, that evaluating a lambda functor consist of a sequence of calls to small functions that are declared inline.
+If the compiler fails to actually expand these functions inline,
+the performance can suffer.
+The running time can more than double if this happens.
+Although the above tests do not include such an expression, we have experienced
+this for some seemingly simple expressions.
+
+
+</p>
+<div class="table">
+<a name="table:increasing_arithmetic_test"></a><p class="title"><b>Table 6.3. Test 1</b></p>
+<div class="caption">CPU time of expressions with integer multiplication written as a lambda expression and as a traditional hand-coded function object class.
+The running times are expressed in arbitrary units.</div>
+<table class="table" summary="Test 1">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>expression</th>
+<th>lambda expression</th>
+<th>hand-coded function object</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>x</td>
+<td>240</td>
+<td>230</td>
+</tr>
+<tr>
+<td>x*x</td>
+<td>340</td>
+<td>350</td>
+</tr>
+<tr>
+<td>x*x*x</td>
+<td>770</td>
+<td>760</td>
+</tr>
+<tr>
+<td>x*x*x*x</td>
+<td>1180</td>
+<td>1210</td>
+</tr>
+<tr>
+<td>x*x*x*x*x</td>
+<td>1950</td>
+<td>1910</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="table">
+<a name="table:ll_vs_stl_test"></a><p class="title"><b>Table 6.4. Test 2</b></p>
+<div class="caption">CPU time of arithmetic expressions written as lambda
+expressions, as classic STL unnamed functions (using <code class="literal">compose2</code>, <code class="literal">bind1st</code> etc.) and as traditional hand-coded function object classes.
+Using BLL terminology,
+<code class="literal">a</code> and <code class="literal">b</code> are bound arguments in the expressions, and <code class="literal">x</code> is open.
+All variables were of types <code class="literal">double</code>.
+The running times are expressed in arbitrary units.</div>
+<table class="table" summary="Test 2">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>expression</th>
+<th>lambda expression</th>
+<th>classic STL expression</th>
+<th>hand-coded function object</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>ax</td>
+<td>330</td>
+<td>370</td>
+<td>290</td>
+</tr>
+<tr>
+<td>-ax</td>
+<td>350</td>
+<td>370</td>
+<td>310</td>
+</tr>
+<tr>
+<td>ax-(a+x)</td>
+<td>470</td>
+<td>500</td>
+<td>420</td>
+</tr>
+<tr>
+<td>(ax-(a+x))(a+x)</td>
+<td>620</td>
+<td>670</td>
+<td>600</td>
+</tr>
+<tr>
+<td>((ax) - (a+x))(bx - (b+x))(ax - (b+x))(bx - (a+x))</td>
+<td>1660</td>
+<td>1660</td>
+<td>1460</td>
+</tr>
+</tbody>
+</table>
+</div>
+<p>Some additional performance testing with an earlier version of the
+library is described
+[<a href="../lambda.html#cit:jarvi:00" title="[Jär00]"><span class="abbrev">Jär00</span></a>].
+</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2713087"></a>About compiling</h4></div></div></div>
+<p>The BLL uses templates rather heavily, performing numerous recursive instantiations of the same templates.
+This has (at least) three implications:
+</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>
+While it is possible to write incredibly complex lambda expressions, it probably isn't a good idea.
+Compiling such expressions may end up requiring a lot of memory
+at compile time, and being slow to compile.
+</p></li>
+<li><p>
+The types of lambda functors that result from even the simplest lambda expressions are cryptic.
+Usually the programmer doesn't need to deal with the lambda functor types at all, but in the case of an error in a lambda expression, the compiler usually outputs the types of the lambda functors involved.
+This can make the error messages very long and difficult to interpret, particularly if the compiler outputs the whole chain of template instantiations.
+</p></li>
+<li><p>
+The C++ Standard suggests a template nesting level of 17 to help detect infinite recursion.
+Complex lambda templates can easily exceed this limit.
+Most compilers allow a greater number of nested templates, but commonly require the limit explicitly increased with a command line argument.
+</p></li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2713129"></a>Portability</h4></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="s07.html#id2713153">Test coverage</a></span></dt></dl></div>
+<p>
+The BLL works with the following compilers, that is, the compilers are capable of compiling the test cases that are included with the BLL:
+
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>GCC 3.0.4
+ </li>
+<li>KCC 4.0f with EDG 2.43.1
+ </li>
+<li>GCC 2.96 (fails with one test case, the <code class="filename">exception_test.cpp</code> results in an internal compiler error.
+)
+
+ </li>
+</ul></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2713153"></a>Test coverage</h5></div></div></div>
+<p>The following list describes the test files included and the features that each file covers:
+
+</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="filename">bind_tests_simple.cpp</code> : Bind expressions of different arities and types of target functions: function pointers, function objects and member functions.
+Function composition with bind expressions.</p></li>
+<li><p><code class="filename">bind_tests_simple_function_references.cpp</code> :
+Repeats all tests from <code class="filename">bind_tests_simple.cpp</code> where the target function is a function pointer, but uses function references instead.
+</p></li>
+<li><p><code class="filename">bind_tests_advanced.cpp</code> : Contains tests for nested bind expressions, <code class="literal">unlambda</code>, <code class="literal">protect</code>, <code class="literal">const_parameters</code> and <code class="literal">break_const</code>.
+Tests passing lambda functors as actual arguments to other lambda functors, currying, and using the <code class="literal">sig</code> template to specify the return type of a function object.
+</p></li>
+<li><p><code class="filename">operator_tests_simple.cpp</code> :
+Tests using all operators that are overloaded for lambda expressions, that is, unary and binary arithmetic,
+bitwise,
+comparison,
+logical,
+increment and decrement,
+compound,
+assignment,
+subscrict,
+address of,
+dereference, and comma operators.
+The streaming nature of shift operators is tested, as well as pointer arithmetic with plus and minus operators.
+</p></li>
+<li><p><code class="filename">member_pointer_test.cpp</code> : The pointer to member operator is complex enough to warrant a separate test file.
+</p></li>
+<li><p><code class="filename">control_structures.cpp</code> :
+Tests for the looping and if constructs.
+</p></li>
+<li><p><code class="filename">switch_construct.cpp</code> :
+Includes tests for all supported arities of the switch statement, both with and without the default case.
+</p></li>
+<li><p><code class="filename">exception_test.cpp</code> :
+Includes tests for throwing exceptions and for try/catch constructs with varying number of catch blocks.
+</p></li>
+<li><p><code class="filename">constructor_tests.cpp</code> :
+Contains tests for <code class="literal">constructor</code>, <code class="literal">destructor</code>, <code class="literal">new_ptr</code>, <code class="literal">delete_ptr</code>, <code class="literal">new_array</code> and <code class="literal">delete_array</code>.
+</p></li>
+<li><p><code class="filename">cast_test.cpp</code> : Tests for the four cast expressions, as well as <code class="filename">typeid</code> and <code class="literal">sizeof</code>.
+</p></li>
+<li><p><code class="filename">extending_return_type_traits.cpp</code> : Tests extending the return type deduction system for user defined types.
+Contains several user defined operators and the corresponding specializations for the return type deduction templates.
+</p></li>
+<li><p><code class="filename">is_instance_of_test.cpp</code> : Includes tests for an internally used traits template, which can detect whether a given type is an instance of a certain template or not.
+</p></li>
+<li><p><code class="filename">bll_and_function.cpp</code> :
+Contains tests for using <code class="literal">boost::function</code> together with lambda functors.
+</p></li>
+</ul></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 1999-2004 Jaakko Järvi, Gary Powell</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="extending.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../lambda.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="s08.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/lambda/s08.html b/doc/html/lambda/s08.html
new file mode 100644
index 0000000000..1d42e3a315
--- /dev/null
+++ b/doc/html/lambda/s08.html
@@ -0,0 +1,177 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Relation to other Boost libraries</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../lambda.html" title="Chapter 6. Boost.Lambda">
+<link rel="prev" href="s07.html" title="Practical considerations">
+<link rel="next" href="s09.html" title="Contributors">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s07.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../lambda.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="s09.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2713384"></a>Relation to other Boost libraries</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="s08.html#id2713388">Boost Function</a></span></dt>
+<dt><span class="section"><a href="s08.html#id2713474">Boost Bind</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2713388"></a>Boost Function</h4></div></div></div>
+<p>Sometimes it is convenient to store lambda functors in variables.
+However, the types of even the simplest lambda functors are long and unwieldy, and it is in general unfeasible to declare variables with lambda functor types.
+<span class="emphasis"><em>The Boost Function library</em></span>[<a href="../lambda.html#cit:boost::function" title="[function]"><span class="abbrev">function</span></a>] defines wrappers for arbitrary function objects, for example
+lambda functors; and these wrappers have types that are easy to type out.
+
+For example:
+
+</p>
+<pre class="programlisting">
+boost::function&lt;int(int, int)&gt; f = _1 + _2;
+boost::function&lt;int&amp;(int&amp;)&gt; g = (_1 += 10);
+int i = 1, j = 2;
+f(i, j); // returns 3
+g(i); // sets i to = 11;
+</pre>
+<p>
+
+The return and parameter types of the wrapped function object must be written explicilty as the template argument to the wrapper template <code class="literal">boost::function</code>; even when lambda functors, which otherwise have generic parameters, are wrapped.
+Wrapping a function object with <code class="literal">boost::function</code> introduces a performance cost comparable to virtual function dispatch, though virtual functions are not actually used.
+
+Note that storing lambda functors inside <code class="literal">boost::function</code>
+introduces a danger.
+Certain types of lambda functors may store references to the bound
+arguments, instead as taking copies of the arguments of the lambda expression.
+When temporary lambda functor objects are used
+in STL algorithm invocations this is always safe, as the lambda functor gets
+destructed immediately after the STL algortihm invocation is completed.
+
+However, a lambda functor wrapped inside <code class="literal">boost::function</code>
+may continue to exist longer, creating the possibility of dangling references.
+For example:
+
+</p>
+<pre class="programlisting">
+int* sum = new int();
+*sum = 0;
+boost::function&lt;int&amp;(int)&gt; counter = *sum += _1;
+counter(5); // ok, *sum = 5;
+delete sum;
+counter(3); // error, *sum does not exist anymore
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2713474"></a>Boost Bind</h4></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="s08.html#id2713521">First argument of bind expression</a></span></dt></dl></div>
+<p><span class="emphasis"><em>The Boost Bind</em></span>[<a href="../lambda.html#cit:boost::bind" title="[bind]"><span class="abbrev">bind</span></a>] library has partially overlapping functionality with the BLL.
+Basically, the Boost Bind library (BB in the sequel) implements the bind expression part of BLL.
+There are, however, some semantical differerences.
+</p>
+<p>
+The BLL and BB evolved separately, and have different implementations.
+This means that the bind expressions from the BB cannot be used within
+bind expressions, or within other type of lambda expressions, of the BLL.
+The same holds for using BLL bind expressions in the BB.
+The libraries can coexist, however, as
+the names of the BB library are in <code class="literal">boost</code> namespace,
+whereas the BLL names are in <code class="literal">boost::lambda</code> namespace.
+</p>
+<p>
+The BLL requires a compiler that is reasonably conformant to the
+C++ standard, whereas the BB library is more portable, and works with
+a larger set of compilers.
+</p>
+<p>
+The following two sections describe what are the semantic differences
+between the bind expressions in BB and BLL.
+</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2713521"></a>First argument of bind expression</h5></div></div></div>
+
+In BB the first argument of the bind expression, the target function,
+is treated differently from the other arguments,
+as no argument substitution takes place within that argument.
+In BLL the first argument is not a special case in this respect.
+
+For example:
+
+<pre class="programlisting">
+template&lt;class F&gt;
+int foo(const F&amp; f) {
+ int x;
+ ..
+ bind(f, _1)(x);
+ ...
+}
+</pre>
+<pre class="programlisting">
+int bar(int, int);
+nested(bind(bar, 1, _1));
+</pre>
+
+The bind expression inside <code class="literal">foo</code> becomes:
+<pre class="programlisting">
+bind(bind(bar, 1, _1), _1)(x)
+</pre>
+
+The BLL interpretes this as:
+<pre class="programlisting">
+bar(1, x)(x)
+</pre>
+whereas the BB library as
+<pre class="programlisting">
+bar(1, x)
+</pre>
+
+To get this functionality in BLL, the bind expression inside the <code class="literal">foo</code> function can be written as:
+<pre class="programlisting">
+bind(unlambda(f), _1)(x);
+</pre>
+as explained in <a href="le_in_details.html#lambda.unlambda" title="Unlambda">the section called &#8220;Unlambda&#8221;</a>.
+
+</div>
+<p>
+The BB library supports up to nine placeholders, while the BLL
+defines only three placeholders.
+The rationale for not providing more, is that the highest arity of the
+function objects accepted by any STL algorithm is two.
+The placeholder count is easy to increase in the BB library.
+In BLL it is possible, but more laborous.
+The BLL currently passes the actual arguments to the lambda functors
+internally just as they are and does not wrap them inside a tuple object.
+The reason for this is that some widely used compilers are not capable
+of optimizing the intermediate tuple objects away.
+The creation of the intermediate tuples would cause a significant
+performance hit, particularly for the simplest (and thus the most common)
+lambda functors.
+We are working on a hybrid approach, which will allow more placeholders
+but not compromise the performance of simple lambda functors.
+</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 1999-2004 Jaakko Järvi, Gary Powell</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s07.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../lambda.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="s09.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/lambda/s09.html b/doc/html/lambda/s09.html
new file mode 100644
index 0000000000..086e15a30a
--- /dev/null
+++ b/doc/html/lambda/s09.html
@@ -0,0 +1,45 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Contributors</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../lambda.html" title="Chapter 6. Boost.Lambda">
+<link rel="prev" href="s08.html" title="Relation to other Boost libraries">
+<link rel="next" href="../apa.html" title="Appendix A. Rationale for some of the design decisions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s08.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../lambda.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../apa.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2713609"></a>Contributors</h3></div></div></div>
+
+The main body of the library was written by Jaakko Järvi and Gary Powell.
+We've got outside help, suggestions and ideas from Jeremy Siek, Peter Higley, Peter Dimov, Valentin Bonnard, William Kempf.
+We would particularly like to mention Joel de Guzmann and his work with
+Phoenix which has influenced BLL significantly, making it considerably simpler
+to extend the library with new features.
+
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 1999-2004 Jaakko Järvi, Gary Powell</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s08.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../lambda.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../apa.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/lambda/using_library.html b/doc/html/lambda/using_library.html
new file mode 100644
index 0000000000..8a7f1dc159
--- /dev/null
+++ b/doc/html/lambda/using_library.html
@@ -0,0 +1,310 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Using the library</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../lambda.html" title="Chapter 6. Boost.Lambda">
+<link rel="prev" href="s03.html" title="Introduction">
+<link rel="next" href="le_in_details.html" title="Lambda expressions in details">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s03.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../lambda.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="le_in_details.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="lambda.using_library"></a>Using the library</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="using_library.html#lambda.introductory_examples">Introductory Examples</a></span></dt>
+<dt><span class="section"><a href="using_library.html#lambda.parameter_and_return_types">Parameter and return types of lambda functors</a></span></dt>
+<dt><span class="section"><a href="using_library.html#lambda.actual_arguments_to_lambda_functors">About actual arguments to lambda functors</a></span></dt>
+<dt><span class="section"><a href="using_library.html#lambda.storing_bound_arguments">Storing bound arguments in lambda functions</a></span></dt>
+</dl></div>
+<p>
+The purpose of this section is to introduce the basic functionality of the library.
+There are quite a lot of exceptions and special cases, but discussion of them is postponed until later sections.
+
+
+ </p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="lambda.introductory_examples"></a>Introductory Examples</h4></div></div></div>
+<p>
+ In this section we give basic examples of using BLL lambda expressions in STL algorithm invocations.
+ We start with some simple expressions and work up.
+ First, we initialize the elements of a container, say, a <code class="literal">list</code>, to the value <code class="literal">1</code>:
+
+
+ </p>
+<pre class="programlisting">
+list&lt;int&gt; v(10);
+for_each(v.begin(), v.end(), _1 = 1);</pre>
+<p>
+
+ The expression <code class="literal">_1 = 1</code> creates a lambda functor which assigns the value <code class="literal">1</code> to every element in <code class="literal">v</code>.<sup>[<a name="id2707880" href="#ftn.id2707880">1</a>]</sup></p>
+<p>
+ Next, we create a container of pointers and make them point to the elements in the first container <code class="literal">v</code>:
+
+ </p>
+<pre class="programlisting">
+vector&lt;int*&gt; vp(10);
+transform(v.begin(), v.end(), vp.begin(), &amp;_1);</pre>
+<p>
+
+The expression <code class="literal">&amp;_1</code> creates a function object for getting the address of each element in <code class="literal">v</code>.
+The addresses get assigned to the corresponding elements in <code class="literal">vp</code>.
+ </p>
+<p>
+ The next code fragment changes the values in <code class="literal">v</code>.
+ For each element, the function <code class="literal">foo</code> is called.
+The original value of the element is passed as an argument to <code class="literal">foo</code>.
+The result of <code class="literal">foo</code> is assigned back to the element:
+
+
+ </p>
+<pre class="programlisting">
+int foo(int);
+for_each(v.begin(), v.end(), _1 = bind(foo, _1));</pre>
+<p>
+ The next step is to sort the elements of <code class="literal">vp</code>:
+
+ </p>
+<pre class="programlisting">sort(vp.begin(), vp.end(), *_1 &gt; *_2);</pre>
+<p>
+
+ In this call to <code class="literal">sort</code>, we are sorting the elements by their contents in descending order.
+ </p>
+<p>
+ Finally, the following <code class="literal">for_each</code> call outputs the sorted content of <code class="literal">vp</code> separated by line breaks:
+
+</p>
+<pre class="programlisting">
+for_each(vp.begin(), vp.end(), cout &lt;&lt; *_1 &lt;&lt; '\n');
+</pre>
+<p>
+
+Note that a normal (non-lambda) expression as subexpression of a lambda expression is evaluated immediately.
+This may cause surprises.
+For instance, if the previous example is rewritten as
+</p>
+<pre class="programlisting">
+for_each(vp.begin(), vp.end(), cout &lt;&lt; '\n' &lt;&lt; *_1);
+</pre>
+<p>
+the subexpression <code class="literal">cout &lt;&lt; '\n'</code> is evaluated immediately and the effect is to output a single line break, followed by the elements of <code class="literal">vp</code>.
+The BLL provides functions <code class="literal">constant</code> and <code class="literal">var</code> to turn constants and, respectively, variables into lambda expressions, and can be used to prevent the immediate evaluation of subexpressions:
+</p>
+<pre class="programlisting">
+for_each(vp.begin(), vp.end(), cout &lt;&lt; constant('\n') &lt;&lt; *_1);
+</pre>
+<p>
+These functions are described more thoroughly in <a href="le_in_details.html#lambda.delaying_constants_and_variables" title="Delaying constants and variables">the section called &#8220;Delaying constants and variables&#8221;</a></p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="lambda.parameter_and_return_types"></a>Parameter and return types of lambda functors</h4></div></div></div>
+<p>
+ During the invocation of a lambda functor, the actual arguments are substituted for the placeholders.
+ The placeholders do not dictate the type of these actual arguments.
+ The basic rule is that a lambda function can be called with arguments of any types, as long as the lambda expression with substitutions performed is a valid C++ expression.
+ As an example, the expression
+ <code class="literal">_1 + _2</code> creates a binary lambda functor.
+ It can be called with two objects of any types <code class="literal">A</code> and <code class="literal">B</code> for which <code class="literal">operator+(A,B)</code> is defined (and for which BLL knows the return type of the operator, see below).
+ </p>
+<p>
+ C++ lacks a mechanism to query a type of an expression.
+ However, this precise mechanism is crucial for the implementation of C++ lambda expressions.
+ Consequently, BLL includes a somewhat complex type deduction system which uses a set of traits classes for deducing the resulting type of lambda functions.
+ It handles expressions where the operands are of built-in types and many of the expressions with operands of standard library types.
+ Many of the user defined types are covered as well, particularly if the user defined operators obey normal conventions in defining the return types.
+ </p>
+<p>
+ There are, however, cases when the return type cannot be deduced. For example, suppose you have defined:
+
+ </p>
+<pre class="programlisting">C operator+(A, B);</pre>
+<p>
+
+ The following lambda function invocation fails, since the return type cannot be deduced:
+
+ </p>
+<pre class="programlisting">A a; B b; (_1 + _2)(a, b);</pre>
+<p>
+ There are two alternative solutions to this.
+ The first is to extend the BLL type deduction system to cover your own types (see <a href="extending.html" title="Extending return type deduction system">the section called &#8220;Extending return type deduction system&#8221;</a>).
+ The second is to use a special lambda expression (<code class="literal">ret</code>) which defines the return type in place (see <a href="le_in_details.html#lambda.overriding_deduced_return_type" title="Overriding the deduced return type">the section called &#8220;Overriding the deduced return type&#8221;</a>):
+
+ </p>
+<pre class="programlisting">A a; B b; ret&lt;C&gt;(_1 + _2)(a, b);</pre>
+<p>
+ For bind expressions, the return type can be defined as a template argument of the bind function as well:
+ </p>
+<pre class="programlisting">bind&lt;int&gt;(foo, _1, _2);</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="lambda.actual_arguments_to_lambda_functors"></a>About actual arguments to lambda functors</h4></div></div></div>
+<p>A general restriction for the actual arguments is that they cannot be non-const rvalues.
+ For example:
+
+</p>
+<pre class="programlisting">
+int i = 1; int j = 2;
+(_1 + _2)(i, j); // ok
+(_1 + _2)(1, 2); // error (!)
+</pre>
+<p>
+
+ This restriction is not as bad as it may look.
+ Since the lambda functors are most often called inside STL-algorithms,
+ the arguments originate from dereferencing iterators and the dereferencing operators seldom return rvalues.
+ And for the cases where they do, there are workarounds discussed in
+<a href="le_in_details.html#lambda.rvalues_as_actual_arguments" title="Rvalues as actual arguments to lambda functors">the section called &#8220;Rvalues as actual arguments to lambda functors&#8221;</a>.
+
+
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="lambda.storing_bound_arguments"></a>Storing bound arguments in lambda functions</h4></div></div></div>
+<p>
+
+By default, temporary const copies of the bound arguments are stored
+in the lambda functor.
+
+This means that the value of a bound argument is fixed at the time of the
+creation of the lambda function and remains constant during the lifetime
+of the lambda function object.
+For example:
+</p>
+<pre class="programlisting">
+int i = 1;
+(_1 = 2, _1 + i)(i);
+</pre>
+<p>
+The comma operator is overloaded to combine lambda expressions into a sequence;
+the resulting unary lambda functor first assigns 2 to its argument,
+then adds the value of <code class="literal">i</code> to it.
+The value of the expression in the last line is 3, not 4.
+In other words, the lambda expression that is created is
+<code class="literal">lambda x.(x = 2, x + 1)</code> rather than
+<code class="literal">lambda x.(x = 2, x + i)</code>.
+
+</p>
+<p>
+
+As said, this is the default behavior for which there are exceptions.
+The exact rules are as follows:
+
+</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<p>
+
+The programmer can control the storing mechanism with <code class="literal">ref</code>
+and <code class="literal">cref</code> wrappers [<a href="../lambda.html#cit:boost::ref" title="[ref]"><span class="abbrev">ref</span></a>].
+
+Wrapping an argument with <code class="literal">ref</code>, or <code class="literal">cref</code>,
+instructs the library to store the argument as a reference,
+or as a reference to const respectively.
+
+For example, if we rewrite the previous example and wrap the variable
+<code class="literal">i</code> with <code class="literal">ref</code>,
+we are creating the lambda expression <code class="literal">lambda x.(x = 2, x + i)</code>
+and the value of the expression in the last line will be 4:
+
+</p>
+<pre class="programlisting">
+i = 1;
+(_1 = 2, _1 + ref(i))(i);
+</pre>
+<p>
+
+Note that <code class="literal">ref</code> and <code class="literal">cref</code> are different
+from <code class="literal">var</code> and <code class="literal">constant</code>.
+
+While the latter ones create lambda functors, the former do not.
+For example:
+
+</p>
+<pre class="programlisting">
+int i;
+var(i) = 1; // ok
+ref(i) = 1; // not ok, ref(i) is not a lambda functor
+</pre>
+<p>
+
+The functions <code class="literal">ref</code> and <code class="literal">cref</code> mostly
+exist for historical reasons,
+and <code class="literal">ref</code> can always
+be replaced with <code class="literal">var</code>, and <code class="literal">cref</code> with
+<code class="literal">constant_ref</code>.
+See <a href="le_in_details.html#lambda.delaying_constants_and_variables" title="Delaying constants and variables">the section called &#8220;Delaying constants and variables&#8221;</a> for details.
+The <code class="literal">ref</code> and <code class="literal">cref</code> functions are
+general purpose utility functions in Boost, and hence defined directly
+in the <code class="literal">boost</code> namespace.
+
+</p>
+</li>
+<li><p>
+Array types cannot be copied, they are thus stored as const reference by default.
+</p></li>
+<li>
+<p>
+For some expressions it makes more sense to store the arguments as references.
+
+For example, the obvious intention of the lambda expression
+<code class="literal">i += _1</code> is that calls to the lambda functor affect the
+value of the variable <code class="literal">i</code>,
+rather than some temporary copy of it.
+
+As another example, the streaming operators take their leftmost argument
+as non-const references.
+
+The exact rules are:
+
+</p>
+<div class="itemizedlist"><ul type="circle">
+<li><p>The left argument of compound assignment operators (<code class="literal">+=</code>, <code class="literal">*=</code>, etc.) are stored as references to non-const.</p></li>
+<li><p>If the left argument of <code class="literal">&lt;&lt;</code> or <code class="literal">&gt;&gt;</code> operator is derived from an instantiation of <code class="literal">basic_ostream</code> or respectively from <code class="literal">basic_istream</code>, the argument is stored as a reference to non-const.
+For all other types, the argument is stored as a copy.
+</p></li>
+<li><p>
+In pointer arithmetic expressions, non-const array types are stored as non-const references.
+This is to prevent pointer arithmetic making non-const arrays const.
+
+</p></li>
+</ul></div>
+</li>
+</ul></div>
+</div>
+<div class="footnotes">
+<br><hr width="100" align="left">
+<div class="footnote"><p><sup>[<a name="ftn.id2707880" href="#id2707880">1</a>] </sup>
+Strictly taken, the C++ standard defines <code class="literal">for_each</code> as a <span class="emphasis"><em>non-modifying sequence operation</em></span>, and the function object passed to <code class="literal">for_each</code> should not modify its argument.
+The requirements for the arguments of <code class="literal">for_each</code> are unnecessary strict, since as long as the iterators are <span class="emphasis"><em>mutable</em></span>, <code class="literal">for_each</code> accepts a function object that can have side-effects on their argument.
+Nevertheless, it is straightforward to provide another function template with the functionality of<code class="literal">std::for_each</code> but more fine-grained requirements for its arguments.
+</p></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 1999-2004 Jaakko Järvi, Gary Powell</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s03.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../lambda.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="le_in_details.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/last_finder.html b/doc/html/last_finder.html
new file mode 100644
index 0000000000..c84c89b5c7
--- /dev/null
+++ b/doc/html/last_finder.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function last_finder</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2447201" title="Header &lt;boost/algorithm/string/finder.hpp&gt;">
+<link rel="prev" href="first_finder.html" title="Function first_finder">
+<link rel="next" href="nth_finder.html" title="Function nth_finder">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="first_finder.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2447201"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="nth_finder.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="last_finder"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function last_finder</span></h2>
+<p>boost::algorithm::last_finder &#8212; "Last" finder </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ContainerT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> last_finder(<span class="bold"><strong>const</strong></span> ContainerT &amp; Search);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ContainerT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> last_finder(<span class="bold"><strong>const</strong></span> ContainerT &amp; Search, PredicateT Comp);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2759658"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">last_finder</code> . The finder searches for the last occurrence of the string in a given input. The result is given as an <code class="computeroutput">iterator_range</code> delimiting the match.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for. </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">last_finder</code> object </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="first_finder.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2447201"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="nth_finder.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/last_kday_of_month.html b/doc/html/last_kday_of_month.html
new file mode 100644
index 0000000000..7a52ae5fe3
--- /dev/null
+++ b/doc/html/last_kday_of_month.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template last_kday_of_month</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2508942" title="Header &lt;boost/date_time/date_generators.hpp&gt;">
+<link rel="prev" href="first_kday_of_month.html" title="Class template first_kday_of_month">
+<link rel="next" href="first_kday_after.html" title="Class template first_kday_after">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="first_kday_of_month.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="first_kday_after.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="last_kday_of_month"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template last_kday_of_month</span></h2>
+<p>boost::date_time::last_kday_of_month &#8212; Calculate something like Last Sunday of January. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt;
+<span class="bold"><strong>class</strong></span> last_kday_of_month
+ : : <span class="bold"><strong>public</strong></span> boost::date_time::year_based_generator&lt; date_type &gt;
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::calendar_type        calendar_type;   
+  <span class="bold"><strong>typedef</strong></span> calendar_type::day_of_week_type day_of_week_type;
+  <span class="bold"><strong>typedef</strong></span> calendar_type::month_type       month_type;      
+  <span class="bold"><strong>typedef</strong></span> calendar_type::year_type        year_type;       
+  <span class="bold"><strong>typedef</strong></span> date_type::duration_type        duration_type;   
+
+  <span class="emphasis"><em>// <a href="last_kday_of_month.html#last_kday_of_monthconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="last_kday_of_month.html#id2495835-bb">last_kday_of_month</a>(day_of_week_type, month_type);
+
+  <span class="emphasis"><em>// <a href="last_kday_of_month.html#id2431567-bb">public member functions</a></em></span>
+  <span class="type">date_type</span> <a href="last_kday_of_month.html#id2431571-bb">get_date</a>(year_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type">month_type</span> <a href="last_kday_of_month.html#id2403790-bb">month</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">day_of_week_type</span> <a href="last_kday_of_month.html#id2417355-bb">day_of_week</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="last_kday_of_month.html#id2440923-bb">to_string</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2626015"></a><h2>Description</h2>
+<p>Useful generator functor for finding holidays and daylight savings Get the last day of the month and then calculate the difference to the last previous day.
+</p>
+<div class="refsect2" lang="en">
+<a name="id2626024"></a><h3>
+<a name="last_kday_of_monthconstruct-copy-destruct"></a><code class="computeroutput">last_kday_of_month</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><a name="id2495835-bb"></a>last_kday_of_month(day_of_week_type dow, month_type m);</pre>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">dow</span></dt>
+<dd><p>The day of week, eg: Sunday, Monday, etc </p></dd>
+<dt><span class="term">m</span></dt>
+<dd><p>The month of the year, eg: Jan, Feb, Mar, etc </p></dd>
+</dl>
+</div>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2626079"></a><h3>
+<a name="id2431567-bb"></a><code class="computeroutput">last_kday_of_month</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2431571-bb"></a>get_date(year_type year) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">month_type</span> <a name="id2403790-bb"></a>month() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">day_of_week_type</span> <a name="id2417355-bb"></a>day_of_week() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2440923-bb"></a>to_string() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns a string formatted as "M4.5.0" ==&gt; last Sunday in April. </p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="first_kday_of_month.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="first_kday_after.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/last_last_rule_spec.html b/doc/html/last_last_rule_spec.html
new file mode 100644
index 0000000000..203d66831b
--- /dev/null
+++ b/doc/html/last_last_rule_spec.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct last_last_rule_spec</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2475564" title="Header &lt;boost/date_time/local_time/dst_transition_day_rules.hpp&gt;">
+<link rel="prev" href="first_last_rule_spec.html" title="Struct first_last_rule_spec">
+<link rel="next" href="nth_last_rule_spec.html" title="Struct nth_last_rule_spec">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="first_last_rule_spec.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475564"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="nth_last_rule_spec.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="last_last_rule_spec"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct last_last_rule_spec</span></h2>
+<p>boost::local_time::last_last_rule_spec &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> last_last_rule_spec {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> gregorian::date               date_type; 
+  <span class="bold"><strong>typedef</strong></span> gregorian::last_kday_of_month start_rule;
+  <span class="bold"><strong>typedef</strong></span> gregorian::last_kday_of_month end_rule;  
+};</pre></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="first_last_rule_spec.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475564"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="nth_last_rule_spec.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/last_value.html b/doc/html/last_value.html
new file mode 100644
index 0000000000..f2bd58b5e3
--- /dev/null
+++ b/doc/html/last_value.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template last_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="signals/reference.html#id2540157" title="Header &lt;boost/last_value.hpp&gt;">
+<link rel="prev" href="visit_each.html" title="Function template visit_each">
+<link rel="next" href="id2591657-bb.html" title="Class last_value&lt;void&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="visit_each.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id2540157"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2591657-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="last_value"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template last_value</span></h2>
+<p>boost::last_value &#8212; Evaluate an <a href="InputIterator.html" title="Concept InputIterator">InputIterator</a> sequence and return the
+ last value in the sequence.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+<span class="bold"><strong>class</strong></span> last_value {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> T result_type;
+
+  <span class="emphasis"><em>// <a href="last_value.html#id2578669-bb">invocation</a></em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> <a href="InputIterator.html" title="Concept InputIterator">InputIterator</a>&gt;
+    <span class="type">result_type</span> <a href="last_value.html#id2578674-bb"><span class="bold"><strong>operator</strong></span>()</a>(InputIterator, InputIterator) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2738528"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2738531"></a><h3>
+<a name="id2578669-bb"></a><code class="computeroutput">last_value</code> invocation</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> <a href="InputIterator.html" title="Concept InputIterator">InputIterator</a>&gt;
+  <span class="type">result_type</span> <a name="id2578674-bb"></a><span class="bold"><strong>operator</strong></span>()(InputIterator first, InputIterator last) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">first != last</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Dereferences every iterator in the sequence <code class="computeroutput">[first, last)</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ The result of dereferencing the iterator <code class="computeroutput">last-1</code>.</p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2738637"></a><h3>Specializations</h3>
+<div class="itemizedlist"><ul type="disc"><li><p><a href="id2591657-bb.html" title="Class last_value&lt;void&gt;">Class last_value&lt;void&gt;</a></p></li></ul></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="visit_each.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id2540157"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2591657-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/libraries.html b/doc/html/libraries.html
new file mode 100644
index 0000000000..161f11792c
--- /dev/null
+++ b/doc/html/libraries.html
@@ -0,0 +1,332 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Part I. The Boost C++ Libraries</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="index.html" title="The Boost C++ Libraries">
+<link rel="prev" href="index.html" title="The Boost C++ Libraries">
+<link rel="next" href="libraries/s02.html" title="Libraries Listed by Category">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="index.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="libraries/s02.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="part" lang="en">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="libraries"></a>Part I. The Boost C++ Libraries</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="chapter"><a href="any.html">1. Boost.Any</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="any.html#id2570179">Introduction</a></span></dt>
+<dt><span class="section"><a href="any/s02.html">Examples</a></span></dt>
+<dt><span class="section"><a href="any/reference.html">Reference</a></span></dt>
+<dt><span class="section"><a href="any/s04.html">Acknowledgements</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="array.html">2. Boost.Array</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="array.html#array.intro">Introduction</a></span></dt>
+<dt><span class="section"><a href="array/reference.html">Reference</a></span></dt>
+<dt><span class="section"><a href="array/rationale.html">Design Rationale</a></span></dt>
+<dt><span class="section"><a href="array/more/info.html">For more information...</a></span></dt>
+<dt><span class="section"><a href="array/ack.html">Acknowledgements</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="date_time.html">3. Boost.Date_Time</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="date_time.html#date_time.conceptual">Conceptual</a></span></dt>
+<dt><span class="section"><a href="date_time/examples/general_usage_examples.html">General Usage Examples</a></span></dt>
+<dt><span class="section"><a href="date_time/gregorian.html">Gregorian</a></span></dt>
+<dt><span class="section"><a href="date_time/posix_time.html">Posix Time</a></span></dt>
+<dt><span class="section"><a href="date_time/local_time.html">Local Time</a></span></dt>
+<dt><span class="section"><a href="date_time/date_time_io.html">Date Time Input/Output</a></span></dt>
+<dt><span class="section"><a href="date_time/serialization.html">Serialization</a></span></dt>
+<dt><span class="section"><a href="date_time/details.html">Details</a></span></dt>
+<dt><span class="section"><a href="date_time/examples.html">Examples</a></span></dt>
+<dt><span class="section"><a href="date_time/doxy.html">Library Reference</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="function.html">4. Boost.Function</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="function.html#function.intro">Introduction</a></span></dt>
+<dt><span class="section"><a href="function/history.html">History &amp; Compatibility Notes</a></span></dt>
+<dt><span class="section"><a href="function/tutorial.html">Tutorial</a></span></dt>
+<dt><span class="section"><a href="function/reference.html">Reference</a></span></dt>
+<dt><span class="section"><a href="function/faq.html">Frequently Asked Questions</a></span></dt>
+<dt><span class="section"><a href="function/misc.html">Miscellaneous Notes</a></span></dt>
+<dt><span class="section"><a href="function/testsuite.html">Testsuite</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="hash.html">5. Boost.Functional/Hash</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="hash.html#hash.intro"> Introduction</a></span></dt>
+<dt><span class="section"><a href="hash/tutorial.html"> Tutorial</a></span></dt>
+<dt><span class="section"><a href="hash/custom.html"> Extending boost::hash for a custom data type</a></span></dt>
+<dt><span class="section"><a href="hash/combine.html"> Combining hash values</a></span></dt>
+<dt><span class="section"><a href="hash/portability.html"> Portability</a></span></dt>
+<dt><span class="section"><a href="hash/reference_.html"> Reference</a></span></dt>
+<dt><span class="section"><a href="hash/links.html"> Links</a></span></dt>
+<dt><span class="section"><a href="hash/acknowledgements.html"> Acknowledgements</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="lambda.html">6. Boost.Lambda</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="lambda.html#introduction">In a nutshell</a></span></dt>
+<dt><span class="section"><a href="lambda/getting_started.html">Getting Started</a></span></dt>
+<dt><span class="section"><a href="lambda/s03.html">Introduction</a></span></dt>
+<dt><span class="section"><a href="lambda/using_library.html">Using the library</a></span></dt>
+<dt><span class="section"><a href="lambda/le_in_details.html">Lambda expressions in details</a></span></dt>
+<dt><span class="section"><a href="lambda/extending.html">Extending return type deduction system</a></span></dt>
+<dt><span class="section"><a href="lambda/s07.html">Practical considerations</a></span></dt>
+<dt><span class="section"><a href="lambda/s08.html">Relation to other Boost libraries</a></span></dt>
+<dt><span class="section"><a href="lambda/s09.html">Contributors</a></span></dt>
+<dt><span class="bibliography"><a href="lambda.html#id2713747">Bibliography</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="program_options.html">7. Boost.Program_options</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="program_options.html#id2714132">Introduction</a></span></dt>
+<dt><span class="section"><a href="program_options/tutorial.html">Tutorial</a></span></dt>
+<dt><span class="section"><a href="program_options/overview.html">Library Overview</a></span></dt>
+<dt><span class="section"><a href="program_options/howto.html">How To</a></span></dt>
+<dt><span class="section"><a href="program_options/design.html">Design Discussion</a></span></dt>
+<dt><span class="section"><a href="program_options/s06.html">Acknowledgements</a></span></dt>
+<dt><span class="section"><a href="program_options/reference.html">Reference</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="ref.html">8. Boost.Ref</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="ref.html#ref.intro">Introduction</a></span></dt>
+<dt><span class="section"><a href="ref/reference.html">Reference</a></span></dt>
+<dt><span class="section"><a href="ref/ack.html">Acknowledgements</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="signals.html">9. Boost.Signals</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="signals.html#id2731233">Introduction</a></span></dt>
+<dt><span class="section"><a href="signals/tutorial.html">Tutorial</a></span></dt>
+<dt><span class="section"><a href="signals/reference.html">Reference</a></span></dt>
+<dt><span class="section"><a href="signals/s04.html">Frequently Asked Questions</a></span></dt>
+<dt><span class="section"><a href="signals/s05.html">Design Overview</a></span></dt>
+<dt><span class="section"><a href="signals/s06.html">Design Rationale</a></span></dt>
+<dt><span class="section"><a href="signals/tests.html">Testsuite</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="boost_staticassert.html">10. Boost.StaticAssert</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.intro"> Overview and Tutorial</a></span></dt>
+<dt><span class="section"><a href="boost_staticassert/how.html"> How it works</a></span></dt>
+<dt><span class="section"><a href="boost_staticassert/test.html"> Test Programs</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="string_algo.html">11. Boost String Algorithms Library</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="string_algo.html#string_algo.intro">Introduction</a></span></dt>
+<dt><span class="section"><a href="string_algo/release_notes.html">Release Notes</a></span></dt>
+<dt><span class="section"><a href="string_algo/usage.html">Usage</a></span></dt>
+<dt><span class="section"><a href="string_algo/quickref.html">Quick Reference</a></span></dt>
+<dt><span class="section"><a href="string_algo/design.html">Design Topics</a></span></dt>
+<dt><span class="section"><a href="string_algo/concept.html">Concepts</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html">Reference</a></span></dt>
+<dt><span class="section"><a href="string_algo/rationale.html">Rationale</a></span></dt>
+<dt><span class="section"><a href="string_algo/env.html">Environment</a></span></dt>
+<dt><span class="section"><a href="string_algo/credits.html">Credits</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="threads.html">12. Boost.Threads</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="threads.html#threads.overview">Overview</a></span></dt>
+<dt><span class="section"><a href="threads/design.html">Design</a></span></dt>
+<dt><span class="section"><a href="threads/concepts.html">Concepts</a></span></dt>
+<dt><span class="section"><a href="threads/rationale.html">Rationale</a></span></dt>
+<dt><span class="section"><a href="threads/reference.html">Reference</a></span></dt>
+<dt><span class="section"><a href="threads/faq.html">Frequently Asked Questions</a></span></dt>
+<dt><span class="section"><a href="thread/configuration.html">Configuration</a></span></dt>
+<dt><span class="section"><a href="thread/build.html">Build</a></span></dt>
+<dt><span class="section"><a href="threads/implementation_notes.html">Implementation Notes</a></span></dt>
+<dt><span class="section"><a href="threads/release_notes.html">Release Notes</a></span></dt>
+<dt><span class="glossary"><a href="threads.html#threads.glossary">Glossary</a></span></dt>
+<dt><span class="section"><a href="thread/acknowledgements.html">Acknowledgements</a></span></dt>
+<dt><span class="bibliography"><a href="threads.html#threads.bibliography">Bibliography</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="tribool.html">13. Boost.Tribool</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="tribool.html#tribool.introduction">Introduction</a></span></dt>
+<dt><span class="section"><a href="tribool/tutorial.html">Tutorial</a></span></dt>
+<dt><span class="section"><a href="tribool/reference.html">Reference</a></span></dt>
+<dt><span class="section"><a href="tribool/tests.html">Testsuite</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="boost_typetraits.html">14. Boost.TypeTraits</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="boost_typetraits.html#boost_typetraits.intro"> Introduction</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/background.html"> Background and Tutorial</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/category.html"> Type Traits by Category</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/user_defined.html"> User Defined Specializations</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/intrinsics.html"> Support for Compiler Intrinsics</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/mpl.html"> MPL Interoperability</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/examples.html"> Examples</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/reference.html"> Alphabetical Reference</a></span></dt>
+<dt><span class="section"><a href="boost_typetraits/credits.html"> Credits</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="variant.html">15. Boost.Variant</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="variant.html#variant.intro">Introduction</a></span></dt>
+<dt><span class="section"><a href="variant/tutorial.html">Tutorial</a></span></dt>
+<dt><span class="section"><a href="variant/reference.html">Reference</a></span></dt>
+<dt><span class="section"><a href="variant/design.html">Design Overview</a></span></dt>
+<dt><span class="section"><a href="variant/misc.html">Miscellaneous Notes</a></span></dt>
+<dt><span class="section"><a href="variant/refs.html">References</a></span></dt>
+</dl></dd>
+</dl>
+</div>
+<p>
+ Documentation for some libraries is available in alternative formats at <a href="http://sourceforge.net/project/showfiles.php?group_id=7586" target="_top">the SourceForge download site</a>.
+ </p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id2560005"></a>Libraries Listed Alphabetically</h2></div></div></div>
+<div class="itemizedlist"><ul type="disc" compact>
+<li>
+<a href="any.html" title="Chapter 1. Boost.Any">Any</a> -
+ Safe, generic container for single values of different value types
+ , from Kevlin Henney.</li>
+<li>
+<a href="array.html" title="Chapter 2. Boost.Array">Array</a> - STL compliant container wrapper for arrays of constant size, from Nicolai Josuttis.</li>
+<li>
+<a href="../../libs/bind/index.html" target="_top">Bind</a> - Generalized binders for function/object/pointers and member functions, from Peter Dimov.</li>
+<li>
+<a href="hash.html" title="Chapter 5. Boost.Functional/Hash">Boost.Functional/Hash</a> -
+ A TR1 hash function object that can be extended to hash user
+ defined types , from Daniel James.</li>
+<li>
+<a href="boost_staticassert.html" title="Chapter 10. Boost.StaticAssert">Boost.StaticAssert</a> -
+ Compile time diagnostics library , from John Maddock and Steve Cleary.</li>
+<li>
+<a href="boost_typetraits.html" title="Chapter 14. Boost.TypeTraits">Boost.TypeTraits</a> -
+ Meta-programming support library , from various authors.</li>
+<li>
+<a href="../../libs/crc/index.html" target="_top">CRC</a> - Cyclic Redundancy Code, from Daryle Walker.</li>
+<li>
+<a href="../../libs/utility/call_traits.htm" target="_top">Call Traits</a> - Defines types for passing parameters, from John Maddock and Howard Hinnant.</li>
+<li>
+<a href="../../libs/compatibility/index.html" target="_top">Compatibility</a> - Help for non-conforming standard libraries, from Ralf Grosse-Kunstleve and Jens Maurer.</li>
+<li>
+<a href="../../libs/compose/index.htm" target="_top">Compose</a> - Functional composition adapters for the STL, from Nicolai Josuttis.</li>
+<li>
+<a href="../../libs/utility/compressed_pair.htm" target="_top">Compressed Pair</a> - Empty member optimization, from John Maddock and Howard Hinnant.</li>
+<li>
+<a href="../../libs/concept_check/index.html" target="_top">Concept Check</a> - Tools for generic programming, from Jeremy Siek.</li>
+<li>
+<a href="../../libs/config/index.html" target="_top">Config</a> - Helps boost library developers adapt to compiler idiosyncrasies; not intended for library users, from John Maddock, Beman Dawes, and Vesa Karvonen.</li>
+<li>
+<a href="../../libs/conversion/index.html" target="_top">Conversion</a> - Numeric, polymorphic, and lexical casts, from Dave Abrahams and Kevlin Henney.</li>
+<li>
+<a href="date_time.html" title="Chapter 3. Boost.Date_Time">Date Time</a> - A set of facilities to ease programming with dates and times.
+ , from Jeff Garland.</li>
+<li>
+<a href="../../libs/dynamic_bitset/index.html" target="_top">Dynamic Bitset</a> - A runtime sized version of <code class="computeroutput">std::bitset</code>, from Jeremy Siek and Chuck Allison.</li>
+<li>
+<a href="../../libs/filesystem/index.html" target="_top">Filesystem</a> - Portable paths, iteration over directories, and other useful filesystem operations, from Beman Dawes.</li>
+<li>
+<a href="../../libs/format/index.html" target="_top">Format</a> - Type-safe 'printf-like' format operations, from Samuel Krempp.</li>
+<li>
+<a href="function.html" title="Chapter 4. Boost.Function">Function</a> - Function object wrappers for deferred calls or callbacks, from Douglas Gregor.</li>
+<li>
+<a href="../../libs/functional/index.html" target="_top">Functional</a> - Enhanced function object adaptors, from Mark Rodgers.</li>
+<li>
+<a href="../../libs/graph/index.html" target="_top">Graph</a> - Generic graph components and algorithms, from Jeremy Siek and University of Notre Dame Team.</li>
+<li>
+<a href="../../libs/io/index.html" target="_top">I/O State Savers</a> - Save I/O state to prevent jumbled data, from Daryle Walker.</li>
+<li>
+<a href="../../libs/integer/index.html" target="_top">Integer</a> - Headers to ease dealing with integral types, from various authors.</li>
+<li>
+<a href="../../libs/numeric/interval/doc/index.html" target="_top">Interval</a> - Extends the usual arithmetic functions to mathematical intervals, from Guillaume Melquiond, Hervé Brönnimann, and Sylvain Pion.</li>
+<li>
+<a href="../../libs/utility/iterator_adaptors.htm" target="_top">Iterator Adaptors</a> - Adapt a base type into a standard conforming iterator, from Dave Abrahams, Jeremy Siek, and John Potter.</li>
+<li>
+<a href="lambda.html" title="Chapter 6. Boost.Lambda">Lambda</a> - Define small unnamed function objects at the actual call site, and more, from Jaakko Järvi.</li>
+<li>
+<a href="../../libs/mpl/index.html" target="_top">MPL</a> - Template metaprogramming framework of compile-time algorithms, sequences and metafunction classes, from Aleksey Gurtovoy.</li>
+<li>
+<a href="../../libs/math/index.html" target="_top">Math</a> - Several contributions in the domain of mathematics, from various authors.</li>
+<li>
+<a href="../../libs/math/doc/common_factor.html" target="_top">Math/Common Factor</a> - Greatest common divisor and least common multiple, from Daryle Walker.</li>
+<li>
+<a href="../../libs/math/octonion/index.html" target="_top">Math/Octonion</a> - Octonions, from Hubert Holin.</li>
+<li>
+<a href="../../libs/math/quaternion/index.html" target="_top">Math/Quaternion</a> - Quaternions, from Hubert Holin.</li>
+<li>
+<a href="../../libs/math/special_functions/index.html" target="_top">Math/Special Functions</a> - Mathematical special functions such as atanh, sinc, and sinhc, from Hubert Holin.</li>
+<li>
+<a href="../../libs/bind/mem_fn.html" target="_top">Mem_fn</a> - Generalized binders for member functions, from Peter Dimov.</li>
+<li>
+<a href="../../libs/multi_array/index.html" target="_top">Multi Array</a> - Multidimensional containers and adaptors for arrays of contiguous data, from Ron Garcia.</li>
+<li>
+<a href="../../libs/utility/index.html" target="_top">Operators</a> - Templates ease arithmetic classes and iterators, from Dave Abrahams and Jeremy Siek.</li>
+<li>
+<a href="../../libs/optional/index.html" target="_top">Optional</a> - Discriminated-union wrapper for optional values, from Fernando Cacciola.</li>
+<li>
+<a href="../../libs/pool/index.html" target="_top">Pool</a> - Memory pool management, from Steve Cleary.</li>
+<li>
+<a href="../../libs/preprocessor/index.html" target="_top">Preprocessor</a> - Preprocessor metaprogramming tools including repetition and recursion, from Vesa Karvonen and Paul Mensonides.</li>
+<li>
+<a href="program_options.html" title="Chapter 7. Boost.Program_options">Program_options</a> -
+ Facilities to obtain configuration data from command line, config files
+ and other sources, from Vladimir Prus.</li>
+<li>
+<a href="../../libs/property_map/index.html" target="_top">Property Map</a> - Concepts defining interfaces which map key objects to value objects, from Jeremy Siek.</li>
+<li>
+<a href="../../libs/python/index.html" target="_top">Python</a> - Reflects C++ classes and functions into <a href="http://www.python.org" target="_top">Python</a>, from Dave Abrahams.</li>
+<li>
+<a href="../../libs/random/index.html" target="_top">Random</a> - A complete system for random number generation, from Jens Maurer.</li>
+<li>
+<a href="../../libs/rational/index.html" target="_top">Rational</a> - A rational number class, from Paul Moore.</li>
+<li>
+<a href="ref.html" title="Chapter 8. Boost.Ref">Ref</a> - A utility library for passing references to generic functions, from Jaakko Järvi, Peter Dimov, Douglas Gregor, and Dave Abrahams.</li>
+<li>
+<a href="../../libs/regex/index.html" target="_top">Regex</a> - Regular expression library, from John Maddock.</li>
+<li>
+<a href="../../libs/serialization/index.html" target="_top">Serialization</a> - Serialization of C++ objects for persistence and marshalling, from Robert Ramey.</li>
+<li>
+<a href="signals.html" title="Chapter 9. Boost.Signals">Signals</a> - Managed signals &amp; slots callback implementation, from Douglas Gregor.</li>
+<li>
+<a href="../../libs/smart_ptr/index.html" target="_top">Smart Pointer</a> - Five smart pointer class templates, from Greg Colvin, Beman Dawes, Peter Dimov, and Darin Adler.</li>
+<li>
+<a href="../../libs/spirit/index.html" target="_top">Spirit</a> - LL parser framework represents parsers directly as EBNF grammars in inlined C++, from Joel de Guzman and team .</li>
+<li>
+<a href="string_algo.html" title="Chapter 11. Boost String Algorithms Library">String Algorithms</a> -
+ A set of generic string-related algorithms and utilities
+ , from Pavol Droba.</li>
+<li>
+<a href="../../libs/test/index.html" target="_top">Test</a> - Support for simple program testing, full unit testing, and for program execution monitoring, from Gennadiy Rozental.</li>
+<li>
+<a href="threads.html" title="Chapter 12. Boost.Threads">Threads</a> - Portable C++ multi-threading, from William Kempf.</li>
+<li>
+<a href="../../libs/timer/index.html" target="_top">Timer</a> - Event timer, progress timer, and progress display classes, from Beman Dawes.</li>
+<li>
+<a href="../../libs/tokenizer/index.html" target="_top">Tokenizer</a> - Break of a string or other character sequence into a series of tokens, from John Bandela.</li>
+<li>
+<a href="tribool.html" title="Chapter 13. Boost.Tribool">Tribool</a> - Three-state boolean type, from Douglas Gregor.</li>
+<li>
+<a href="../../libs/tuple/index.html" target="_top">Tuple</a> - Ease definition of functions returning multiple values, and more, from Jaakko Järvi.</li>
+<li>
+<a href="../../libs/utility/index.html" target="_top">Utility</a> - Class noncopyable plus <code class="computeroutput">checked_delete</code>, <code class="computeroutput">checked_array_delete</code>, <code class="computeroutput">next</code>, <code class="computeroutput">prior</code> function templates, plus base-from-member idiom, from Dave Abrahams and others .</li>
+<li>
+<a href="variant.html" title="Chapter 15. Boost.Variant">Variant</a> - Safe, generic, stack-based discriminated union container, from Eric Friedman and Itay Maman.</li>
+<li>
+<a href="../../libs/numeric/ublas/index.html" target="_top">uBLAS</a> - Basic linear algebra for dense, packed and sparse matrices, from Joerg Walter and Mathias Koch.</li>
+</ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="index.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="libraries/s02.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/libraries/s02.html b/doc/html/libraries/s02.html
new file mode 100644
index 0000000000..e80185446e
--- /dev/null
+++ b/doc/html/libraries/s02.html
@@ -0,0 +1,385 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Libraries Listed by Category</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../libraries.html" title="Part I. The Boost C++ Libraries">
+<link rel="prev" href="../libraries.html" title="Part I. The Boost C++ Libraries">
+<link rel="next" href="../any.html" title="Chapter 1. Boost.Any">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../libraries.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../libraries.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../any.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id2522367"></a>Libraries Listed by Category</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="s02.html#id2522370">
+ String and text processing
+ </a></span></dt>
+<dt><span class="section"><a href="s02.html#id2522417">
+ Containers
+ </a></span></dt>
+<dt><span class="section"><a href="s02.html#id2522491">
+ Iterators
+ </a></span></dt>
+<dt><span class="section"><a href="s02.html#id2522538">
+ Algorithms
+ </a></span></dt>
+<dt><span class="section"><a href="s02.html#id2522589">
+ Function objects and higher-order programming
+ </a></span></dt>
+<dt><span class="section"><a href="s02.html#id2569527">
+ Generic programming
+ </a></span></dt>
+<dt><span class="section"><a href="s02.html#id2569595">
+ Template metaprogramming
+ </a></span></dt>
+<dt><span class="section"><a href="s02.html#id2569612">
+ Preprocessor metaprogramming
+ </a></span></dt>
+<dt><span class="section"><a href="s02.html#id2569630">
+ Concurrent programming
+ </a></span></dt>
+<dt><span class="section"><a href="s02.html#id2569647">
+ Math and numerics
+ </a></span></dt>
+<dt><span class="section"><a href="s02.html#id2569774">
+ Correctness and testing
+ </a></span></dt>
+<dt><span class="section"><a href="s02.html#id2569801">
+ Data structures
+ </a></span></dt>
+<dt><span class="section"><a href="s02.html#id2569871">
+ Input/Output
+ </a></span></dt>
+<dt><span class="section"><a href="s02.html#id2569907">
+ Inter-language support
+ </a></span></dt>
+<dt><span class="section"><a href="s02.html#id2569930">
+ Memory
+ </a></span></dt>
+<dt><span class="section"><a href="s02.html#id2569989">
+ Parsing
+ </a></span></dt>
+<dt><span class="section"><a href="s02.html#id2570007">
+ Miscellaneous
+ </a></span></dt>
+<dt><span class="section"><a href="s02.html#id2570125">
+ Broken compiler workarounds
+ </a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2522370"></a>
+ String and text processing
+ </h3></div></div></div>
+<div class="itemizedlist"><ul type="disc" compact>
+<li>
+<a href="../../../libs/format/index.html" target="_top">Format</a> - Type-safe 'printf-like' format operations, from Samuel Krempp.</li>
+<li>
+<a href="../../../libs/regex/index.html" target="_top">Regex</a> - Regular expression library, from John Maddock.</li>
+<li>
+<a href="../string_algo.html" title="Chapter 11. Boost String Algorithms Library">String Algorithms</a> -
+ A set of generic string-related algorithms and utilities
+ , from Pavol Droba.</li>
+<li>
+<a href="../../../libs/tokenizer/index.html" target="_top">Tokenizer</a> - Break of a string or other character sequence into a series of tokens, from John Bandela.</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2522417"></a>
+ Containers
+ </h3></div></div></div>
+<div class="itemizedlist"><ul type="disc" compact>
+<li>
+<a href="../array.html" title="Chapter 2. Boost.Array">Array</a> - STL compliant container wrapper for arrays of constant size, from Nicolai Josuttis.</li>
+<li>
+<a href="../../../libs/dynamic_bitset/index.html" target="_top">Dynamic Bitset</a> - A runtime sized version of <code class="computeroutput">std::bitset</code>, from Jeremy Siek and Chuck Allison.</li>
+<li>
+<a href="../../../libs/graph/index.html" target="_top">Graph</a> - Generic graph components and algorithms, from Jeremy Siek and University of Notre Dame Team.</li>
+<li>
+<a href="../../../libs/multi_array/index.html" target="_top">Multi Array</a> - Multidimensional containers and adaptors for arrays of contiguous data, from Ron Garcia.</li>
+<li>
+<a href="../../../libs/property_map/index.html" target="_top">Property Map</a> - Concepts defining interfaces which map key objects to value objects, from Jeremy Siek.</li>
+<li>
+<a href="../variant.html" title="Chapter 15. Boost.Variant">Variant</a> - Safe, generic, stack-based discriminated union container, from Eric Friedman and Itay Maman.</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2522491"></a>
+ Iterators
+ </h3></div></div></div>
+<div class="itemizedlist"><ul type="disc" compact>
+<li>
+<a href="../../../libs/graph/index.html" target="_top">Graph</a> - Generic graph components and algorithms, from Jeremy Siek and University of Notre Dame Team.</li>
+<li>
+<a href="../../../libs/utility/iterator_adaptors.htm" target="_top">Iterator Adaptors</a> - Adapt a base type into a standard conforming iterator, from Dave Abrahams, Jeremy Siek, and John Potter.</li>
+<li>
+<a href="../../../libs/utility/index.html" target="_top">Operators</a> - Templates ease arithmetic classes and iterators, from Dave Abrahams and Jeremy Siek.</li>
+<li>
+<a href="../../../libs/tokenizer/index.html" target="_top">Tokenizer</a> - Break of a string or other character sequence into a series of tokens, from John Bandela.</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2522538"></a>
+ Algorithms
+ </h3></div></div></div>
+<div class="itemizedlist"><ul type="disc" compact>
+<li>
+<a href="../../../libs/graph/index.html" target="_top">Graph</a> - Generic graph components and algorithms, from Jeremy Siek and University of Notre Dame Team.</li>
+<li>
+<a href="../../../libs/utility/index.html" target="_top">Utility</a> - Class noncopyable plus <code class="computeroutput">checked_delete</code>, <code class="computeroutput">checked_array_delete</code>, <code class="computeroutput">next</code>, <code class="computeroutput">prior</code> function templates, plus base-from-member idiom, from Dave Abrahams and others .</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2522589"></a>
+ Function objects and higher-order programming
+ </h3></div></div></div>
+<div class="itemizedlist"><ul type="disc" compact>
+<li>
+<a href="../../../libs/bind/index.html" target="_top">Bind</a> - Generalized binders for function/object/pointers and member functions, from Peter Dimov.</li>
+<li>
+<a href="../hash.html" title="Chapter 5. Boost.Functional/Hash">Boost.Functional/Hash</a> -
+ A TR1 hash function object that can be extended to hash user
+ defined types , from Daniel James.</li>
+<li>
+<a href="../../../libs/compose/index.htm" target="_top">Compose</a> - Functional composition adapters for the STL, from Nicolai Josuttis.</li>
+<li>
+<a href="../function.html" title="Chapter 4. Boost.Function">Function</a> - Function object wrappers for deferred calls or callbacks, from Douglas Gregor.</li>
+<li>
+<a href="../../../libs/functional/index.html" target="_top">Functional</a> - Enhanced function object adaptors, from Mark Rodgers.</li>
+<li>
+<a href="../lambda.html" title="Chapter 6. Boost.Lambda">Lambda</a> - Define small unnamed function objects at the actual call site, and more, from Jaakko Järvi.</li>
+<li>
+<a href="../../../libs/bind/mem_fn.html" target="_top">Mem_fn</a> - Generalized binders for member functions, from Peter Dimov.</li>
+<li>
+<a href="../ref.html" title="Chapter 8. Boost.Ref">Ref</a> - A utility library for passing references to generic functions, from Jaakko Järvi, Peter Dimov, Douglas Gregor, and Dave Abrahams.</li>
+<li>
+<a href="../signals.html" title="Chapter 9. Boost.Signals">Signals</a> - Managed signals &amp; slots callback implementation, from Douglas Gregor.</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2569527"></a>
+ Generic programming
+ </h3></div></div></div>
+<div class="itemizedlist"><ul type="disc" compact>
+<li>
+<a href="../boost_staticassert.html" title="Chapter 10. Boost.StaticAssert">Boost.StaticAssert</a> -
+ Compile time diagnostics library , from John Maddock and Steve Cleary.</li>
+<li>
+<a href="../boost_typetraits.html" title="Chapter 14. Boost.TypeTraits">Boost.TypeTraits</a> -
+ Meta-programming support library , from various authors.</li>
+<li>
+<a href="../../../libs/utility/call_traits.htm" target="_top">Call Traits</a> - Defines types for passing parameters, from John Maddock and Howard Hinnant.</li>
+<li>
+<a href="../../../libs/concept_check/index.html" target="_top">Concept Check</a> - Tools for generic programming, from Jeremy Siek.</li>
+<li>
+<a href="../../../libs/utility/index.html" target="_top">Operators</a> - Templates ease arithmetic classes and iterators, from Dave Abrahams and Jeremy Siek.</li>
+<li>
+<a href="../../../libs/property_map/index.html" target="_top">Property Map</a> - Concepts defining interfaces which map key objects to value objects, from Jeremy Siek.</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2569595"></a>
+ Template metaprogramming
+ </h3></div></div></div>
+<div class="itemizedlist"><ul type="disc" compact><li>
+<a href="../../../libs/mpl/index.html" target="_top">MPL</a> - Template metaprogramming framework of compile-time algorithms, sequences and metafunction classes, from Aleksey Gurtovoy.</li></ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2569612"></a>
+ Preprocessor metaprogramming
+ </h3></div></div></div>
+<div class="itemizedlist"><ul type="disc" compact><li>
+<a href="../../../libs/preprocessor/index.html" target="_top">Preprocessor</a> - Preprocessor metaprogramming tools including repetition and recursion, from Vesa Karvonen and Paul Mensonides.</li></ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2569630"></a>
+ Concurrent programming
+ </h3></div></div></div>
+<div class="itemizedlist"><ul type="disc" compact><li>
+<a href="../threads.html" title="Chapter 12. Boost.Threads">Threads</a> - Portable C++ multi-threading, from William Kempf.</li></ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2569647"></a>
+ Math and numerics
+ </h3></div></div></div>
+<div class="itemizedlist"><ul type="disc" compact>
+<li>
+<a href="../../../libs/integer/index.html" target="_top">Integer</a> - Headers to ease dealing with integral types, from various authors.</li>
+<li>
+<a href="../../../libs/numeric/interval/doc/index.html" target="_top">Interval</a> - Extends the usual arithmetic functions to mathematical intervals, from Guillaume Melquiond, Hervé Brönnimann, and Sylvain Pion.</li>
+<li>
+<a href="../../../libs/math/index.html" target="_top">Math</a> - Several contributions in the domain of mathematics, from various authors.</li>
+<li>
+<a href="../../../libs/math/doc/common_factor.html" target="_top">Math/Common Factor</a> - Greatest common divisor and least common multiple, from Daryle Walker.</li>
+<li>
+<a href="../../../libs/math/octonion/index.html" target="_top">Math/Octonion</a> - Octonions, from Hubert Holin.</li>
+<li>
+<a href="../../../libs/math/quaternion/index.html" target="_top">Math/Quaternion</a> - Quaternions, from Hubert Holin.</li>
+<li>
+<a href="../../../libs/math/special_functions/index.html" target="_top">Math/Special Functions</a> - Mathematical special functions such as atanh, sinc, and sinhc, from Hubert Holin.</li>
+<li>
+<a href="../../../libs/multi_array/index.html" target="_top">Multi Array</a> - Multidimensional containers and adaptors for arrays of contiguous data, from Ron Garcia.</li>
+<li>
+<a href="../../../libs/utility/index.html" target="_top">Operators</a> - Templates ease arithmetic classes and iterators, from Dave Abrahams and Jeremy Siek.</li>
+<li>
+<a href="../../../libs/random/index.html" target="_top">Random</a> - A complete system for random number generation, from Jens Maurer.</li>
+<li>
+<a href="../../../libs/rational/index.html" target="_top">Rational</a> - A rational number class, from Paul Moore.</li>
+<li>
+<a href="../../../libs/numeric/ublas/index.html" target="_top">uBLAS</a> - Basic linear algebra for dense, packed and sparse matrices, from Joerg Walter and Mathias Koch.</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2569774"></a>
+ Correctness and testing
+ </h3></div></div></div>
+<div class="itemizedlist"><ul type="disc" compact>
+<li>
+<a href="../../../libs/concept_check/index.html" target="_top">Concept Check</a> - Tools for generic programming, from Jeremy Siek.</li>
+<li>
+<a href="../../../libs/test/index.html" target="_top">Test</a> - Support for simple program testing, full unit testing, and for program execution monitoring, from Gennadiy Rozental.</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2569801"></a>
+ Data structures
+ </h3></div></div></div>
+<div class="itemizedlist"><ul type="disc" compact>
+<li>
+<a href="../any.html" title="Chapter 1. Boost.Any">Any</a> -
+ Safe, generic container for single values of different value types
+ , from Kevlin Henney.</li>
+<li>
+<a href="../../../libs/utility/compressed_pair.htm" target="_top">Compressed Pair</a> - Empty member optimization, from John Maddock and Howard Hinnant.</li>
+<li>
+<a href="../../../libs/optional/index.html" target="_top">Optional</a> - Discriminated-union wrapper for optional values, from Fernando Cacciola.</li>
+<li>
+<a href="../program_options.html" title="Chapter 7. Boost.Program_options">Program_options</a> -
+ Facilities to obtain configuration data from command line, config files
+ and other sources, from Vladimir Prus.</li>
+<li>
+<a href="../../../libs/tuple/index.html" target="_top">Tuple</a> - Ease definition of functions returning multiple values, and more, from Jaakko Järvi.</li>
+<li>
+<a href="../variant.html" title="Chapter 15. Boost.Variant">Variant</a> - Safe, generic, stack-based discriminated union container, from Eric Friedman and Itay Maman.</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2569871"></a>
+ Input/Output
+ </h3></div></div></div>
+<div class="itemizedlist"><ul type="disc" compact>
+<li>
+<a href="../../../libs/format/index.html" target="_top">Format</a> - Type-safe 'printf-like' format operations, from Samuel Krempp.</li>
+<li>
+<a href="../../../libs/io/index.html" target="_top">I/O State Savers</a> - Save I/O state to prevent jumbled data, from Daryle Walker.</li>
+<li>
+<a href="../../../libs/serialization/index.html" target="_top">Serialization</a> - Serialization of C++ objects for persistence and marshalling, from Robert Ramey.</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2569907"></a>
+ Inter-language support
+ </h3></div></div></div>
+<div class="itemizedlist"><ul type="disc" compact><li>
+<a href="../../../libs/python/index.html" target="_top">Python</a> - Reflects C++ classes and functions into <a href="http://www.python.org" target="_top">Python</a>, from Dave Abrahams.</li></ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2569930"></a>
+ Memory
+ </h3></div></div></div>
+<div class="itemizedlist"><ul type="disc" compact>
+<li>
+<a href="../../../libs/pool/index.html" target="_top">Pool</a> - Memory pool management, from Steve Cleary.</li>
+<li>
+<a href="../../../libs/smart_ptr/index.html" target="_top">Smart Pointer</a> - Five smart pointer class templates, from Greg Colvin, Beman Dawes, Peter Dimov, and Darin Adler.</li>
+<li>
+<a href="../../../libs/utility/index.html" target="_top">Utility</a> - Class noncopyable plus <code class="computeroutput">checked_delete</code>, <code class="computeroutput">checked_array_delete</code>, <code class="computeroutput">next</code>, <code class="computeroutput">prior</code> function templates, plus base-from-member idiom, from Dave Abrahams and others .</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2569989"></a>
+ Parsing
+ </h3></div></div></div>
+<div class="itemizedlist"><ul type="disc" compact><li>
+<a href="../../../libs/spirit/index.html" target="_top">Spirit</a> - LL parser framework represents parsers directly as EBNF grammars in inlined C++, from Joel de Guzman and team .</li></ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2570007"></a>
+ Miscellaneous
+ </h3></div></div></div>
+<div class="itemizedlist"><ul type="disc" compact>
+<li>
+<a href="../../../libs/crc/index.html" target="_top">CRC</a> - Cyclic Redundancy Code, from Daryle Walker.</li>
+<li>
+<a href="../../../libs/utility/compressed_pair.htm" target="_top">Compressed Pair</a> - Empty member optimization, from John Maddock and Howard Hinnant.</li>
+<li>
+<a href="../../../libs/conversion/index.html" target="_top">Conversion</a> - Numeric, polymorphic, and lexical casts, from Dave Abrahams and Kevlin Henney.</li>
+<li>
+<a href="../date_time.html" title="Chapter 3. Boost.Date_Time">Date Time</a> - A set of facilities to ease programming with dates and times.
+ , from Jeff Garland.</li>
+<li>
+<a href="../../../libs/filesystem/index.html" target="_top">Filesystem</a> - Portable paths, iteration over directories, and other useful filesystem operations, from Beman Dawes.</li>
+<li>
+<a href="../../../libs/optional/index.html" target="_top">Optional</a> - Discriminated-union wrapper for optional values, from Fernando Cacciola.</li>
+<li>
+<a href="../../../libs/timer/index.html" target="_top">Timer</a> - Event timer, progress timer, and progress display classes, from Beman Dawes.</li>
+<li>
+<a href="../tribool.html" title="Chapter 13. Boost.Tribool">Tribool</a> - Three-state boolean type, from Douglas Gregor.</li>
+<li>
+<a href="../../../libs/utility/index.html" target="_top">Utility</a> - Class noncopyable plus <code class="computeroutput">checked_delete</code>, <code class="computeroutput">checked_array_delete</code>, <code class="computeroutput">next</code>, <code class="computeroutput">prior</code> function templates, plus base-from-member idiom, from Dave Abrahams and others .</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2570125"></a>
+ Broken compiler workarounds
+ </h3></div></div></div>
+<div class="itemizedlist"><ul type="disc" compact>
+<li>
+<a href="../../../libs/compatibility/index.html" target="_top">Compatibility</a> - Help for non-conforming standard libraries, from Ralf Grosse-Kunstleve and Jens Maurer.</li>
+<li>
+<a href="../../../libs/config/index.html" target="_top">Config</a> - Helps boost library developers adapt to compiler idiosyncrasies; not intended for library users, from John Maddock, Beman Dawes, and Vesa Karvonen.</li>
+</ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../libraries.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../libraries.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../any.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/local_adjustor.html b/doc/html/local_adjustor.html
new file mode 100644
index 0000000000..fceb5442e5
--- /dev/null
+++ b/doc/html/local_adjustor.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template local_adjustor</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2485115" title="Header &lt;boost/date_time/local_time_adjustor.hpp&gt;">
+<link rel="prev" href="static_local_time_adjustor.html" title="Class template static_local_time_adjustor">
+<link rel="next" href="us_dst_trait.html" title="Struct template us_dst_trait">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="static_local_time_adjustor.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2485115"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="us_dst_trait.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="local_adjustor"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template local_adjustor</span></h2>
+<p>boost::date_time::local_adjustor &#8212; Template that simplifies the creation of local time calculator. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type, <span class="bold"><strong>short</strong></span> utc_offset, <span class="bold"><strong>typename</strong></span> dst_rule&gt;
+<span class="bold"><strong>class</strong></span> local_adjustor {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> time_type::time_duration_type                                                                       time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> time_type::date_type                                                                                date_type;         
+  <span class="bold"><strong>typedef</strong></span> <a href="static_local_time_adjustor.html" title="Class template static_local_time_adjustor">static_local_time_adjustor</a>&lt; time_type, dst_rule, <a href="utc_adjustment.html" title="Class template utc_adjustment">utc_adjustment</a>&lt; time_duration_type, utc_offset &gt; &gt; dst_adjustor;      
+
+  <span class="emphasis"><em>// <a href="local_adjustor.html#id2493207-bb">public static functions</a></em></span>
+  <span class="type">time_type</span> <a href="local_adjustor.html#id2493211-bb">utc_to_local</a>(<span class="bold"><strong>const</strong></span> time_type &amp;) ;
+  <span class="type">time_type</span> <a href="local_adjustor.html#id2394631-bb">local_to_utc</a>(<span class="bold"><strong>const</strong></span> time_type &amp;,
+                         date_time::dst_flags = date_time::calculate) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2643723"></a><h2>Description</h2>
+<p>Use this template to create the timezone to utc convertors as required.</p>
+<p>This class will also work for other regions that don't use dst and have a utc offset which is an integral number of hours.</p>
+<p><span class="bold"><strong>Template Parameters</strong></span> -time_type -- Time class to use -utc_offset -- Number hours local time is adjust from utc -use_dst -- true (default) if region uses dst, false otherwise For example: </p>
+<pre class="programlisting"> //eastern timezone is utc-5
+ typedef date_time::local_adjustor&lt;ptime, -5, us_dst&gt; us_eastern;
+ typedef date_time::local_adjustor&lt;ptime, -6, us_dst&gt; us_central;
+ typedef date_time::local_adjustor&lt;ptime, -7, us_dst&gt; us_mountain;
+ typedef date_time::local_adjustor&lt;ptime, -8, us_dst&gt; us_pacific;
+ typedef date_time::local_adjustor&lt;ptime, -7, no_dst&gt; us_arizona;
+</pre>
+<div class="refsect2" lang="en">
+<a name="id2643760"></a><h3>
+<a name="id2493207-bb"></a><code class="computeroutput">local_adjustor</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2493211-bb"></a>utc_to_local(<span class="bold"><strong>const</strong></span> time_type &amp; t) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2394631-bb"></a>local_to_utc(<span class="bold"><strong>const</strong></span> time_type &amp; t,
+                       date_time::dst_flags dst = date_time::calculate) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="static_local_time_adjustor.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2485115"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="us_dst_trait.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/local_date_time_base.html b/doc/html/local_date_time_base.html
new file mode 100644
index 0000000000..dfc9c5c89c
--- /dev/null
+++ b/doc/html/local_date_time_base.html
@@ -0,0 +1,214 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template local_date_time_base</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2475866" title="Header &lt;boost/date_time/local_time/local_date_time.hpp&gt;">
+<link rel="prev" href="dst_not_valid.html" title="Struct dst_not_valid">
+<link rel="next" href="bad_offset.html" title="Struct bad_offset">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dst_not_valid.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475866"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_offset.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="local_date_time_base"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template local_date_time_base</span></h2>
+<p>boost::local_time::local_date_time_base &#8212; Representation of "wall-clock" time in a particular time zone. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> utc_time_ = posix_time::ptime,
+         <span class="bold"><strong>typename</strong></span> tz_type = date_time::time_zone_base&lt;utc_time_&gt; &gt;
+<span class="bold"><strong>class</strong></span> local_date_time_base {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> utc_time_                         utc_time_type;     
+  <span class="bold"><strong>typedef</strong></span> utc_time_type::time_duration_type time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> utc_time_type::date_type          date_type;         
+  <span class="bold"><strong>typedef</strong></span> date_type::duration_type          date_duration_type;
+  <span class="bold"><strong>typedef</strong></span> utc_time_type::time_system_type   time_system_type;  
+
+  <span class="emphasis"><em>// <a href="local_date_time_base.html#local_date_time_baseconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="local_date_time_base.html#id2476779-bb">local_date_time_base</a>(utc_time_type, boost::shared_ptr&lt; tz_type &gt;);
+  <a href="local_date_time_base.html#id2476832-bb">local_date_time_base</a>(date_type, time_duration_type,
+                       boost::shared_ptr&lt; tz_type &gt;, <span class="bold"><strong>bool</strong></span>);
+  <a href="local_date_time_base.html#id2476903-bb">local_date_time_base</a>(date_type, time_duration_type,
+                       boost::shared_ptr&lt; tz_type &gt;, DST_CALC_OPTIONS);
+  <a href="local_date_time_base.html#id2476966-bb">local_date_time_base</a>(<span class="bold"><strong>const</strong></span> <a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a> &amp;);
+  <a href="local_date_time_base.html#id2476987-bb">local_date_time_base</a>(<span class="bold"><strong>const</strong></span> boost::date_time::special_values,
+                       boost::shared_ptr&lt; tz_type &gt; = boost::shared_ptr&lt; tz_type &gt;());
+  <a href="local_date_time_base.html#id2476958-bb">~local_date_time_base</a>();
+
+  <span class="emphasis"><em>// <a href="local_date_time_base.html#id2476081-bb">public member functions</a></em></span>
+  <span class="type">boost::shared_ptr&lt; tz_type &gt;</span> <a href="local_date_time_base.html#id2476086-bb">zone</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="local_date_time_base.html#id2476102-bb">is_dst</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">utc_time_type</span> <a href="local_date_time_base.html#id2476120-bb">utc_time</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">utc_time_type</span> <a href="local_date_time_base.html#id2476137-bb">local_time</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">std::string</span> <a href="local_date_time_base.html#id2476154-bb">to_string</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a></span>
+  <a href="local_date_time_base.html#id2476182-bb">local_time_in</a>(boost::shared_ptr&lt; tz_type &gt;,
+                time_duration_type = time_duration_type(0, 0, 0)) <span class="bold"><strong>const</strong></span>;
+  <span class="type">std::string</span> <a href="local_date_time_base.html#id2476231-bb">zone_name</a>(<span class="bold"><strong>bool</strong></span> = false) <span class="bold"><strong>const</strong></span>;
+  <span class="type">std::string</span> <a href="local_date_time_base.html#id2476273-bb">zone_abbrev</a>(<span class="bold"><strong>bool</strong></span> = false) <span class="bold"><strong>const</strong></span>;
+  <span class="type">std::string</span> <a href="local_date_time_base.html#id2476314-bb">zone_as_posix_string</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="local_date_time_base.html#id2476332-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="local_date_time_base.html#id2476362-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> <a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="local_date_time_base.html#id2476391-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> <a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="local_date_time_base.html#id2476421-bb"><span class="bold"><strong>operator</strong></span>&lt;=</a>(<span class="bold"><strong>const</strong></span> <a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="local_date_time_base.html#id2476450-bb"><span class="bold"><strong>operator</strong></span>&gt;</a>(<span class="bold"><strong>const</strong></span> <a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="local_date_time_base.html#id2476480-bb"><span class="bold"><strong>operator</strong></span>&gt;=</a>(<span class="bold"><strong>const</strong></span> <a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a></span> <a href="local_date_time_base.html#id2476511-bb"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> date_duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a></span> <a href="local_date_time_base.html#id2476540-bb"><span class="bold"><strong>operator</strong></span>+=</a>(<span class="bold"><strong>const</strong></span> date_duration_type &amp;) ;
+  <span class="type"><a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a></span> <a href="local_date_time_base.html#id2476570-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> date_duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a></span> <a href="local_date_time_base.html#id2476599-bb"><span class="bold"><strong>operator</strong></span>-=</a>(<span class="bold"><strong>const</strong></span> date_duration_type &amp;) ;
+  <span class="type"><a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a></span> <a href="local_date_time_base.html#id2476629-bb"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a></span> <a href="local_date_time_base.html#id2476659-bb"><span class="bold"><strong>operator</strong></span>+=</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;) ;
+  <span class="type"><a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a></span> <a href="local_date_time_base.html#id2476688-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a></span> <a href="local_date_time_base.html#id2476718-bb"><span class="bold"><strong>operator</strong></span>-=</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;) ;
+  <span class="type">time_duration_type</span> <a href="local_date_time_base.html#id2476747-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> <a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a> &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="local_date_time_base.html#id2477018-bb">public static functions</a></em></span>
+  <span class="type">time_is_dst_result</span>
+  <a href="local_date_time_base.html#id2477022-bb">check_dst</a>(date_type, time_duration_type, boost::shared_ptr&lt; tz_type &gt;) ;
+
+  <span class="emphasis"><em>// <a href="local_date_time_base.html#id2477082-bb">private member functions</a></em></span>
+  <span class="type">utc_time_type</span>
+  <a href="local_date_time_base.html#id2477087-bb">construction_adjustment</a>(utc_time_type, boost::shared_ptr&lt; tz_type &gt;, <span class="bold"><strong>bool</strong></span>) ;
+  <span class="type">std::string</span> <a href="local_date_time_base.html#id2477137-bb">zone_as_offset</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;, <span class="bold"><strong>const</strong></span> std::string &amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2683854"></a><h2>Description</h2>
+<p>Representation of "wall-clock" time in a particular time zone Local_date_time_base holds a time value (date and time offset from 00:00) along with a time zone. The time value is stored as UTC and conversions to wall clock time are made as needed. This approach allows for operations between wall-clock times in different time zones, and daylight savings time considerations, to be made. Time zones are required to be in the form of a boost::shared_ptr&lt;time_zone_base&gt;. </p>
+<div class="refsect2" lang="en">
+<a name="id2683874"></a><h3>
+<a name="local_date_time_baseconstruct-copy-destruct"></a><code class="computeroutput">local_date_time_base</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2476779-bb"></a>local_date_time_base(utc_time_type t, boost::shared_ptr&lt; tz_type &gt; tz);</pre>
+<p>This constructor interprets the passed time as a UTC time. So, for example, if the passed timezone is UTC-5 then the time will be adjusted back 5 hours. The time zone allows for automatic calculation of whether the particular time is adjusted for daylight savings, etc. If the time zone shared pointer is null then time stays unadjusted.
+</p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">t</span></dt>
+<dd><p>A UTC time </p></dd>
+<dt><span class="term">tz</span></dt>
+<dd><p>Timezone for to adjust the UTC time to. </p></dd>
+</dl>
+</div>
+</li>
+<li>
+<pre class="literallayout"><a name="id2476832-bb"></a>local_date_time_base(date_type d, time_duration_type td,
+                     boost::shared_ptr&lt; tz_type &gt; tz, <span class="bold"><strong>bool</strong></span> dst_flag);</pre>
+<p>This constructs a local time -- the passed time information understood to be in the passed tz. The DST flag must be passed to indicate whether the time is in daylight savings or not.
+</p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ -- time_label_invalid if the time passed does not exist in the given locale. The non-existent case occurs typically during the shift-back from daylight savings time. When the clock is shifted forward a range of times (2 am to 3 am in the US) is skipped and hence is invalid. dst_not_valid if the DST flag is passed for a period where DST is not active. </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2476903-bb"></a>local_date_time_base(date_type d, time_duration_type td,
+                     boost::shared_ptr&lt; tz_type &gt; tz,
+                     DST_CALC_OPTIONS calc_option);</pre>
+<p>This constructs a local time -- the passed time information understood to be in the passed tz. The DST flag is calculated according to the specified rule. </p>
+</li>
+<li><pre class="literallayout"><a name="id2476966-bb"></a>local_date_time_base(<span class="bold"><strong>const</strong></span> <a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a> &amp; rhs);</pre></li>
+<li><pre class="literallayout"><a name="id2476987-bb"></a>local_date_time_base(<span class="bold"><strong>const</strong></span> boost::date_time::special_values sv,
+                     boost::shared_ptr&lt; tz_type &gt; tz = boost::shared_ptr&lt; tz_type &gt;());</pre></li>
+<li><pre class="literallayout"><a name="id2476958-bb"></a>~local_date_time_base();</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2684072"></a><h3>
+<a name="id2476081-bb"></a><code class="computeroutput">local_date_time_base</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">boost::shared_ptr&lt; tz_type &gt;</span> <a name="id2476086-bb"></a>zone() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2476102-bb"></a>is_dst() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">utc_time_type</span> <a name="id2476120-bb"></a>utc_time() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">utc_time_type</span> <a name="id2476137-bb"></a>local_time() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="type">std::string</span> <a name="id2476154-bb"></a>to_string() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns string in the form "2003-Aug-20 05:00:00 EDT". If time_zone is NULL the time zone abbreviation will be "UTC". The time zone abbrev will not be included if calling object is a special_value </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a></span>
+<a name="id2476182-bb"></a>local_time_in(boost::shared_ptr&lt; tz_type &gt; new_tz,
+              time_duration_type td = time_duration_type(0, 0, 0)) <span class="bold"><strong>const</strong></span>;</pre>
+<p>returns a local_date_time_base in the given time zone with the optional time_duration added. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">std::string</span> <a name="id2476231-bb"></a>zone_name(<span class="bold"><strong>bool</strong></span> as_offset = false) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Optional bool parameter will return time zone as an offset (ie "+07:00" extended iso format). Empty string is returned for classes that do not use a time_zone </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">std::string</span> <a name="id2476273-bb"></a>zone_abbrev(<span class="bold"><strong>bool</strong></span> as_offset = false) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Optional bool parameter will return time zone as an offset (ie "+0700" iso format). Empty string is returned for classes that do not use a time_zone </p>
+</li>
+<li><pre class="literallayout"><span class="type">std::string</span> <a name="id2476314-bb"></a>zone_as_posix_string() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2476332-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> <a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2476362-bb"></a><span class="bold"><strong>operator</strong></span>!=(<span class="bold"><strong>const</strong></span> <a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2476391-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<span class="bold"><strong>const</strong></span> <a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2476421-bb"></a><span class="bold"><strong>operator</strong></span>&lt;=(<span class="bold"><strong>const</strong></span> <a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2476450-bb"></a><span class="bold"><strong>operator</strong></span>&gt;(<span class="bold"><strong>const</strong></span> <a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2476480-bb"></a><span class="bold"><strong>operator</strong></span>&gt;=(<span class="bold"><strong>const</strong></span> <a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a></span> <a name="id2476511-bb"></a><span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> date_duration_type &amp; dd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a></span> <a name="id2476540-bb"></a><span class="bold"><strong>operator</strong></span>+=(<span class="bold"><strong>const</strong></span> date_duration_type &amp; dd) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a></span> <a name="id2476570-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> date_duration_type &amp; dd) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a></span> <a name="id2476599-bb"></a><span class="bold"><strong>operator</strong></span>-=(<span class="bold"><strong>const</strong></span> date_duration_type &amp; dd) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a></span> <a name="id2476629-bb"></a><span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> time_duration_type &amp; td) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a></span> <a name="id2476659-bb"></a><span class="bold"><strong>operator</strong></span>+=(<span class="bold"><strong>const</strong></span> time_duration_type &amp; td) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a></span> <a name="id2476688-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> time_duration_type &amp; td) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a></span> <a name="id2476718-bb"></a><span class="bold"><strong>operator</strong></span>-=(<span class="bold"><strong>const</strong></span> time_duration_type &amp; td) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_duration_type</span> <a name="id2476747-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> <a href="local_date_time_base.html" title="Class template local_date_time_base">local_date_time_base</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2684945"></a><h3>
+<a name="id2477018-bb"></a><code class="computeroutput">local_date_time_base</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type">time_is_dst_result</span>
+<a name="id2477022-bb"></a>check_dst(date_type d, time_duration_type td, boost::shared_ptr&lt; tz_type &gt; tz) ;</pre>
+<p>Determines if given time label is in daylight savings for given zone. Takes a date and time_duration representing a local time, along with time zone, and returns a time_is_dst_result object as result. </p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2684989"></a><h3>
+<a name="id2477082-bb"></a><code class="computeroutput">local_date_time_base</code> private member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type">utc_time_type</span>
+<a name="id2477087-bb"></a>construction_adjustment(utc_time_type t, boost::shared_ptr&lt; tz_type &gt; zone,
+                        <span class="bold"><strong>bool</strong></span> is_dst) ;</pre>
+<p>Adjust the passed in time to UTC? </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">std::string</span> <a name="id2477137-bb"></a>zone_as_offset(<span class="bold"><strong>const</strong></span> time_duration_type &amp; td,
+                           <span class="bold"><strong>const</strong></span> std::string &amp; separator) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Simple formatting code -- todo remove this? </p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dst_not_valid.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475866"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bad_offset.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/lock_error.html b/doc/html/lock_error.html
new file mode 100644
index 0000000000..49cd768b82
--- /dev/null
+++ b/doc/html/lock_error.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class lock_error</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id2533190" title="Header &lt;boost/thread/exceptions.hpp&gt;">
+<link rel="prev" href="condition.html" title="Class condition">
+<link rel="next" href="thread_resource_error.html" title="Class thread_resource_error">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="condition.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2533190"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="thread_resource_error.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="lock_error"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class lock_error</span></h2>
+<p>boost::lock_error &#8212; <p>The lock_error class defines an exception type thrown
+ to indicate a locking related error has been detected.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> lock_error : <span class="bold"><strong>public</strong></span> <span class="type">std::logical_error</span> {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="lock_error.html#lock_errorconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="lock_error.html#id2535598-bb">lock_error</a>();
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2780388"></a><h2>Description</h2>
+<p>Examples of errors indicated by a lock_error exception
+ include a lock operation which can be determined to result in a
+ deadlock, or unlock operations attempted by a thread that does
+ not own the lock.</p>
+<div class="refsect2" lang="en">
+<a name="id2780397"></a><h3>
+<a name="lock_errorconstruct-copy-destruct"></a><code class="computeroutput">lock_error</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><a name="id2535598-bb"></a>lock_error();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Constructs a <code class="computeroutput">lock_error</code> object.
+ </p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="condition.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2533190"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="thread_resource_error.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/make_find_iterator.html b/doc/html/make_find_iterator.html
new file mode 100644
index 0000000000..8730008588
--- /dev/null
+++ b/doc/html/make_find_iterator.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template make_find_iterator</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2382464" title="Header &lt;boost/algorithm/string/find_iterator.hpp&gt;">
+<link rel="prev" href="split_iterator.html" title="Class template split_iterator">
+<link rel="next" href="make_split_iterator.html" title="Function template make_split_iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="split_iterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2382464"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="make_split_iterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="make_find_iterator"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template make_find_iterator</span></h2>
+<p>boost::algorithm::make_find_iterator &#8212; find iterator construction helper </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> FinderT&gt;
+  <span class="type"><a href="find_iterator.html" title="Class template find_iterator">find_iterator</a>&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; RangeT &gt;::type &gt;</span>
+  make_find_iterator(RangeT &amp; Collection, FinderT Finder);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2758989"></a><h2>Description</h2>
+<p>Construct a find iterator to iterate through the specified string </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="split_iterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2382464"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="make_split_iterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/make_recursive_variant.html b/doc/html/make_recursive_variant.html
new file mode 100644
index 0000000000..350062fe09
--- /dev/null
+++ b/doc/html/make_recursive_variant.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template make_recursive_variant</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2551122" title="Header &lt;boost/variant/recursive_variant.hpp&gt;">
+<link rel="prev" href="make_variant_over.html" title="Class template make_variant_over">
+<link rel="next" href="id2655704.html" title="Class template make_recursive_variant_over">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_variant_over.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2551122"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2655704.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="make_recursive_variant"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template make_recursive_variant</span></h2>
+<p>boost::make_recursive_variant &#8212; Simplifies declaration of recursive <code class="computeroutput">variant</code> types.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2 = <span class="emphasis"><em>unspecified</em></span>, ...,
+         <span class="bold"><strong>typename</strong></span> TN = <span class="emphasis"><em>unspecified</em></span>&gt;
+<span class="bold"><strong>class</strong></span> make_recursive_variant {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <a href="boost/variant.html" title="Class template variant">boost::variant</a>&lt; <span class="emphasis"><em>unspecified</em></span> &gt; type;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2836116"></a><h2>Description</h2>
+<p><code class="computeroutput">type</code> has behavior equivalent in every respect to
+ some <code class="computeroutput">variant&lt; U1, U2, ..., UN &gt;</code>, where each type
+ <code class="computeroutput">U<span class="emphasis"><em>i</em></span></code> is the result of the
+ corresponding type <code class="computeroutput">T<span class="emphasis"><em>i</em></span></code> undergone a
+ transformation function. The following pseudo-code specifies the
+ behavior of this transformation (call it <code class="computeroutput">substitute</code>):
+
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>If <code class="computeroutput">T<span class="emphasis"><em>i</em></span></code> is
+ <code class="computeroutput">boost::recursive_variant_</code> then:
+ <code class="computeroutput">variant&lt; U1, U2, ..., UN &gt;</code>;</li>
+<li>Else if <code class="computeroutput">T<span class="emphasis"><em>i</em></span></code> is of the
+ form <code class="computeroutput">X *</code> then:
+ <code class="computeroutput">substitute(X) *</code>;</li>
+<li>Else if <code class="computeroutput">T<span class="emphasis"><em>i</em></span></code> is of the
+ form <code class="computeroutput">X &amp;</code> then:
+ <code class="computeroutput">substitute(X) &amp;</code>;</li>
+<li>Else if <code class="computeroutput">T<span class="emphasis"><em>i</em></span></code> is of the
+ form <code class="computeroutput">R (*)( X1, X2, ..., XN )</code> then:
+ <code class="computeroutput">substitute(R) (*)( substitute(X1), substitute(X2), ..., substitute(XN) )</code>;</li>
+<li>Else if <code class="computeroutput">T<span class="emphasis"><em>i</em></span></code> is of the
+ form <code class="computeroutput">F &lt; X1, X2, ..., XN &gt;</code> then:
+ <code class="computeroutput">F&lt; substitute(X1), substitute(X2), ..., substitute(XN) &gt;</code>;</li>
+<li>Else: <code class="computeroutput">T<span class="emphasis"><em>i</em></span></code>.</li>
+</ul></div>
+<p>Note that cv-qualifiers are preserved and that the actual
+ process is generally a bit more complicated. However, the above does
+ convey the essential idea as well as describe the extent of the
+ substititions.</p>
+<p>Use of <code class="computeroutput">make_recursive_variant</code> is demonstrated in
+ <a href="variant/tutorial.html#variant.tutorial.recursive.recursive-variant" title="Recursive types with make_recursive_variant">the section called &#8220;Recursive types with <code class="computeroutput">make_recursive_variant</code>&#8221;</a>.</p>
+<p><span class="bold"><strong>Portability</strong></span>: Due to standard
+ conformance issues in several compilers,
+ <code class="computeroutput">make_recursive_variant</code> is not universally supported. On
+ these compilers the library indicates its lack of support via the
+ definition of the preprocessor symbol
+ <code class="computeroutput"><a href="id2404411.html" title="Macro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT">BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</a></code>.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_variant_over.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2551122"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2655704.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/make_split_iterator.html b/doc/html/make_split_iterator.html
new file mode 100644
index 0000000000..f9ec303085
--- /dev/null
+++ b/doc/html/make_split_iterator.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template make_split_iterator</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2382464" title="Header &lt;boost/algorithm/string/find_iterator.hpp&gt;">
+<link rel="prev" href="make_find_iterator.html" title="Function template make_find_iterator">
+<link rel="next" href="first_finder.html" title="Function first_finder">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_find_iterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2382464"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="first_finder.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="make_split_iterator"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template make_split_iterator</span></h2>
+<p>boost::algorithm::make_split_iterator &#8212; split iterator construction helper </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> FinderT&gt;
+  <span class="type"><a href="split_iterator.html" title="Class template split_iterator">split_iterator</a>&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; RangeT &gt;::type &gt;</span>
+  make_split_iterator(RangeT &amp; Collection, FinderT Finder);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2759055"></a><h2>Description</h2>
+<p>Construct a split iterator to iterate through the specified collection </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_find_iterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2382464"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="first_finder.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/make_variant_over.html b/doc/html/make_variant_over.html
new file mode 100644
index 0000000000..cafb8b08fb
--- /dev/null
+++ b/doc/html/make_variant_over.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template make_variant_over</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2540137" title="Header &lt;boost/variant/variant.hpp&gt;">
+<link rel="prev" href="id2630804.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="make_recursive_variant.html" title="Class template make_recursive_variant">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2630804.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2540137"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="make_recursive_variant.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="make_variant_over"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template make_variant_over</span></h2>
+<p>boost::make_variant_over &#8212; <p>Exposes a <code class="computeroutput">variant</code> whose bounded types are the
+ elements of the given type sequence.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Sequence&gt;
+<span class="bold"><strong>class</strong></span> make_variant_over {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> variant&lt; <span class="emphasis"><em>unspecified</em></span> &gt; type;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2835824"></a><h2>Description</h2>
+<p><code class="computeroutput">type</code> has behavior equivalent in every respect to
+ <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">variant</a>&lt; Sequence[0], Sequence[1], ... &gt;</code>
+ (where <code class="computeroutput">Sequence[<span class="emphasis"><em>i</em></span>]</code> denotes the
+ <span class="emphasis"><em>i</em></span>-th element of <code class="computeroutput">Sequence</code>), except
+ that no upper limit is imposed on the number of types.</p>
+<p><span class="bold"><strong>Notes</strong></span>:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<code class="computeroutput">Sequence</code> must meet the requirements of
+ <a href="../../libs/mpl/index.html" target="_top">MPL</a>'s <span class="emphasis"><em>Sequence</em></span>
+ concept.</li>
+<li>Due to standard conformance problems in several compilers,
+ <code class="computeroutput">make_variant_over</code> may not be supported on your
+ compiler. See
+ <code class="computeroutput"><a href="id2648190.html" title="Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT">BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</a></code>
+ for more information.</li>
+</ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2630804.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2540137"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="make_recursive_variant.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/microsec_clock.html b/doc/html/microsec_clock.html
new file mode 100644
index 0000000000..19788342e9
--- /dev/null
+++ b/doc/html/microsec_clock.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template microsec_clock</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2520303" title="Header &lt;boost/date_time/microsec_time_clock.hpp&gt;">
+<link rel="prev" href="acst_dst_trait.html" title="Struct template acst_dst_trait">
+<link rel="next" href="id2483937.html" title="Type ymd_order_spec">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acst_dst_trait.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2520303"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2483937.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="microsec_clock"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template microsec_clock</span></h2>
+<p>boost::date_time::microsec_clock &#8212; A clock providing microsecond level resolution. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type&gt;
+<span class="bold"><strong>class</strong></span> microsec_clock {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> time_type::date_type          date_type;             
+  <span class="bold"><strong>typedef</strong></span> time_type::time_duration_type time_duration_type;    
+  <span class="bold"><strong>typedef</strong></span> time_duration_type::rep_type  resolution_traits_type;
+
+  <span class="emphasis"><em>// <a href="microsec_clock.html#id2479179-bb">public static functions</a></em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_zone_type&gt;
+    <span class="type">time_type</span> <a href="microsec_clock.html#id2479184-bb">local_time</a>(shared_ptr&lt; time_zone_type &gt;) ;
+  <span class="type">time_type</span> <a href="microsec_clock.html#id2465546-bb">local_time</a>() ;
+  <span class="type">time_type</span> <a href="microsec_clock.html#id2465563-bb">universal_time</a>() ;
+
+  <span class="emphasis"><em>// <a href="microsec_clock.html#id2465582-bb">private static functions</a></em></span>
+  <span class="type">time_type</span> <a href="microsec_clock.html#id2465586-bb">create_time</a>(TZ_FOR_CREATE) ;
+  <span class="type">time_type</span> <a href="microsec_clock.html#id2433422-bb">local_time</a>() ;
+  <span class="type">time_type</span> <a href="microsec_clock.html#id2433439-bb">universal_time</a>() ;
+  <span class="type">time_type</span> <a href="microsec_clock.html#id2499124-bb">create_time</a>(FILETIME &amp;, TZ_FOR_CREATE) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2645362"></a><h2>Description</h2>
+<p>A high precision clock that measures the local time at a resolution up to microseconds and adjusts to the resolution of the time system. For example, for the a library configuration with nano second resolution, the last 3 places of the fractional seconds will always be 000 since there are 1000 nano-seconds in a micro second. </p>
+<div class="refsect2" lang="en">
+<a name="id2645374"></a><h3>
+<a name="id2479179-bb"></a><code class="computeroutput">microsec_clock</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_zone_type&gt;
+  <span class="type">time_type</span> <a name="id2479184-bb"></a>local_time(shared_ptr&lt; time_zone_type &gt; tz_ptr) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2465546-bb"></a>local_time() ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2465563-bb"></a>universal_time() ;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2645458"></a><h3>
+<a name="id2465582-bb"></a><code class="computeroutput">microsec_clock</code> private static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2465586-bb"></a>create_time(TZ_FOR_CREATE tz) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2433422-bb"></a>local_time() ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2433439-bb"></a>universal_time() ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2499124-bb"></a>create_time(FILETIME &amp; ft, TZ_FOR_CREATE tz) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acst_dst_trait.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2520303"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2483937.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/minutes.html b/doc/html/minutes.html
new file mode 100644
index 0000000000..99f702ea09
--- /dev/null
+++ b/doc/html/minutes.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class minutes</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2443401" title="Header &lt;boost/date_time/posix_time/posix_time_duration.hpp&gt;">
+<link rel="prev" href="hours.html" title="Class hours">
+<link rel="next" href="seconds.html" title="Class seconds">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hours.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2443401"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="seconds.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="minutes"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class minutes</span></h2>
+<p>boost::posix_time::minutes &#8212; Allows expression of durations as a minute count. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> minutes : <span class="bold"><strong>public</strong></span> boost::posix_time::time_duration {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="minutes.html#minutesconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="minutes.html#id2443469-bb">minutes</a>(<span class="bold"><strong>long</strong></span>);
+
+  <span class="emphasis"><em>// <a href="minutes.html#id2443465-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2678238"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2678242"></a><h3>
+<a name="minutesconstruct-copy-destruct"></a><code class="computeroutput">minutes</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2443469-bb"></a>minutes(<span class="bold"><strong>long</strong></span> m);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2678281"></a><h3>
+<a name="id2443465-bb"></a><code class="computeroutput">minutes</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hours.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2443401"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="seconds.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/month_formatter.html b/doc/html/month_formatter.html
new file mode 100644
index 0000000000..87aef0500c
--- /dev/null
+++ b/doc/html/month_formatter.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template month_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2352409" title="Header &lt;boost/date_time/date_formatting.hpp&gt;">
+<link rel="prev" href="id2492905-bb.html" title="Class simple_format&lt;wchar_t&gt;">
+<link rel="next" href="ymd_formatter.html" title="Class template ymd_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2492905-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2352409"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ymd_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="month_formatter"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template month_formatter</span></h2>
+<p>boost::date_time::month_formatter &#8212; Formats a month as as string into an ostream. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> month_type, <span class="bold"><strong>typename</strong></span> format_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> month_formatter {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="month_formatter.html#id2418747-bb">public static functions</a></em></span>
+  <span class="type">std::basic_ostream&lt; charT &gt; &amp;</span>
+  <a href="month_formatter.html#id2442596-bb">format_month</a>(<span class="bold"><strong>const</strong></span> month_type &amp;, std::basic_ostream&lt; charT &gt; &amp;) ;
+  <span class="type">std::ostream &amp;</span> <a href="month_formatter.html#id2492357-bb">format_month</a>(<span class="bold"><strong>const</strong></span> month_type &amp;, std::ostream &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2619194"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2619197"></a><h3>
+<a name="id2418747-bb"></a><code class="computeroutput">month_formatter</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type">std::basic_ostream&lt; charT &gt; &amp;</span>
+<a name="id2442596-bb"></a>format_month(<span class="bold"><strong>const</strong></span> month_type &amp; month, std::basic_ostream&lt; charT &gt; &amp; os) ;</pre>
+<p>This function demands that month_type provide functions for converting to short and long strings if that capability is used. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">std::ostream &amp;</span> <a name="id2492357-bb"></a>format_month(<span class="bold"><strong>const</strong></span> month_type &amp; month, std::ostream &amp; os) ;</pre>
+<p>This function demands that month_type provide functions for converting to short and long strings if that capability is used. </p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2492905-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2352409"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ymd_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/month_functor.html b/doc/html/month_functor.html
new file mode 100644
index 0000000000..d779b8e934
--- /dev/null
+++ b/doc/html/month_functor.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template month_functor</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2485277" title="Header &lt;boost/date_time/adjust_functors.hpp&gt;">
+<link rel="prev" href="day_functor.html" title="Class template day_functor">
+<link rel="next" href="week_functor.html" title="Class template week_functor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="day_functor.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2485277"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="week_functor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="month_functor"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template month_functor</span></h2>
+<p>boost::date_time::month_functor &#8212; Provides calculation to find next nth month given a date. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt;
+<span class="bold"><strong>class</strong></span> month_functor {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::duration_type duration_type;
+  <span class="bold"><strong>typedef</strong></span> date_type::calendar_type cal_type;     
+  <span class="bold"><strong>typedef</strong></span> cal_type::ymd_type       ymd_type;     
+  <span class="bold"><strong>typedef</strong></span> cal_type::day_type       day_type;     
+
+  <span class="emphasis"><em>// <a href="month_functor.html#month_functorconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="month_functor.html#id2385161-bb">month_functor</a>(<span class="bold"><strong>int</strong></span>);
+
+  <span class="emphasis"><em>// <a href="month_functor.html#id2400519-bb">public member functions</a></em></span>
+  <span class="type">duration_type</span> <a href="month_functor.html#id2418304-bb">get_offset</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="month_functor.html#id2485324-bb">get_neg_offset</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2605829"></a><h2>Description</h2>
+<p>This adjustment function provides the logic for 'month-based' advancement on a ymd based calendar. The policy it uses to handle the non existant end of month days is to back up to the last day of the month. Also, if the starting date is the last day of a month, this functor will attempt to adjust to the end of the month. </p>
+<div class="refsect2" lang="en">
+<a name="id2605840"></a><h3>
+<a name="month_functorconstruct-copy-destruct"></a><code class="computeroutput">month_functor</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2385161-bb"></a>month_functor(<span class="bold"><strong>int</strong></span> f);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2605880"></a><h3>
+<a name="id2400519-bb"></a><code class="computeroutput">month_functor</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2418304-bb"></a>get_offset(<span class="bold"><strong>const</strong></span> date_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2485324-bb"></a>get_neg_offset(<span class="bold"><strong>const</strong></span> date_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="day_functor.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2485277"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="week_functor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/months_duration.html b/doc/html/months_duration.html
new file mode 100644
index 0000000000..2a7e76a761
--- /dev/null
+++ b/doc/html/months_duration.html
@@ -0,0 +1,103 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template months_duration</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2442047" title="Header &lt;boost/date_time/date_duration_types.hpp&gt;">
+<link rel="prev" href="weeks_duration.html" title="Class template weeks_duration">
+<link rel="next" href="years_duration.html" title="Class template years_duration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="weeks_duration.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2442047"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="years_duration.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="months_duration"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template months_duration</span></h2>
+<p>boost::date_time::months_duration &#8212; additional duration type that represents a logical month </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> base_config&gt;
+<span class="bold"><strong>class</strong></span> months_duration {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="months_duration.html#months_durationconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="months_duration.html#id2396284-bb">months_duration</a>(int_rep);
+  <a href="months_duration.html#id2440140-bb">months_duration</a>(special_values);
+
+  <span class="emphasis"><em>// <a href="months_duration.html#id2527587-bb">public member functions</a></em></span>
+  <span class="type">int_rep</span> <a href="months_duration.html#id2527590-bb">number_of_months</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="months_duration.html#id2520797-bb">get_neg_offset</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="months_duration.html#id2510313-bb">get_offset</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="months_duration.html#id2393099-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> months_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="months_duration.html#id2384126-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> months_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">months_type</span> <a href="months_duration.html#id2519169-bb"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> months_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">months_type &amp;</span> <a href="months_duration.html#id2495468-bb"><span class="bold"><strong>operator</strong></span>+=</a>(<span class="bold"><strong>const</strong></span> months_type &amp;) ;
+  <span class="type">months_type</span> <a href="months_duration.html#id2527886-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> months_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">months_type &amp;</span> <a href="months_duration.html#id2412028-bb"><span class="bold"><strong>operator</strong></span>-=</a>(<span class="bold"><strong>const</strong></span> months_type &amp;) ;
+  <span class="type">months_type</span> <a href="months_duration.html#id2384936-bb"><span class="bold"><strong>operator</strong></span> *</a>(<span class="bold"><strong>const</strong></span> int_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type">months_type &amp;</span> <a href="months_duration.html#id2446048-bb"><span class="bold"><strong>operator</strong></span> *=</a>(<span class="bold"><strong>const</strong></span> int_type) ;
+  <span class="type">months_type</span> <a href="months_duration.html#id2493050-bb"><span class="bold"><strong>operator</strong></span>/</a>(<span class="bold"><strong>const</strong></span> int_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type">months_type &amp;</span> <a href="months_duration.html#id2439300-bb"><span class="bold"><strong>operator</strong></span>/=</a>(<span class="bold"><strong>const</strong></span> int_type) ;
+  <span class="type">months_type</span> <a href="months_duration.html#id2470026-bb"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> years_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">months_type &amp;</span> <a href="months_duration.html#id2496333-bb"><span class="bold"><strong>operator</strong></span>+=</a>(<span class="bold"><strong>const</strong></span> years_type &amp;) ;
+  <span class="type">months_type</span> <a href="months_duration.html#id2372990-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> years_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">months_type &amp;</span> <a href="months_duration.html#id2525425-bb"><span class="bold"><strong>operator</strong></span>-=</a>(<span class="bold"><strong>const</strong></span> years_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2611736"></a><h2>Description</h2>
+<p>A logical month enables things like: "date(2002,Mar,2) + months(2) -&gt; 2002-May2". If the date is a last day-of-the-month, the result will also be a last-day-of-the-month. </p>
+<div class="refsect2" lang="en">
+<a name="id2611750"></a><h3>
+<a name="months_durationconstruct-copy-destruct"></a><code class="computeroutput">months_duration</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2396284-bb"></a>months_duration(int_rep num);</pre></li>
+<li><pre class="literallayout"><a name="id2440140-bb"></a>months_duration(special_values sv);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2611798"></a><h3>
+<a name="id2527587-bb"></a><code class="computeroutput">months_duration</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_rep</span> <a name="id2527590-bb"></a>number_of_months() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2520797-bb"></a>get_neg_offset(<span class="bold"><strong>const</strong></span> date_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2510313-bb"></a>get_offset(<span class="bold"><strong>const</strong></span> date_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2393099-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> months_type &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2384126-bb"></a><span class="bold"><strong>operator</strong></span>!=(<span class="bold"><strong>const</strong></span> months_type &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">months_type</span> <a name="id2519169-bb"></a><span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> months_type &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">months_type &amp;</span> <a name="id2495468-bb"></a><span class="bold"><strong>operator</strong></span>+=(<span class="bold"><strong>const</strong></span> months_type &amp; rhs) ;</pre></li>
+<li><pre class="literallayout"><span class="type">months_type</span> <a name="id2527886-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> months_type &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">months_type &amp;</span> <a name="id2412028-bb"></a><span class="bold"><strong>operator</strong></span>-=(<span class="bold"><strong>const</strong></span> months_type &amp; rhs) ;</pre></li>
+<li><pre class="literallayout"><span class="type">months_type</span> <a name="id2384936-bb"></a><span class="bold"><strong>operator</strong></span> *(<span class="bold"><strong>const</strong></span> int_type rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">months_type &amp;</span> <a name="id2446048-bb"></a><span class="bold"><strong>operator</strong></span> *=(<span class="bold"><strong>const</strong></span> int_type rhs) ;</pre></li>
+<li><pre class="literallayout"><span class="type">months_type</span> <a name="id2493050-bb"></a><span class="bold"><strong>operator</strong></span>/(<span class="bold"><strong>const</strong></span> int_type rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">months_type &amp;</span> <a name="id2439300-bb"></a><span class="bold"><strong>operator</strong></span>/=(<span class="bold"><strong>const</strong></span> int_type rhs) ;</pre></li>
+<li><pre class="literallayout"><span class="type">months_type</span> <a name="id2470026-bb"></a><span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> years_type &amp; y) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">months_type &amp;</span> <a name="id2496333-bb"></a><span class="bold"><strong>operator</strong></span>+=(<span class="bold"><strong>const</strong></span> years_type &amp; y) ;</pre></li>
+<li><pre class="literallayout"><span class="type">months_type</span> <a name="id2372990-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> years_type &amp; y) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">months_type &amp;</span> <a name="id2525425-bb"></a><span class="bold"><strong>operator</strong></span>-=(<span class="bold"><strong>const</strong></span> years_type &amp; y) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="weeks_duration.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2442047"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="years_duration.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/multiple_occurrences.html b/doc/html/multiple_occurrences.html
new file mode 100644
index 0000000000..48a15aba54
--- /dev/null
+++ b/doc/html/multiple_occurrences.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class multiple_occurrences</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2399042" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="multiple_values.html" title="Class multiple_values">
+<link rel="next" href="validation_error.html" title="Class validation_error">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="multiple_values.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="validation_error.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="multiple_occurrences"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class multiple_occurrences</span></h2>
+<p>boost::program_options::multiple_occurrences &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> multiple_occurrences : <span class="bold"><strong>public</strong></span> boost::program_options::error {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="multiple_occurrences.html#multiple_occurrencesconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="multiple_occurrences.html#id2357939-bb">multiple_occurrences</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+  <span class="emphasis"><em>// <a href="multiple_occurrences.html#id2371860-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2718952"></a><h2>Description</h2>
+<p>Class thrown when there are several occurrences of an option, but user called a method which cannot return them all. </p>
+<div class="refsect2" lang="en">
+<a name="id2718960"></a><h3>
+<a name="multiple_occurrencesconstruct-copy-destruct"></a><code class="computeroutput">multiple_occurrences</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2357939-bb"></a>multiple_occurrences(<span class="bold"><strong>const</strong></span> std::string &amp; what);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2719000"></a><h3>
+<a name="id2371860-bb"></a><code class="computeroutput">multiple_occurrences</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="multiple_values.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="validation_error.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/multiple_values.html b/doc/html/multiple_values.html
new file mode 100644
index 0000000000..dc59ae143f
--- /dev/null
+++ b/doc/html/multiple_values.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class multiple_values</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2399042" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="ambiguous_option.html" title="Class ambiguous_option">
+<link rel="next" href="multiple_occurrences.html" title="Class multiple_occurrences">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ambiguous_option.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="multiple_occurrences.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="multiple_values"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class multiple_values</span></h2>
+<p>boost::program_options::multiple_values &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> multiple_values : <span class="bold"><strong>public</strong></span> boost::program_options::error {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="multiple_values.html#multiple_valuesconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="multiple_values.html#id2336350-bb">multiple_values</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+  <span class="emphasis"><em>// <a href="multiple_values.html#id2336346-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2718807"></a><h2>Description</h2>
+<p>Class thrown when there are several option values, but user called a method which cannot return them all. </p>
+<div class="refsect2" lang="en">
+<a name="id2718815"></a><h3>
+<a name="multiple_valuesconstruct-copy-destruct"></a><code class="computeroutput">multiple_values</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2336350-bb"></a>multiple_values(<span class="bold"><strong>const</strong></span> std::string &amp; what);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2718854"></a><h3>
+<a name="id2336346-bb"></a><code class="computeroutput">multiple_values</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ambiguous_option.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="multiple_occurrences.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/mutex.html b/doc/html/mutex.html
new file mode 100644
index 0000000000..0cab94ffb7
--- /dev/null
+++ b/doc/html/mutex.html
@@ -0,0 +1,131 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class mutex</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id2534429" title="Header &lt;boost/thread/mutex.hpp&gt;">
+<link rel="prev" href="thread_resource_error.html" title="Class thread_resource_error">
+<link rel="next" href="try_mutex.html" title="Class try_mutex">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="thread_resource_error.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2534429"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="try_mutex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="mutex"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class mutex</span></h2>
+<p>boost::mutex &#8212; <p>The <a href="mutex.html" title="Class mutex">mutex</a> class is a model of the
+ <a href="threads/concepts.html#threads.concepts.Mutex" title="Mutex Concept">Mutex</a> concept.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> mutex : <span class="bold"><strong>private</strong></span> boost::noncopyable <span class="emphasis"><em>// Exposition only</em></span>
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_lock;
+
+  <span class="emphasis"><em>// <a href="mutex.html#mutexconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="mutex.html#id2601515-bb">mutex</a>();
+  <a href="mutex.html#id2589157-bb">~mutex</a>();
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2780758"></a><h2>Description</h2>
+<p>The <a href="mutex.html" title="Class mutex">mutex</a> class is a model of the
+ <a href="threads/concepts.html#threads.concepts.Mutex" title="Mutex Concept">Mutex</a> concept.
+ It should be used to synchronize access to shared resources using
+ <a href="threads/concepts.html#threads.concepts.unspecified-locking-strategy" title="Unspecified Locking Strategy">Unspecified</a>
+ locking mechanics.</p>
+<p>For classes that model related mutex concepts, see
+ <a href="try_mutex.html" title="Class try_mutex">try_mutex</a> and <a href="timed_mutex.html" title="Class timed_mutex">timed_mutex</a>.</p>
+<p>For <a href="threads/concepts.html#threads.concepts.recursive-locking-strategy" title="Recursive Locking Strategy">Recursive</a>
+ locking mechanics, see <a href="recursive_mutex.html" title="Class recursive_mutex">recursive_mutex</a>,
+ <a href="recursive_try_mutex.html" title="Class recursive_try_mutex">recursive_try_mutex</a>, and <a href="recursive_timed_mutex.html" title="Class recursive_timed_mutex">recursive_timed_mutex</a>.
+ </p>
+<p>The <a href="mutex.html" title="Class mutex">mutex</a> class supplies the following typedef,
+ which <a href="threads/concepts.html#threads.concepts.lock-models" title="Lock Models">models</a>
+ the specified locking strategy:
+
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Lock Name</th>
+<th align="left">Lock Concept</th>
+</tr></thead>
+<tbody><tr>
+<td align="left">scoped_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedLock" title="ScopedLock Concept">ScopedLock</a></td>
+</tr></tbody>
+</table></div>
+<p>The <a href="mutex.html" title="Class mutex">mutex</a> class uses an
+ <a href="threads/concepts.html#threads.concepts.unspecified-locking-strategy" title="Unspecified Locking Strategy">Unspecified</a>
+ locking strategy, so attempts to recursively lock a <a href="mutex.html" title="Class mutex">mutex</a>
+ object or attempts to unlock one by threads that don't own a lock on it result in
+ <span class="bold"><strong>undefined behavior</strong></span>.
+ This strategy allows implementations to be as efficient as possible
+ on any given platform. It is, however, recommended that
+ implementations include debugging support to detect misuse when
+ <code class="computeroutput">NDEBUG</code> is not defined.</p>
+<p>Like all
+ <a href="threads/concepts.html#threads.concepts.mutex-models" title="Mutex Models">mutex models</a>
+ in <span class="bold"><strong>Boost.Threads</strong></span>, <a href="mutex.html" title="Class mutex">mutex</a> leaves the
+ <a href="threads/concepts.html#threads.concepts.sheduling-policies" title="Scheduling Policies">scheduling policy</a>
+ as <a href="threads/concepts.html#threads.concepts.unspecified-scheduling-policy" title="Unspecified Policy">Unspecified</a>.
+ Programmers should make no assumptions about the order in which
+ waiting threads acquire a lock.</p>
+<div class="refsect2" lang="en">
+<a name="id2780971"></a><h3>
+<a name="mutexconstruct-copy-destruct"></a><code class="computeroutput">mutex</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2601515-bb"></a>mutex();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Constructs a <a href="mutex.html" title="Class mutex">mutex</a> object.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">*this</code> is in an unlocked state.
+ </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2589157-bb"></a>~mutex();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Destroys a <a href="mutex.html" title="Class mutex">mutex</a> object.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">*this</code> is in an unlocked state.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ <span class="bold"><strong>Danger:</strong></span> Destruction of a
+ locked mutex is a serious programming error resulting in undefined
+ behavior such as a program crash.</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="thread_resource_error.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2534429"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="try_mutex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/next_weekday.html b/doc/html/next_weekday.html
new file mode 100644
index 0000000000..0d7ff3ceb9
--- /dev/null
+++ b/doc/html/next_weekday.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template next_weekday</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2508942" title="Header &lt;boost/date_time/date_generators.hpp&gt;">
+<link rel="prev" href="days_before_weekday.html" title="Function template days_before_weekday">
+<link rel="next" href="previous_weekday.html" title="Function template previous_weekday">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="days_before_weekday.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="previous_weekday.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="next_weekday"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template next_weekday</span></h2>
+<p>boost::date_time::next_weekday &#8212; Generates a date object representing the date of the following weekday from the given date. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> weekday_type&gt;
+  <span class="type">date_type</span> next_weekday(<span class="bold"><strong>const</strong></span> date_type &amp; d, <span class="bold"><strong>const</strong></span> weekday_type &amp; wd);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2626921"></a><h2>Description</h2>
+<p>Generates a date object representing the date of the following weekday from the given date. If the date given is 2004-May-9 (a Sunday) and the given weekday is Tuesday then the resulting date will be 2004-May-11. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="days_before_weekday.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="previous_weekday.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/notify.html b/doc/html/notify.html
new file mode 100644
index 0000000000..c49a96bd33
--- /dev/null
+++ b/doc/html/notify.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function notify</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2524541" title="Header &lt;boost/program_options/variables_map.hpp&gt;">
+<link rel="prev" href="id2342502.html" title="Function store">
+<link rel="next" href="id2363468.html" title="Macro BOOST_PROGRAM_OPTIONS_VERSION">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2342502.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2524541"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2363468.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="notify"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function notify</span></h2>
+<p>boost::program_options::notify &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">BOOST_PROGRAM_OPTIONS_DECL <span class="bold"><strong>void</strong></span></span> notify(<a href="variables_map.html" title="Class variables_map">variables_map</a> &amp; m);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2729886"></a><h2>Description</h2>
+<p>Runs all 'notify' function for options in 'm'. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2342502.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2524541"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2363468.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/nth_finder.html b/doc/html/nth_finder.html
new file mode 100644
index 0000000000..f391514f64
--- /dev/null
+++ b/doc/html/nth_finder.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function nth_finder</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2447201" title="Header &lt;boost/algorithm/string/finder.hpp&gt;">
+<link rel="prev" href="last_finder.html" title="Function last_finder">
+<link rel="next" href="head_finder.html" title="Function head_finder">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="last_finder.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2447201"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="head_finder.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="nth_finder"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function nth_finder</span></h2>
+<p>boost::algorithm::nth_finder &#8212; "Nth" finder </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ContainerT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> nth_finder(<span class="bold"><strong>const</strong></span> ContainerT &amp; Search, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> Nth);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ContainerT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> nth_finder(<span class="bold"><strong>const</strong></span> ContainerT &amp; Search, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> Nth,
+                         PredicateT Comp);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2759810"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">nth_finder</code> . The finder searches for the n-th (zero-indexed) occurrence of the string in a given input. The result is given as an <code class="computeroutput">iterator_range</code> delimiting the match.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Nth</span></dt>
+<dd><p>An index of the match to be find </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for. </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">nth_finder</code> object </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="last_finder.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2447201"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="head_finder.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/nth_kday_of_month.html b/doc/html/nth_kday_of_month.html
new file mode 100644
index 0000000000..ef4b0ffd7c
--- /dev/null
+++ b/doc/html/nth_kday_of_month.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template nth_kday_of_month</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2508942" title="Header &lt;boost/date_time/date_generators.hpp&gt;">
+<link rel="prev" href="partial_date.html" title="Class template partial_date">
+<link rel="next" href="first_kday_of_month.html" title="Class template first_kday_of_month">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="partial_date.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="first_kday_of_month.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="nth_kday_of_month"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template nth_kday_of_month</span></h2>
+<p>boost::date_time::nth_kday_of_month &#8212; Useful generator functor for finding holidays. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt;
+<span class="bold"><strong>class</strong></span> nth_kday_of_month
+ : : <span class="bold"><strong>public</strong></span> boost::date_time::year_based_generator&lt; date_type &gt;
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::calendar_type        calendar_type;   
+  <span class="bold"><strong>typedef</strong></span> calendar_type::day_of_week_type day_of_week_type;
+  <span class="bold"><strong>typedef</strong></span> calendar_type::month_type       month_type;      
+  <span class="bold"><strong>typedef</strong></span> calendar_type::year_type        year_type;       
+  <span class="bold"><strong>typedef</strong></span> date_type::duration_type        duration_type;   
+
+  <span class="emphasis"><em>// <a href="nth_kday_of_month.html#nth_kday_of_monthconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="nth_kday_of_month.html#id2523941-bb">nth_kday_of_month</a>(week_num, day_of_week_type, month_type);
+
+  <span class="emphasis"><em>// <a href="nth_kday_of_month.html#id2405263-bb">public member functions</a></em></span>
+  <span class="type">date_type</span> <a href="nth_kday_of_month.html#id2405268-bb">get_date</a>(year_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type">month_type</span> <a href="nth_kday_of_month.html#id2458799-bb">month</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">week_num</span> <a href="nth_kday_of_month.html#id2413307-bb">nth_week</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">day_of_week_type</span> <a href="nth_kday_of_month.html#id2413320-bb">day_of_week</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a href="nth_kday_of_month.html#id2527806-bb">nth_week_as_str</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="nth_kday_of_month.html#id2511093-bb">to_string</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2625183"></a><h2>Description</h2>
+<p>Based on the idea in Cal. Calc. for finding holidays that are the 'first Monday of September'. When instantiated with 'fifth' kday of month, the result will be the last kday of month which can be the fourth or fifth depending on the structure of the month.</p>
+<p>The algorithm here basically guesses for the first day of the month. Then finds the first day of the correct type. That is, if the first of the month is a Tuesday and it needs Wenesday then we simply increment by a day and then we can add the length of a week until we get to the 'nth kday'. There are probably more efficient algorithms based on using a mod 7, but this one works reasonably well for basic applications. </p>
+<div class="refsect2" lang="en">
+<a name="id2625202"></a><h3>
+<a name="nth_kday_of_monthconstruct-copy-destruct"></a><code class="computeroutput">nth_kday_of_month</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2523941-bb"></a>nth_kday_of_month(week_num week_no, day_of_week_type dow, month_type m);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2625237"></a><h3>
+<a name="id2405263-bb"></a><code class="computeroutput">nth_kday_of_month</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2405268-bb"></a>get_date(year_type y) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">month_type</span> <a name="id2458799-bb"></a>month() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">week_num</span> <a name="id2413307-bb"></a>nth_week() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">day_of_week_type</span> <a name="id2413320-bb"></a>day_of_week() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a name="id2527806-bb"></a>nth_week_as_str() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2511093-bb"></a>to_string() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns a string formatted as "M4.3.0" ==&gt; 3rd Sunday in April. </p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="partial_date.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="first_kday_of_month.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/nth_kday_rule_spec.html b/doc/html/nth_kday_rule_spec.html
new file mode 100644
index 0000000000..43258fe5f2
--- /dev/null
+++ b/doc/html/nth_kday_rule_spec.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct nth_kday_rule_spec</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2475564" title="Header &lt;boost/date_time/local_time/dst_transition_day_rules.hpp&gt;">
+<link rel="prev" href="nth_last_rule_spec.html" title="Struct nth_last_rule_spec">
+<link rel="next" href="ambiguous_result.html" title="Struct ambiguous_result">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nth_last_rule_spec.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475564"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ambiguous_result.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="nth_kday_rule_spec"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct nth_kday_rule_spec</span></h2>
+<p>boost::local_time::nth_kday_rule_spec &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> nth_kday_rule_spec {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> gregorian::date              date_type; 
+  <span class="bold"><strong>typedef</strong></span> gregorian::nth_kday_of_month start_rule;
+  <span class="bold"><strong>typedef</strong></span> gregorian::nth_kday_of_month end_rule;  
+};</pre></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nth_last_rule_spec.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475564"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ambiguous_result.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/nth_last_rule_spec.html b/doc/html/nth_last_rule_spec.html
new file mode 100644
index 0000000000..d30861d0cf
--- /dev/null
+++ b/doc/html/nth_last_rule_spec.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct nth_last_rule_spec</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2475564" title="Header &lt;boost/date_time/local_time/dst_transition_day_rules.hpp&gt;">
+<link rel="prev" href="last_last_rule_spec.html" title="Struct last_last_rule_spec">
+<link rel="next" href="nth_kday_rule_spec.html" title="Struct nth_kday_rule_spec">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="last_last_rule_spec.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475564"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="nth_kday_rule_spec.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="nth_last_rule_spec"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct nth_last_rule_spec</span></h2>
+<p>boost::local_time::nth_last_rule_spec &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> nth_last_rule_spec {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> gregorian::date               date_type; 
+  <span class="bold"><strong>typedef</strong></span> gregorian::nth_kday_of_month  start_rule;
+  <span class="bold"><strong>typedef</strong></span> gregorian::last_kday_of_month end_rule;  
+};</pre></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="last_last_rule_spec.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475564"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="nth_kday_rule_spec.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/null_dst_rules.html b/doc/html/null_dst_rules.html
new file mode 100644
index 0000000000..7475698fd6
--- /dev/null
+++ b/doc/html/null_dst_rules.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template null_dst_rules</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2510544" title="Header &lt;boost/date_time/dst_rules.hpp&gt;">
+<link rel="prev" href="us_dst_rules.html" title="Class template us_dst_rules">
+<link rel="next" href="dst_day_calc_rule.html" title="Class template dst_day_calc_rule">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="us_dst_rules.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2510544"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="dst_day_calc_rule.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="null_dst_rules"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template null_dst_rules</span></h2>
+<p>boost::date_time::null_dst_rules &#8212; Used for local time adjustments in places that don't use dst. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type_, <span class="bold"><strong>typename</strong></span> time_duration_type_&gt;
+<span class="bold"><strong>class</strong></span> null_dst_rules {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> time_duration_type_ time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> date_type_          date_type;         
+
+  <span class="emphasis"><em>// <a href="null_dst_rules.html#id2398068-bb">public static functions</a></em></span>
+  <span class="type">time_is_dst_result</span>
+  <a href="null_dst_rules.html#id2515441-bb">local_is_dst</a>(<span class="bold"><strong>const</strong></span> date_type &amp;, <span class="bold"><strong>const</strong></span> time_duration_type &amp;) ;
+  <span class="type">time_is_dst_result</span>
+  <a href="null_dst_rules.html#id2419378-bb">utc_is_dst</a>(<span class="bold"><strong>const</strong></span> date_type &amp;, <span class="bold"><strong>const</strong></span> time_duration_type &amp;) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="null_dst_rules.html#id2431601-bb">is_dst_boundary_day</a>(date_type) ;
+  <span class="type">time_duration_type</span> <a href="null_dst_rules.html#id2512657-bb">dst_offset</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2633136"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2633140"></a><h3>
+<a name="id2398068-bb"></a><code class="computeroutput">null_dst_rules</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type">time_is_dst_result</span>
+<a name="id2515441-bb"></a>local_is_dst(<span class="bold"><strong>const</strong></span> date_type &amp; , <span class="bold"><strong>const</strong></span> time_duration_type &amp; ) ;</pre>
+<p></p>
+</li>
+<li><pre class="literallayout"><span class="type">time_is_dst_result</span>
+<a name="id2419378-bb"></a>utc_is_dst(<span class="bold"><strong>const</strong></span> date_type &amp; , <span class="bold"><strong>const</strong></span> time_duration_type &amp; ) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2431601-bb"></a>is_dst_boundary_day(date_type d) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_duration_type</span> <a name="id2512657-bb"></a>dst_offset() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="us_dst_rules.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2510544"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="dst_day_calc_rule.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/option_description.html b/doc/html/option_description.html
new file mode 100644
index 0000000000..41f3142191
--- /dev/null
+++ b/doc/html/option_description.html
@@ -0,0 +1,120 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class option_description</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2473651" title="Header &lt;boost/program_options/options_description.hpp&gt;">
+<link rel="prev" href="basic_option.html" title="Class template basic_option">
+<link rel="next" href="id2411202.html" title="Class options_description_easy_init">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_option.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2473651"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2411202.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="option_description"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class option_description</span></h2>
+<p>boost::program_options::option_description &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> option_description {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="option_description.html#option_descriptionconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="option_description.html#id2336994-bb">option_description</a>();
+  <a href="option_description.html#id2336996-bb">option_description</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> *);
+  <a href="option_description.html#id2496239-bb">option_description</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> *, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *);
+  <a href="option_description.html#id2365528-bb">~option_description</a>();
+
+  <span class="emphasis"><em>// <a href="option_description.html#id2399875-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="option_description.html#id2380521-bb">match</a>(<span class="bold"><strong>const</strong></span> std::string &amp;, <span class="bold"><strong>bool</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> std::string &amp;</span> <a href="option_description.html#id2508624-bb">key</a>(<span class="bold"><strong>const</strong></span> std::string &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> std::string &amp;</span> <a href="option_description.html#id2376105-bb">long_name</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> std::string &amp;</span> <a href="option_description.html#id2376118-bb">description</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">shared_ptr&lt; <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> &gt;</span> <a href="option_description.html#id2340842-bb">semantic</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">std::string</span> <a href="option_description.html#id2461312-bb">format_name</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">std::string</span> <a href="option_description.html#id2343692-bb">format_parameter</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="option_description.html#id2365530-bb">private member functions</a></em></span>
+  <span class="type"><a href="option_description.html" title="Class option_description">option_description</a> &amp;</span> <a href="option_description.html#id2365535-bb">set_name</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2720910"></a><h2>Description</h2>
+<p>Describes one possible command line/config file option. There are two kinds of properties of an option. First describe it syntactically and are used only to validate input. Second affect interpretation of the option, for example default value for it or function that should be called when the value is finally known. Routines which perform parsing never use second kind of properties -- they are side effect free. </p>
+<p>options_description </p>
+<div class="refsect2" lang="en">
+<a name="id2720925"></a><h3>
+<a name="option_descriptionconstruct-copy-destruct"></a><code class="computeroutput">option_description</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2336994-bb"></a>option_description();</pre></li>
+<li>
+<pre class="literallayout"><a name="id2336996-bb"></a>option_description(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> * s);</pre>
+<p>Initializes the object with the passed data.</p>
+<p>Note: it would be nice to make the second parameter auto_ptr, to explicitly pass ownership. Unfortunately, it's often needed to create objects of types derived from 'value_semantic': options_description d; d.add_options()("a", parameter&lt;int&gt;("n")-&gt;default_value(1)); Here, the static type returned by 'parameter' should be derived from value_semantic.</p>
+<p>Alas, derived-&gt;base conversion for auto_ptr does not really work, see http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2000/n1232.pdf http://std.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html#84</p>
+<p>So, we have to use plain old pointers. Besides, users are not expected to use the constructor directly.</p>
+<p>The 'name' parameter is interpreted by the following rules:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>if there's no "," character in 'name', it specifies long name</p></li>
+<li><p>otherwise, the part before "," specifies long name and the part after -- long name. </p></li>
+</ul></div>
+</li>
+<li>
+<pre class="literallayout"><a name="id2496239-bb"></a>option_description(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name, <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> * s,
+                   <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * description);</pre>
+<p>Initializes the class with the passed data. </p>
+</li>
+<li><pre class="literallayout"><a name="id2365528-bb"></a>~option_description();</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2721106"></a><h3>
+<a name="id2399875-bb"></a><code class="computeroutput">option_description</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2380521-bb"></a>match(<span class="bold"><strong>const</strong></span> std::string &amp; option, <span class="bold"><strong>bool</strong></span> approx) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Given 'option', specified in the input source, return 'true' is 'option' specifies *this. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> std::string &amp;</span> <a name="id2508624-bb"></a>key(<span class="bold"><strong>const</strong></span> std::string &amp; option) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Return the key that should identify the option, in particular in the variables_map class. The 'option' parameter is the option spelling from the input source. If option name contains '*', returns 'option'. If long name was specified, it's the long name, otherwise it's a short name with prepended '-'. </p>
+</li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> std::string &amp;</span> <a name="id2376105-bb"></a>long_name() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> std::string &amp;</span> <a name="id2376118-bb"></a>description() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">shared_ptr&lt; <span class="bold"><strong>const</strong></span> <a href="value_semantic.html" title="Class value_semantic">value_semantic</a> &gt;</span> <a name="id2340842-bb"></a>semantic() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">std::string</span> <a name="id2461312-bb"></a>format_name() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="type">std::string</span> <a name="id2343692-bb"></a>format_parameter() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Return the parameter name and properties, formatted suitably for usage message. </p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2721353"></a><h3>
+<a name="id2365530-bb"></a><code class="computeroutput">option_description</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><a href="option_description.html" title="Class option_description">option_description</a> &amp;</span> <a name="id2365535-bb"></a>set_name(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> * name) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_option.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2473651"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2411202.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/options_description.html b/doc/html/options_description.html
new file mode 100644
index 0000000000..8706dc44b6
--- /dev/null
+++ b/doc/html/options_description.html
@@ -0,0 +1,107 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class options_description</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2473651" title="Header &lt;boost/program_options/options_description.hpp&gt;">
+<link rel="prev" href="id2411202.html" title="Class options_description_easy_init">
+<link rel="next" href="duplicate_option_error.html" title="Class duplicate_option_error">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2411202.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2473651"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="duplicate_option_error.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="options_description"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class options_description</span></h2>
+<p>boost::program_options::options_description &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> options_description {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="options_description.html#options_descriptionconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="options_description.html#id2464057-bb">options_description</a>(<span class="bold"><strong>unsigned</strong></span> = m_default_line_length);
+  <a href="options_description.html#id2377898-bb">options_description</a>(<span class="bold"><strong>const</strong></span> std::string &amp;, <span class="bold"><strong>unsigned</strong></span> = m_default_line_length);
+
+  <span class="emphasis"><em>// <a href="options_description.html#id2350872-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="options_description.html#id2350876-bb">add</a>(shared_ptr&lt; <a href="option_description.html" title="Class option_description">option_description</a> &gt;) ;
+  <span class="type"><a href="options_description.html" title="Class options_description">options_description</a> &amp;</span> <a href="options_description.html#id2376744-bb">add</a>(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp;) ;
+  <span class="type"><a href="id2411202.html" title="Class options_description_easy_init">options_description_easy_init</a></span> <a href="options_description.html#id2407263-bb">add_options</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> <a href="option_description.html" title="Class option_description">option_description</a> &amp;</span> <a href="options_description.html#id2407292-bb">find</a>(<span class="bold"><strong>const</strong></span> std::string &amp;, <span class="bold"><strong>bool</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> <a href="option_description.html" title="Class option_description">option_description</a> *</span> <a href="options_description.html#id2342317-bb">find_nothrow</a>(<span class="bold"><strong>const</strong></span> std::string &amp;, <span class="bold"><strong>bool</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> std::vector&lt; shared_ptr&lt; <a href="option_description.html" title="Class option_description">option_description</a> &gt; &gt; &amp;</span> <a href="options_description.html#id2369815-bb">options</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="options_description.html#id2369831-bb">print</a>(std::ostream &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="bold"><strong>static</strong></span> const unsigned m_default_line_length;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2722170"></a><h2>Description</h2>
+<p>A set of option descriptions. This provides convenient interface for adding new option (the add_options) method, and facilities to search for options by name.</p>
+<p>See here for option adding interface discussion. </p>
+<p>option_description </p>
+<div class="refsect2" lang="en">
+<a name="id2722184"></a><h3>
+<a name="options_descriptionconstruct-copy-destruct"></a><code class="computeroutput">options_description</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2464057-bb"></a>options_description(<span class="bold"><strong>unsigned</strong></span> line_length = m_default_line_length);</pre>
+<p>Creates the instance. </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2377898-bb"></a>options_description(<span class="bold"><strong>const</strong></span> std::string &amp; caption,
+                    <span class="bold"><strong>unsigned</strong></span> line_length = m_default_line_length);</pre>
+<p>Creates the instance. The 'caption' parameter gives the name of this 'options_description' instance. Primarily useful for output. </p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2722260"></a><h3>
+<a name="id2350872-bb"></a><code class="computeroutput">options_description</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2350876-bb"></a>add(shared_ptr&lt; <a href="option_description.html" title="Class option_description">option_description</a> &gt; desc) ;</pre>
+<p>Adds new variable description. Throws duplicate_variable_error if either short or long name matches that of already present one. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a href="options_description.html" title="Class options_description">options_description</a> &amp;</span> <a name="id2376744-bb"></a>add(<span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp; desc) ;</pre>
+<p>Adds a group of option description. This has the same effect as adding all option_descriptions in 'desc' individually, except that output operator will show a separate group. Returns *this. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a href="id2411202.html" title="Class options_description_easy_init">options_description_easy_init</a></span> <a name="id2407263-bb"></a>add_options() ;</pre>
+<p>Returns an object of implementation-defined type suitable for adding options to options_description. The returned object will have overloaded operator() with parameter type matching 'option_description' constructors. Calling the operator will create new option_description instance and add it. </p>
+</li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <a href="option_description.html" title="Class option_description">option_description</a> &amp;</span> <a name="id2407292-bb"></a>find(<span class="bold"><strong>const</strong></span> std::string &amp; name, <span class="bold"><strong>bool</strong></span> approx) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <a href="option_description.html" title="Class option_description">option_description</a> *</span>
+<a name="id2342317-bb"></a>find_nothrow(<span class="bold"><strong>const</strong></span> std::string &amp; name, <span class="bold"><strong>bool</strong></span> approx) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> std::vector&lt; shared_ptr&lt; <a href="option_description.html" title="Class option_description">option_description</a> &gt; &gt; &amp;</span> <a name="id2369815-bb"></a>options() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2369831-bb"></a>print(std::ostream &amp; os) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Output 'desc' to the specified stream, calling 'f' to output each option_description element. </p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2411202.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2473651"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="duplicate_option_error.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ostream_date_formatter.html b/doc/html/ostream_date_formatter.html
new file mode 100644
index 0000000000..6cc02f2509
--- /dev/null
+++ b/doc/html/ostream_date_formatter.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template ostream_date_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2496102" title="Header &lt;boost/date_time/date_formatting_locales.hpp&gt;">
+<link rel="prev" href="ostream_ymd_formatter.html" title="Class template ostream_ymd_formatter">
+<link rel="next" href="date_generator_formatter.html" title="Class template date_generator_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ostream_ymd_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2496102"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_generator_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ostream_date_formatter"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template ostream_date_formatter</span></h2>
+<p>boost::date_time::ostream_date_formatter &#8212; Convert a date to string using format policies. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> facet_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> ostream_date_formatter {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::basic_ostream&lt; charT &gt; ostream_type;
+  <span class="bold"><strong>typedef</strong></span> date_type::ymd_type         ymd_type;    
+
+  <span class="emphasis"><em>// <a href="ostream_date_formatter.html#id2429141-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="ostream_date_formatter.html#id2429146-bb">date_put</a>(<span class="bold"><strong>const</strong></span> date_type &amp;, ostream_type &amp;, <span class="bold"><strong>const</strong></span> facet_type &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="ostream_date_formatter.html#id2419556-bb">date_put</a>(<span class="bold"><strong>const</strong></span> date_type &amp;, ostream_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2620591"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2620594"></a><h3>
+<a name="id2429141-bb"></a><code class="computeroutput">ostream_date_formatter</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2429146-bb"></a>date_put(<span class="bold"><strong>const</strong></span> date_type &amp; d, ostream_type &amp; os, <span class="bold"><strong>const</strong></span> facet_type &amp; f) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2419556-bb"></a>date_put(<span class="bold"><strong>const</strong></span> date_type &amp; d, ostream_type &amp; os) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ostream_ymd_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2496102"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_generator_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ostream_month_formatter.html b/doc/html/ostream_month_formatter.html
new file mode 100644
index 0000000000..85a108b582
--- /dev/null
+++ b/doc/html/ostream_month_formatter.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template ostream_month_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2496102" title="Header &lt;boost/date_time/date_formatting_locales.hpp&gt;">
+<link rel="prev" href="date_formatter.html" title="Class template date_formatter">
+<link rel="next" href="ostream_weekday_formatter.html" title="Class template ostream_weekday_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2496102"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ostream_weekday_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ostream_month_formatter"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template ostream_month_formatter</span></h2>
+<p>boost::date_time::ostream_month_formatter &#8212; Formats a month as as string into an ostream. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> facet_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> ostream_month_formatter {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> facet_type::month_type      month_type;  
+  <span class="bold"><strong>typedef</strong></span> std::basic_ostream&lt; charT &gt; ostream_type;
+
+  <span class="emphasis"><em>// <a href="ostream_month_formatter.html#id2430457-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="ostream_month_formatter.html#id2430462-bb">format_month</a>(<span class="bold"><strong>const</strong></span> month_type &amp;, ostream_type &amp;, <span class="bold"><strong>const</strong></span> facet_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2619983"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2619987"></a><h3>
+<a name="id2430457-bb"></a><code class="computeroutput">ostream_month_formatter</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2430462-bb"></a>format_month(<span class="bold"><strong>const</strong></span> month_type &amp; month, ostream_type &amp; os,
+                  <span class="bold"><strong>const</strong></span> facet_type &amp; f) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2496102"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ostream_weekday_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ostream_time_formatter.html b/doc/html/ostream_time_formatter.html
new file mode 100644
index 0000000000..ed123f6290
--- /dev/null
+++ b/doc/html/ostream_time_formatter.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template ostream_time_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2406082" title="Header &lt;boost/date_time/time_formatting_streams.hpp&gt;">
+<link rel="prev" href="id2406096.html" title="Class template ostream_time_duration_formatter">
+<link rel="next" href="id2428972.html" title="Class template ostream_time_period_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2406096.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2406082"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2428972.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ostream_time_formatter"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template ostream_time_formatter</span></h2>
+<p>boost::date_time::ostream_time_formatter &#8212; Put a time type into a stream using appropriate facets. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> ostream_time_formatter {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::basic_ostream&lt; charT &gt;                                  ostream_type;      
+  <span class="bold"><strong>typedef</strong></span> time_type::date_type                                         date_type;         
+  <span class="bold"><strong>typedef</strong></span> time_type::time_duration_type                                time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> <a href="id2406096.html" title="Class template ostream_time_duration_formatter">ostream_time_duration_formatter</a>&lt; time_duration_type, charT &gt; duration_formatter;
+
+  <span class="emphasis"><em>// <a href="ostream_time_formatter.html#id2428929-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="ostream_time_formatter.html#id2428933-bb">time_put</a>(<span class="bold"><strong>const</strong></span> time_type &amp;, ostream_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2658676"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2658679"></a><h3>
+<a name="id2428929-bb"></a><code class="computeroutput">ostream_time_formatter</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2428933-bb"></a>time_put(<span class="bold"><strong>const</strong></span> time_type &amp; t, ostream_type &amp; os) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2406096.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2406082"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2428972.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ostream_weekday_formatter.html b/doc/html/ostream_weekday_formatter.html
new file mode 100644
index 0000000000..42147b7099
--- /dev/null
+++ b/doc/html/ostream_weekday_formatter.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template ostream_weekday_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2496102" title="Header &lt;boost/date_time/date_formatting_locales.hpp&gt;">
+<link rel="prev" href="ostream_month_formatter.html" title="Class template ostream_month_formatter">
+<link rel="next" href="ostream_ymd_formatter.html" title="Class template ostream_ymd_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ostream_month_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2496102"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ostream_ymd_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ostream_weekday_formatter"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template ostream_weekday_formatter</span></h2>
+<p>boost::date_time::ostream_weekday_formatter &#8212; Formats a weekday. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> weekday_type, <span class="bold"><strong>typename</strong></span> facet_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> ostream_weekday_formatter {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> facet_type::month_type      month_type;  
+  <span class="bold"><strong>typedef</strong></span> std::basic_ostream&lt; charT &gt; ostream_type;
+
+  <span class="emphasis"><em>// <a href="ostream_weekday_formatter.html#id2503838-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="ostream_weekday_formatter.html#id2503842-bb">format_weekday</a>(<span class="bold"><strong>const</strong></span> weekday_type &amp;, ostream_type &amp;,
+                      <span class="bold"><strong>const</strong></span> facet_type &amp;, <span class="bold"><strong>bool</strong></span>) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2620174"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2620177"></a><h3>
+<a name="id2503838-bb"></a><code class="computeroutput">ostream_weekday_formatter</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2503842-bb"></a>format_weekday(<span class="bold"><strong>const</strong></span> weekday_type &amp; wd, ostream_type &amp; os,
+                    <span class="bold"><strong>const</strong></span> facet_type &amp; f, <span class="bold"><strong>bool</strong></span> as_long_string) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ostream_month_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2496102"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ostream_ymd_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ostream_ymd_formatter.html b/doc/html/ostream_ymd_formatter.html
new file mode 100644
index 0000000000..fe39f083f5
--- /dev/null
+++ b/doc/html/ostream_ymd_formatter.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template ostream_ymd_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2496102" title="Header &lt;boost/date_time/date_formatting_locales.hpp&gt;">
+<link rel="prev" href="ostream_weekday_formatter.html" title="Class template ostream_weekday_formatter">
+<link rel="next" href="ostream_date_formatter.html" title="Class template ostream_date_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ostream_weekday_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2496102"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ostream_date_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ostream_ymd_formatter"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template ostream_ymd_formatter</span></h2>
+<p>boost::date_time::ostream_ymd_formatter &#8212; Convert ymd to a standard string formatting policies. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ymd_type, <span class="bold"><strong>typename</strong></span> facet_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> ostream_ymd_formatter {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> ymd_type::month_type                         month_type;          
+  <span class="bold"><strong>typedef</strong></span> <a href="ostream_month_formatter.html" title="Class template ostream_month_formatter">ostream_month_formatter</a>&lt; facet_type, charT &gt; month_formatter_type;
+  <span class="bold"><strong>typedef</strong></span> std::basic_ostream&lt; charT &gt;                  ostream_type;        
+  <span class="bold"><strong>typedef</strong></span> std::basic_string&lt; charT &gt;                   foo_type;            
+
+  <span class="emphasis"><em>// <a href="ostream_ymd_formatter.html#id2405285-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="ostream_ymd_formatter.html#id2521622-bb">ymd_put</a>(ymd_type, ostream_type &amp;, <span class="bold"><strong>const</strong></span> facet_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2620385"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2620388"></a><h3>
+<a name="id2405285-bb"></a><code class="computeroutput">ostream_ymd_formatter</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2521622-bb"></a>ymd_put(ymd_type ymd, ostream_type &amp; os, <span class="bold"><strong>const</strong></span> facet_type &amp; f) ;</pre>
+<p>This is standard code for handling date formatting with year-month-day based date information. This function uses the format_type to control whether the string will contain separator characters, and if so what the character will be. In addtion, it can format the month as either an integer or a string as controled by the formatting policy </p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ostream_weekday_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2496102"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ostream_date_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/parse_command_line.html b/doc/html/parse_command_line.html
new file mode 100644
index 0000000000..c984004498
--- /dev/null
+++ b/doc/html/parse_command_line.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template parse_command_line</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2348797" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="id2348892.html" title="Type collect_unrecognized_mode">
+<link rel="next" href="parse_config_file.html" title="Function template parse_config_file">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2348892.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2348797"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="parse_config_file.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="parse_command_line"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template parse_command_line</span></h2>
+<p>boost::program_options::parse_command_line &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+  <span class="type"><a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; charT &gt;</span>
+  parse_command_line(<span class="bold"><strong>int</strong></span> argc, charT * argv, <span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp; ,
+                     <span class="bold"><strong>int</strong></span> style = 0,
+                     function1&lt; std::pair&lt; std::string, std::string &gt;, <span class="bold"><strong>const</strong></span> std::string &amp; &gt; ext = ext_parser());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2724253"></a><h2>Description</h2>
+<p>Creates instance of 'command_line_parser', passes parameters to it, and returns the result of calling the 'run' method. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2348892.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2348797"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="parse_config_file.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/parse_config_file.html b/doc/html/parse_config_file.html
new file mode 100644
index 0000000000..46e55eb736
--- /dev/null
+++ b/doc/html/parse_config_file.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template parse_config_file</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2348797" title="Header &lt;boost/program_options/parsers.hpp&gt;">
+<link rel="prev" href="parse_command_line.html" title="Function template parse_command_line">
+<link rel="next" href="collect_unrecognized.html" title="Function template collect_unrecognized">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="parse_command_line.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2348797"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="collect_unrecognized.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="parse_config_file"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template parse_config_file</span></h2>
+<p>boost::program_options::parse_config_file &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+  <span class="type">BOOST_PROGRAM_OPTIONS_DECL <a href="basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; charT &gt;</span>
+  parse_config_file(std::basic_istream&lt; charT &gt; &amp; ,
+                    <span class="bold"><strong>const</strong></span> <a href="options_description.html" title="Class options_description">options_description</a> &amp; );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2724323"></a><h2>Description</h2>
+<p>Parse a config file. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="parse_command_line.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2348797"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="collect_unrecognized.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/parse_match_result.html b/doc/html/parse_match_result.html
new file mode 100644
index 0000000000..c442be5605
--- /dev/null
+++ b/doc/html/parse_match_result.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct template parse_match_result</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2393421" title="Header &lt;boost/date_time/string_parse_tree.hpp&gt;">
+<link rel="prev" href="convert_string_type.html" title="Function template convert_string_type">
+<link rel="next" href="string_parse_tree.html" title="Struct template string_parse_tree">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="convert_string_type.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2393421"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="string_parse_tree.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="parse_match_result"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template parse_match_result</span></h2>
+<p>boost::date_time::parse_match_result &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+<span class="bold"><strong>struct</strong></span> parse_match_result {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::basic_string&lt; charT &gt; string_type;
+
+  <span class="emphasis"><em>// <a href="parse_match_result.html#parse_match_resultconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="parse_match_result.html#id2469026-bb">parse_match_result</a>();
+
+  <span class="emphasis"><em>// <a href="parse_match_result.html#id2468969-bb">public member functions</a></em></span>
+  <span class="type">string_type</span> <a href="parse_match_result.html#id2468974-bb">remaining</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">charT</span> <a href="parse_match_result.html#id2468986-bb">last_char</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="parse_match_result.html#id2468999-bb">has_remaining</a>() <span class="bold"><strong>const</strong></span>;
+
+  string_type cache;
+  unsigned short match_depth;
+  short current_match;
+  <span class="bold"><strong>static</strong></span> const short PARSE_ERROR;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2650474"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2650478"></a><h3>
+<a name="parse_match_resultconstruct-copy-destruct"></a><code class="computeroutput">parse_match_result</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2469026-bb"></a>parse_match_result();</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2650511"></a><h3>
+<a name="id2468969-bb"></a><code class="computeroutput">parse_match_result</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">string_type</span> <a name="id2468974-bb"></a>remaining() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">charT</span> <a name="id2468986-bb"></a>last_char() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2468999-bb"></a>has_remaining() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Should be used in conjunction with last_char() to get the remaining character. </p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="convert_string_type.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2393421"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="string_parse_tree.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/partial_date.html b/doc/html/partial_date.html
new file mode 100644
index 0000000000..a69bdd728f
--- /dev/null
+++ b/doc/html/partial_date.html
@@ -0,0 +1,111 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template partial_date</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2508942" title="Header &lt;boost/date_time/date_generators.hpp&gt;">
+<link rel="prev" href="year_based_generator.html" title="Class template year_based_generator">
+<link rel="next" href="nth_kday_of_month.html" title="Class template nth_kday_of_month">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="year_based_generator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="nth_kday_of_month.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="partial_date"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template partial_date</span></h2>
+<p>boost::date_time::partial_date &#8212; Generates a date by applying the year to the given month and day. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt;
+<span class="bold"><strong>class</strong></span> partial_date
+ : : <span class="bold"><strong>public</strong></span> boost::date_time::year_based_generator&lt; date_type &gt;
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::calendar_type    calendar_type;
+  <span class="bold"><strong>typedef</strong></span> calendar_type::day_type     day_type;     
+  <span class="bold"><strong>typedef</strong></span> calendar_type::month_type   month_type;   
+  <span class="bold"><strong>typedef</strong></span> calendar_type::year_type    year_type;    
+  <span class="bold"><strong>typedef</strong></span> date_type::duration_type    duration_type;
+  <span class="bold"><strong>typedef</strong></span> duration_type::duration_rep duration_rep; 
+
+  <span class="emphasis"><em>// <a href="partial_date.html#partial_dateconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="partial_date.html#id2464976-bb">partial_date</a>(day_type, month_type);
+  <a href="partial_date.html#id2456480-bb">partial_date</a>(duration_rep);
+
+  <span class="emphasis"><em>// <a href="partial_date.html#id2472423-bb">public member functions</a></em></span>
+  <span class="type">date_type</span> <a href="partial_date.html#id2472427-bb">get_date</a>(year_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type">date_type</span> <a href="partial_date.html#id2489992-bb"><span class="bold"><strong>operator</strong></span>()</a>(year_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="partial_date.html#id2417278-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="partial_date.html" title="Class template partial_date">partial_date</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="partial_date.html#id2498407-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> <a href="partial_date.html" title="Class template partial_date">partial_date</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">month_type</span> <a href="partial_date.html#id2478664-bb">month</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">day_type</span> <a href="partial_date.html#id2507935-bb">day</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="partial_date.html#id2507947-bb">to_string</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2624612"></a><h2>Description</h2>
+<p>Example usage: </p>
+<pre class="programlisting"> partial_date pd(1, Jan);
+ partial_date pd2(70);
+ date d = pd.get_date(2002); //2002-Jan-01
+ date d2 = pd2.get_date(2002); //2002-Mar-10
+</pre>
+<div class="refsect2" lang="en">
+<a name="id2624625"></a><h3>
+<a name="partial_dateconstruct-copy-destruct"></a><code class="computeroutput">partial_date</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2464976-bb"></a>partial_date(day_type d, month_type m);</pre></li>
+<li>
+<pre class="literallayout"><a name="id2456480-bb"></a>partial_date(duration_rep days);</pre>
+<p>Allowable values range from 1 to 366. 1=Jan1, 366=Dec31. If argument exceeds range, partial_date will be created with closest in-range value. 60 will always be Feb29, if get_date() is called with a non-leap year an exception will be thrown </p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2624678"></a><h3>
+<a name="id2472423-bb"></a><code class="computeroutput">partial_date</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type">date_type</span> <a name="id2472427-bb"></a>get_date(year_type y) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Will throw an 'invalid_argument' exception if a partial_date object, instantiated with Feb-29, has get_date called with a non-leap year. Example: </p>
+<pre class="programlisting"> partial_date pd(29, Feb);
+ pd.get_date(2003); // throws invalid_argument exception
+ pg.get_date(2000); // returns 2000-2-29
+</pre>
+</li>
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2489992-bb"></a><span class="bold"><strong>operator</strong></span>()(year_type y) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2417278-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> <a href="partial_date.html" title="Class template partial_date">partial_date</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2498407-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<span class="bold"><strong>const</strong></span> <a href="partial_date.html" title="Class template partial_date">partial_date</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">month_type</span> <a name="id2478664-bb"></a>month() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">day_type</span> <a name="id2507935-bb"></a>day() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2507947-bb"></a>to_string() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns string formatted with up to 3 digits: Jan-01 == "0" Feb-29 == "58" Dec-31 == "365" </p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="year_based_generator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="nth_kday_of_month.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/partial_date_rule_spec.html b/doc/html/partial_date_rule_spec.html
new file mode 100644
index 0000000000..4e040e936a
--- /dev/null
+++ b/doc/html/partial_date_rule_spec.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct partial_date_rule_spec</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2475564" title="Header &lt;boost/date_time/local_time/dst_transition_day_rules.hpp&gt;">
+<link rel="prev" href="id2475514.html" title="Function operator-=">
+<link rel="next" href="first_last_rule_spec.html" title="Struct first_last_rule_spec">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2475514.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475564"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="first_last_rule_spec.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="partial_date_rule_spec"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct partial_date_rule_spec</span></h2>
+<p>boost::local_time::partial_date_rule_spec &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> partial_date_rule_spec {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> gregorian::date         date_type; 
+  <span class="bold"><strong>typedef</strong></span> gregorian::partial_date start_rule;
+  <span class="bold"><strong>typedef</strong></span> gregorian::partial_date end_rule;  
+};</pre></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2475514.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475564"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="first_last_rule_spec.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/period.html b/doc/html/period.html
new file mode 100644
index 0000000000..c36be029e6
--- /dev/null
+++ b/doc/html/period.html
@@ -0,0 +1,126 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template period</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2434012" title="Header &lt;boost/date_time/period.hpp&gt;">
+<link rel="prev" href="id2483937.html" title="Type ymd_order_spec">
+<link rel="next" href="period_formatter.html" title="Class template period_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2483937.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2434012"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="period_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="period"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template period</span></h2>
+<p>boost::date_time::period &#8212; Provides generalized period type useful in date-time systems. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> point_rep, <span class="bold"><strong>typename</strong></span> duration_rep&gt;
+<span class="bold"><strong>class</strong></span> period {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> point_rep    point_type;   
+  <span class="bold"><strong>typedef</strong></span> duration_rep duration_type;
+
+  <span class="emphasis"><em>// <a href="period.html#periodconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="period.html#id2410155-bb">period</a>(point_rep, point_rep);
+  <a href="period.html#id2410192-bb">period</a>(point_rep, duration_rep);
+
+  <span class="emphasis"><em>// <a href="period.html#id2458307-bb">public member functions</a></em></span>
+  <span class="type">point_rep</span> <a href="period.html#id2458311-bb">begin</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">point_rep</span> <a href="period.html#id2442552-bb">end</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">point_rep</span> <a href="period.html#id2442568-bb">last</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_rep</span> <a href="period.html#id2442584-bb">length</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="period.html#id2477874-bb">is_null</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="period.html#id2477891-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> <a href="period.html" title="Class template period">period</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="period.html#id2417421-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> <a href="period.html" title="Class template period">period</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="period.html#id2417451-bb">shift</a>(<span class="bold"><strong>const</strong></span> duration_rep &amp;) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="period.html#id2457178-bb">contains</a>(<span class="bold"><strong>const</strong></span> point_rep &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="period.html#id2457205-bb">contains</a>(<span class="bold"><strong>const</strong></span> <a href="period.html" title="Class template period">period</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="period.html#id2452458-bb">intersects</a>(<span class="bold"><strong>const</strong></span> <a href="period.html" title="Class template period">period</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="period.html#id2453088-bb">is_adjacent</a>(<span class="bold"><strong>const</strong></span> <a href="period.html" title="Class template period">period</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="period.html#id2453119-bb">is_before</a>(<span class="bold"><strong>const</strong></span> point_rep &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="period.html#id2393884-bb">is_after</a>(<span class="bold"><strong>const</strong></span> point_rep &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="period.html" title="Class template period">period</a></span> <a href="period.html#id2393911-bb">intersection</a>(<span class="bold"><strong>const</strong></span> <a href="period.html" title="Class template period">period</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="period.html" title="Class template period">period</a></span> <a href="period.html#id2432541-bb">merge</a>(<span class="bold"><strong>const</strong></span> <a href="period.html" title="Class template period">period</a> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><a href="period.html" title="Class template period">period</a></span> <a href="period.html#id2472159-bb">span</a>(<span class="bold"><strong>const</strong></span> <a href="period.html" title="Class template period">period</a> &amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2646299"></a><h2>Description</h2>
+<p>This template uses a class to represent a time point within the period and another class to represent a duration. As a result, this class is not appropriate for use when the number and duration representation are the same (eg: in the regular number domain).</p>
+<p>A period can be specified by providing either the begining point and a duration or the begining point and the end point( end is NOT part of the period but 1 unit past it. A period will be "invalid" if either end_point &lt;= begin_point or the given duration is &lt;= 0. Any valid period will return false for is_null().</p>
+<p>Zero length periods are also considered invalid. Zero length periods are periods where the begining and end points are the same, or, the given duration is zero. For a zero length period, the last point will be one unit less than the begining point.</p>
+<p>In the case that the begin and last are the same, the period has a length of one unit.</p>
+<p>The best way to handle periods is usually to provide a begining point and a duration. So, day1 + 7 days is a week period which includes all of the first day and 6 more days (eg: Sun to Sat). </p>
+<div class="refsect2" lang="en">
+<a name="id2646334"></a><h3>
+<a name="periodconstruct-copy-destruct"></a><code class="computeroutput">period</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2410155-bb"></a>period(point_rep first_point, point_rep end_point);</pre>
+<p>If end &lt;= begin then the period will be invalid </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2410192-bb"></a>period(point_rep first_point, duration_rep len);</pre>
+<p>If len is &lt;= 0 then the period will be invalid </p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2646392"></a><h3>
+<a name="id2458307-bb"></a><code class="computeroutput">period</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">point_rep</span> <a name="id2458311-bb"></a>begin() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">point_rep</span> <a name="id2442552-bb"></a>end() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">point_rep</span> <a name="id2442568-bb"></a>last() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_rep</span> <a name="id2442584-bb"></a>length() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2477874-bb"></a>is_null() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2477891-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> <a href="period.html" title="Class template period">period</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2417421-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<span class="bold"><strong>const</strong></span> <a href="period.html" title="Class template period">period</a> &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2417451-bb"></a>shift(<span class="bold"><strong>const</strong></span> duration_rep &amp; d) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2457178-bb"></a>contains(<span class="bold"><strong>const</strong></span> point_rep &amp; point) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2457205-bb"></a>contains(<span class="bold"><strong>const</strong></span> <a href="period.html" title="Class template period">period</a> &amp; other) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2452458-bb"></a>intersects(<span class="bold"><strong>const</strong></span> <a href="period.html" title="Class template period">period</a> &amp; other) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2453088-bb"></a>is_adjacent(<span class="bold"><strong>const</strong></span> <a href="period.html" title="Class template period">period</a> &amp; other) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2453119-bb"></a>is_before(<span class="bold"><strong>const</strong></span> point_rep &amp; point) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2393884-bb"></a>is_after(<span class="bold"><strong>const</strong></span> point_rep &amp; point) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="period.html" title="Class template period">period</a></span> <a name="id2393911-bb"></a>intersection(<span class="bold"><strong>const</strong></span> <a href="period.html" title="Class template period">period</a> &amp; other) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="period.html" title="Class template period">period</a></span> <a name="id2432541-bb"></a>merge(<span class="bold"><strong>const</strong></span> <a href="period.html" title="Class template period">period</a> &amp; other) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="type"><a href="period.html" title="Class template period">period</a></span> <a name="id2472159-bb"></a>span(<span class="bold"><strong>const</strong></span> <a href="period.html" title="Class template period">period</a> &amp; other) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Combines two periods and any gap between them such that start = min(p1.start, p2.start) end = max(p1.end , p2.end) </p>
+<pre class="programlisting"> [---p1---)
+ [---p2---)
+ result:
+ [-----------p3----------)
+ *
+</pre>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2483937.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2434012"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="period_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/period_formatter.html b/doc/html/period_formatter.html
new file mode 100644
index 0000000000..ffc0543921
--- /dev/null
+++ b/doc/html/period_formatter.html
@@ -0,0 +1,140 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template period_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2407150" title="Header &lt;boost/date_time/period_formatter.hpp&gt;">
+<link rel="prev" href="period.html" title="Class template period">
+<link rel="next" href="period_parser.html" title="Class template period_parser">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="period.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2407150"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="period_parser.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="period_formatter"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template period_formatter</span></h2>
+<p>boost::date_time::period_formatter &#8212; Not a facet, but a class used to specify and control period formats. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT,
+         <span class="bold"><strong>typename</strong></span> OutItrT = std::ostreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt; &gt;
+<span class="bold"><strong>class</strong></span> period_formatter {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::basic_string&lt; CharT &gt;                     string_type;    
+  <span class="bold"><strong>typedef</strong></span> CharT                                          char_type;      
+  <span class="bold"><strong>typedef</strong></span> std::basic_string&lt; char_type &gt;::const_iterator const_itr_type; 
+  <span class="bold"><strong>typedef</strong></span> std::vector&lt; std::basic_string&lt; CharT &gt; &gt;      collection_type;
+
+  <span class="emphasis"><em>// <a href="period_formatter.html#period_formatterconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="period_formatter.html#id2373145-bb">period_formatter</a>(range_display_options = AS_CLOSED_RANGE,
+                   <span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> = default_period_separator,
+                   <span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> = default_period_start_delimeter,
+                   <span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> = default_period_open_range_end_delimeter,
+                   <span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> = default_period_closed_range_end_delimeter);
+
+  <span class="emphasis"><em>// <a href="period_formatter.html#id2481144-bb">public member functions</a></em></span>
+  <span class="type">OutItrT</span> <a href="period_formatter.html#id2481148-bb">put_period_separator</a>(OutItrT &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">OutItrT</span> <a href="period_formatter.html#id2481176-bb">put_period_start_delimeter</a>(OutItrT &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">OutItrT</span> <a href="period_formatter.html#id2506948-bb">put_period_end_delimeter</a>(OutItrT &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">range_display_options</span> <a href="period_formatter.html#id2506975-bb">range_option</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="period_formatter.html#id2506988-bb">range_option</a>(range_display_options) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="period_formatter.html#id2479018-bb">delimiter_strings</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                         <span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;) ;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> period_type, <span class="bold"><strong>typename</strong></span> facet_type&gt;
+    <span class="type">OutItrT</span> <a href="period_formatter.html#id2395795-bb">put_period</a>(OutItrT, std::ios_base &amp;, char_type,
+                       <span class="bold"><strong>const</strong></span> period_type &amp;, <span class="bold"><strong>const</strong></span> facet_type &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="bold"><strong>static</strong></span> const char_type default_period_separator;
+  <span class="bold"><strong>static</strong></span> const char_type default_period_start_delimeter;
+  <span class="bold"><strong>static</strong></span> const char_type default_period_open_range_end_delimeter;
+  <span class="bold"><strong>static</strong></span> const char_type default_period_closed_range_end_delimeter;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2647460"></a><h2>Description</h2>
+<p>Provides settings for the following:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>period_separator -- default '/'</p></li>
+<li><p>period_open_start_delimeter -- default '['</p></li>
+<li><p>period_open_range_end_delimeter -- default ')'</p></li>
+<li><p>period_closed_range_end_delimeter -- default ']'</p></li>
+<li><p>display_as_open_range, display_as_closed_range -- default closed_range</p></li>
+</ul></div>
+<p>Thus the default formatting for a period is as follows: </p>
+<pre class="programlisting"> [period.start()/period.last()]
+ *
+</pre>
+<p>So for a typical date_period this would be </p>
+<pre class="programlisting"> [2004-Jan-04/2004-Feb-01]
+ *
+</pre>
+<p>where the date formatting is controlled by the date facet </p>
+<div class="refsect2" lang="en">
+<a name="id2647504"></a><h3>
+<a name="period_formatterconstruct-copy-destruct"></a><code class="computeroutput">period_formatter</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2373145-bb"></a>period_formatter(range_display_options range_option = AS_CLOSED_RANGE,
+                 <span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> period_separator = default_period_separator,
+                 <span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> period_start_delimeter = default_period_start_delimeter,
+                 <span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> period_open_range_end_delimeter = default_period_open_range_end_delimeter,
+                 <span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> period_closed_range_end_delimeter = default_period_closed_range_end_delimeter);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2647601"></a><h3>
+<a name="id2481144-bb"></a><code class="computeroutput">period_formatter</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">OutItrT</span> <a name="id2481148-bb"></a>put_period_separator(OutItrT &amp; oitr) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">OutItrT</span> <a name="id2481176-bb"></a>put_period_start_delimeter(OutItrT &amp; oitr) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">OutItrT</span> <a name="id2506948-bb"></a>put_period_end_delimeter(OutItrT &amp; oitr) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">range_display_options</span> <a name="id2506975-bb"></a>range_option() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2506988-bb"></a>range_option(range_display_options option) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2479018-bb"></a>delimiter_strings(<span class="bold"><strong>const</strong></span> string_type &amp; separator,
+                       <span class="bold"><strong>const</strong></span> string_type &amp; start_delim,
+                       <span class="bold"><strong>const</strong></span> string_type &amp; open_end_delim,
+                       <span class="bold"><strong>const</strong></span> string_type &amp; closed_end_delim) ;</pre></li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> period_type, <span class="bold"><strong>typename</strong></span> facet_type&gt;
+  <span class="type">OutItrT</span> <a name="id2395795-bb"></a>put_period(OutItrT next, std::ios_base &amp; a_ios, char_type a_fill,
+                     <span class="bold"><strong>const</strong></span> period_type &amp; p, <span class="bold"><strong>const</strong></span> facet_type &amp; facet) <span class="bold"><strong>const</strong></span>;</pre>
+<p>This generic code will output any period using a facet to to output the 'elements'. For example, in the case of a date_period the elements will be instances of a date which will be formatted according the to setup in the passed facet parameter.</p>
+<p>The steps for formatting a period are always the same:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>put the start delimiter</p></li>
+<li><p>put start element</p></li>
+<li><p>put the separator</p></li>
+<li><p>put either last or end element depending on range settings</p></li>
+<li><p>put end delimeter depending on range settings</p></li>
+</ul></div>
+<p>Thus for a typical date period the result might look like this: </p>
+<pre class="programlisting"> [March 01, 2004/June 07, 2004] &lt;-- closed range
+ [March 01, 2004/June 08, 2004) &lt;-- open range
+
+ *
+</pre>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="period.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2407150"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="period_parser.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/period_parser.html b/doc/html/period_parser.html
new file mode 100644
index 0000000000..d31051f60f
--- /dev/null
+++ b/doc/html/period_parser.html
@@ -0,0 +1,150 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template period_parser</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2394584" title="Header &lt;boost/date_time/period_parser.hpp&gt;">
+<link rel="prev" href="period_formatter.html" title="Class template period_formatter">
+<link rel="next" href="special_values_formatter.html" title="Class template special_values_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="period_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2394584"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="special_values_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="period_parser"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template period_parser</span></h2>
+<p>boost::date_time::period_parser &#8212; Not a facet, but a class used to specify and control period parsing. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> CharT&gt;
+<span class="bold"><strong>class</strong></span> period_parser {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::basic_string&lt; CharT &gt;                string_type;    
+  <span class="bold"><strong>typedef</strong></span> CharT                                     char_type;      
+  <span class="bold"><strong>typedef</strong></span> std::istreambuf_iterator&lt; CharT &gt;         stream_itr_type;
+  <span class="bold"><strong>typedef</strong></span> <a href="string_parse_tree.html" title="Struct template string_parse_tree">string_parse_tree</a>&lt; CharT &gt;                parse_tree_type;
+  <span class="bold"><strong>typedef</strong></span> parse_tree_type::parse_match_result_type  match_results;  
+  <span class="bold"><strong>typedef</strong></span> std::vector&lt; std::basic_string&lt; CharT &gt; &gt; collection_type;
+
+  <span class="emphasis"><em>// <a href="period_parser.html#period_parserconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="period_parser.html#id2520377-bb">period_parser</a>(period_range_option = AS_CLOSED_RANGE,
+                <span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> = default_period_separator,
+                <span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> = default_period_start_delimeter,
+                <span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> = default_period_open_range_end_delimeter,
+                <span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> = default_period_closed_range_end_delimeter);
+  <a href="period_parser.html#id2394256-bb">period_parser</a>(<span class="bold"><strong>const</strong></span> <a href="period_parser.html" title="Class template period_parser">period_parser</a>&lt; date_type, CharT &gt; &amp;);
+
+  <span class="emphasis"><em>// <a href="period_parser.html#id2471763-bb">public member functions</a></em></span>
+  <span class="type">period_range_option</span> <a href="period_parser.html#id2471768-bb">range_option</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="period_parser.html#id2471780-bb">range_option</a>(period_range_option) ;
+  <span class="type">collection_type</span> <a href="period_parser.html#id2471803-bb">delimiter_strings</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="period_parser.html#id2471816-bb">delimiter_strings</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                         <span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;) ;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> period_type, <span class="bold"><strong>typename</strong></span> duration_type, <span class="bold"><strong>typename</strong></span> facet_type&gt;
+    <span class="type">period_type</span> <a href="period_parser.html#id2468850-bb">get_period</a>(stream_itr_type &amp;, stream_itr_type &amp;,
+                           std::ios_base &amp;, <span class="bold"><strong>const</strong></span> period_type &amp;,
+                           <span class="bold"><strong>const</strong></span> duration_type &amp;, <span class="bold"><strong>const</strong></span> facet_type &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="period_parser.html#id2394322-bb">private member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="period_parser.html#id2529067-bb">consume_delim</a>(stream_itr_type &amp;, stream_itr_type &amp;,
+                     <span class="bold"><strong>const</strong></span> string_type &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="bold"><strong>static</strong></span> const char_type default_period_separator;
+  <span class="bold"><strong>static</strong></span> const char_type default_period_start_delimeter;
+  <span class="bold"><strong>static</strong></span> const char_type default_period_open_range_end_delimeter;
+  <span class="bold"><strong>static</strong></span> const char_type default_period_closed_range_end_delimeter;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2648417"></a><h2>Description</h2>
+<p>Provides settings for the following:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>period_separator -- default '/'</p></li>
+<li><p>period_open_start_delimeter -- default '['</p></li>
+<li><p>period_open_range_end_delimeter -- default ')'</p></li>
+<li><p>period_closed_range_end_delimeter -- default ']'</p></li>
+<li><p>display_as_open_range, display_as_closed_range -- default closed_range</p></li>
+</ul></div>
+<p>For a typical date_period, the contents of the input stream would be </p>
+<pre class="programlisting"> [2004-Jan-04/2004-Feb-01]
+ *
+</pre>
+<p>where the date format is controlled by the date facet </p>
+<div class="refsect2" lang="en">
+<a name="id2648456"></a><h3>
+<a name="period_parserconstruct-copy-destruct"></a><code class="computeroutput">period_parser</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2520377-bb"></a>period_parser(period_range_option range_option = AS_CLOSED_RANGE,
+              <span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> period_separator = default_period_separator,
+              <span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> period_start_delimeter = default_period_start_delimeter,
+              <span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> period_open_range_end_delimeter = default_period_open_range_end_delimeter,
+              <span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> period_closed_range_end_delimeter = default_period_closed_range_end_delimeter);</pre></li>
+<li><pre class="literallayout"><a name="id2394256-bb"></a>period_parser(<span class="bold"><strong>const</strong></span> <a href="period_parser.html" title="Class template period_parser">period_parser</a>&lt; date_type, CharT &gt; &amp; p_parser);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2648579"></a><h3>
+<a name="id2471763-bb"></a><code class="computeroutput">period_parser</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">period_range_option</span> <a name="id2471768-bb"></a>range_option() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2471780-bb"></a>range_option(period_range_option option) ;</pre></li>
+<li><pre class="literallayout"><span class="type">collection_type</span> <a name="id2471803-bb"></a>delimiter_strings() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2471816-bb"></a>delimiter_strings(<span class="bold"><strong>const</strong></span> string_type &amp; separator,
+                       <span class="bold"><strong>const</strong></span> string_type &amp; start_delim,
+                       <span class="bold"><strong>const</strong></span> string_type &amp; open_end_delim,
+                       <span class="bold"><strong>const</strong></span> string_type &amp; closed_end_delim) ;</pre></li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> period_type, <span class="bold"><strong>typename</strong></span> duration_type, <span class="bold"><strong>typename</strong></span> facet_type&gt;
+  <span class="type">period_type</span> <a name="id2468850-bb"></a>get_period(stream_itr_type &amp; sitr, stream_itr_type &amp; stream_end,
+                         std::ios_base &amp; a_ios, <span class="bold"><strong>const</strong></span> period_type &amp; p,
+                         <span class="bold"><strong>const</strong></span> duration_type &amp; dur_unit,
+                         <span class="bold"><strong>const</strong></span> facet_type &amp; facet) <span class="bold"><strong>const</strong></span>;</pre>
+<p>This generic code will parse any period using a facet to to get the 'elements'. For example, in the case of a date_period the elements will be instances of a date which will be parsed according the to setup in the passed facet parameter.</p>
+<p>The steps for parsing a period are always the same:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>consume the start delimiter</p></li>
+<li><p>get start element</p></li>
+<li><p>consume the separator</p></li>
+<li><p>get either last or end element depending on range settings</p></li>
+<li><p>consume the end delimeter depending on range settings</p></li>
+</ul></div>
+<p>Thus for a typical date period the contents of the input stream might look like this: </p>
+<pre class="programlisting"> [March 01, 2004/June 07, 2004] &lt;-- closed range
+ [March 01, 2004/June 08, 2004) &lt;-- open range
+
+ *
+</pre>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2648833"></a><h3>
+<a name="id2394322-bb"></a><code class="computeroutput">period_parser</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2529067-bb"></a>consume_delim(stream_itr_type &amp; sitr, stream_itr_type &amp; stream_end,
+                   <span class="bold"><strong>const</strong></span> string_type &amp; delim) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="period_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2394584"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="special_values_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/posix_time_system_config.html b/doc/html/posix_time_system_config.html
new file mode 100644
index 0000000000..925e9ae7c4
--- /dev/null
+++ b/doc/html/posix_time_system_config.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class posix_time_system_config</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2442818" title="Header &lt;boost/date_time/posix_time/posix_time_config.hpp&gt;">
+<link rel="prev" href="simple_time_rep.html" title="Struct simple_time_rep">
+<link rel="next" href="id2443265.html" title="Class millisec_posix_time_system_config">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="simple_time_rep.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2442818"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2443265.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="posix_time_system_config"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class posix_time_system_config</span></h2>
+<p>boost::posix_time::posix_time_system_config &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> posix_time_system_config {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <a href="simple_time_rep.html" title="Struct simple_time_rep">simple_time_rep</a>            time_rep_type;     
+  <span class="bold"><strong>typedef</strong></span> gregorian::date            date_type;         
+  <span class="bold"><strong>typedef</strong></span> gregorian::date_duration   date_duration_type;
+  <span class="bold"><strong>typedef</strong></span> <a href="id2442833.html" title="Class time_duration">time_duration</a>              time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> time_res_traits::tick_type int_type;          
+  <span class="bold"><strong>typedef</strong></span> time_res_traits            resolution_traits; 
+
+  <span class="emphasis"><em>// <a href="posix_time_system_config.html#id2443223-bb">public member functions</a></em></span>
+  <span class="type"></span> <a href="posix_time_system_config.html#id2443228-bb">BOOST_STATIC_CONSTANT</a>(boost::int64_t, tick_per_second = 1000000000) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2677643"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2677646"></a><h3>
+<a name="id2443223-bb"></a><code class="computeroutput">posix_time_system_config</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"></span> <a name="id2443228-bb"></a>BOOST_STATIC_CONSTANT(boost::int64_t , tick_per_second = 1000000000) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="simple_time_rep.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2442818"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2443265.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/posix_time_zone.html b/doc/html/posix_time_zone.html
new file mode 100644
index 0000000000..1e4f8550c2
--- /dev/null
+++ b/doc/html/posix_time_zone.html
@@ -0,0 +1,149 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class posix_time_zone</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2447946" title="Header &lt;boost/date_time/local_time/posix_time_zone.hpp&gt;">
+<link rel="prev" href="bad_adjustment.html" title="Struct bad_adjustment">
+<link rel="next" href="time_zone.html" title="Class time_zone">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_adjustment.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2447946"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_zone.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="posix_time_zone"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class posix_time_zone</span></h2>
+<p>boost::local_time::posix_time_zone &#8212; A time zone class constructed from a POSIX time zone string. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> posix_time_zone : <span class="bold"><strong>public</strong></span> boost::local_time::time_zone {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::posix_time::time_duration                  time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> boost::tokenizer&lt; boost::char_separator&lt; <span class="bold"><strong>char</strong></span> &gt; &gt; tokenizer;         
+  <span class="bold"><strong>typedef</strong></span> <a href="time_zone.html" title="Class time_zone">time_zone</a>                                         base_type;         
+  <span class="bold"><strong>typedef</strong></span> base_type::string_type                            string_type;       
+  <span class="bold"><strong>typedef</strong></span> base_type::stringstream_type                      stringstream_type; 
+
+  <span class="emphasis"><em>// <a href="posix_time_zone.html#posix_time_zoneconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="posix_time_zone.html#id2448349-bb">posix_time_zone</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+  <a href="posix_time_zone.html#id2448367-bb">~posix_time_zone</a>();
+
+  <span class="emphasis"><em>// <a href="posix_time_zone.html#id2448123-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="posix_time_zone.html#id2448127-bb">std_zone_abbrev</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="posix_time_zone.html#id2448145-bb">dst_zone_abbrev</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="posix_time_zone.html#id2448171-bb">std_zone_name</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="posix_time_zone.html#id2448198-bb">dst_zone_name</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>bool</strong></span></span> <a href="posix_time_zone.html#id2448227-bb">has_dst</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> posix_time::ptime</span> <a href="posix_time_zone.html#id2448244-bb">dst_local_start_time</a>(gregorian::greg_year) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> posix_time::ptime</span> <a href="posix_time_zone.html#id2448271-bb">dst_local_end_time</a>(gregorian::greg_year) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> time_duration_type</span> <a href="posix_time_zone.html#id2448297-bb">base_utc_offset</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> time_duration_type</span> <a href="posix_time_zone.html#id2448314-bb">dst_offset</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> string_type</span> <a href="posix_time_zone.html#id2448331-bb">to_posix_string</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="posix_time_zone.html#id2448369-bb">private member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="posix_time_zone.html#id2448374-bb">calc_zone</a>(<span class="bold"><strong>const</strong></span> std::string &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="posix_time_zone.html#id2448408-bb">calc_rules</a>(<span class="bold"><strong>const</strong></span> std::string &amp;, <span class="bold"><strong>const</strong></span> std::string &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="posix_time_zone.html#id2448441-bb">M_func</a>(<span class="bold"><strong>const</strong></span> std::string &amp;, <span class="bold"><strong>const</strong></span> std::string &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="posix_time_zone.html#id2448474-bb">julian_no_leap</a>(<span class="bold"><strong>const</strong></span> std::string &amp;, <span class="bold"><strong>const</strong></span> std::string &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="posix_time_zone.html#id2448512-bb">julian_day</a>(<span class="bold"><strong>const</strong></span> std::string &amp;, <span class="bold"><strong>const</strong></span> std::string &amp;) ;
+
+  <span class="emphasis"><em>// <a href="posix_time_zone.html#id2448551-bb">private static functions</a></em></span>
+  <span class="type">std::string</span> <a href="posix_time_zone.html#id2448555-bb">td_as_string</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2686272"></a><h2>Description</h2>
+<p>A POSIX time zone string takes the form of:&lt;br&gt; "std offset dst [offset],start[/time],end[/time]" (w/no spaces) 'std' specifies the abbrev of the time zone.
+ 'offset' is the offset from UTC.
+ 'dst' specifies the abbrev of the time zone during daylight savings time.
+ The second offset is how many hours changed during DST. Default=1
+ 'start' and'end' are the dates when DST goes into (and out of) effect.
+ 'offset' takes the form of: [+|-]hh[:mm[:ss]] {h=0-23, m/s=0-59}
+ 'time' and 'offset' take the same form. Time defaults=02:00:00
+ 'start' and 'end' can be one of three forms:&lt;br&gt; Mm.w.d {month=1-12, week=1-5 (5 is always last), day=0-6}
+ Jn {n=1-365 Feb29 is never counted}
+ n {n=0-365 Feb29 is counted in leap years}
+ Example "PST-5PDT01:00:00,M4.1.0/02:00:00,M10.1.0/02:00:00"
+ Exceptions will be thrown under these conditions:&lt;br&gt; An invalid date spec (see date class)
+ A boost::local_time::bad_offset exception will be thrown for:&lt;br&gt; A DST start or end offset that is negative or more than 24 hours
+ A UTC zone that is greater than +12 or less than -12 hours
+ A boost::local_time::bad_adjustment exception will be thrown for:&lt;br&gt; A DST adjustment that is 24 hours or more (positive or negative)
+ </p>
+<div class="refsect2" lang="en">
+<a name="id2686298"></a><h3>
+<a name="posix_time_zoneconstruct-copy-destruct"></a><code class="computeroutput">posix_time_zone</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2448349-bb"></a>posix_time_zone(<span class="bold"><strong>const</strong></span> std::string &amp; s);</pre></li>
+<li><pre class="literallayout"><a name="id2448367-bb"></a>~posix_time_zone();</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2686352"></a><h3>
+<a name="id2448123-bb"></a><code class="computeroutput">posix_time_zone</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2448127-bb"></a>std_zone_abbrev() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2448145-bb"></a>dst_zone_abbrev() <span class="bold"><strong>const</strong></span>;</pre>
+<p>For those time zones that have no DST, an empty string is used </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2448171-bb"></a>std_zone_name() <span class="bold"><strong>const</strong></span>;</pre>
+<p>The full STD name is not extracted from the posix time zone string. Therefore, the STD abbreviation is used in it's place </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2448198-bb"></a>dst_zone_name() <span class="bold"><strong>const</strong></span>;</pre>
+<p>The full DST name is not extracted from the posix time zone string. Therefore, the STD abbreviation is used in it's place. For time zones that have no DST, an empty string is used </p>
+</li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>bool</strong></span></span> <a name="id2448227-bb"></a>has_dst() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> posix_time::ptime</span> <a name="id2448244-bb"></a>dst_local_start_time(gregorian::greg_year y) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> posix_time::ptime</span> <a name="id2448271-bb"></a>dst_local_end_time(gregorian::greg_year y) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> time_duration_type</span> <a name="id2448297-bb"></a>base_utc_offset() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> time_duration_type</span> <a name="id2448314-bb"></a>dst_offset() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> string_type</span> <a name="id2448331-bb"></a>to_posix_string() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2686667"></a><h3>
+<a name="id2448369-bb"></a><code class="computeroutput">posix_time_zone</code> private member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2448374-bb"></a>calc_zone(<span class="bold"><strong>const</strong></span> std::string &amp; obj) ;</pre>
+<p>Extract time zone abbreviations for STD &amp; DST as well as the offsets for the time the shift occurs and how much of a shift. At this time full time zone names are NOT extracted so the abbreviations are used in their place </p>
+</li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2448408-bb"></a>calc_rules(<span class="bold"><strong>const</strong></span> std::string &amp; start, <span class="bold"><strong>const</strong></span> std::string &amp; end) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2448441-bb"></a>M_func(<span class="bold"><strong>const</strong></span> std::string &amp; s, <span class="bold"><strong>const</strong></span> std::string &amp; e) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2448474-bb"></a>julian_no_leap(<span class="bold"><strong>const</strong></span> std::string &amp; s, <span class="bold"><strong>const</strong></span> std::string &amp; e) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2448512-bb"></a>julian_day(<span class="bold"><strong>const</strong></span> std::string &amp; s, <span class="bold"><strong>const</strong></span> std::string &amp; e) ;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2686858"></a><h3>
+<a name="id2448551-bb"></a><code class="computeroutput">posix_time_zone</code> private static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">std::string</span> <a name="id2448555-bb"></a>td_as_string(<span class="bold"><strong>const</strong></span> time_duration_type &amp; td) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_adjustment.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2447946"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_zone.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/previous_weekday.html b/doc/html/previous_weekday.html
new file mode 100644
index 0000000000..7a3aaceeae
--- /dev/null
+++ b/doc/html/previous_weekday.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template previous_weekday</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2508942" title="Header &lt;boost/date_time/date_generators.hpp&gt;">
+<link rel="prev" href="next_weekday.html" title="Function template next_weekday">
+<link rel="next" href="date_itr_base.html" title="Class template date_itr_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="next_weekday.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_itr_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="previous_weekday"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template previous_weekday</span></h2>
+<p>boost::date_time::previous_weekday &#8212; Generates a date object representing the date of the previous weekday from the given date. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> weekday_type&gt;
+  <span class="type">date_type</span> previous_weekday(<span class="bold"><strong>const</strong></span> date_type &amp; d, <span class="bold"><strong>const</strong></span> weekday_type &amp; wd);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2626990"></a><h2>Description</h2>
+<p>Generates a date object representing the date of the previous weekday from the given date. If the date given is 2004-May-9 (a Sunday) and the given weekday is Tuesday then the resulting date will be 2004-May-4. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="next_weekday.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_itr_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/program_options.html b/doc/html/program_options.html
new file mode 100644
index 0000000000..e866cf44ab
--- /dev/null
+++ b/doc/html/program_options.html
@@ -0,0 +1,126 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 7. Boost.Program_options</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries">
+<link rel="prev" href="apa.html" title="Appendix A. Rationale for some of the design decisions">
+<link rel="next" href="program_options/tutorial.html" title="Tutorial">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="apa.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="program_options/tutorial.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="program_options"></a>Chapter 7. Boost.Program_options</h2></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Vladimir</span> <span class="surname">Prus</span>
+</h3></div></div>
+<div><p class="copyright">Copyright © 2002-2004 Vladimir Prus</p></div>
+<div><div class="legalnotice">
+<a name="id2714112"></a><p>Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file <code class="filename">LICENSE_1_0.txt</code> or copy at
+ <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="program_options.html#id2714132">Introduction</a></span></dt>
+<dt><span class="section"><a href="program_options/tutorial.html">Tutorial</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="program_options/tutorial.html#id2714212">Getting Started</a></span></dt>
+<dt><span class="section"><a href="program_options/tutorial.html#id2714372">Option Details</a></span></dt>
+<dt><span class="section"><a href="program_options/tutorial.html#id2714557">Multiple Sources</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="program_options/overview.html">Library Overview</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="program_options/overview.html#id2714805">Options Description Component</a></span></dt>
+<dt><span class="section"><a href="program_options/overview.html#id2715353">Parsers Component</a></span></dt>
+<dt><span class="section"><a href="program_options/overview.html#id2715436">Storage Component</a></span></dt>
+<dt><span class="section"><a href="program_options/overview.html#id2715519">Specific parsers</a></span></dt>
+<dt><span class="section"><a href="program_options/overview.html#id2715692">Annotated List of Symbols</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="program_options/howto.html">How To</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="program_options/howto.html#id2715843">Non-conventional Syntax</a></span></dt>
+<dt><span class="section"><a href="program_options/howto.html#id2715898">Response Files</a></span></dt>
+<dt><span class="section"><a href="program_options/howto.html#id2715975">Winmain Command Line</a></span></dt>
+<dt><span class="section"><a href="program_options/howto.html#id2716014">Option Groups and Hidden Options</a></span></dt>
+<dt><span class="section"><a href="program_options/howto.html#id2716150">Custom Validators</a></span></dt>
+<dt><span class="section"><a href="program_options/howto.html#id2716238">Unicode Support</a></span></dt>
+<dt><span class="section"><a href="program_options/howto.html#id2716386">Allowing Unknown Options</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="program_options/design.html">Design Discussion</a></span></dt>
+<dd><dl><dt><span class="section"><a href="program_options/design.html#program_options.design.unicode">Unicode Support</a></span></dt></dl></dd>
+<dt><span class="section"><a href="program_options/s06.html">Acknowledgements</a></span></dt>
+<dt><span class="section"><a href="program_options/reference.html">Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="program_options/reference.html#id2355176">Header &lt;boost/program_options/cmdline.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="program_options/reference.html#id2380073">Header &lt;boost/program_options/environment_iterator.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="program_options/reference.html#id2338601">Header &lt;boost/program_options/eof_iterator.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="program_options/reference.html#id2399042">Header &lt;boost/program_options/errors.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="program_options/reference.html#id2359341">Header &lt;boost/program_options/option.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="program_options/reference.html#id2473651">Header &lt;boost/program_options/options_description.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="program_options/reference.html#id2348797">Header &lt;boost/program_options/parsers.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="program_options/reference.html#id2525887">Header &lt;boost/program_options/positional_options.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="program_options/reference.html#id2379391">Header &lt;boost/program_options/value_semantic.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="program_options/reference.html#id2524541">Header &lt;boost/program_options/variables_map.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="program_options/reference.html#id2363464">Header &lt;boost/program_options/version.hpp&gt;</a></span></dt>
+</dl></dd>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2714132"></a>Introduction</h3></div></div></div>
+<p>The program_options library allows program developers to obtain
+ <span class="emphasis"><em>program options</em></span>, that is (name, value) pairs from the user,
+ via conventional methods such as command line and config file.</p>
+<p>Why would you use such a library, and why is it better than parsing
+ your command line by straightforward hand-written code?
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>It's easier. The syntax for declaring options is simple, and
+ the library itself is small. Things like conversion of option values to
+ desired type and storing into program variables are handled
+ automatically.
+ </p></li>
+<li><p>Error reporting is better. All the problems with the command line are
+ reported, while hand-written code can just misparse the input. In
+ addition, the usage message can be automatically generated, to
+ avoid falling out of sync with the real list of options.</p></li>
+<li><p>Options can be read from anywhere. Sooner or later the command
+ line will be not enough for your users, and you'll want config files
+ or maybe even environment variables. These can be added without significant
+ effort on your part.
+ </p></li>
+</ul></div>
+<p>
+ Now let's see some examples of the library usage in the <a href="program_options/tutorial.html" title="Tutorial">the section called &#8220;Tutorial&#8221;</a>.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: July 30, 2004 at 13:20:27 GMT</p></small></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="apa.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="program_options/tutorial.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/program_options/design.html b/doc/html/program_options/design.html
new file mode 100644
index 0000000000..ec68b279f9
--- /dev/null
+++ b/doc/html/program_options/design.html
@@ -0,0 +1,193 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Design Discussion</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../program_options.html" title="Chapter 7. Boost.Program_options">
+<link rel="prev" href="howto.html" title="How To">
+<link rel="next" href="s06.html" title="Acknowledgements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="howto.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../program_options.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="s06.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="program_options.design"></a>Design Discussion</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="design.html#program_options.design.unicode">Unicode Support</a></span></dt></dl></div>
+<p>This section focuses on some of the design questions.
+ </p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="program_options.design.unicode"></a>Unicode Support</h4></div></div></div>
+<p>Unicode support was one of the features specifically requested
+ during the formal review. Throughout this document "Unicode support" is
+ a synonym for "wchar_t" support, assuming that "wchar_t" always uses
+ Unicode encoding. Also, when talking about "ascii" (in lowercase) we'll
+ not mean strict 7-bit ASCII encoding, but rather "char" strings in local
+ 8-bit encoding.
+ </p>
+<p>
+ Generally, "Unicode support" can mean
+ many things, but for the program_options library it means that:
+
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>Each parser should accept either <code class="computeroutput">char*</code>
+ or <code class="computeroutput">wchar_t*</code>, correctly split the input into option
+ names and option values and return the data.
+ </p></li>
+<li><p>For each option, it should be possible to specify whether the conversion
+ from string to value uses ascii or Unicode.
+ </p></li>
+<li>
+<p>The library guarantees that:
+ </p>
+<div class="itemizedlist"><ul type="circle">
+<li><p>ascii input is passed to an ascii value without change
+ </p></li>
+<li><p>Unicode input is passed to a Unicode value without change</p></li>
+<li><p>ascii input passed to a Unicode value, and Unicode input
+ passed to an ascii value will be converted using a codecvt
+ facet (which may be specified by the user(which can be
+ specified by the user)
+ </p></li>
+</ul></div>
+</li>
+</ul></div>
+<p>The important point is that it's possible to have some "ascii
+ options" together with "Unicode options". There are two reasons for
+ this. First, for a given type you might not have the code to extract the
+ value from Unicode string and it's not good to require that such code be written.
+ Second, imagine a reusable library which has some options and exposes
+ options description in its interface. If <span class="emphasis"><em>all</em></span>
+ options are either ascii or Unicode, and the library does not use any
+ Unicode strings, then the author will likely to use ascii options, which
+ would make the library unusable inside Unicode
+ applications. Essentially, it would be necessary to provide two versions
+ of the library -- ascii and Unicode.
+ </p>
+<p>Another important point is that ascii strings are passed though
+ without modification. In other words, it's not possible to just convert
+ ascii to Unicode and process the Unicode further. The problem is that the
+ default conversion mechanism -- the <code class="computeroutput">codecvt</code> facet -- might
+ not work with 8-bit input without additional setup.
+ </p>
+<p>The Unicode support outlined above is not complete. For example, we
+ don't plan allow Unicode in option names. Unicode support is hard and
+ requires a Boost-wide solution. Even comparing two arbitrary Unicode
+ strings is non-trivial. Finally, using Unicode in option names is
+ related to internationalization, which has it's own
+ complexities. E.g. if option names depend on current locale, then all
+ program parts and other parts which use the name must be
+ internationalized too.
+ </p>
+<p>The primary question in implementing the Unicode support is whether
+ to use templates and <code class="computeroutput">std::basic_string</code> or to use some
+ internal encoding and convert between internal and external encodings on
+ the interface boundaries.
+ </p>
+<p>The choice, mostly, is between code size and execution
+ speed. A templated solution would either link library code into every
+ application that uses the library (thereby making shared library
+ impossible), or provide explicit instantiations in the shared library
+ (increasing its size). The solution based on internal encoding would
+ necessarily make conversions in a number of places and will be somewhat slower.
+ Since speed is generally not an issue for this library, the second
+ solution looks more attractive, but we'll take a closer look at
+ individual components.
+ </p>
+<p>For the parsers component, we have three choices:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>Use a fully templated implementation: given a string of a
+ certain type, a parser will return a <code class="computeroutput">parsed_options</code> instance
+ with strings of the same type (i.e. the <code class="computeroutput">parsed_options</code> class
+ will be templated).</p></li>
+<li><p>Use internal encoding: same as above, but strings will be converted to and
+ from the internal encoding.</p></li>
+<li><p>Use and partly expose the internal encoding: same as above,
+ but the strings in the <code class="computeroutput">parsed_options</code> instance will be in the
+ internal encoding. This might avoid a conversion if
+ <code class="computeroutput">parsed_options</code> instance is passed directly to other components,
+ but can be also dangerous or confusing for a user.
+ </p></li>
+</ul></div>
+<p>The second solution appears to be the best -- it does not increase
+ the code size much and is cleaner than the third. To avoid extra
+ conversions, the Unicode version of <code class="computeroutput">parsed_options</code> can also store
+ strings in internal encoding.
+ </p>
+<p>For the options descriptions component, we don't have much
+ choice. Since it's not desirable to have either all options use ascii or all
+ of them use Unicode, but rather have some ascii and some Unicode options, the
+ interface of the <code class="computeroutput"><a href="../value_semantic.html" title="Class value_semantic">value_semantic</a></code> must work with both. The only way is
+ to pass an additional flag telling if strings use ascii or internal encoding.
+ The instance of <code class="computeroutput"><a href="../value_semantic.html" title="Class value_semantic">value_semantic</a></code> can then convert into some
+ other encoding if needed.
+ </p>
+<p>For the storage component, the only affected function is <code class="computeroutput"><a href="../id2349650.html" title="Function store">store</a></code>.
+ For Unicode input, the <code class="computeroutput"><a href="../id2349650.html" title="Function store">store</a></code> function should convert the value to the
+ internal encoding. It should also inform the <code class="computeroutput"><a href="../value_semantic.html" title="Class value_semantic">value_semantic</a></code> class
+ about the used encoding.
+ </p>
+<p>Finally, what internal encoding should we use? The
+ alternatives are:
+ <code class="computeroutput">std::wstring</code> (using UCS-4 encoding) and
+ <code class="computeroutput">std::string</code> (using UTF-8 encoding). The difference between
+ alternatives is:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>Speed: UTF-8 is a bit slower</p></li>
+<li><p>Space: UTF-8 takes less space when input is ascii</p></li>
+<li><p>Code size: UTF-8 requires additional conversion code. However,
+ it allows one to use existing parsers without converting them to
+ <code class="computeroutput">std::wstring</code> and such conversion is likely to create a
+ number of new instantiations.
+ </p></li>
+</ul></div>
+<p>
+ There's no clear leader, but the last point seems important, so UTF-8
+ will be used.
+ </p>
+<p>Choosing the UTF-8 encoding allows the use of existing parsers,
+ because 7-bit ascii characters retain their values in UTF-8,
+ so searching for 7-bit strings is simple. However, there are
+ two subtle issues:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>We need to assume the character literals use ascii encoding
+ and that inputs use Unicode encoding.</p></li>
+<li><p>A Unicode character (say '=') can be followed by 'composing
+ character' and the combination is not the same as just '=', so a
+ simple search for '=' might find the wrong character.
+ </p></li>
+</ul></div>
+<p>
+ Neither of these issues appear to be critical in practice, since ascii is
+ almost universal encoding and since composing characters following '=' (and
+ other characters with special meaning to the library) are not likely to appear.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="howto.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../program_options.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="s06.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/program_options/howto.html b/doc/html/program_options/howto.html
new file mode 100644
index 0000000000..3c5c643c27
--- /dev/null
+++ b/doc/html/program_options/howto.html
@@ -0,0 +1,427 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>How To</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../program_options.html" title="Chapter 7. Boost.Program_options">
+<link rel="prev" href="overview.html" title="Library Overview">
+<link rel="next" href="design.html" title="Design Discussion">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overview.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../program_options.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="design.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="program_options.howto"></a>How To</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="howto.html#id2715843">Non-conventional Syntax</a></span></dt>
+<dt><span class="section"><a href="howto.html#id2715898">Response Files</a></span></dt>
+<dt><span class="section"><a href="howto.html#id2715975">Winmain Command Line</a></span></dt>
+<dt><span class="section"><a href="howto.html#id2716014">Option Groups and Hidden Options</a></span></dt>
+<dt><span class="section"><a href="howto.html#id2716150">Custom Validators</a></span></dt>
+<dt><span class="section"><a href="howto.html#id2716238">Unicode Support</a></span></dt>
+<dt><span class="section"><a href="howto.html#id2716386">Allowing Unknown Options</a></span></dt>
+</dl></div>
+<p>This section describes how the library can be used in specific
+ situations.</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2715843"></a>Non-conventional Syntax</h4></div></div></div>
+<p>Sometimes, standard command line syntaxes are not enough. For
+ example, the gcc compiler has "-frtti" and -fno-rtti" options, and this
+ syntax is not directly supported.
+ </p>
+<a class="indexterm" name="id2715851"></a><p>For such cases, the library allows the user to provide an
+ <em class="firstterm">additional parser</em> -- a function which will be called on each
+ command line element, before any processing by the library. If the
+ additional parser recognises the syntax, it returns the option name and
+ value, which are used directly. The above example can be handled by the
+ following code:
+ </p>
+<pre class="programlisting">
+pair&lt;string, string&gt; reg_foo(const string&amp; s)
+{
+ if (s.find("-f") == 0) {
+ if (s.substr(2, 3) == "no-")
+ return make_pair(s.substr(5), string("false"));
+ else
+ return make_pair(s.substr(2), string("true"));
+ } else {
+ return make_pair(string(), string());
+ }
+}
+</pre>
+<p>
+ Here's the definition of the additional parser. When parsing the command
+ line, we pass the additional parser:
+</p>
+<pre class="programlisting">
+store(command_line_parser(ac, av).options(desc).extra_parser(reg_foo)
+ .run(), vm);
+</pre>
+<p>
+ The complete example can be found in the "example/custom_syntax.cpp"
+ file.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2715898"></a>Response Files</h4></div></div></div>
+<a class="indexterm" name="id2715902"></a><p>Some operating system have very low limits of the command line
+ length. The common way to work around those limitations is using
+ <em class="firstterm">response files</em>. A response file is just a
+ configuration file which uses the same syntax as the command line. If
+ the command line specifies a name of response file to use, it's loaded
+ and parsed in addition to the command line. The library does not
+ provide direct support for response files, so you'll need to write some
+ extra code.
+ </p>
+<p>
+ First, you need to define an option for the response file:
+</p>
+<pre class="programlisting">
+("response-file", value&lt;string&gt;(),
+ "can be specified with '@name', too")
+</pre>
+<p>Second, you'll need an additional parser to support the standard syntax
+ for specifying response files: "@file":
+</p>
+<pre class="programlisting">
+pair&lt;string, string&gt; at_option_parser(string const&amp;s)
+{
+ if ('@' == s[0])
+ return std::make_pair(string("response-file"), s.substr(1));
+ else
+ return pair&lt;string, string&gt;();
+}
+
+</pre>
+<p>Finally, when the "response-file" option is found, you'll have to
+ load that file and pass it to the command line parser. This part is the
+ hardest. We'll use the Boost.Tokenizer library, which works but has some
+ limitations. You might also consider Boost.StringAlgo. The code is:
+</p>
+<pre class="programlisting">
+if (vm.count("response-file")) {
+ // Load the file and tokenize it
+ ifstream ifs(vm["response-file"].as&lt;string&gt;().c_str());
+ if (!ifs) {
+ cout &lt;&lt; "Could no open the response file\n";
+ return 1;
+ }
+ // Read the whole file into a string
+ stringstream ss;
+ ss &lt;&lt; ifs.rdbuf();
+ // Split the file content
+ char_separator&lt;char&gt; sep(" \n\r");
+ tokenizer&lt;char_separator&lt;char&gt; &gt; tok(ss.str(), sep);
+ vector&lt;string&gt; args;
+ copy(tok.begin(), tok.end(), back_inserter(args));
+ // Parse the file and store the options
+ store(command_line_parser(args).options(desc).run(), vm);
+}
+
+</pre>
+<p>
+ The complete example can be found in the "example/response_file.cpp"
+ file.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2715975"></a>Winmain Command Line</h4></div></div></div>
+<p>On the Windows operating system, GUI applications receive the
+ command line as a single string, not split into elements. For that reason,
+ the command line parser cannot be used directly. At least on some
+ compilers, it is possible to obtain
+ the split command line, but it's not clear if all compilers support the
+ same mechanism on all versions of the operating system. The
+ <code class="computeroutput">split_winmain</code> function is a portable mechanism provided
+ by the library.</p>
+<p>Here's an example of use:
+</p>
+<pre class="programlisting">
+vector&lt;string&gt; args = split_winmain(lpCmdLine);
+store(command_line_parser(args).options(desc).run(), vm);
+</pre>
+<p>
+ The function is an overload for <code class="computeroutput">wchar_t</code> strings, so can
+ also be used in Unicode applications.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2716014"></a>Option Groups and Hidden Options</h4></div></div></div>
+<p>Having a single instance of the <code class="computeroutput"><a href="../options_description.html" title="Class options_description">options_description</a></code> class with all
+ the program's options can be problematic:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>Some options make sense only for specific source, for example,
+ configuration files.</p></li>
+<li><p>The user would prefer some structure in the generated help message.</p></li>
+<li><p>Some options shouldn't appear in the generated help message at all.</p></li>
+</ul></div>
+<p>To solve the above issues, the library allows a programmer to create several
+ instances of the <code class="computeroutput"><a href="../options_description.html" title="Class options_description">options_description</a></code> class, which can be merged in
+ different combinations. The following example will define three groups of
+ options: command line specific, and two options group for specific program
+ modules, only one of which is shown in the generated help message.
+ </p>
+<p>Each group is defined using standard syntax. However, you should
+ use reasonable names for each <code class="computeroutput"><a href="../options_description.html" title="Class options_description">options_description</a></code> instance:
+</p>
+<pre class="programlisting">
+options_description general("General options");
+general.add_options()
+ ("help", "produce a help message")
+ ("help-module", value&lt;string&gt;()-&gt;implicit(),
+ "produce a help for a given module")
+ ("version", "output the version number")
+ ;
+
+options_description gui("GUI options");
+gui.add_options()
+ ("display", value&lt;string&gt;(), "display to use")
+ ;
+
+options_description backend("Backend options");
+backend.add_options()
+ ("num-threads", value&lt;int&gt;(), "the initial number of threads")
+ ;
+</pre>
+<p>After declaring options groups, we merge them in two
+ combinations. The first will include all options and be used for parsing. The
+ second will be used for the "--help" option.
+</p>
+<pre class="programlisting">
+// Declare an options description instance which will include
+// all the options
+options_description all("Allowed options");
+all.add(general).add(gui).add(backend);
+
+// Declare an options description instance which will be shown
+// to the user
+options_description visible("Allowed options");
+visible.add(general).add(gui);
+</pre>
+<p>What is left is to parse and handle the options:
+</p>
+<pre class="programlisting">
+variables_map vm;
+store(parse_command_line(ac, av, all), vm);
+
+if (vm.count("help"))
+{
+ cout &lt;&lt; visible;
+ return 0;
+}
+if (vm.count("help-module")) {
+ const string&amp; s = vm["help-module"].as&lt;string&gt;();
+ if (s == "gui") {
+ cout &lt;&lt; gui;
+ } else if (s == "backend") {
+ cout &lt;&lt; backend;
+ } else {
+ cout &lt;&lt; "Unknown module '"
+ &lt;&lt; s &lt;&lt; "' in the --help-module option\n";
+ return 1;
+ }
+ return 0;
+}
+if (vm.count("num-threads")) {
+ cout &lt;&lt; "The 'num-threads' options was set to "
+ &lt;&lt; vm["num-threads"].as&lt;int&gt;() &lt;&lt; "\n";
+}
+</pre>
+<p>
+ When parsing the command line, all options are allowed. The "--help"
+ message, however, does not include the "Backend options" group -- the
+ options in that group are hidden. The user can explicitly force the
+ display of that options group by passing "--help-module backend"
+ option. The complete example can be found in the
+ "example/option_groups.cpp" file.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2716150"></a>Custom Validators</h4></div></div></div>
+<p>By default, the conversion of option's value from string into C++
+ type is done using iostreams, which sometimes is not convenient. The
+ library allows the user to customize the conversion for specific
+ classes. In order to do so, the user should provide suitable overload of
+ the <code class="computeroutput">validate</code> function.
+ </p>
+<p>
+ Let's first define a simple class:
+</p>
+<pre class="programlisting">
+struct magic_number {
+public:
+ magic_number(int n) : n(n) {}
+ int n;
+};
+</pre>
+<p> and then overload the <code class="computeroutput">validate</code> function:
+</p>
+<pre class="programlisting">
+void validate(boost::any&amp; v,
+ const std::vector&lt;std::string&gt;&amp; values,
+ magic_number* target_type, int)
+{
+ static regex r("\\d\\d\\d-(\\d\\d\\d)");
+
+ using namespace boost::program_options;
+
+ // Make sure no previous assignment to 'a' was made.
+ validators::check_first_occurence(v);
+ // Extract the first string from 'values'. If there is more than
+ // one string, it's an error, and exception will be thrown.
+ const string&amp; s = validators::get_single_string(values);
+
+ // Do regex match and convert the interesting part to
+ // int.
+ smatch match;
+ if (regex_match(s, match, r)) {
+ v = any(magic_number(lexical_cast&lt;int&gt;(match[1])));
+ } else {
+ throw validation_error("invalid value");
+ }
+}
+
+</pre>
+<p>The function takes four parameters. The first is the storage
+ for the value, and in this case is either empty or contains an instance of
+ the <code class="computeroutput">magic_number</code> class. The second is the list of strings
+ found in the next occurrence of the option. The remaining two parameters
+ are needed to workaround the lack of partial template specialization and
+ partial function template ordering on some compilers.
+ </p>
+<p>The function first checks that we don't try to assign to the same
+ option twice. Then it checks that only a single string was passed
+ in. Next the string is verified with the help of the Boost.Regex
+ library. If that test is passed, the parsed value is stored into the
+ <code class="computeroutput">v</code> variable.
+ </p>
+<p>The complete example can be found in the "example/regex.cpp" file.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2716238"></a>Unicode Support</h4></div></div></div>
+<p>To use the library with Unicode, you'd need to:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>Use Unicode-aware parsers for Unicode input</p></li>
+<li><p>Require Unicode support for options which need it</p></li>
+</ul></div>
+<p>Most of the parsers have Unicode versions. For example, the
+ <code class="computeroutput"><a href="../parse_command_line.html" title="Function template parse_command_line">parse_command_line</a></code> function has an overload which takes
+ <code class="computeroutput">wchar_t</code> strings, instead of ordinary <code class="computeroutput">char</code>.
+ </p>
+<p>Even if some of the parsers are Unicode-aware, it does not mean you
+ need to change definition of all the options. In fact, for many options,
+ like integer ones, it makes no sense. To make use of Unicode you'll need
+ <span class="emphasis"><em>some</em></span> Unicode-aware options. They are different from
+ ordinary options in that they accept <code class="computeroutput">wstring</code> input, and
+ process it using wide character streams. Creating an Unicode-aware option
+ is easy: just use the the <code class="computeroutput">wvalue</code> function instead of the
+ regular <code class="computeroutput">value</code>.
+ </p>
+<p>When an ascii parser passes data to an ascii option, or a Unicode
+ parser passes data to a Unicode option, the data are not changed at
+ all. So, the ascii option will see a string in local 8-bit encoding, and
+ the Unicode option will see whatever string was passed as the Unicode
+ input.
+ </p>
+<p>What happens when Unicode data is passed to an ascii option, and
+ vice versa? The library automatically performs the conversion from
+ Unicode to local 8-bit encoding. For example, if command line is in
+ ascii, but you use <code class="computeroutput">wstring</code> options, then the ascii input
+ will be converted into Unicode.
+ </p>
+<p>To perform the conversion, the library uses the <code class="computeroutput">codecvt&lt;wchar_t,
+ char&gt;</code> locale facet from the global locale. If
+ you want to work with strings that use local 8-bit encoding (as opposed to
+ 7-bit ascii subset), your application should start with:
+ </p>
+<pre class="programlisting">
+locale::global(locale(""));
+ </pre>
+<p>
+ which would set up the conversion facet according to the user's selected
+ locale.
+ </p>
+<p>It's wise to check the status of the C++ locale support on your
+ implementation, though. The quick test involves three steps:
+ </p>
+<div class="orderedlist"><ol type="1">
+<li><p>Go the the "test" directory and build the "test_convert" binary.</p></li>
+<li>
+<p>Set some non-ascii locale in the environmemt. On Linux, one can
+ run, for example: </p>
+<pre class="screen">
+$ export LC_CTYPE=ru_RU.KOI8-R
+</pre>
+</li>
+<li><p>Run the "test_convert" binary with any non-ascii string in the
+ selected encoding as its parameter. If you see a list of Unicode codepoints,
+ everything's OK. Otherwise, locale support on your system might be
+ broken.</p></li>
+</ol></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2716386"></a>Allowing Unknown Options</h4></div></div></div>
+<p>Usually, the library throws an exception on unknown option names. This
+ behaviour can be changed. For example, only some part of your application uses
+ <a href="../program_options.html" title="Chapter 7. Boost.Program_options">Program_options</a>, and you wish to pass unrecognized options to another part of
+ the program, or even to another application.</p>
+<p>To allow unregistered options on the command line, you need to use
+ the <code class="computeroutput"><a href="../basic_command_line_parser.html" title="Class template basic_command_line_parser">basic_command_line_parser</a></code> class for parsing (not <code class="computeroutput"><a href="../parse_command_line.html" title="Function template parse_command_line">parse_command_line</a></code>)
+ and call the <code class="computeroutput"><a href="../basic_command_line_parser.html#id2491704-bb">allow_unregistered</a></code>
+ method of that class:
+ </p>
+<pre class="programlisting">
+parsed_options parsed =
+ command_line_parser(argv, argc).options(desc).allow_unregistered().run();
+ </pre>
+<p>
+
+ For each token that looks like an option, but does not have a known name,
+ an instance of <code class="computeroutput"><a href="../basic_option.html" title="Class template basic_option">basic_option</a></code> will be added to the result.
+ The <code class="computeroutput">string_key</code> and <code class="computeroutput">value</code> fields of the instance will contain results
+ of syntactic parsing of the token, the <code class="computeroutput">unregistered</code> field will be set to <code class="computeroutput">true</code>,
+ and the <code class="computeroutput">original_tokens</code> field will contain the token as it appeared on the command line.
+ </p>
+<p>If you want to pass the unrecognized options further, the
+ <code class="computeroutput"><a href="../collect_unrecognized.html" title="Function template collect_unrecognized">collect_unrecognized</a></code> function can be used.
+ The function will collect original tokens for all unrecognized values, and optionally, all found positional options.
+ Say, if your code handles a few options, but does not handles positional options at all, you can use the function like this:
+ </p>
+<pre class="programlisting">
+vector&lt;string&gt; to_pass_further = collect_arguments(parsed.option, include_positional);
+ </pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overview.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../program_options.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="design.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/program_options/overview.html b/doc/html/program_options/overview.html
new file mode 100644
index 0000000000..cddb6df459
--- /dev/null
+++ b/doc/html/program_options/overview.html
@@ -0,0 +1,540 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Library Overview</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../program_options.html" title="Chapter 7. Boost.Program_options">
+<link rel="prev" href="tutorial.html" title="Tutorial">
+<link rel="next" href="howto.html" title="How To">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../program_options.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="howto.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="program_options.overview"></a>Library Overview</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="overview.html#id2714805">Options Description Component</a></span></dt>
+<dt><span class="section"><a href="overview.html#id2715353">Parsers Component</a></span></dt>
+<dt><span class="section"><a href="overview.html#id2715436">Storage Component</a></span></dt>
+<dt><span class="section"><a href="overview.html#id2715519">Specific parsers</a></span></dt>
+<dt><span class="section"><a href="overview.html#id2715692">Annotated List of Symbols</a></span></dt>
+</dl></div>
+<p>In the tutorial section, we saw several examples of library usage.
+ Here we will describe the overall library design including the primary
+ components and their function.
+ </p>
+<p>The library has three main components:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>The options description component, which describes the allowed options
+ and what to do with the values of the options.
+ </p></li>
+<li><p>The parsers component, which uses this information to find option names
+ and values in the input sources and return them.
+ </p></li>
+<li><p>The storage component, which provides the
+ interface to access the value of an option. It also converts the string
+ representation of values that parsers return into desired C++ types.
+ </p></li>
+</ul></div>
+<p>To be a little more concrete, the <code class="computeroutput">options_description</code>
+ class is from the options description component, the
+ <code class="computeroutput">parse_command_line</code> function is from the parsers component, and the
+ <code class="computeroutput">variables_map</code> class is from the storage component. </p>
+<p>In the tutorial we've learned how those components can be used by the
+ <code class="computeroutput">main</code> function to parse the command line and config
+ file. Before going into the details of each component, a few notes about
+ the world outside of <code class="computeroutput">main</code>.
+ </p>
+<p>
+ For that outside world, the storage component is the most important. It
+ provides a class which stores all option values and that class can be
+ freely passed around your program to modules which need access to the
+ options. All the other components can be used only in the place where
+ the actual parsing is the done. However, it might also make sense for the
+ individual program modules to describe their options and pass them to the
+ main module, which will merge all options. Of course, this is only
+ important when the number of options is large and declaring them in one
+ place becomes troublesome.
+ </p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2714805"></a>Options Description Component</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="overview.html#id2715045">Syntactic Information</a></span></dt>
+<dt><span class="section"><a href="overview.html#id2715236">Semantic Information</a></span></dt>
+<dt><span class="section"><a href="overview.html#id2715278">Positional Options</a></span></dt>
+</dl></div>
+<p>The options description component has three main classes:
+ <code class="computeroutput"><a href="../option_description.html" title="Class option_description">option_description</a></code>, <code class="computeroutput"><a href="../value_semantic.html" title="Class value_semantic">value_semantic</a></code> and <code class="computeroutput"><a href="../options_description.html" title="Class options_description">options_description</a></code>. The
+ first two together describe a single option. The <code class="computeroutput"><a href="../option_description.html" title="Class option_description">option_description</a></code>
+ class contains the option's name, description and a pointer to <code class="computeroutput"><a href="../value_semantic.html" title="Class value_semantic">value_semantic</a></code>,
+ which, in turn, knows the type of the option's value and can parse the value,
+ apply the default value, and so on. The <code class="computeroutput"><a href="../options_description.html" title="Class options_description">options_description</a></code> class is a
+ container for instances of <code class="computeroutput"><a href="../option_description.html" title="Class option_description">option_description</a></code>.
+ </p>
+<p>For almost every library, those classes could be created in a
+ conventional way: that is, you'd create new options using constructors and
+ then call the <code class="computeroutput">add</code> method of <code class="computeroutput"><a href="../options_description.html" title="Class options_description">options_description</a></code>. However,
+ that's overly verbose for declaring 20 or 30 options. This concern led
+ to creation of the syntax that you've already seen:
+</p>
+<pre class="programlisting">
+options_description desc;
+desc.add_options()
+ ("help", "produce help")
+ ("optimization", value&lt;int&gt;()-&gt;default_value(10), "optimization level")
+ ;
+</pre>
+<p>The call to the <code class="computeroutput">value</code> function creates an instance of
+ a class derived from the <code class="computeroutput">value_semantic</code> class: <code class="computeroutput">typed_value</code>.
+ That class contains the code to parse
+ values of a specific type, and contains a number of methods which can be
+ called by the user to specify additional information. (This
+ essentially emulates named parameters of the constructor.) Calls to
+ <code class="computeroutput">operator()</code> on the object returned by <code class="computeroutput">add_options</code>
+ forward arguments to the constructor of the <code class="computeroutput">option_description</code>
+ class and add the new instance.
+ </p>
+<p>
+ Note that in addition to the
+ <code class="computeroutput">value</code>, library provides the <code class="computeroutput">bool_switch</code>
+ function, and user can write his own function which will return
+ other subclasses of <code class="computeroutput">value_semantic</code> with
+ different behaviour. For the remainder of this section, we'll talk only
+ about the <code class="computeroutput">value</code> function.
+ </p>
+<p>The information about an option is divided into syntactic and
+ semantic. Syntactic information includes the name of the option and the
+ number of tokens which can be used to specify the value. This
+ information is used by parsers to group tokens into (name, value) pairs,
+ where value is just a vector of strings
+ (<code class="computeroutput">std::vector&lt;std::string&gt;</code>). The semantic layer
+ is responsible for converting the value of the option into more usable C++
+ types.
+ </p>
+<p>This separation is an important part of library design. The parsers
+ use only the syntactic layer, which takes away some of the freedom to
+ use overly complex structures. For example, it's not easy to parse
+ syntax like: </p>
+<pre class="screen">calc --expression=1 + 2/3</pre>
+<p> because it's not
+ possible to parse </p>
+<pre class="screen">1 + 2/3</pre>
+<p> without knowing that it's a C
+ expression. With a little help from the user the task becomes trivial,
+ and the syntax clear: </p>
+<pre class="screen">calc --expression="1 + 2/3"</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2715045"></a>Syntactic Information</h5></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="overview.html#id2715123">Description formatting</a></span></dt></dl></div>
+<p>The syntactic information is provided by the
+ <code class="computeroutput"><a href="../options_description.html" title="Class options_description">boost::program_options::options_description</a></code> class
+ and some methods of the
+ <code class="computeroutput"><a href="../value_semantic.html" title="Class value_semantic">boost::program_options::value_semantic</a></code> class
+ and includes:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>
+ name of the option, used to identify the option inside the
+ program,
+ </p></li>
+<li><p>
+ description of the option, which can be presented to the user,
+ </p></li>
+<li><p>
+ the allowed number of source tokens that comprise options's
+ value, which is used during parsing.
+ </p></li>
+</ul></div>
+<p>Consider the following example:
+ </p>
+<pre class="programlisting">
+options_description desc;
+desc.add_options()
+ ("help", "produce help message")
+ ("compression", value&lt;string&gt;(), "compression level")
+ ("verbose", value&lt;string&gt;()-&gt;implicit(), "verbosity level")
+ ("email", value&lt;string&gt;()-&gt;multitoken(), "email to send to")
+ ;
+ </pre>
+<p>
+ For the first parameter, we specify only the name and the
+ description. No value can be specified in the parsed source.
+ For the first option, the user must specify a value, using a single
+ token. For the third option, the user may either provide a single token
+ for the value, or no token at all. For the last option, the value can
+ span several tokens. For example, the following command line is OK:
+ </p>
+<pre class="screen">
+ test --help --compression 10 --verbose --email beadle@mars beadle2@mars
+ </pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="id2715123"></a>Description formatting</h6></div></div></div>
+<p>
+ Sometimes the description can get rather long, for example, when
+ several option's values need separate documentation. Below we
+ describe some simple formatting mechanisms you can use.
+ </p>
+<p>The description string has one or more paragraphs, separated by
+ the newline character ('\n'). When an option is output, the library
+ will compute the indentation for options's description. Each of the
+ paragraph is output as a separate line with that intentation. If
+ a paragraph does not fit on one line it is spanned over multiple
+ lines (which will have the same indentation).
+ </p>
+<p>You may specify additional indent for the first specified by
+ inserting spaces at the beginning of a paragraph. For example:
+ </p>
+<pre class="programlisting">
+options.add_options()
+ ("help", " A long help msg a long help msg a long help msg a long help
+msg a long help msg a long help msg a long help msg a long help msg ")
+ ;
+ </pre>
+<p>
+ will specify a four-space indent for the first line. The output will
+ look like:
+ </p>
+<pre class="screen">
+ --help A long help msg a long
+ help msg a long help msg
+ a long help msg a long
+ help msg a long help msg
+ a long help msg a long
+ help msg
+
+ </pre>
+<p>For the case where line is wrapped, you can want an additional
+ indent for wrapped text. This can be done by
+ inserting a tabulator character ('\t') at the desired position. For
+ example:
+ </p>
+<pre class="programlisting">
+options.add_options()
+ ("well_formated", "As you can see this is a very well formatted
+option description.\n"
+ "You can do this for example:\n\n"
+ "Values:\n"
+ " Value1: \tdoes this and that, bla bla bla bla
+bla bla bla bla bla bla bla bla bla bla bla\n"
+ " Value2: \tdoes something else, bla bla bla bla
+bla bla bla bla bla bla bla bla bla bla bla\n\n"
+ " This paragraph has a first line indent only,
+bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla");
+ </pre>
+<p>
+ will produce:
+ </p>
+<pre class="screen">
+ --well_formated As you can see this is a
+ very well formatted
+ option description.
+ You can do this for
+ example:
+
+ Values:
+ Value1: does this and
+ that, bla bla
+ bla bla bla bla
+ bla bla bla bla
+ bla bla bla bla
+ bla
+ Value2: does something
+ else, bla bla
+ bla bla bla bla
+ bla bla bla bla
+ bla bla bla bla
+ bla
+
+ This paragraph has a
+ first line indent only,
+ bla bla bla bla bla bla
+ bla bla bla bla bla bla
+ bla bla bla
+ </pre>
+<p>
+ The tab character is removed before output. Only one tabulator per
+ paragraph is allowed, otherwisee an exception of type
+ program_options::error is thrown. Finally, the tabulator is ignored if
+ it's is not on the first line of the paragraph or is on the last
+ possible position of the first line.
+ </p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2715236"></a>Semantic Information</h5></div></div></div>
+<p>The semantic information is completely provided by the
+ <code class="computeroutput"><a href="../value_semantic.html" title="Class value_semantic">boost::program_options::value_semantic</a></code> class. For
+ example:
+</p>
+<pre class="programlisting">
+options_description desc;
+desc.add_options()
+ ("compression", value&lt;int&gt;()-&gt;default_value(10), "compression level")
+ ("email", value&lt; vector&lt;string&gt; &gt;()
+ -&gt;composing()-&gt;notifier(&amp;your_function), "email")
+ ;
+</pre>
+<p>
+ These declarations specify that default value of the first option is 10,
+ that the second option can appear several times and all instances should
+ be merged, and that after parsing is done, the library will call
+ function <code class="computeroutput">&amp;your_function</code>, passing the value of the
+ "email" option as argument.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2715278"></a>Positional Options</h5></div></div></div>
+<p>Our definition of option as (name, value) pairs is simple and
+ useful, but in one special case of the command line, there's a
+ problem. A command line can include a <em class="firstterm">positional option</em>,
+ which does not specify any name at all, for example:
+ </p>
+<pre class="screen">
+ archiver --compression=9 /etc/passwd
+ </pre>
+<p>
+ Here, the "/etc/passwd" element does not have any option name.
+ </p>
+<p>One solution is to ask the user to extract positional options
+ himself and process them as he likes. However, there's a nicer approach
+ -- provide a method to automatically assign the names for positional
+ options, so that the above command line can be interpreted the same way
+ as:
+ </p>
+<pre class="screen">
+ archiver --compression=9 --input-file=/etc/passwd
+ </pre>
+<p>The <code class="computeroutput"><a href="../id2525902.html" title="Class positional_options_description">positional_options_description</a></code> class allows the command line
+ parser to assign the names. The class specifies how many positional options
+ are allowed, and for each allowed option, specifies the name. For example:
+</p>
+<pre class="programlisting">
+positional_options_description pd; pd.add("input-file", 1);
+</pre>
+<p> specifies that for exactly one, first, positional
+ option the name will be "input-file".
+ </p>
+<p>It's possible to specify that a number, or even all positional options, be
+ given the same name.
+</p>
+<pre class="programlisting">
+positional_options_description pd;
+pd.add("output-file", 2).add_optional("input-file", -1);
+</pre>
+<p>
+ In the above example, the first two positional options will be associated
+ with name "output-file", and any others with the name "input-file".
+ </p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2715353"></a>Parsers Component</h4></div></div></div>
+<p>The parsers component splits input sources into (name, value) pairs.
+ Each parser looks for possible options and consults the options
+ description component to determine if the option is known and how its value
+ is specified. In the simplest case, the name is explicitly specified,
+ which allows the library to decide if such option is known. If it is known, the
+ <code class="computeroutput"><a href="../value_semantic.html" title="Class value_semantic">value_semantic</a></code> instance determines how the value is specified. (If
+ it is not known, an exception is thrown.) Common
+ cases are when the value is explicitly specified by the user, and when
+ the value cannot be specified by the user, but the presence of the
+ option implies some value (for example, <code class="computeroutput">true</code>). So, the
+ parser checks that the value is specified when needed and not specified
+ when not needed, and returns new (name, value) pair.
+ </p>
+<p>
+ To invoke a parser you typically call a function, passing the options
+ description and command line or config file or something else.
+ The results of parsing are returned as an instance of the <code class="computeroutput">parsed_options</code>
+ class. Typically, that object is passed directly to the storage
+ component. However, it also can be used directly, or undergo some additional
+ processing.
+ </p>
+<p>
+ There are three exceptions to the above model -- all related to
+ traditional usage of the command line. While they require some support
+ from the options description component, the additional complexity is
+ tolerable.
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>The name specified on the command line may be
+ different from the option name -- it's common to provide a "short option
+ name" alias to a longer name. It's also common to allow an abbreviated name
+ to be specified on the command line.
+ </p></li>
+<li><p>Sometimes it's desirable to specify value as several
+ tokens. For example, an option "--email-recipient" may be followed
+ by several emails, each as a separate command line token. This
+ behaviour is supported, though it can lead to parsing ambiguities
+ and is not enabled by default.
+ </p></li>
+<li><p>The command line may contain positional options -- elements
+ which don't have any name. The command line parser provides a
+ mechanism to guess names for such options, as we've seen in the
+ tutorial.
+ </p></li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2715436"></a>Storage Component</h4></div></div></div>
+<p>The storage component is responsible for:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>Storing the final values of an option into a special class and in
+ regular variables</p></li>
+<li><p>Handling priorities among different sources.</p></li>
+<li><p>Calling user-specified <code class="computeroutput">notify</code> functions with the final
+ values of options.</p></li>
+</ul></div>
+<p>Let's consider an example:
+</p>
+<pre class="programlisting">
+variables_map vm;
+store(parse_command_line(argc, argv, desc), vm);
+store(parse_config_file("example.cfg", desc), vm);
+notify(vm);
+</pre>
+<p>
+ The <code class="computeroutput">variables_map</code> class is used to store the option
+ values. The two calls to the <code class="computeroutput">store</code> function add values
+ found on the command line and in the config file. Finally the call to
+ the <code class="computeroutput">notify</code> function runs the user-specified notify
+ functions and stores the values into regular variables, if needed.
+ </p>
+<p>The priority is handled in a simple way: the <code class="computeroutput">store</code>
+ function will not change the value of an option if it's already
+ assigned. In this case, if the command line specifies the value for an
+ option, any value in the config file is ignored.
+ </p>
+<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Warning</h3>
+<p>Don't forget to call the <code class="computeroutput">notify</code> function after you've
+ stored all parsed values.</p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2715519"></a>Specific parsers</h4></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="overview.html#id2715523">Environment variables</a></span></dt></dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2715523"></a>Environment variables</h5></div></div></div>
+<p><em class="firstterm">Environment variables</em> are string variables
+ which are available to all programs via the <code class="computeroutput">getenv</code> function
+ of C runtime library. The operating system allows to set initial values
+ for a given user, and the values can be further changed on the command
+ line. For example, on Windows one can use the
+ <code class="filename">autoexec.bat</code> file or (on recent versions) the
+ <code class="filename">Control Panel/System/Advanced/Environment Variables</code>
+ dialog, and on Unix &#8212;, the <code class="filename">/etc/profile</code>,
+ <code class="filename">~/profile</code> and <code class="filename">~/bash_profile</code>
+ files. Because environment variables can be set for the entire system,
+ they are particularly suitable for options which apply to all programs.
+ </p>
+<p>The environment variables can be parsed with the
+ <code class="computeroutput"><a href="../id2383787.html" title="Function parse_environment">parse_environment</a></code> function. The function have several overloaded
+ versions. The first parameter is always an <code class="computeroutput"><a href="../options_description.html" title="Class options_description">options_description</a></code>
+ instance, and the second specifies what variables must be processed, and
+ what option names must correspond to it. To describe the second
+ parameter we need to consider naming conventions for environment
+ variables.</p>
+<p>If you have an option that should be specified via environment
+ variable, you need make up the variable's name. To avoid name clashes,
+ we suggest that you use a sufficiently unique prefix for environment
+ variables. Also, while option names are most likely in lower case,
+ environment variables conventionally use upper case. So, for an option
+ name <code class="literal">proxy</code> the environment variable might be called
+ <code class="envar">BOOST_PROXY</code>. During parsing, we need to perform reverse
+ conversion of the names. This is accomplished by passing the choosen
+ prefix as the second parameter of the <code class="computeroutput"><a href="../id2383787.html" title="Function parse_environment">parse_environment</a></code> function.
+ Say, if you pass <code class="literal">BOOST_</code> as the prefix, and there are
+ two variables, <code class="envar">CVSROOT</code> and <code class="envar">BOOST_PROXY</code>, the
+ first variable will be ignored, and the second one will be converted to
+ option <code class="literal">proxy</code>.
+ </p>
+<p>The above logic is sufficient in many cases, but it is also
+ possible to pass, as the second parameter of the <code class="computeroutput"><a href="../id2383787.html" title="Function parse_environment">parse_environment</a></code>
+ function, any function taking a <code class="computeroutput">std::string</code> and returning
+ <code class="computeroutput">std::string</code>. That function will be called for each
+ environment variable and should return either the name of the option, or
+ empty string if the variable should be ignored.
+ </p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2715692"></a>Annotated List of Symbols</h4></div></div></div>
+<p>The following table describes all the important symbols in the
+ library, for quick access.</p>
+<div class="informaltable"><table class="table" width="100%">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Symbol</th>
+<th>Description</th>
+</tr></thead>
+<tbody>
+<tr><td colspan="2">Options description component</td></tr>
+<tr>
+<td><code class="computeroutput"><a href="../options_description.html" title="Class options_description">options_description</a></code></td>
+<td>describes a number of options</td>
+</tr>
+<tr>
+<td><code class="computeroutput"><a href="../value.html" title="Function value">value</a></code></td>
+<td>defines the option's value</td>
+</tr>
+<tr><td colspan="2">Parsers component</td></tr>
+<tr>
+<td><code class="computeroutput"><a href="../parse_command_line.html" title="Function template parse_command_line">parse_command_line</a></code></td>
+<td>parses command line</td>
+</tr>
+<tr>
+<td><code class="computeroutput"><a href="../parse_config_file.html" title="Function template parse_config_file">parse_config_file</a></code></td>
+<td>parses config file</td>
+</tr>
+<tr>
+<td><code class="computeroutput"><a href="../id2383787.html" title="Function parse_environment">parse_environment</a></code></td>
+<td>parses environment</td>
+</tr>
+<tr><td colspan="2">Storage component</td></tr>
+<tr>
+<td><code class="computeroutput"><a href="../variables_map.html" title="Class variables_map">variables_map</a></code></td>
+<td>storage for option values</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../program_options.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="howto.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/program_options/reference.html b/doc/html/program_options/reference.html
new file mode 100644
index 0000000000..3338aedcc8
--- /dev/null
+++ b/doc/html/program_options/reference.html
@@ -0,0 +1,214 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Reference</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../program_options.html" title="Chapter 7. Boost.Program_options">
+<link rel="prev" href="s06.html" title="Acknowledgements">
+<link rel="next" href="../id2358254.html" title="Type style_t">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s06.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../program_options.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../id2358254.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="program_options.reference"></a>Reference</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="reference.html#id2355176">Header &lt;boost/program_options/cmdline.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2380073">Header &lt;boost/program_options/environment_iterator.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2338601">Header &lt;boost/program_options/eof_iterator.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2399042">Header &lt;boost/program_options/errors.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2359341">Header &lt;boost/program_options/option.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2473651">Header &lt;boost/program_options/options_description.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2348797">Header &lt;boost/program_options/parsers.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2525887">Header &lt;boost/program_options/positional_options.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2379391">Header &lt;boost/program_options/value_semantic.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2524541">Header &lt;boost/program_options/variables_map.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2363464">Header &lt;boost/program_options/version.hpp&gt;</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2355176"></a>Header &lt;<a href="../../../boost/program_options/cmdline.hpp" target="_top">boost/program_options/cmdline.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> program_options {
+    <span class="bold"><strong>namespace</strong></span> command_line_style {
+      <span class="bold"><strong>enum</strong></span> <a href="../id2358254.html" title="Type style_t">style_t</a>;
+    }
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2380073"></a>Header &lt;<a href="../../../boost/program_options/environment_iterator.hpp" target="_top">boost/program_options/environment_iterator.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>class</strong></span> <a href="../environment_iterator.html" title="Class environment_iterator">environment_iterator</a>;
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2338601"></a>Header &lt;<a href="../../../boost/program_options/eof_iterator.hpp" target="_top">boost/program_options/eof_iterator.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Derived, <span class="bold"><strong>typename</strong></span> ValueType&gt; <span class="bold"><strong>class</strong></span> <a href="../eof_iterator.html" title="Class template eof_iterator">eof_iterator</a>;
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2399042"></a>Header &lt;<a href="../../../boost/program_options/errors.hpp" target="_top">boost/program_options/errors.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> program_options {
+    <span class="bold"><strong>class</strong></span> <a href="../error.html" title="Class error">error</a>;
+    <span class="bold"><strong>class</strong></span> <a href="../invalid_syntax.html" title="Class invalid_syntax">invalid_syntax</a>;
+    <span class="bold"><strong>class</strong></span> <a href="../unknown_option.html" title="Class unknown_option">unknown_option</a>;
+    <span class="bold"><strong>class</strong></span> <a href="../ambiguous_option.html" title="Class ambiguous_option">ambiguous_option</a>;
+    <span class="bold"><strong>class</strong></span> <a href="../multiple_values.html" title="Class multiple_values">multiple_values</a>;
+    <span class="bold"><strong>class</strong></span> <a href="../multiple_occurrences.html" title="Class multiple_occurrences">multiple_occurrences</a>;
+    <span class="bold"><strong>class</strong></span> <a href="../validation_error.html" title="Class validation_error">validation_error</a>;
+    <span class="bold"><strong>class</strong></span> <a href="../invalid_option_value.html" title="Class invalid_option_value">invalid_option_value</a>;
+    <span class="bold"><strong>class</strong></span> <a href="../id2382392.html" title="Class too_many_positional_options_error">too_many_positional_options_error</a>;
+    <span class="bold"><strong>class</strong></span> <a href="../id2509958.html" title="Class too_few_positional_options_error">too_few_positional_options_error</a>;
+    <span class="bold"><strong>class</strong></span> <a href="../id2492742.html" title="Class invalid_command_line_syntax">invalid_command_line_syntax</a>;
+    <span class="bold"><strong>class</strong></span> <a href="../invalid_command_line_style.html" title="Class invalid_command_line_style">invalid_command_line_style</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2359341"></a>Header &lt;<a href="../../../boost/program_options/option.hpp" target="_top">boost/program_options/option.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> program_options {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt; <span class="bold"><strong>class</strong></span> <a href="../basic_option.html" title="Class template basic_option">basic_option</a>;
+
+    <span class="bold"><strong>typedef</strong></span> <a href="../basic_option.html" title="Class template basic_option">basic_option</a>&lt; <span class="bold"><strong>char</strong></span> &gt; option;
+    <span class="bold"><strong>typedef</strong></span> <a href="../basic_option.html" title="Class template basic_option">basic_option</a>&lt; <span class="bold"><strong>wchar_t</strong></span> &gt; woption;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2473651"></a>Header &lt;<a href="../../../boost/program_options/options_description.hpp" target="_top">boost/program_options/options_description.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> program_options {
+    <span class="bold"><strong>class</strong></span> <a href="../option_description.html" title="Class option_description">option_description</a>;
+    <span class="bold"><strong>class</strong></span> <a href="../id2411202.html" title="Class options_description_easy_init">options_description_easy_init</a>;
+    <span class="bold"><strong>class</strong></span> <a href="../options_description.html" title="Class options_description">options_description</a>;
+    <span class="bold"><strong>class</strong></span> <a href="../duplicate_option_error.html" title="Class duplicate_option_error">duplicate_option_error</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2348797"></a>Header &lt;<a href="../../../boost/program_options/parsers.hpp" target="_top">boost/program_options/parsers.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> program_options {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt; <span class="bold"><strong>class</strong></span> <a href="../basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>;
+
+    <span class="bold"><strong>template</strong></span>&lt;&gt; <span class="bold"><strong>class</strong></span> <a href="../id2381437-bb.html" title="Class basic_parsed_options&lt;wchar_t&gt;">basic_parsed_options</a>&lt;<span class="bold"><strong>wchar_t</strong></span>&gt;;
+
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt; <span class="bold"><strong>class</strong></span> <a href="../basic_command_line_parser.html" title="Class template basic_command_line_parser">basic_command_line_parser</a>;
+
+    <span class="bold"><strong>typedef</strong></span> <a href="../basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>char</strong></span> &gt; parsed_options;
+    <span class="bold"><strong>typedef</strong></span> <a href="../basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>wchar_t</strong></span> &gt; wparsed_options;
+    <span class="bold"><strong>typedef</strong></span> function1&lt; std::pair&lt; std::string, std::string &gt;, <span class="bold"><strong>const</strong></span> std::string &amp; &gt; ext_parser;
+    <span class="bold"><strong>typedef</strong></span> <a href="../basic_command_line_parser.html" title="Class template basic_command_line_parser">basic_command_line_parser</a>&lt; <span class="bold"><strong>char</strong></span> &gt; command_line_parser;
+    <span class="bold"><strong>typedef</strong></span> <a href="../basic_command_line_parser.html" title="Class template basic_command_line_parser">basic_command_line_parser</a>&lt; <span class="bold"><strong>wchar_t</strong></span> &gt; wcommand_line_parser;
+
+    <span class="bold"><strong>enum</strong></span> <a href="../id2348892.html" title="Type collect_unrecognized_mode">collect_unrecognized_mode</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type"><a href="../basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; charT &gt;</span>
+      <a href="../parse_command_line.html" title="Function template parse_command_line">parse_command_line</a>(<span class="bold"><strong>int</strong></span>, charT *, <span class="bold"><strong>const</strong></span> <a href="../options_description.html" title="Class options_description">options_description</a> &amp;, <span class="bold"><strong>int</strong></span> = 0,
+                         function1&lt; std::pair&lt; std::string, std::string &gt;, <span class="bold"><strong>const</strong></span> std::string &amp; &gt; = ext_parser());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">BOOST_PROGRAM_OPTIONS_DECL <a href="../basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; charT &gt;</span>
+      <a href="../parse_config_file.html" title="Function template parse_config_file">parse_config_file</a>(std::basic_istream&lt; charT &gt; &amp;,
+                        <span class="bold"><strong>const</strong></span> <a href="../options_description.html" title="Class options_description">options_description</a> &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+      <span class="type">std::vector&lt; std::basic_string&lt; charT &gt; &gt;</span>
+      <a href="../collect_unrecognized.html" title="Function template collect_unrecognized">collect_unrecognized</a>(<span class="bold"><strong>const</strong></span> std::vector&lt; <a href="../basic_option.html" title="Class template basic_option">basic_option</a>&lt; charT &gt; &gt; &amp;,
+                           <span class="bold"><strong>enum</strong></span> collect_unrecognized_mode);
+    <span class="type">BOOST_PROGRAM_OPTIONS_DECL parsed_options</span>
+    <a href="../id2383787.html" title="Function parse_environment">parse_environment</a>(<span class="bold"><strong>const</strong></span> <a href="../options_description.html" title="Class options_description">options_description</a> &amp;,
+                      <span class="bold"><strong>const</strong></span> function1&lt; std::string, std::string &gt; &amp;);
+    <span class="type">BOOST_PROGRAM_OPTIONS_DECL parsed_options</span>
+    <a href="../id2462174.html" title="Function parse_environment">parse_environment</a>(<span class="bold"><strong>const</strong></span> <a href="../options_description.html" title="Class options_description">options_description</a> &amp;, <span class="bold"><strong>const</strong></span> std::string &amp;);
+    <span class="type">BOOST_PROGRAM_OPTIONS_DECL parsed_options</span>
+    <a href="../id2462174.html" title="Function parse_environment">parse_environment</a>(<span class="bold"><strong>const</strong></span> <a href="../options_description.html" title="Class options_description">options_description</a> &amp;, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2525887"></a>Header &lt;<a href="../../../boost/program_options/positional_options.hpp" target="_top">boost/program_options/positional_options.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> program_options {
+    <span class="bold"><strong>class</strong></span> <a href="../id2525902.html" title="Class positional_options_description">positional_options_description</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2379391"></a>Header &lt;<a href="../../../boost/program_options/value_semantic.hpp" target="_top">boost/program_options/value_semantic.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> program_options {
+    <span class="bold"><strong>class</strong></span> <a href="../value_semantic.html" title="Class value_semantic">value_semantic</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt; <span class="bold"><strong>class</strong></span> <a href="../id2284769.html" title="Class template value_semantic_codecvt_helper">value_semantic_codecvt_helper</a>;
+
+    <span class="bold"><strong>template</strong></span>&lt;&gt; <span class="bold"><strong>class</strong></span> <a href="../id2381778-bb.html" title="Class value_semantic_codecvt_helper&lt;char&gt;">value_semantic_codecvt_helper</a>&lt;<span class="bold"><strong>char</strong></span>&gt;;
+    <span class="bold"><strong>template</strong></span>&lt;&gt; <span class="bold"><strong>class</strong></span> <a href="../id2381519-bb.html" title="Class value_semantic_codecvt_helper&lt;wchar_t&gt;">value_semantic_codecvt_helper</a>&lt;<span class="bold"><strong>wchar_t</strong></span>&gt;;
+
+    <span class="bold"><strong>class</strong></span> <a href="../untyped_value.html" title="Class untyped_value">untyped_value</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt; <span class="bold"><strong>class</strong></span> <a href="../typed_value.html" title="Class template typed_value">typed_value</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type"><a href="../typed_value.html" title="Class template typed_value">typed_value</a>&lt; T &gt; *</span> <a href="../value.html" title="Function value">value</a>();
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type"><a href="../typed_value.html" title="Class template typed_value">typed_value</a>&lt; T &gt; *</span> <a href="../value.html" title="Function value">value</a>(T *);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type"><a href="../typed_value.html" title="Class template typed_value">typed_value</a>&lt; T, <span class="bold"><strong>wchar_t</strong></span> &gt; *</span> <a href="../wvalue.html" title="Function wvalue">wvalue</a>();
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type"><a href="../typed_value.html" title="Class template typed_value">typed_value</a>&lt; T, <span class="bold"><strong>wchar_t</strong></span> &gt; *</span> <a href="../wvalue.html" title="Function wvalue">wvalue</a>(T *);
+    <span class="type">BOOST_PROGRAM_OPTIONS_DECL <a href="../typed_value.html" title="Class template typed_value">typed_value</a>&lt; <span class="bold"><strong>bool</strong></span> &gt; *</span> <a href="../bool_switch.html" title="Function bool_switch">bool_switch</a>();
+    <span class="type">BOOST_PROGRAM_OPTIONS_DECL <a href="../typed_value.html" title="Class template typed_value">typed_value</a>&lt; <span class="bold"><strong>bool</strong></span> &gt; *</span> <a href="../bool_switch.html" title="Function bool_switch">bool_switch</a>(<span class="bold"><strong>bool</strong></span> *);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2524541"></a>Header &lt;<a href="../../../boost/program_options/variables_map.hpp" target="_top">boost/program_options/variables_map.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> program_options {
+    <span class="bold"><strong>class</strong></span> <a href="../variable_value.html" title="Class variable_value">variable_value</a>;
+    <span class="bold"><strong>class</strong></span> <a href="../abstract_variables_map.html" title="Class abstract_variables_map">abstract_variables_map</a>;
+    <span class="bold"><strong>class</strong></span> <a href="../variables_map.html" title="Class variables_map">variables_map</a>;
+    <span class="type">BOOST_PROGRAM_OPTIONS_DECL <span class="bold"><strong>void</strong></span></span>
+    <a href="../id2349650.html" title="Function store">store</a>(<span class="bold"><strong>const</strong></span> <a href="../basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>char</strong></span> &gt; &amp;, <a href="../variables_map.html" title="Class variables_map">variables_map</a> &amp;, <span class="bold"><strong>bool</strong></span> = false);
+    <span class="type">BOOST_PROGRAM_OPTIONS_DECL <span class="bold"><strong>void</strong></span></span>
+    <a href="../id2342502.html" title="Function store">store</a>(<span class="bold"><strong>const</strong></span> <a href="../basic_parsed_options.html" title="Class template basic_parsed_options">basic_parsed_options</a>&lt; <span class="bold"><strong>wchar_t</strong></span> &gt; &amp;, <a href="../variables_map.html" title="Class variables_map">variables_map</a> &amp;);
+    <span class="type">BOOST_PROGRAM_OPTIONS_DECL <span class="bold"><strong>void</strong></span></span> <a href="../notify.html" title="Function notify">notify</a>(<a href="../variables_map.html" title="Class variables_map">variables_map</a> &amp;);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2363464"></a>Header &lt;<a href="../../../boost/program_options/version.hpp" target="_top">boost/program_options/version.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis">
+
+<a href="../id2363468.html" title="Macro BOOST_PROGRAM_OPTIONS_VERSION">BOOST_PROGRAM_OPTIONS_VERSION</a></pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s06.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../program_options.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../id2358254.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/program_options/s06.html b/doc/html/program_options/s06.html
new file mode 100644
index 0000000000..ba530e7afe
--- /dev/null
+++ b/doc/html/program_options/s06.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Acknowledgements</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../program_options.html" title="Chapter 7. Boost.Program_options">
+<link rel="prev" href="design.html" title="Design Discussion">
+<link rel="next" href="reference.html" title="Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="design.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../program_options.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2716870"></a>Acknowledgements</h3></div></div></div>
+<p>I'm very gratefull to all the people who helped with the development,
+ by discussion, fixes, and as users. It was pleasant
+ to see all that involvement, which made the library much better than it
+ would be otherwise.
+ </p>
+<p>In the early stages, the library was affected by discussions with
+ Gennadiy Rozental, William Kempf and Alexander Okhotin.
+ </p>
+<p>Hartmut Kaiser was the first person to try the library on his project
+ and send a number of suggestions and fixes.
+ </p>
+<p>The formal review lead to numerous comments and enhancements. Pavol
+ Droba helped with the option description semantic. Gennadiy Rozental has
+ criticised many aspects of the library which caused various simplifications.
+ Pavel Vozenilek did carefull review of the implementation. A number of
+ comments were made by:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>David Abrahams</p></li>
+<li><p>Neal D. Becker</p></li>
+<li><p>Misha Bergal</p></li>
+<li><p>James Curran</p></li>
+<li><p>Carl Daniel</p></li>
+<li><p>Beman Dawes</p></li>
+<li><p>Tanton Gibbs</p></li>
+<li><p>Holger Grund</p></li>
+<li><p>Hartmut Kaiser</p></li>
+<li><p>Petr Kocmid</p></li>
+<li><p>Baptiste Lepilleur</p></li>
+<li><p>Marcelo E. Magallon</p></li>
+<li><p>Chuck Messenger</p></li>
+<li><p>John Torjo</p></li>
+<li><p>Matthias Troyer</p></li>
+</ul></div>
+<p>Doug Gregor and Reece Dunn helped to resolve the issues with Boostbook
+ version of the documentation.
+ </p>
+<p>Even after review, a number of people have helped with further development:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>Rob Lievaart</p></li>
+<li><p>Thorsten Ottosen</p></li>
+<li><p>Joseph Wu</p></li>
+<li><p>Ferdinand Prantl</p></li>
+<li><p>Miro Jurisic</p></li>
+<li><p>John Maddock</p></li>
+<li><p>Janusz Piwowarski</p></li>
+<li><p>Charles Brockman</p></li>
+<li><p>Jonathan Wakely</p></li>
+</ul></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="design.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../program_options.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/program_options/tutorial.html b/doc/html/program_options/tutorial.html
new file mode 100644
index 0000000000..dc2b6dbfce
--- /dev/null
+++ b/doc/html/program_options/tutorial.html
@@ -0,0 +1,339 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Tutorial</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../program_options.html" title="Chapter 7. Boost.Program_options">
+<link rel="prev" href="../program_options.html" title="Chapter 7. Boost.Program_options">
+<link rel="next" href="overview.html" title="Library Overview">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../program_options.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../program_options.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="overview.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="program_options.tutorial"></a>Tutorial</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="tutorial.html#id2714212">Getting Started</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2714372">Option Details</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2714557">Multiple Sources</a></span></dt>
+</dl></div>
+<p>In this section, we'll take a look at the most common usage scenarios
+ of the program_options library, starting with the simplest one. The examples
+ show only the interesting code parts, but the complete programs can be found
+ in the "BOOST_ROOT/libs/program_options/example" directory. Through all the
+ examples, we'll assume that the following namespace alias is in effect:
+</p>
+<pre class="programlisting">namespace po = boost::program_options;</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2714212"></a>Getting Started</h4></div></div></div>
+<p>The first example is the simplest possible: it only handles two
+ options. Here's the source code (the full program is in
+ "example/first.cpp"):
+
+</p>
+<pre class="programlisting">
+// Declare the supported options.
+po::options_description desc("Allowed options");
+desc.add_options()
+ ("help", "produce help message")
+ ("compression", po::value&lt;int&gt;(), "set compression level")
+;
+
+po::variables_map vm;
+po::store(po::parse_command_line(ac, av, desc), vm);
+po::notify(vm);
+
+if (vm.count("help")) {
+ cout &lt;&lt; desc &lt;&lt; "\n";
+ return 1;
+}
+
+if (vm.count("compression")) {
+ cout &lt;&lt; "Compression level was set to "
+ &lt;&lt; vm["compression"].as&lt;int&gt;() &lt;&lt; ".\n";
+} else {
+ cout &lt;&lt; "Compression level was not set.\n";
+}
+</pre>
+<p>We start by declaring all allowed options using the
+ <code class="computeroutput"><a href="../options_description.html" title="Class options_description">options_description</a></code> class. The <code class="computeroutput">add_options</code> method of that
+ class returns a special proxy object that defines
+ <code class="computeroutput">operator()</code>. Calls to that operator actually declare
+ options. The parameters are option name, information about value, and option
+ description. In this example, the first option has no value, and the second
+ one has a value of type <code class="computeroutput">int</code>.
+ </p>
+<p>After that, an object of class <code class="computeroutput">variables_map</code> is
+ declared. That class is intended to store values of options, and can store
+ values of arbitrary types. Next, the calls to <code class="computeroutput">store</code>,
+ <code class="computeroutput">parse_command_line</code> and <code class="computeroutput">notify</code> functions cause
+ <code class="computeroutput">vm</code> to contain all the options found on the command
+ line.</p>
+<p>And now, finally, we can use the options as we like. The
+ <code class="computeroutput">variables_map</code> class can be used just like
+ <code class="computeroutput">std::map</code>, except that values stored there must be retrieved
+ with the <code class="computeroutput">as</code> method shown above. (If the type specified in the
+ call to the <code class="computeroutput">as</code> method is different from the actually stored
+ type, an exception is thrown.)
+ </p>
+<p>It's now a good time to try compiling the code yourself, but if
+ you're not yet ready, here's an example session:
+</p>
+<pre class="screen">
+$<strong class="userinput"><code>bin/gcc/debug/first</code></strong>
+Compression level was not set.
+$<strong class="userinput"><code>bin/gcc/debug/first --help</code></strong>
+Allowed options:
+ --help : produce help message
+ --compression arg : set compression level
+$<strong class="userinput"><code>bin/gcc/debug/first --compression 10</code></strong>
+Compression level was set to 10.
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2714372"></a>Option Details</h4></div></div></div>
+<p>An option value, surely, can have other types than <code class="computeroutput">int</code>, and
+ can have other interesting properties, which we'll discuss right now. The
+ complete version of the code snipped below can be found in
+ "example/options_description.cpp".</p>
+<p>Imagine we're writing a compiler. It should take the optimization
+ level, a number of include paths, and a number of input files, and perform some
+ interesting work. Let's describe the options:
+ </p>
+<pre class="programlisting">
+int opt;
+po::options_description desc("Allowed options");
+desc.add_options()
+ ("help", "produce help message")
+ ("optimization", po::value&lt;int&gt;(&amp;opt)-&gt;default_value(10),
+ "optimization level")
+ ("include-path,I", po::value&lt; vector&lt;string&gt; &gt;(),
+ "include path")
+ ("input-file", po::value&lt; vector&lt;string&gt; &gt;(), "input file")
+;
+</pre>
+<p>The "--help" option should be familiar from the previous example.
+ It's a good idea to have this option in all cases.</p>
+<p>The "optimization" option shows two new features. First, we specify
+ the address of the variable(<code class="computeroutput">&amp;opt</code>). After storing values, that
+ variable will have the value of the option. Second, we specify a default
+ value of 10, which will be used if no value is specified by the user.
+ </p>
+<p>The "include-path" option is an example of the only case where
+ the interface of the <code class="computeroutput">options_description</code> class serves only one
+ source -- the command line. Users typically like to use short option names
+ for common options, and the "include-path,I" name specifies that short
+ option name is "I". So, both "--include-path" and "-I" can be used.
+ </p>
+<p>The "input-file" option specifies the list of files to
+ process. That's okay for a start, but, of course, writing something like:
+ </p>
+<pre class="screen"><strong class="userinput"><code>compiler --input-file=a.cpp</code></strong></pre>
+<p>
+ is a little non-standard, compared with
+ </p>
+<pre class="screen"><strong class="userinput"><code>compiler a.cpp</code></strong></pre>
+<p>
+ We'll address this in a moment.
+ </p>
+<p>
+ The command line tokens which have no option name, as above, are
+ called "positional options" by this library. They can be handled
+ too. With a little help from the user, the library can decide that "a.cpp"
+ really means the same as "--input-file=a.cpp". Here's the additional code
+ we need:
+ </p>
+<pre class="programlisting">
+po::positional_options_description p;
+p.add("input-file", -1);
+
+po::variables_map vm;
+po::store(po::command_line_parser(ac, av).
+ options(desc).positional(p).run(), vm);
+po::notify(vm);
+ </pre>
+<p>
+ The first two lines say that all positional options should be translated
+ into "input-file" options. Also note that we use the
+ <code class="computeroutput">command_line_parser</code> class to parse the command
+ line, not the <code class="computeroutput"><a href="../parse_command_line.html" title="Function template parse_command_line">parse_command_line</a></code>
+ function. The latter is a convenient wrapper for simple cases, but now we
+ need to pass additional information.
+ </p>
+<p>By now, all options are described and parsed. We'll save ourselves the
+ trouble of implementing the rest of the compiler logic and only print the
+ options:
+ </p>
+<pre class="programlisting">
+if (vm.count("include-path"))
+{
+ cout &lt;&lt; "Include paths are: "
+ &lt;&lt; vm["include-path"].as&lt; vector&lt;string&gt; &gt;() &lt;&lt; "\n";
+}
+
+if (vm.count("input-file"))
+{
+ cout &lt;&lt; "Input files are: "
+ &lt;&lt; vm["input-file"].as&lt; vector&lt;string&gt; &gt;() &lt;&lt; "\n";
+}
+
+cout &lt;&lt; "Optimization level is " &lt;&lt; opt &lt;&lt; "\n";
+</pre>
+<p>Here's an example session:
+ </p>
+<pre class="screen">
+$<strong class="userinput"><code>bin/gcc/debug/options_description --help</code></strong>
+Usage: options_description [options]
+Allowed options:
+ --help : produce help message
+ --optimization arg : optimization level
+ -I [ --include-path ] arg : include path
+ --input-file arg : input file
+$bin/gcc/debug/options_description
+Optimization level is 10
+$<strong class="userinput"><code>bin/gcc/debug/options_description --optimization 4 -I foo a.cpp</code></strong>
+Include paths are: foo
+Input files are: a.cpp
+Optimization level is 4
+</pre>
+<p>
+ Oops, there's a slight problem. It's still possible to specify the
+ "--input-file" option, and usage message says so, which can be confusing
+ for the user. It would be nice to hide this information, but let's wait
+ for the next example.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2714557"></a>Multiple Sources</h4></div></div></div>
+<p>It's quite likely that specifying all options to our compiler on the
+ command line will annoy users. What if a user installs a new library and
+ wants to always pass an additional command line element? What if he has
+ made some choices which should be applied on every run? It's desirable to
+ create a config file with common settings which will be used together with
+ the command line.
+ </p>
+<p>Of course, there will be a need to combine the values from command
+ line and config file. For example, the optimization level specified on the
+ command line should override the value from the config file. On the other
+ hand, include paths should be combined.
+ </p>
+<p>Let's see the code now. The complete program is in
+ "examples/multiple_sources.cpp". The option definition has two interesting
+ details. First, we declare several instances of the
+ <code class="computeroutput">options_description</code> class. The reason is that, in general,
+ not all options are alike. Some options, like "input-file" above, should
+ not be presented in an automatic help message. Some options make sense only
+ in the config file. Finally, it's nice to have some structure in the help message,
+ not just a long list of options. Let's declare several option groups:
+ </p>
+<pre class="programlisting">
+// Declare a group of options that will be
+// allowed only on command line
+po::options_description generic("Generic options");
+generic.add_options()
+ ("version,v", "print version string")
+ ("help", "produce help message")
+ ;
+
+// Declare a group of options that will be
+// allowed both on command line and in
+// config file
+po::options_description config("Configuration");
+config.add_options()
+ ("optimization", po::value&lt;int&gt;(&amp;opt)-&gt;default_value(10),
+ "optimization level")
+ ("include-path,I",
+ po::value&lt; vector&lt;string&gt; &gt;()-&gt;composing(),
+ "include path")
+ ;
+
+// Hidden options, will be allowed both on command line and
+// in config file, but will not be shown to the user.
+po::options_description hidden("Hidden options");
+hidden.add_options()
+ ("input-file", po::value&lt; vector&lt;string&gt; &gt;(), "input file")
+ ;
+</pre>
+<p>
+ Note the call to the <code class="computeroutput">composing</code> method in the declaration of the
+ "include-path" option. It tells the library that values from different sources
+ should be composed together, as we'll see shortly.
+ </p>
+<p>
+ The <code class="computeroutput">add</code> method of the <code class="computeroutput">options_description</code>
+ class can be used to further group the options:
+ </p>
+<pre class="programlisting">
+po::options_description cmdline_options;
+cmdline_options.add(generic).add(config).add(hidden);
+
+po::options_description config_file_options;
+config_file_options.add(config).add(hidden);
+
+po::options_description visible("Allowed options");
+visible.add(generic).add(config);
+ </pre>
+<p>The parsing and storing of values follows the usual pattern, except that
+ we additionally call <code class="computeroutput">parse_config_file</code>, and
+ call the <code class="computeroutput"><a href="../id2349650.html" title="Function store">store</a></code> function twice. But what
+ happens if the same value is specified both on the command line and in
+ config file? Usually, the value stored first is preferred. This is what
+ happens for the "--optimization" option. For "composing" options, like
+ "include-file", the values are merged.
+ </p>
+<p>Here's an example session:
+</p>
+<pre class="screen">
+$<strong class="userinput"><code>bin/gcc/debug/multiple_sources</code></strong>
+Include paths are: /opt
+Optimization level is 1
+$<strong class="userinput"><code>bin/gcc/debug/multiple_sources --help</code></strong>
+Allows options:
+
+Generic options:
+ -v [ --version ] : print version string
+ --help : produce help message
+
+Configuration:
+ --optimization n : optimization level
+ -I [ --include-path ] path : include path
+
+$<strong class="userinput"><code>bin/gcc/debug/multiple_sources --optimization=4 -I foo a.cpp b.cpp</code></strong>
+Include paths are: foo /opt
+Input files are: a.cpp b.cpp
+Optimization level is 4
+</pre>
+<p>
+ The first invocation uses values from the configuration file. The second
+ invocation also uses values from command line. As we see, the include
+ paths on the command line and in the configuration file are merged,
+ while optimization is taken from the command line.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../program_options.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../program_options.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="overview.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ptime.html b/doc/html/ptime.html
new file mode 100644
index 0000000000..fe23d74ab1
--- /dev/null
+++ b/doc/html/ptime.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class ptime</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2445116" title="Header &lt;boost/date_time/posix_time/ptime.hpp&gt;">
+<link rel="prev" href="id2444918.html" title="Function template operator&gt;&gt;">
+<link rel="next" href="duration_from_string.html" title="Function duration_from_string">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2444918.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2445116"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="duration_from_string.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ptime"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class ptime</span></h2>
+<p>boost::posix_time::ptime &#8212; Time type with no timezone or other adjustments. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> ptime {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> posix_time_system                    time_system_type;  
+  <span class="bold"><strong>typedef</strong></span> time_system_type::time_rep_type      time_rep_type;     
+  <span class="bold"><strong>typedef</strong></span> time_system_type::time_duration_type time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> <a href="ptime.html" title="Class ptime">ptime</a>                                time_type;         
+
+  <span class="emphasis"><em>// <a href="ptime.html#ptimeconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="ptime.html#id2445187-bb">ptime</a>(gregorian::date, time_duration_type);
+  <a href="ptime.html#id2445215-bb">ptime</a>(gregorian::date);
+  <a href="ptime.html#id2445234-bb">ptime</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;);
+  <a href="ptime.html#id2445251-bb">ptime</a>(<span class="bold"><strong>const</strong></span> special_values);
+  <a href="ptime.html#id2445268-bb">ptime</a>();
+
+  <span class="emphasis"><em>// <a href="ptime.html#id2445183-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2679558"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2679561"></a><h3>
+<a name="ptimeconstruct-copy-destruct"></a><code class="computeroutput">ptime</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2445187-bb"></a>ptime(gregorian::date d, time_duration_type td);</pre></li>
+<li><pre class="literallayout"><a name="id2445215-bb"></a>ptime(gregorian::date d);</pre></li>
+<li><pre class="literallayout"><a name="id2445234-bb"></a>ptime(<span class="bold"><strong>const</strong></span> time_rep_type &amp; rhs);</pre></li>
+<li><pre class="literallayout"><a name="id2445251-bb"></a>ptime(<span class="bold"><strong>const</strong></span> special_values sv);</pre></li>
+<li><pre class="literallayout"><a name="id2445268-bb"></a>ptime();</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2679663"></a><h3>
+<a name="id2445183-bb"></a><code class="computeroutput">ptime</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2444918.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2445116"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="duration_from_string.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/range_finder.html b/doc/html/range_finder.html
new file mode 100644
index 0000000000..5b269a47e8
--- /dev/null
+++ b/doc/html/range_finder.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function range_finder</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2447201" title="Header &lt;boost/algorithm/string/finder.hpp&gt;">
+<link rel="prev" href="token_finder.html" title="Function template token_finder">
+<link rel="next" href="const_formatter.html" title="Function template const_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="token_finder.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2447201"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="const_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="range_finder"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function range_finder</span></h2>
+<p>boost::algorithm::range_finder &#8212; "Range" finder </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ForwardIteratorT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> range_finder(ForwardIteratorT Begin, ForwardIteratorT End);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ForwardIteratorT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> range_finder(iterator_range&lt; ForwardIteratorT &gt; Range);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2760219"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">range_finder</code> . The finder does not perform any operation. It simply returns the given range for any input.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Begin</span></dt>
+<dd><p>Beginning of the range </p></dd>
+<dt><span class="term">End</span></dt>
+<dd><p>End of the range </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">range_finger</code> object </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="token_finder.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2447201"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="const_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/read_write_mutex.html b/doc/html/read_write_mutex.html
new file mode 100644
index 0000000000..5d5a116bcf
--- /dev/null
+++ b/doc/html/read_write_mutex.html
@@ -0,0 +1,153 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class read_write_mutex</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id693680" title="Header &lt;boost/thread/read_write_mutex.hpp&gt;">
+<link rel="prev" href="id1149596.html" title="Type read_write_scheduling_policy">
+<link rel="next" href="try_read_write_mutex.html" title="Class try_read_write_mutex">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1149596.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id693680"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="try_read_write_mutex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="read_write_mutex"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class read_write_mutex</span></h2>
+<p>boost::read_write_mutex &#8212; <p>The <a href="read_write_mutex.html" title="Class read_write_mutex">read_write_mutex</a> class is a model of the
+ <a href="threads/concepts.html#threads.concepts.ReadWriteMutex" title="ReadWriteMutex Concept">ReadWriteMutex</a> concept.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> read_write_mutex : <span class="bold"><strong>private</strong></span> boost::noncopyable, <span class="emphasis"><em>// Exposition only</em></span>
+                         <span class="bold"><strong>private</strong></span> boost::noncopyable <span class="emphasis"><em>// Exposition only</em></span>
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_read_write_lock;
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_read_lock;      
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_write_lock;     
+
+  <span class="emphasis"><em>// <a href="read_write_mutex.html#read_write_mutexconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="read_write_mutex.html#id685797-bb">read_write_mutex</a>(boost::read_write_scheduling_policy);
+  <a href="read_write_mutex.html#id1146611-bb">~read_write_mutex</a>();
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1561559"></a><h2>Description</h2>
+<p>The <a href="read_write_mutex.html" title="Class read_write_mutex">read_write_mutex</a> class is a model of the
+ <a href="threads/concepts.html#threads.concepts.ReadWriteMutex" title="ReadWriteMutex Concept">ReadWriteMutex</a> concept.
+ It should be used to synchronize access to shared resources using
+ <a href="threads/concepts.html#threads.concepts.read-write-locking-strategies.unspecified" title="Unspecified Locking Strategy">Unspecified</a>
+ locking mechanics.</p>
+<p>For classes that model related mutex concepts, see
+ <a href="try_read_write_mutex.html" title="Class try_read_write_mutex">try_read_write_mutex</a> and <a href="timed_read_write_mutex.html" title="Class timed_read_write_mutex">timed_read_write_mutex</a>.</p>
+<p>The <a href="read_write_mutex.html" title="Class read_write_mutex">read_write_mutex</a> class supplies the following typedefs,
+ which <a href="threads/concepts.html#threads.concepts.read-write-lock-models" title="Lock Models">model</a>
+ the specified locking strategies:
+
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Lock Name</th>
+<th align="left">Lock Concept</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left">scoped_read_write_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedReadWriteLock" title="ScopedReadWriteLock Concept">ScopedReadWriteLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_read_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedLock" title="ScopedLock Concept">ScopedLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_write_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedLock" title="ScopedLock Concept">ScopedLock</a></td>
+</tr>
+</tbody>
+</table></div>
+<p>The <a href="read_write_mutex.html" title="Class read_write_mutex">read_write_mutex</a> class uses an
+ <a href="threads/concepts.html#threads.concepts.read-write-locking-strategies.unspecified" title="Unspecified Locking Strategy">Unspecified</a>
+ locking strategy, so attempts to recursively lock a <a href="read_write_mutex.html" title="Class read_write_mutex">read_write_mutex</a>
+ object or attempts to unlock one by threads that don't own a lock on it result in
+ <span class="bold"><strong>undefined behavior</strong></span>.
+ This strategy allows implementations to be as efficient as possible
+ on any given platform. It is, however, recommended that
+ implementations include debugging support to detect misuse when
+ <code class="computeroutput">NDEBUG</code> is not defined.</p>
+<p>Like all
+ <a href="threads/concepts.html#threads.concepts.read-write-mutex-models" title="Mutex Models">read/write mutex models</a>
+ in , <a href="read_write_mutex.html" title="Class read_write_mutex">read_write_mutex</a> has two types of
+ <a href="threads/concepts.html#threads.concepts.read-write-scheduling-policies" title="Scheduling Policies">scheduling policies</a>, an
+ <a href="threads/concepts.html#threads.concepts.read-write-scheduling-policies.inter-class" title="Inter-Class Scheduling Policies">inter-class sheduling policy</a>
+ between threads trying to obtain different types of locks and an
+ <a href="threads/concepts.html#threads.concepts.read-write-scheduling-policies.intra-class" title="Intra-Class Scheduling Policies">intra-class sheduling policy</a>
+ between threads trying to obtain the same type of lock.
+ The <a href="read_write_mutex.html" title="Class read_write_mutex">read_write_mutex</a> class allows the
+ programmer to choose what
+ <a href="threads/concepts.html#threads.concepts.read-write-scheduling-policies.inter-class" title="Inter-Class Scheduling Policies">inter-class sheduling policy</a>
+ will be used; however, like all read/write mutex models,
+ <a href="read_write_mutex.html" title="Class read_write_mutex">read_write_mutex</a> leaves the
+ <a href="threads/concepts.html#threads.concepts.read-write-scheduling-policies.intra-class" title="Intra-Class Scheduling Policies">intra-class sheduling policy</a> as
+ <a href="threads/concepts.html#threads.concepts.read-write-locking-strategies.unspecified" title="Unspecified Locking Strategy">Unspecified</a>.
+ </p>
+<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Note</h3>Self-deadlock is virtually guaranteed if a thread tries to
+ lock the same <a href="read_write_mutex.html" title="Class read_write_mutex">read_write_mutex</a> multiple times
+ unless all locks are read-locks (but see below)</div>
+<div class="refsect2" lang="en">
+<a name="id1561830"></a><h3>
+<a name="read_write_mutexconstruct-copy-destruct"></a><code class="computeroutput">read_write_mutex</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id685797-bb"></a>read_write_mutex(boost::read_write_scheduling_policy count);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Constructs a <a href="read_write_mutex.html" title="Class read_write_mutex">read_write_mutex</a> object.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">*this</code> is in an unlocked state.
+ </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id1146611-bb"></a>~read_write_mutex();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Destroys a <a href="read_write_mutex.html" title="Class read_write_mutex">read_write_mutex</a> object.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">*this</code> is in an unlocked state.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ <span class="bold"><strong>Danger:</strong></span> Destruction of a
+ locked mutex is a serious programming error resulting in undefined
+ behavior such as a program crash.</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id1149596.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id693680"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="try_read_write_mutex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/recursive_mutex.html b/doc/html/recursive_mutex.html
new file mode 100644
index 0000000000..2395dbaee4
--- /dev/null
+++ b/doc/html/recursive_mutex.html
@@ -0,0 +1,132 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class recursive_mutex</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id2436754" title="Header &lt;boost/thread/recursive_mutex.hpp&gt;">
+<link rel="prev" href="call_once.html" title="Function call_once">
+<link rel="next" href="recursive_try_mutex.html" title="Class recursive_try_mutex">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="call_once.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2436754"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="recursive_try_mutex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="recursive_mutex"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class recursive_mutex</span></h2>
+<p>boost::recursive_mutex &#8212; <p>The <a href="recursive_mutex.html" title="Class recursive_mutex">recursive_mutex</a> class is a model of the
+ <a href="threads/concepts.html#threads.concepts.Mutex" title="Mutex Concept">Mutex</a> concept.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> recursive_mutex : <span class="bold"><strong>private</strong></span> boost::noncopyable <span class="emphasis"><em>// Exposition only</em></span>
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_lock;
+
+  <span class="emphasis"><em>// <a href="recursive_mutex.html#recursive_mutexconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="recursive_mutex.html#id2596976-bb">recursive_mutex</a>();
+  <a href="recursive_mutex.html#id2575603-bb">~recursive_mutex</a>();
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2782436"></a><h2>Description</h2>
+<p>The <a href="recursive_mutex.html" title="Class recursive_mutex">recursive_mutex</a> class is a model of the
+ <a href="threads/concepts.html#threads.concepts.Mutex" title="Mutex Concept">Mutex</a> concept.
+ It should be used to synchronize access to shared resources using
+ <a href="threads/concepts.html#threads.concepts.recursive-locking-strategy" title="Recursive Locking Strategy">Recursive</a>
+ locking mechanics.</p>
+<p>For classes that model related mutex concepts, see
+ <a href="recursive_try_mutex.html" title="Class recursive_try_mutex">recursive_try_mutex</a> and <a href="recursive_timed_mutex.html" title="Class recursive_timed_mutex">recursive_timed_mutex</a>.</p>
+<p>For <a href="threads/concepts.html#threads.concepts.unspecified-locking-strategy" title="Unspecified Locking Strategy">Unspecified</a>
+ locking mechanics, see <a href="mutex.html" title="Class mutex">mutex</a>,
+ <a href="try_mutex.html" title="Class try_mutex">try_mutex</a>, and <a href="timed_mutex.html" title="Class timed_mutex">timed_mutex</a>.
+ </p>
+<p>The <a href="recursive_mutex.html" title="Class recursive_mutex">recursive_mutex</a> class supplies the following typedef,
+ which models the specified locking strategy:
+
+ </p>
+<div class="table">
+<a name="id2782528"></a><p class="title"><b>Table 12.12. Supported Lock Types</b></p>
+<table class="table" summary="Supported Lock Types">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Lock Name</th>
+<th align="left">Lock Concept</th>
+</tr></thead>
+<tbody><tr>
+<td align="left">scoped_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedLock" title="ScopedLock Concept">ScopedLock</a></td>
+</tr></tbody>
+</table>
+</div>
+<p>The <a href="recursive_mutex.html" title="Class recursive_mutex">recursive_mutex</a> class uses a
+ <a href="threads/concepts.html#threads.concepts.recursive-locking-strategy" title="Recursive Locking Strategy">Recursive</a>
+ locking strategy, so attempts to recursively lock a
+ <a href="recursive_mutex.html" title="Class recursive_mutex">recursive_mutex</a> object
+ succeed and an internal "lock count" is maintained.
+ Attempts to unlock a <a href="recursive_mutex.html" title="Class recursive_mutex">recursive_mutex</a> object
+ by threads that don't own a lock on it result in
+ <span class="bold"><strong>undefined behavior</strong></span>.</p>
+<p>Like all
+ <a href="threads/concepts.html#threads.concepts.mutex-models" title="Mutex Models">mutex models</a>
+ in <span class="bold"><strong>Boost.Threads</strong></span>, <a href="recursive_mutex.html" title="Class recursive_mutex">recursive_mutex</a> leaves the
+ <a href="threads/concepts.html#threads.concepts.sheduling-policies" title="Scheduling Policies">scheduling policy</a>
+ as <a href="threads/concepts.html#threads.concepts.unspecified-scheduling-policy" title="Unspecified Policy">Unspecified</a>.
+ Programmers should make no assumptions about the order in which
+ waiting threads acquire a lock.</p>
+<div class="refsect2" lang="en">
+<a name="id2782641"></a><h3>
+<a name="recursive_mutexconstruct-copy-destruct"></a><code class="computeroutput">recursive_mutex</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2596976-bb"></a>recursive_mutex();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Constructs a <a href="recursive_mutex.html" title="Class recursive_mutex">recursive_mutex</a> object.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">*this</code> is in an unlocked state.
+ </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2575603-bb"></a>~recursive_mutex();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Destroys a <a href="recursive_mutex.html" title="Class recursive_mutex">recursive_mutex</a> object.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">*this</code> is in an unlocked state.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ <span class="bold"><strong>Danger:</strong></span> Destruction of a
+ locked mutex is a serious programming error resulting in undefined
+ behavior such as a program crash.</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="call_once.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2436754"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="recursive_try_mutex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/recursive_timed_mutex.html b/doc/html/recursive_timed_mutex.html
new file mode 100644
index 0000000000..c40407798a
--- /dev/null
+++ b/doc/html/recursive_timed_mutex.html
@@ -0,0 +1,144 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class recursive_timed_mutex</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id2436754" title="Header &lt;boost/thread/recursive_mutex.hpp&gt;">
+<link rel="prev" href="recursive_try_mutex.html" title="Class recursive_try_mutex">
+<link rel="next" href="thread.html" title="Class thread">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="recursive_try_mutex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2436754"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="thread.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="recursive_timed_mutex"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class recursive_timed_mutex</span></h2>
+<p>boost::recursive_timed_mutex &#8212; <p>The <a href="recursive_timed_mutex.html" title="Class recursive_timed_mutex">recursive_timed_mutex</a> class is a model of the
+ <a href="threads/concepts.html#threads.concepts.TimedMutex" title="TimedMutex Concept">TimedMutex</a> concept.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> recursive_timed_mutex : <span class="bold"><strong>private</strong></span> boost::noncopyable <span class="emphasis"><em>// Exposition only</em></span>
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_lock;      
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_try_lock;  
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_timed_lock;
+
+  <span class="emphasis"><em>// <a href="recursive_timed_mutex.html#recursive_timed_mutexconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="recursive_timed_mutex.html#id2374121-bb">recursive_timed_mutex</a>();
+  <a href="recursive_timed_mutex.html#id2485567-bb">~recursive_timed_mutex</a>();
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2783326"></a><h2>Description</h2>
+<p>The <a href="recursive_timed_mutex.html" title="Class recursive_timed_mutex">recursive_timed_mutex</a> class is a model of the
+ <a href="threads/concepts.html#threads.concepts.TimedMutex" title="TimedMutex Concept">TimedMutex</a> concept.
+ It should be used to synchronize access to shared resources using
+ <a href="threads/concepts.html#threads.concepts.recursive-locking-strategy" title="Recursive Locking Strategy">Recursive</a>
+ locking mechanics.</p>
+<p>For classes that model related mutex concepts, see
+ <a href="recursive_mutex.html" title="Class recursive_mutex">recursive_mutex</a> and <a href="recursive_try_mutex.html" title="Class recursive_try_mutex">recursive_try_mutex</a>.</p>
+<p>For <a href="threads/concepts.html#threads.concepts.unspecified-locking-strategy" title="Unspecified Locking Strategy">Unspecified</a>
+ locking mechanics, see <a href="mutex.html" title="Class mutex">mutex</a>,
+ <a href="try_mutex.html" title="Class try_mutex">try_mutex</a>, and <a href="timed_mutex.html" title="Class timed_mutex">timed_mutex</a>.
+ </p>
+<p>The <a href="recursive_timed_mutex.html" title="Class recursive_timed_mutex">recursive_timed_mutex</a> class supplies the following typedefs,
+ which model the specified locking strategies:
+
+ </p>
+<div class="table">
+<a name="id2783417"></a><p class="title"><b>Table 12.14. Supported Lock Types</b></p>
+<table class="table" summary="Supported Lock Types">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Lock Name</th>
+<th align="left">Lock Concept</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left">scoped_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedLock" title="ScopedLock Concept">ScopedLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_try_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedTryLock" title="ScopedTryLock Concept">ScopedTryLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_timed_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedTimedLock" title="ScopedTimedLock Concept">ScopedTimedLock</a></td>
+</tr>
+</tbody>
+</table>
+</div>
+<p>The <a href="recursive_timed_mutex.html" title="Class recursive_timed_mutex">recursive_timed_mutex</a> class uses a
+ <a href="threads/concepts.html#threads.concepts.recursive-locking-strategy" title="Recursive Locking Strategy">Recursive</a>
+ locking strategy, so attempts to recursively lock a
+ <a href="recursive_timed_mutex.html" title="Class recursive_timed_mutex">recursive_timed_mutex</a> object
+ succeed and an internal "lock count" is maintained.
+ Attempts to unlock a <a href="recursive_mutex.html" title="Class recursive_mutex">recursive_mutex</a> object
+ by threads that don't own a lock on it result in
+ <span class="bold"><strong>undefined behavior</strong></span>.</p>
+<p>Like all
+ <a href="threads/concepts.html#threads.concepts.mutex-models" title="Mutex Models">mutex models</a>
+ in <span class="bold"><strong>Boost.Threads</strong></span>, <a href="recursive_timed_mutex.html" title="Class recursive_timed_mutex">recursive_timed_mutex</a> leaves the
+ <a href="threads/concepts.html#threads.concepts.sheduling-policies" title="Scheduling Policies">scheduling policy</a>
+ as <a href="threads/concepts.html#threads.concepts.unspecified-scheduling-policy" title="Unspecified Policy">Unspecified</a>.
+ Programmers should make no assumptions about the order in which
+ waiting threads acquire a lock.</p>
+<div class="refsect2" lang="en">
+<a name="id2783553"></a><h3>
+<a name="recursive_timed_mutexconstruct-copy-destruct"></a><code class="computeroutput">recursive_timed_mutex</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2374121-bb"></a>recursive_timed_mutex();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Constructs a <a href="recursive_timed_mutex.html" title="Class recursive_timed_mutex">recursive_timed_mutex</a> object.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">*this</code> is in an unlocked state.
+ </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2485567-bb"></a>~recursive_timed_mutex();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Destroys a <a href="recursive_timed_mutex.html" title="Class recursive_timed_mutex">recursive_timed_mutex</a> object.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">*this</code> is in an unlocked state.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ <span class="bold"><strong>Danger:</strong></span> Destruction of a
+ locked mutex is a serious programming error resulting in undefined
+ behavior such as a program crash.</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="recursive_try_mutex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2436754"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="thread.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/recursive_try_mutex.html b/doc/html/recursive_try_mutex.html
new file mode 100644
index 0000000000..7e4e60ddbf
--- /dev/null
+++ b/doc/html/recursive_try_mutex.html
@@ -0,0 +1,140 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class recursive_try_mutex</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id2436754" title="Header &lt;boost/thread/recursive_mutex.hpp&gt;">
+<link rel="prev" href="recursive_mutex.html" title="Class recursive_mutex">
+<link rel="next" href="recursive_timed_mutex.html" title="Class recursive_timed_mutex">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="recursive_mutex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2436754"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="recursive_timed_mutex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="recursive_try_mutex"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class recursive_try_mutex</span></h2>
+<p>boost::recursive_try_mutex &#8212; <p>The <a href="recursive_try_mutex.html" title="Class recursive_try_mutex">recursive_try_mutex</a> class is a model of the
+ <a href="threads/concepts.html#threads.concepts.TryMutex" title="TryMutex Concept">TryMutex</a> concept.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> recursive_try_mutex : <span class="bold"><strong>private</strong></span> boost::noncopyable <span class="emphasis"><em>// Exposition only</em></span>
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_lock;    
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_try_lock;
+
+  <span class="emphasis"><em>// <a href="recursive_try_mutex.html#recursive_try_mutexconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="recursive_try_mutex.html#id2537565-bb">recursive_try_mutex</a>();
+  <a href="recursive_try_mutex.html#id2613724-bb">~recursive_try_mutex</a>();
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2782868"></a><h2>Description</h2>
+<p>The <a href="recursive_try_mutex.html" title="Class recursive_try_mutex">recursive_try_mutex</a> class is a model of the
+ <a href="threads/concepts.html#threads.concepts.TryMutex" title="TryMutex Concept">TryMutex</a> concept.
+ It should be used to synchronize access to shared resources using
+ <a href="threads/concepts.html#threads.concepts.recursive-locking-strategy" title="Recursive Locking Strategy">Recursive</a>
+ locking mechanics.</p>
+<p>For classes that model related mutex concepts, see
+ <a href="recursive_mutex.html" title="Class recursive_mutex">recursive_mutex</a> and <a href="recursive_timed_mutex.html" title="Class recursive_timed_mutex">recursive_timed_mutex</a>.</p>
+<p>For <a href="threads/concepts.html#threads.concepts.unspecified-locking-strategy" title="Unspecified Locking Strategy">Unspecified</a>
+ locking mechanics, see <a href="mutex.html" title="Class mutex">mutex</a>,
+ <a href="try_mutex.html" title="Class try_mutex">try_mutex</a>, and <a href="timed_mutex.html" title="Class timed_mutex">timed_mutex</a>.
+ </p>
+<p>The <a href="recursive_try_mutex.html" title="Class recursive_try_mutex">recursive_try_mutex</a> class supplies the following typedefs,
+ which model the specified locking strategies:
+
+ </p>
+<div class="table">
+<a name="id2782959"></a><p class="title"><b>Table 12.13. Supported Lock Types</b></p>
+<table class="table" summary="Supported Lock Types">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Lock Name</th>
+<th align="left">Lock Concept</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left">scoped_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedLock" title="ScopedLock Concept">ScopedLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_try_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedTryLock" title="ScopedTryLock Concept">ScopedTryLock</a></td>
+</tr>
+</tbody>
+</table>
+</div>
+<p>The <a href="recursive_try_mutex.html" title="Class recursive_try_mutex">recursive_try_mutex</a> class uses a
+ <a href="threads/concepts.html#threads.concepts.recursive-locking-strategy" title="Recursive Locking Strategy">Recursive</a>
+ locking strategy, so attempts to recursively lock a
+ <a href="recursive_try_mutex.html" title="Class recursive_try_mutex">recursive_try_mutex</a> object
+ succeed and an internal "lock count" is maintained.
+ Attempts to unlock a <a href="recursive_mutex.html" title="Class recursive_mutex">recursive_mutex</a> object
+ by threads that don't own a lock on it result in
+ <span class="bold"><strong>undefined behavior</strong></span>.</p>
+<p>Like all
+ <a href="threads/concepts.html#threads.concepts.mutex-models" title="Mutex Models">mutex models</a>
+ in <span class="bold"><strong>Boost.Threads</strong></span>, <a href="recursive_try_mutex.html" title="Class recursive_try_mutex">recursive_try_mutex</a> leaves the
+ <a href="threads/concepts.html#threads.concepts.sheduling-policies" title="Scheduling Policies">scheduling policy</a>
+ as <a href="threads/concepts.html#threads.concepts.unspecified-scheduling-policy" title="Unspecified Policy">Unspecified</a>.
+ Programmers should make no assumptions about the order in which
+ waiting threads acquire a lock.</p>
+<div class="refsect2" lang="en">
+<a name="id2783084"></a><h3>
+<a name="recursive_try_mutexconstruct-copy-destruct"></a><code class="computeroutput">recursive_try_mutex</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2537565-bb"></a>recursive_try_mutex();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Constructs a <a href="recursive_try_mutex.html" title="Class recursive_try_mutex">recursive_try_mutex</a> object.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">*this</code> is in an unlocked state.
+ </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2613724-bb"></a>~recursive_try_mutex();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Destroys a <a href="recursive_try_mutex.html" title="Class recursive_try_mutex">recursive_try_mutex</a> object.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">*this</code> is in an unlocked state.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ <span class="bold"><strong>Danger:</strong></span> Destruction of a
+ locked mutex is a serious programming error resulting in undefined
+ behavior such as a program crash.</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="recursive_mutex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2436754"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="recursive_timed_mutex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/recursive_wrapper.html b/doc/html/recursive_wrapper.html
new file mode 100644
index 0000000000..337644bec7
--- /dev/null
+++ b/doc/html/recursive_wrapper.html
@@ -0,0 +1,196 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template recursive_wrapper</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2644455" title="Header &lt;boost/variant/recursive_wrapper.hpp&gt;">
+<link rel="prev" href="id2655704.html" title="Class template make_recursive_variant_over">
+<link rel="next" href="is_recursive_wrapper.html" title="Class template is_recursive_wrapper">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2655704.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2644455"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_recursive_wrapper.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="recursive_wrapper"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template recursive_wrapper</span></h2>
+<p>boost::recursive_wrapper &#8212; Solves circular dependencies, enabling recursive types.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+<span class="bold"><strong>class</strong></span> recursive_wrapper {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> T type;
+
+  <span class="emphasis"><em>// <a href="recursive_wrapper.html#recursive_wrapperconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="recursive_wrapper.html#id2671693-bb">recursive_wrapper</a>();
+  <a href="recursive_wrapper.html#id2637040-bb">recursive_wrapper</a>(<span class="bold"><strong>const</strong></span> recursive_wrapper &amp;);
+  <a href="recursive_wrapper.html#id2344755-bb">recursive_wrapper</a>(<span class="bold"><strong>const</strong></span> T &amp;);
+  <a href="recursive_wrapper.html#id2674999-bb">~recursive_wrapper</a>();
+
+  <span class="emphasis"><em>// <a href="recursive_wrapper.html#id2644448-bb">modifiers</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="recursive_wrapper.html#id2668585-bb">swap</a>(recursive_wrapper &amp;);
+  <span class="type">recursive_wrapper &amp;</span> <a href="recursive_wrapper.html#id2367524-bb"><span class="bold"><strong>operator</strong></span>=</a>(<span class="bold"><strong>const</strong></span> recursive_wrapper &amp;);
+  <span class="type">recursive_wrapper &amp;</span> <a href="recursive_wrapper.html#id2666359-bb"><span class="bold"><strong>operator</strong></span>=</a>(<span class="bold"><strong>const</strong></span> T &amp;);
+
+  <span class="emphasis"><em>// <a href="recursive_wrapper.html#id2655610-bb">queries</a></em></span>
+  <span class="type">T &amp;</span> <a href="recursive_wrapper.html#id2645317-bb">get</a>();
+  <span class="type"><span class="bold"><strong>const</strong></span> T &amp;</span> <a href="recursive_wrapper.html#id2535155-bb">get</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">T *</span> <a href="recursive_wrapper.html#id2653701-bb">get_pointer</a>();
+  <span class="type"><span class="bold"><strong>const</strong></span> T *</span> <a href="recursive_wrapper.html#id2667787-bb">get_pointer</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2836870"></a><h2>Description</h2>
+<p>The <code class="computeroutput">recursive_wrapper</code> class template has an
+ interface similar to a simple value container, but its content is
+ allocated dynamically. This allows <code class="computeroutput">recursive_wrapper</code> to
+ hold types <code class="computeroutput">T</code> whose member data leads to a circular
+ dependency (e.g., a data member of <code class="computeroutput">T</code> has a data member
+ of type <code class="computeroutput">T</code>).</p>
+<p>The application of <code class="computeroutput">recursive_wrapper</code> is easiest
+ understood in context. See
+ <a href="variant/tutorial.html#variant.tutorial.recursive.recursive-wrapper" title="Recursive types with recursive_wrapper">the section called &#8220;Recursive types with <code class="computeroutput">recursive_wrapper</code>&#8221;</a> for a
+ demonstration of a common use of the class template.</p>
+<p><span class="bold"><strong>Notes</strong></span>:</p>
+<div class="itemizedlist"><ul type="disc"><li>Any type specified as the template argument to
+ <code class="computeroutput">recursive_wrapper</code> must be capable of construction via
+ <code class="computeroutput">operator new</code>. Thus, for instance, references are not
+ supported.</li></ul></div>
+<div class="refsect2" lang="en">
+<a name="id2836951"></a><h3>
+<a name="recursive_wrapperconstruct-copy-destruct"></a><code class="computeroutput">recursive_wrapper</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2671693-bb"></a>recursive_wrapper();</pre>
+<p>Initializes <code class="computeroutput">*this</code> by default construction of
+ <code class="computeroutput">T</code>.</p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">T</code> must fulfill the requirements of the
+ <span class="emphasis"><em>DefaultConstructible</em></span> [20.1.4]
+ concept.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ May fail with any exceptions arising from the default
+ constructor of <code class="computeroutput">T</code> or, in the event of
+ insufficient memory, with <code class="computeroutput">std::bad_alloc</code>.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2637040-bb"></a>recursive_wrapper(<span class="bold"><strong>const</strong></span> recursive_wrapper &amp; other);</pre>
+<p>Copies the content of <code class="computeroutput">other</code> into
+ <code class="computeroutput">*this</code>.</p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ May fail with any exceptions arising from the
+ copy constructor of <code class="computeroutput">T</code> or, in the event of
+ insufficient memory, with <code class="computeroutput">std::bad_alloc</code>.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2344755-bb"></a>recursive_wrapper(<span class="bold"><strong>const</strong></span> T &amp; operand);</pre>
+<p>Copies <code class="computeroutput">operand</code> into
+ <code class="computeroutput">*this</code>.</p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ May fail with any exceptions arising from the
+ copy constructor of <code class="computeroutput">T</code> or, in the event of
+ insufficient memory, with <code class="computeroutput">std::bad_alloc</code>.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2674999-bb"></a>~recursive_wrapper();</pre>
+<p>Deletes the content of <code class="computeroutput">*this</code>.</p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2837191"></a><h3>
+<a name="id2644448-bb"></a><code class="computeroutput">recursive_wrapper</code> modifiers</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2668585-bb"></a>swap(recursive_wrapper &amp; other);</pre>
+<p>Exchanges contents of <code class="computeroutput">*this</code> and
+ <code class="computeroutput">other</code>.</p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">recursive_wrapper &amp;</span> <a name="id2367524-bb"></a><span class="bold"><strong>operator</strong></span>=(<span class="bold"><strong>const</strong></span> recursive_wrapper &amp; rhs);</pre>
+<p>Assigns the content of <code class="computeroutput">rhs</code> to the content of
+ <code class="computeroutput">*this</code>.</p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">T</code> must fulfill the requirements of
+ the <a href="Assignable.html" title="Concept Assignable">Assignable</a>
+ concept.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ May fail with any exceptions arising from the assignment
+ operator of <code class="computeroutput">T</code>.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">recursive_wrapper &amp;</span> <a name="id2666359-bb"></a><span class="bold"><strong>operator</strong></span>=(<span class="bold"><strong>const</strong></span> T &amp; rhs);</pre>
+<p>Assigns <code class="computeroutput">rhs</code> into the content of
+ <code class="computeroutput">*this</code>.</p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">T</code> must fulfill the requirements of the
+ <a href="Assignable.html" title="Concept Assignable">Assignable</a>
+ concept.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ May fail with any exceptions arising from the assignment
+ operator of <code class="computeroutput">T</code>.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2837414"></a><h3>
+<a name="id2655610-bb"></a><code class="computeroutput">recursive_wrapper</code> queries</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<p><a name="id2636766-bb"></a></p>
+<pre class="literallayout"><span class="type">T &amp;</span> <a name="id2645317-bb"></a>get();
+<span class="type"><span class="bold"><strong>const</strong></span> T &amp;</span> <a name="id2535155-bb"></a>get() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns a reference to the content of
+ <code class="computeroutput">*this</code>.</p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<p><a name="id2671337-bb"></a></p>
+<pre class="literallayout"><span class="type">T *</span> <a name="id2653701-bb"></a>get_pointer();
+<span class="type"><span class="bold"><strong>const</strong></span> T *</span> <a name="id2667787-bb"></a>get_pointer() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns a pointer to the content of
+ <code class="computeroutput">*this</code>.</p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2655704.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2644455"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_recursive_wrapper.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ref.html b/doc/html/ref.html
new file mode 100644
index 0000000000..67b3df6983
--- /dev/null
+++ b/doc/html/ref.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 8. Boost.Ref</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries">
+<link rel="prev" href="id2363468.html" title="Macro BOOST_PROGRAM_OPTIONS_VERSION">
+<link rel="next" href="ref/reference.html" title="Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2363468.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ref/reference.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="ref"></a>Chapter 8. Boost.Ref</h2></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Jaakko</span> <span class="surname">Järvi</span>
+</h3></div></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Peter</span> <span class="surname">Dimov</span>
+</h3></div></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Douglas</span> <span class="surname">Gregor</span>
+</h3></div></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Dave</span> <span class="surname">Abrahams</span>
+</h3></div></div>
+<div><p class="copyright">Copyright © 1999, 2000 Jaakko Järvi</p></div>
+<div><p class="copyright">Copyright © 2001, 2002 Peter Dimov</p></div>
+<div><p class="copyright">Copyright © 2002 David Abrahams</p></div>
+<div><div class="legalnotice">
+<a name="id2730005"></a><p>Permission to copy, use, modify, sell and distribute this
+ software is granted provided this copyright notice appears in
+ all copies. This software is provided "as is" without express
+ or implied warranty, and with no claim as to its suitability for
+ any purpose.
+ </p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="ref.html#ref.intro">Introduction</a></span></dt>
+<dt><span class="section"><a href="ref/reference.html">Reference</a></span></dt>
+<dd><dl><dt><span class="section"><a href="ref/reference.html#header.boost.ref.hpp">Header &lt;boost/ref.hpp&gt;</a></span></dt></dl></dd>
+<dt><span class="section"><a href="ref/ack.html">Acknowledgements</a></span></dt>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="ref.intro"></a>Introduction</h3></div></div></div>
+<p>The Ref library is a small library that is useful for passing
+ references to function templates (algorithms) that would usually
+ take copies of their arguments. It defines the class template
+ <code class="computeroutput"><a href="reference_wrapper.html" title="Class template reference_wrapper">boost::reference_wrapper&lt;T&gt;</a></code>,
+ the two functions
+ <code class="computeroutput"><a href="reference_wrapper.html#id2366489">boost::ref</a></code> and
+ <code class="computeroutput"><a href="reference_wrapper.html#cref">boost::cref</a></code> that return
+ instances of <code class="computeroutput">boost::reference_wrapper&lt;T&gt;</code>, and the
+ two traits classes
+ <code class="computeroutput"><a href="is_reference_wrapper.html" title="Class template is_reference_wrapper">boost::is_reference_wrapper&lt;T&gt;</a></code>
+ and
+ <code class="computeroutput"><a href="unwrap_reference.html" title="Class template unwrap_reference">boost::unwrap_reference&lt;T&gt;</a></code>.</p>
+<p>The purpose of
+ <code class="computeroutput">boost::reference_wrapper&lt;T&gt;</code> is to
+ contain a reference to an object of type T. It is primarily used to
+ "feed" references to function templates (algorithms) that take their
+ parameter by value.</p>
+<p>To support this usage,
+ <code class="computeroutput">boost::reference_wrapper&lt;T&gt;</code> provides an implicit
+ conversion to <code class="computeroutput">T&amp;</code>. This usually allows the function
+ templates to work on references unmodified.</p>
+<p><code class="computeroutput">boost::reference_wrapper&lt;T&gt;</code> is
+ both CopyConstructible and Assignable (ordinary references are not
+ Assignable).</p>
+<p>The expression <code class="computeroutput">boost::ref(x)</code>
+ returns a
+ <code class="computeroutput">boost::reference_wrapper&lt;X&gt;(x)</code> where X
+ is the type of x. Similarly,
+ <code class="computeroutput">boost::cref(x)</code> returns a
+ <code class="computeroutput">boost::reference_wrapper&lt;X const&gt;(x)</code>.</p>
+<p>The expression
+ <code class="computeroutput">boost::is_reference_wrapper&lt;T&gt;::value</code>
+ is true if T is a <code class="computeroutput">reference_wrapper</code>, and
+ false otherwise.</p>
+<p>The type-expression
+ <code class="computeroutput">boost::unwrap_reference&lt;T&gt;::type</code> is T::type if T
+ is a <code class="computeroutput">reference_wrapper</code>, T otherwise.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: July 09, 2004 at 00:56:42 GMT</p></small></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2363468.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ref/reference.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ref/ack.html b/doc/html/ref/ack.html
new file mode 100644
index 0000000000..f93bd2c154
--- /dev/null
+++ b/doc/html/ref/ack.html
@@ -0,0 +1,45 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Acknowledgements</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../ref.html" title="Chapter 8. Boost.Ref">
+<link rel="prev" href="../unwrap_reference.html" title="Class template unwrap_reference">
+<link rel="next" href="../signals.html" title="Chapter 9. Boost.Signals">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../unwrap_reference.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../ref.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../signals.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="ref.ack"></a>Acknowledgements</h3></div></div></div>
+<p><code class="computeroutput"><a href="../reference_wrapper.html#id2366489">ref</a></code> and <code class="computeroutput"><a href="../reference_wrapper.html#cref">cref</a></code>
+ were originally part of the <a href="../../../libs/tuple/index.html" target="_top">Tuple</a> library
+ by Jaakko Järvi. They were "promoted to boost:: status" by
+ Peter Dimov because they are generally useful. Douglas Gregor and
+ Dave Abrahams contributed
+ <code class="computeroutput"><a href="../is_reference_wrapper.html" title="Class template is_reference_wrapper">is_reference_wrapper</a></code> and
+ <code class="computeroutput"><a href="../unwrap_reference.html" title="Class template unwrap_reference">unwrap_reference</a></code>.</p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 1999, 2000 Jaakko Järvi<br>Copyright © 2001, 2002 Peter Dimov<br>Copyright © 2002 David Abrahams</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../unwrap_reference.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../ref.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../signals.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ref/reference.html b/doc/html/ref/reference.html
new file mode 100644
index 0000000000..92e886d00c
--- /dev/null
+++ b/doc/html/ref/reference.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Reference</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../ref.html" title="Chapter 8. Boost.Ref">
+<link rel="prev" href="../ref.html" title="Chapter 8. Boost.Ref">
+<link rel="next" href="../reference_wrapper.html" title="Class template reference_wrapper">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ref.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../ref.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../reference_wrapper.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="ref.reference"></a>Reference</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="reference.html#header.boost.ref.hpp">Header &lt;boost/ref.hpp&gt;</a></span></dt></dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.ref.hpp"></a>Header &lt;<a href="../../../boost/ref.hpp" target="_top">boost/ref.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="bold"><strong>class</strong></span> <a href="../reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>;
+  <span class="type">reference_wrapper&lt;T&gt;</span> <a href="../reference_wrapper.html#id2366489">ref</a>(T&amp;);
+  <span class="type">reference_wrapper&lt;T <span class="bold"><strong>const</strong></span>&gt;</span> <a href="../reference_wrapper.html#cref">cref</a>(T <span class="bold"><strong>const</strong></span>&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="bold"><strong>class</strong></span> <a href="../is_reference_wrapper.html" title="Class template is_reference_wrapper">is_reference_wrapper</a>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="bold"><strong>class</strong></span> <a href="../unwrap_reference.html" title="Class template unwrap_reference">unwrap_reference</a>;
+}</pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 1999, 2000 Jaakko Järvi<br>Copyright © 2001, 2002 Peter Dimov<br>Copyright © 2002 David Abrahams</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ref.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../ref.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../reference_wrapper.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/reference.css b/doc/html/reference.css
new file mode 100644
index 0000000000..be4e64cc07
--- /dev/null
+++ b/doc/html/reference.css
@@ -0,0 +1,5 @@
+PRE.synopsis {
+ background-color: #e0ffff;
+ border: thin solid blue;
+ padding: 1em
+}
diff --git a/doc/html/reference.html b/doc/html/reference.html
new file mode 100644
index 0000000000..46beb29389
--- /dev/null
+++ b/doc/html/reference.html
@@ -0,0 +1,190 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 20. Reference</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="boostbook.html" title="Part II. The BoostBook Documentation Format">
+<link rel="prev" href="boostbook/together.html" title="Chapter 19. Bringing Together a BoostBook Document">
+<link rel="next" href="boostbook/dtd/class-specialization.html" title="
+ BoostBook element class-specialization">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boostbook/together.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="boostbook.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boostbook/dtd/class-specialization.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="reference"></a>Chapter 20. Reference</h2></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl></dl>
+</div>
+<p>Elements:</p>
+<div class="itemizedlist"><ul type="disc" compact>
+<li><a href="boostbook/dtd/boostbook.html" title="
+ BoostBook element boostbook">Element <code class="sgmltag-element">boostbook</code> - Defines a BoostBook book</a></li>
+<li><a href="boostbook/dtd/class.html" title="
+ BoostBook element class">Element <code class="sgmltag-element">class</code> - Declares a class or class template</a></li>
+<li><a href="boostbook/dtd/class-specialization.html" title="
+ BoostBook element class-specialization">Element <code class="sgmltag-element">class-specialization</code> - A specialization (partial or full) of a class template</a></li>
+<li><a href="boostbook/dtd/code.html" title="
+ BoostBook element code">Element <code class="sgmltag-element">code</code> - Mimics the <code class="sgmltag-element">code</code> tag in HTML</a></li>
+<li><a href="boostbook/dtd/compile-fail-test.html" title="
+ BoostBook element compile-fail-test">Element <code class="sgmltag-element">compile-fail-test</code> - A testcase that should fail to compile</a></li>
+<li><a href="boostbook/dtd/compile-test.html" title="
+ BoostBook element compile-test">Element <code class="sgmltag-element">compile-test</code> - A testcase that should compile correctly</a></li>
+<li><a href="boostbook/dtd/complexity.html" title="
+ BoostBook element complexity">Element <code class="sgmltag-element">complexity</code> - The time/space/etc. complexity of a function</a></li>
+<li><a href="boostbook/dtd/constructor.html" title="
+ BoostBook element constructor">Element <code class="sgmltag-element">constructor</code> - Declares a constructor of the enclosing class</a></li>
+<li><a href="boostbook/dtd/copy-assignment.html" title="
+ BoostBook element copy-assignment">Element <code class="sgmltag-element">copy-assignment</code> - Declares a copy-assignment operator</a></li>
+<li><a href="boostbook/dtd/data-member.html" title="
+ BoostBook element data-member">Element <code class="sgmltag-element">data-member</code> - Declares a data member of a class</a></li>
+<li><a href="boostbook/dtd/default.html" title="
+ BoostBook element default">Element <code class="sgmltag-element">default</code> - The default value of a function or template parameter</a></li>
+<li><a href="boostbook/dtd/description.html" title="
+ BoostBook element description">Element <code class="sgmltag-element">description</code> - Detailed description of a construct</a></li>
+<li><a href="boostbook/dtd/destructor.html" title="
+ BoostBook element destructor">Element <code class="sgmltag-element">destructor</code> - Declares a destructor for the enclosing class</a></li>
+<li><a href="boostbook/dtd/effects.html" title="
+ BoostBook element effects">Element <code class="sgmltag-element">effects</code> - Declares the side effects of a function</a></li>
+<li><a href="boostbook/dtd/enum.html" title="
+ BoostBook element enum">Element <code class="sgmltag-element">enum</code> - Declares an enumeration type</a></li>
+<li><a href="boostbook/dtd/enumvalue.html" title="
+ BoostBook element enumvalue">Element <code class="sgmltag-element">enumvalue</code> - A single value of an enumeration</a></li>
+<li><a href="boostbook/dtd/free-function-group.html" title="
+ BoostBook element free-function-group">Element <code class="sgmltag-element">free-function-group</code> - A set of functions that are grouped together under one name</a></li>
+<li><a href="boostbook/dtd/function.html" title="
+ BoostBook element function">Element <code class="sgmltag-element">function</code> - Declares a function</a></li>
+<li><a href="boostbook/dtd/functionname.html" title="
+ BoostBook element functionname">Element <code class="sgmltag-element">functionname</code> - References a function with the given name</a></li>
+<li><a href="boostbook/dtd/header.html" title="
+ BoostBook element header">Element <code class="sgmltag-element">header</code> - Declares a C++ header with the given name</a></li>
+<li><a href="boostbook/dtd/if-fails.html" title="
+ BoostBook element if-fails">Element <code class="sgmltag-element">if-fails</code> - What it means when a testcase fails</a></li>
+<li><a href="boostbook/dtd/inherit.html" title="
+ BoostBook element inherit">Element <code class="sgmltag-element">inherit</code> - Declares a base class of the enclosing class or struct</a></li>
+<li><a href="boostbook/dtd/lib.html" title="
+ BoostBook element lib">Element <code class="sgmltag-element">lib</code> - A library dependency</a></li>
+<li><a href="boostbook/dtd/library.html" title="
+ BoostBook element library">Element <code class="sgmltag-element">library</code> - Top-level element for a library</a></li>
+<li><a href="boostbook/dtd/library-reference.html" title="
+ BoostBook element library-reference">Element <code class="sgmltag-element">library-reference</code> - Declares the reference material for a library</a></li>
+<li><a href="boostbook/dtd/librarycategory.html" title="
+ BoostBook element librarycategory">Element <code class="sgmltag-element">librarycategory</code> - Declares that the enclosing library is in this category</a></li>
+<li><a href="boostbook/dtd/librarycategorydef.html" title="
+ BoostBook element librarycategorydef">Element <code class="sgmltag-element">librarycategorydef</code> - Defines a new library category</a></li>
+<li><a href="boostbook/dtd/librarycategorylist.html" title="
+ BoostBook element librarycategorylist">Element <code class="sgmltag-element">librarycategorylist</code> - Categorized listing of libraries</a></li>
+<li><a href="boostbook/dtd/libraryinfo.html" title="
+ BoostBook element libraryinfo">Element <code class="sgmltag-element">libraryinfo</code> - Provides information about a library</a></li>
+<li><a href="boostbook/dtd/librarylist.html" title="
+ BoostBook element librarylist">Element <code class="sgmltag-element">librarylist</code> - Placeholder for an alphabetical list of libraries</a></li>
+<li><a href="boostbook/dtd/libraryname.html" title="
+ BoostBook element libraryname">Element <code class="sgmltag-element">libraryname</code> - References a library of the given name</a></li>
+<li><a href="boostbook/dtd/librarypurpose.html" title="
+ BoostBook element librarypurpose">Element <code class="sgmltag-element">librarypurpose</code> - Describes in one short sentence or phrase the purpose of a library</a></li>
+<li><a href="boostbook/dtd/link-fail-test.html" title="
+ BoostBook element link-fail-test">Element <code class="sgmltag-element">link-fail-test</code> - Declares a test that should compile but fail to link</a></li>
+<li><a href="boostbook/dtd/link-test.html" title="
+ BoostBook element link-test">Element <code class="sgmltag-element">link-test</code> - Declares a test that should compile and link</a></li>
+<li><a href="boostbook/dtd/method.html" title="
+ BoostBook element method">Element <code class="sgmltag-element">method</code> - Declares a method, i.e., a member function</a></li>
+<li><a href="boostbook/dtd/method-group.html" title="
+ BoostBook element method-group">Element <code class="sgmltag-element">method-group</code> - A set of methods that are grouped together under one name</a></li>
+<li><a href="boostbook/dtd/namespace.html" title="
+ BoostBook element namespace">Element <code class="sgmltag-element">namespace</code> - Declares a namespace</a></li>
+<li><a href="boostbook/dtd/notes.html" title="
+ BoostBook element notes">Element <code class="sgmltag-element">notes</code> - Non-normative notes about a function's semantics</a></li>
+<li><a href="boostbook/dtd/overloaded-function.html" title="
+ BoostBook element overloaded-function">Element <code class="sgmltag-element">overloaded-function</code> - An overloaded function</a></li>
+<li><a href="boostbook/dtd/overloaded-method.html" title="
+ BoostBook element overloaded-method">Element <code class="sgmltag-element">overloaded-method</code> - An overloaded method</a></li>
+<li><a href="boostbook/dtd/parameter.html" title="
+ BoostBook element parameter">Element <code class="sgmltag-element">parameter</code> - A function parameter</a></li>
+<li><a href="boostbook/dtd/paramtype.html" title="
+ BoostBook element paramtype">Element <code class="sgmltag-element">paramtype</code> - The type of a function parameter</a></li>
+<li><a href="boostbook/dtd/postconditions.html" title="
+ BoostBook element postconditions">Element <code class="sgmltag-element">postconditions</code> - Conditions that must hold after the function returns</a></li>
+<li><a href="boostbook/dtd/precondition.html" title="
+ BoostBook element precondition">Element <code class="sgmltag-element">precondition</code> - Conditions that must be met prior to executing a function</a></li>
+<li><a href="boostbook/dtd/programlisting.html" title="
+ BoostBook element programlisting">Element <code class="sgmltag-element">programlisting</code> - A sample of program code</a></li>
+<li><a href="boostbook/dtd/purpose.html" title="
+ BoostBook element purpose">Element <code class="sgmltag-element">purpose</code> - A short description of an entity's use</a></li>
+<li><a href="boostbook/dtd/rationale.html" title="
+ BoostBook element rationale">Element <code class="sgmltag-element">rationale</code> - Describes the rationale for a particular function's design</a></li>
+<li><a href="boostbook/dtd/requirement.html" title="
+ BoostBook element requirement">Element <code class="sgmltag-element">requirement</code> - A requirement/property in the Jamfile for a testcase</a></li>
+<li><a href="boostbook/dtd/requires.html" title="
+ BoostBook element requires">Element <code class="sgmltag-element">requires</code> - Declares the requirements of a function</a></li>
+<li><a href="boostbook/dtd/returns.html" title="
+ BoostBook element returns">Element <code class="sgmltag-element">returns</code> - Description of the return value of a function</a></li>
+<li><a href="boostbook/dtd/run-fail-test.html" title="
+ BoostBook element run-fail-test">Element <code class="sgmltag-element">run-fail-test</code> - A testcase that should compile and link, but fail on execution</a></li>
+<li><a href="boostbook/dtd/run-test.html" title="
+ BoostBook element run-test">Element <code class="sgmltag-element">run-test</code> - A testcase that should compile, link, and execute</a></li>
+<li><a href="boostbook/dtd/signature.html" title="
+ BoostBook element signature">Element <code class="sgmltag-element">signature</code> - One signature of an overloaded function or method</a></li>
+<li><a href="boostbook/dtd/snippet.html" title="
+ BoostBook element snippet">Element <code class="sgmltag-element">snippet</code> - Pulls in a code snippet from a <code class="sgmltag-element">programlisting</code> element</a></li>
+<li><a href="boostbook/dtd/source.html" title="
+ BoostBook element source">Element <code class="sgmltag-element">source</code> - Defines source code for a test</a></li>
+<li><a href="boostbook/dtd/specialization.html" title="
+ BoostBook element specialization">Element <code class="sgmltag-element">specialization</code> - Defines the specialization arguments for a class specialization</a></li>
+<li><a href="boostbook/dtd/static-constant.html" title="
+ BoostBook element static-constant">Element <code class="sgmltag-element">static-constant</code> - Declares a static constant, e.g., <code class="computeroutput">const int foo = 5;</code>.</a></li>
+<li><a href="boostbook/dtd/struct.html" title="
+ BoostBook element struct">Element <code class="sgmltag-element">struct</code> - Declares a C++ struct</a></li>
+<li><a href="boostbook/dtd/struct-specialization.html" title="
+ BoostBook element struct-specialization">Element <code class="sgmltag-element">struct-specialization</code> - A specialization (full or partial) of a struct template</a></li>
+<li><a href="boostbook/dtd/template.html" title="
+ BoostBook element template">Element <code class="sgmltag-element">template</code> - Declares the template parameters of a class or function</a></li>
+<li><a href="boostbook/dtd/template-arg.html" title="
+ BoostBook element template-arg">Element <code class="sgmltag-element">template-arg</code> - A template argument in a specialization</a></li>
+<li><a href="boostbook/dtd/template-nontype-parameter.html" title="
+ BoostBook element template-nontype-parameter">Element <code class="sgmltag-element">template-nontype-parameter</code> - A nontype template parameter</a></li>
+<li><a href="boostbook/dtd/template-type-parameter.html" title="
+ BoostBook element template-type-parameter">Element <code class="sgmltag-element">template-type-parameter</code> - Declares a template type parameter</a></li>
+<li><a href="boostbook/dtd/template-varargs.html" title="
+ BoostBook element template-varargs">Element <code class="sgmltag-element">template-varargs</code> - Declares a variable-length list of template parameters</a></li>
+<li><a href="boostbook/dtd/testsuite.html" title="
+ BoostBook element testsuite">Element <code class="sgmltag-element">testsuite</code> - Describes a library testsuite</a></li>
+<li><a href="boostbook/dtd/throws.html" title="
+ BoostBook element throws">Element <code class="sgmltag-element">throws</code> - Description of the exceptions thrown by a function</a></li>
+<li><a href="boostbook/dtd/type.html" title="
+ BoostBook element type">Element <code class="sgmltag-element">type</code> - The type of an element or return type of a function</a></li>
+<li><a href="boostbook/dtd/typedef.html" title="
+ BoostBook element typedef">Element <code class="sgmltag-element">typedef</code> - Declares a typedef</a></li>
+<li><a href="boostbook/dtd/union.html" title="
+ BoostBook element union">Element <code class="sgmltag-element">union</code> - Declares a C++ union or union template</a></li>
+<li><a href="boostbook/dtd/union-specialization.html" title="
+ BoostBook element union-specialization">Element <code class="sgmltag-element">union-specialization</code> - A specialization (full or partial) of a union template</a></li>
+<li><a href="boostbook/dtd/using-class.html" title="
+ BoostBook element using-class">Element <code class="sgmltag-element">using-class</code> - Injects the method and function names of a class into the local scope</a></li>
+<li><a href="boostbook/dtd/using-namespace.html" title="
+ BoostBook element using-namespace">Element <code class="sgmltag-element">using-namespace</code> - Injects the declared names from a namespace into the local scope</a></li>
+</ul></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2003-2005 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boostbook/together.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="boostbook.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boostbook/dtd/class-specialization.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/reference_wrapper.html b/doc/html/reference_wrapper.html
new file mode 100644
index 0000000000..4955d98d16
--- /dev/null
+++ b/doc/html/reference_wrapper.html
@@ -0,0 +1,140 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template reference_wrapper</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="ref/reference.html#header.boost.ref.hpp" title="Header &lt;boost/ref.hpp&gt;">
+<link rel="prev" href="ref/reference.html" title="Reference">
+<link rel="next" href="is_reference_wrapper.html" title="Class template is_reference_wrapper">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ref/reference.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="ref/reference.html#header.boost.ref.hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_reference_wrapper.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="reference_wrapper"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template reference_wrapper</span></h2>
+<p>boost::reference_wrapper &#8212;
+ Contains a reference to an object of type
+ <code class="computeroutput">T</code>.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+<span class="bold"><strong>class</strong></span> reference_wrapper {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> T type;
+
+  <span class="emphasis"><em>// <a href="reference_wrapper.html#reference_wrapperconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <span class="bold"><strong>explicit</strong></span> <a href="reference_wrapper.html#id2496965-bb">reference_wrapper</a>(T&amp;);
+
+  <span class="emphasis"><em>// <a href="reference_wrapper.html#id2365507-bb">access</a></em></span>
+  <a href="reference_wrapper.html#id2365512-bb"><span class="bold"><strong>operator</strong></span> T&amp;</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">T&amp;</span> <a href="reference_wrapper.html#id2357385-bb">get</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">T*</span> <a href="reference_wrapper.html#id2490294-bb">get_pointer</a>() <span class="bold"><strong>const</strong></span>;
+};
+
+<span class="emphasis"><em>// <a href="reference_wrapper.html#id2366485-bb">constructors</a></em></span>
+<span class="type">reference_wrapper&lt;T&gt;</span> <a href="reference_wrapper.html#id2366489">ref</a>(T&amp;);
+<span class="type">reference_wrapper&lt;T <span class="bold"><strong>const</strong></span>&gt;</span> <a href="reference_wrapper.html#cref">cref</a>(T <span class="bold"><strong>const</strong></span>&amp;);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2730530"></a><h2>Description</h2>
+<p><code class="computeroutput"><a href="reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a></code>
+ is primarily used to "feed" references to function templates
+ (algorithms) that take their parameter by value. It provides
+ an implicit conversion to
+ <code class="computeroutput">T&amp;</code>, which usually allows
+ the function templates to work on references
+ unmodified.</p>
+<div class="refsect2" lang="en">
+<a name="id2730555"></a><h3>
+<a name="reference_wrapperconstruct-copy-destruct"></a><code class="computeroutput">reference_wrapper</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="bold"><strong>explicit</strong></span> <a name="id2496965-bb"></a>reference_wrapper(T&amp; t);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Constructs a
+ <code class="computeroutput"><a href="reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a></code>
+ object that stores a reference to
+ <code class="computeroutput">t</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Does not throw.</p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2730629"></a><h3>
+<a name="id2365507-bb"></a><code class="computeroutput">reference_wrapper</code> access</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2365512-bb"></a><span class="bold"><strong>operator</strong></span> T&amp;() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ The stored reference.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Does not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">T&amp;</span> <a name="id2357385-bb"></a>get() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ The stored reference.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Does not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">T*</span> <a name="id2490294-bb"></a>get_pointer() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ A pointer to the object referenced by the stored reference.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Does not throw.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2730771"></a><h3>
+<a name="id2366485-bb"></a><code class="computeroutput">reference_wrapper</code> constructors</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type">reference_wrapper&lt;T&gt;</span> <a name="id2366489"></a>ref(T&amp; t);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;T&gt;(t)</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Does not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">reference_wrapper&lt;T <span class="bold"><strong>const</strong></span>&gt;</span> <a name="cref"></a>cref(T <span class="bold"><strong>const</strong></span>&amp; t);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput"><a href="reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a>&lt;T const&gt;(t)</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Does not throw.</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 1999, 2000 Jaakko Järvi<br>Copyright © 2001, 2002 Peter Dimov<br>Copyright © 2002 David Abrahams</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ref/reference.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="ref/reference.html#header.boost.ref.hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_reference_wrapper.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/replace_all.html b/doc/html/replace_all.html
new file mode 100644
index 0000000000..b2b0f14815
--- /dev/null
+++ b/doc/html/replace_all.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template replace_all</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="replace_all_copy.html" title="Function replace_all_copy">
+<link rel="next" href="ireplace_all_copy.html" title="Function ireplace_all_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_all_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ireplace_all_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="replace_all"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template replace_all</span></h2>
+<p>boost::algorithm::replace_all &#8212; Replace all algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> replace_all(SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> Range1T &amp; Search,
+                   <span class="bold"><strong>const</strong></span> Range2T &amp; Format);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2770651"></a><h2>Description</h2>
+<p>Replace all occurrences of the search string in the input with the format string. The input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ A reference to the modified input </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_all_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ireplace_all_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/replace_all_copy.html b/doc/html/replace_all_copy.html
new file mode 100644
index 0000000000..0c62701ee0
--- /dev/null
+++ b/doc/html/replace_all_copy.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function replace_all_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="ireplace_nth.html" title="Function template ireplace_nth">
+<link rel="next" href="replace_all.html" title="Function template replace_all">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ireplace_nth.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_all.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="replace_all_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function replace_all_copy</span></h2>
+<p>boost::algorithm::replace_all_copy &#8212; Replace all algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T,
+         <span class="bold"><strong>typename</strong></span> Range3T&gt;
+  <span class="type">OutputIteratorT</span>
+  replace_all_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> Range1T &amp; Input,
+                   <span class="bold"><strong>const</strong></span> Range2T &amp; Search, <span class="bold"><strong>const</strong></span> Range3T &amp; Format);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">SequenceT</span> replace_all_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> Range1T &amp; Search,
+                             <span class="bold"><strong>const</strong></span> Range2T &amp; Format);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2770518"></a><h2>Description</h2>
+<p>Replace all occurrences of the search string in the input with the format string. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ireplace_nth.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_all.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/replace_all_regex.html b/doc/html/replace_all_regex.html
new file mode 100644
index 0000000000..57d6d33f96
--- /dev/null
+++ b/doc/html/replace_all_regex.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template replace_all_regex</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2556226" title="Header &lt;boost/algorithm/string/regex.hpp&gt;">
+<link rel="prev" href="replace_all_regex_copy.html" title="Function replace_all_regex_copy">
+<link rel="next" href="erase_regex_copy.html" title="Function erase_regex_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_all_regex_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_regex_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="replace_all_regex"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template replace_all_regex</span></h2>
+<p>boost::algorithm::replace_all_regex &#8212; Replace all regex algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT,
+         <span class="bold"><strong>typename</strong></span> FormatStringTraitsT, <span class="bold"><strong>typename</strong></span> FormatStringAllocatorT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> replace_all_regex(SequenceT &amp; Input,
+                         <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+                         <span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, FormatStringTraitsT, FormatStringAllocatorT &gt; &amp; Format,
+                         match_flag_type Flags = match_default|format_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2764531"></a><h2>Description</h2>
+<p>Format all substrings, matching given regex, with the specified format. The input string is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Flags</span></dt>
+<dd><p>Regex options </p></dd>
+<dt><span class="term">Format</span></dt>
+<dd><p>Regex format definition </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Rx</span></dt>
+<dd><p>A regular expression </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_all_regex_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="erase_regex_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/replace_all_regex_copy.html b/doc/html/replace_all_regex_copy.html
new file mode 100644
index 0000000000..d566547a37
--- /dev/null
+++ b/doc/html/replace_all_regex_copy.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function replace_all_regex_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2556226" title="Header &lt;boost/algorithm/string/regex.hpp&gt;">
+<link rel="prev" href="replace_regex.html" title="Function template replace_regex">
+<link rel="next" href="replace_all_regex.html" title="Function template replace_all_regex">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_regex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_all_regex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="replace_all_regex_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function replace_all_regex_copy</span></h2>
+<p>boost::algorithm::replace_all_regex_copy &#8212; Replace all regex algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> CharT,
+         <span class="bold"><strong>typename</strong></span> RegexTraitsT, <span class="bold"><strong>typename</strong></span> FormatStringTraitsT,
+         <span class="bold"><strong>typename</strong></span> FormatStringAllocatorT&gt;
+  <span class="type">OutputIteratorT</span>
+  replace_all_regex_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> RangeT &amp; Input,
+                         <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+                         <span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, FormatStringTraitsT, FormatStringAllocatorT &gt; &amp; Format,
+                         match_flag_type Flags = match_default|format_default);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT,
+         <span class="bold"><strong>typename</strong></span> FormatStringTraitsT, <span class="bold"><strong>typename</strong></span> FormatStringAllocatorT&gt;
+  <span class="type">SequenceT</span> replace_all_regex_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input,
+                                   <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+                                   <span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, FormatStringTraitsT, FormatStringAllocatorT &gt; &amp; Format,
+                                   match_flag_type Flags = match_default|format_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2764366"></a><h2>Description</h2>
+<p>Format all substrings, matching given regex, with the specified format. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Flags</span></dt>
+<dd><p>Regex options </p></dd>
+<dt><span class="term">Format</span></dt>
+<dd><p>Regex format definition </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">Rx</span></dt>
+<dd><p>A regular expression </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_regex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_all_regex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/replace_first.html b/doc/html/replace_first.html
new file mode 100644
index 0000000000..cdd19dd7f6
--- /dev/null
+++ b/doc/html/replace_first.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template replace_first</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="replace_first_copy.html" title="Function replace_first_copy">
+<link rel="next" href="ireplace_first_copy.html" title="Function ireplace_first_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_first_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ireplace_first_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="replace_first"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template replace_first</span></h2>
+<p>boost::algorithm::replace_first &#8212; Replace first algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> replace_first(SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> Range1T &amp; Search,
+                     <span class="bold"><strong>const</strong></span> Range2T &amp; Format);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2768603"></a><h2>Description</h2>
+<p>replace the first match of the search substring in the input with the format string. The input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_first_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ireplace_first_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/replace_first_copy.html b/doc/html/replace_first_copy.html
new file mode 100644
index 0000000000..483a4b84d5
--- /dev/null
+++ b/doc/html/replace_first_copy.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function replace_first_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="replace_range.html" title="Function template replace_range">
+<link rel="next" href="replace_first.html" title="Function template replace_first">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_first.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="replace_first_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function replace_first_copy</span></h2>
+<p>boost::algorithm::replace_first_copy &#8212; Replace first algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T,
+         <span class="bold"><strong>typename</strong></span> Range3T&gt;
+  <span class="type">OutputIteratorT</span>
+  replace_first_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> Range1T &amp; Input,
+                     <span class="bold"><strong>const</strong></span> Range2T &amp; Search, <span class="bold"><strong>const</strong></span> Range3T &amp; Format);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">SequenceT</span> replace_first_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input,
+                               <span class="bold"><strong>const</strong></span> Range1T &amp; Search,
+                               <span class="bold"><strong>const</strong></span> Range2T &amp; Format);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2768468"></a><h2>Description</h2>
+<p>Replace the first match of the search substring in the input with the format string. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_range.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_first.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/replace_head.html b/doc/html/replace_head.html
new file mode 100644
index 0000000000..98646509fa
--- /dev/null
+++ b/doc/html/replace_head.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template replace_head</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="replace_head_copy.html" title="Function replace_head_copy">
+<link rel="next" href="replace_tail_copy.html" title="Function replace_tail_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_head_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_tail_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="replace_head"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template replace_head</span></h2>
+<p>boost::algorithm::replace_head &#8212; Replace head algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> replace_head(SequenceT &amp; Input, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> N, <span class="bold"><strong>const</strong></span> RangeT &amp; Format);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2771299"></a><h2>Description</h2>
+<p>Replace the head of the input with the given format string. The head is a prefix of a string of given size. If the sequence is shorter then required, the whole string is considered to be the head. The input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">N</span></dt>
+<dd><p>Length of the head </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_head_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_tail_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/replace_head_copy.html b/doc/html/replace_head_copy.html
new file mode 100644
index 0000000000..fc2ff18612
--- /dev/null
+++ b/doc/html/replace_head_copy.html
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function replace_head_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="ireplace_all.html" title="Function template ireplace_all">
+<link rel="next" href="replace_head.html" title="Function template replace_head">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ireplace_all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_head.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="replace_head_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function replace_head_copy</span></h2>
+<p>boost::algorithm::replace_head_copy &#8212; Replace head algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">OutputIteratorT</span>
+  replace_head_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> Range1T &amp; Input,
+                    <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> N, <span class="bold"><strong>const</strong></span> Range2T &amp; Format);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type">SequenceT</span> replace_head_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> N,
+                              <span class="bold"><strong>const</strong></span> RangeT &amp; Format);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2771167"></a><h2>Description</h2>
+<p>Replace the head of the input with the given format string. The head is a prefix of a string of given size. If the sequence is shorter then required, whole string if considered to be the head. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">N</span></dt>
+<dd><p>Length of the head </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ireplace_all.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_head.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/replace_last.html b/doc/html/replace_last.html
new file mode 100644
index 0000000000..f066cbacb0
--- /dev/null
+++ b/doc/html/replace_last.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template replace_last</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="replace_last_copy.html" title="Function replace_last_copy">
+<link rel="next" href="ireplace_last_copy.html" title="Function ireplace_last_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_last_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ireplace_last_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="replace_last"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template replace_last</span></h2>
+<p>boost::algorithm::replace_last &#8212; Replace last algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> replace_last(SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> Range1T &amp; Search,
+                    <span class="bold"><strong>const</strong></span> Range2T &amp; Format);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2769250"></a><h2>Description</h2>
+<p>Replace the last match of the search string in the input with the format string. Input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_last_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ireplace_last_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/replace_last_copy.html b/doc/html/replace_last_copy.html
new file mode 100644
index 0000000000..2944a0f450
--- /dev/null
+++ b/doc/html/replace_last_copy.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function replace_last_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="ireplace_first.html" title="Function template ireplace_first">
+<link rel="next" href="replace_last.html" title="Function template replace_last">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ireplace_first.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_last.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="replace_last_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function replace_last_copy</span></h2>
+<p>boost::algorithm::replace_last_copy &#8212; Replace last algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T,
+         <span class="bold"><strong>typename</strong></span> Range3T&gt;
+  <span class="type">OutputIteratorT</span>
+  replace_last_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> Range1T &amp; Input,
+                    <span class="bold"><strong>const</strong></span> Range2T &amp; Search, <span class="bold"><strong>const</strong></span> Range3T &amp; Format);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">SequenceT</span> replace_last_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> Range1T &amp; Search,
+                              <span class="bold"><strong>const</strong></span> Range2T &amp; Format);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2769116"></a><h2>Description</h2>
+<p>Replace the last match of the search string in the input with the format string. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ireplace_first.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_last.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/replace_nth.html b/doc/html/replace_nth.html
new file mode 100644
index 0000000000..b1dc9d7afd
--- /dev/null
+++ b/doc/html/replace_nth.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template replace_nth</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="replace_nth_copy.html" title="Function replace_nth_copy">
+<link rel="next" href="ireplace_nth_copy.html" title="Function ireplace_nth_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_nth_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ireplace_nth_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="replace_nth"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template replace_nth</span></h2>
+<p>boost::algorithm::replace_nth &#8212; Replace nth algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> replace_nth(SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> Range1T &amp; Search,
+                   <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> Nth, <span class="bold"><strong>const</strong></span> Range2T &amp; Format);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2769950"></a><h2>Description</h2>
+<p>Replace an Nth (zero-indexed) match of the search string in the input with the format string. Input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Nth</span></dt>
+<dd><p>An index of the match to be replaced. The index is 0-based. </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_nth_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ireplace_nth_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/replace_nth_copy.html b/doc/html/replace_nth_copy.html
new file mode 100644
index 0000000000..d4e7889dad
--- /dev/null
+++ b/doc/html/replace_nth_copy.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function replace_nth_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="ireplace_last.html" title="Function template ireplace_last">
+<link rel="next" href="replace_nth.html" title="Function template replace_nth">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ireplace_last.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_nth.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="replace_nth_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function replace_nth_copy</span></h2>
+<p>boost::algorithm::replace_nth_copy &#8212; Replace nth algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T,
+         <span class="bold"><strong>typename</strong></span> Range3T&gt;
+  <span class="type">OutputIteratorT</span>
+  replace_nth_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> Range1T &amp; Input,
+                   <span class="bold"><strong>const</strong></span> Range2T &amp; Search, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> Nth,
+                   <span class="bold"><strong>const</strong></span> Range3T &amp; Format);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">SequenceT</span> replace_nth_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> Range1T &amp; Search,
+                             <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> Nth, <span class="bold"><strong>const</strong></span> Range2T &amp; Format);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2769797"></a><h2>Description</h2>
+<p>Replace an Nth (zero-indexed) match of the search string in the input with the format string. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Nth</span></dt>
+<dd><p>An index of the match to be replaced. The index is 0-based. </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">Search</span></dt>
+<dd><p>A substring to be searched for </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ireplace_last.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_nth.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/replace_range.html b/doc/html/replace_range.html
new file mode 100644
index 0000000000..dffdc43efc
--- /dev/null
+++ b/doc/html/replace_range.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template replace_range</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="replace_range_copy.html" title="Function replace_range_copy">
+<link rel="next" href="replace_first_copy.html" title="Function replace_first_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_range_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_first_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="replace_range"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template replace_range</span></h2>
+<p>boost::algorithm::replace_range &#8212; Replace range algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> replace_range(SequenceT &amp; Input,
+                     <span class="bold"><strong>const</strong></span> iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_iterator&lt; SequenceT &gt;::type &gt; &amp; SearchRange,
+                     <span class="bold"><strong>const</strong></span> RangeT &amp; Format);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2768300"></a><h2>Description</h2>
+<p>Replace the given range in the input string. The input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">SearchRange</span></dt>
+<dd><p>A range in the input to be substituted </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_range_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_first_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/replace_range_copy.html b/doc/html/replace_range_copy.html
new file mode 100644
index 0000000000..c599e5c565
--- /dev/null
+++ b/doc/html/replace_range_copy.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function replace_range_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="id2501105.html" title="Function template regex_formatter">
+<link rel="next" href="replace_range.html" title="Function template replace_range">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2501105.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_range.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="replace_range_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function replace_range_copy</span></h2>
+<p>boost::algorithm::replace_range_copy &#8212; Replace range algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">OutputIteratorT</span>
+  replace_range_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> Range1T &amp; Input,
+                     <span class="bold"><strong>const</strong></span> iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_const_iterator&lt; Range1T &gt;::type &gt; &amp; SearchRange,
+                     <span class="bold"><strong>const</strong></span> Range2T &amp; Format);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type">SequenceT</span> replace_range_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input,
+                               <span class="bold"><strong>const</strong></span> iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_const_iterator&lt; SequenceT &gt;::type &gt; &amp; SearchRange,
+                               <span class="bold"><strong>const</strong></span> RangeT &amp; Format);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2768163"></a><h2>Description</h2>
+<p>Replace the given range in the input string. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">SearchRange</span></dt>
+<dd><p>A range in the input to be substituted </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2501105.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_range.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/replace_regex.html b/doc/html/replace_regex.html
new file mode 100644
index 0000000000..4636537b8f
--- /dev/null
+++ b/doc/html/replace_regex.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template replace_regex</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2556226" title="Header &lt;boost/algorithm/string/regex.hpp&gt;">
+<link rel="prev" href="replace_regex_copy.html" title="Function replace_regex_copy">
+<link rel="next" href="replace_all_regex_copy.html" title="Function replace_all_regex_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_regex_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_all_regex_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="replace_regex"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template replace_regex</span></h2>
+<p>boost::algorithm::replace_regex &#8212; Replace regex algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT,
+         <span class="bold"><strong>typename</strong></span> FormatStringTraitsT, <span class="bold"><strong>typename</strong></span> FormatStringAllocatorT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> replace_regex(SequenceT &amp; Input,
+                     <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+                     <span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, FormatStringTraitsT, FormatStringAllocatorT &gt; &amp; Format,
+                     match_flag_type Flags = match_default|format_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2764139"></a><h2>Description</h2>
+<p>Search for a substring matching given regex and format it with the specified format. The input string is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Flags</span></dt>
+<dd><p>Regex options </p></dd>
+<dt><span class="term">Format</span></dt>
+<dd><p>Regex format definition </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Rx</span></dt>
+<dd><p>A regular expression </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_regex_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_all_regex_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/replace_regex_copy.html b/doc/html/replace_regex_copy.html
new file mode 100644
index 0000000000..b85c9649db
--- /dev/null
+++ b/doc/html/replace_regex_copy.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function replace_regex_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2556226" title="Header &lt;boost/algorithm/string/regex.hpp&gt;">
+<link rel="prev" href="find_regex.html" title="Function template find_regex">
+<link rel="next" href="replace_regex.html" title="Function template replace_regex">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_regex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_regex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="replace_regex_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function replace_regex_copy</span></h2>
+<p>boost::algorithm::replace_regex_copy &#8212; Replace regex algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> CharT,
+         <span class="bold"><strong>typename</strong></span> RegexTraitsT, <span class="bold"><strong>typename</strong></span> FormatStringTraitsT,
+         <span class="bold"><strong>typename</strong></span> FormatStringAllocatorT&gt;
+  <span class="type">OutputIteratorT</span>
+  replace_regex_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> RangeT &amp; Input,
+                     <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+                     <span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, FormatStringTraitsT, FormatStringAllocatorT &gt; &amp; Format,
+                     match_flag_type Flags = match_default|format_default);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT,
+         <span class="bold"><strong>typename</strong></span> FormatStringTraitsT, <span class="bold"><strong>typename</strong></span> FormatStringAllocatorT&gt;
+  <span class="type">SequenceT</span> replace_regex_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input,
+                               <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+                               <span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, FormatStringTraitsT, FormatStringAllocatorT &gt; &amp; Format,
+                               match_flag_type Flags = match_default|format_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2763980"></a><h2>Description</h2>
+<p>Search for a substring matching given regex and format it with the specified format. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Flags</span></dt>
+<dd><p>Regex options </p></dd>
+<dt><span class="term">Format</span></dt>
+<dd><p>Regex format definition </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+<dt><span class="term">Rx</span></dt>
+<dd><p>A regular expression </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_regex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_regex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/replace_tail.html b/doc/html/replace_tail.html
new file mode 100644
index 0000000000..e71642ab9c
--- /dev/null
+++ b/doc/html/replace_tail.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template replace_tail</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="replace_tail_copy.html" title="Function replace_tail_copy">
+<link rel="next" href="has_native_replace.html" title="Class template has_native_replace">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_tail_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="has_native_replace.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="replace_tail"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template replace_tail</span></h2>
+<p>boost::algorithm::replace_tail &#8212; Replace tail algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> replace_tail(SequenceT &amp; Input, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> N, <span class="bold"><strong>const</strong></span> RangeT &amp; Format);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2771595"></a><h2>Description</h2>
+<p>Replace the tail of the input with the given format sequence. The tail is a suffix of a string of given size. If the sequence is shorter then required, the whole string is considered to be the tail. The input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">N</span></dt>
+<dd><p>Length of the tail </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_tail_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="has_native_replace.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/replace_tail_copy.html b/doc/html/replace_tail_copy.html
new file mode 100644
index 0000000000..c23478db5f
--- /dev/null
+++ b/doc/html/replace_tail_copy.html
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function replace_tail_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">
+<link rel="prev" href="replace_head.html" title="Function template replace_head">
+<link rel="next" href="replace_tail.html" title="Function template replace_tail">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_head.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_tail.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="replace_tail_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function replace_tail_copy</span></h2>
+<p>boost::algorithm::replace_tail_copy &#8212; Replace tail algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type">OutputIteratorT</span>
+  replace_tail_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> Range1T &amp; Input,
+                    <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> N, <span class="bold"><strong>const</strong></span> Range2T &amp; Format);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type">SequenceT</span> replace_tail_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> N,
+                              <span class="bold"><strong>const</strong></span> RangeT &amp; Format);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2771463"></a><h2>Description</h2>
+<p>Replace the tail of the input with the given format string. The tail is a suffix of a string of given size. If the sequence is shorter then required, whole string is considered to be the tail. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Format</span></dt>
+<dd><p>A substitute string </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input string </p></dd>
+<dt><span class="term">N</span></dt>
+<dd><p>Length of the tail </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a modified copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_head.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2553153"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="replace_tail.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/scoped_connection.html b/doc/html/scoped_connection.html
new file mode 100644
index 0000000000..7dd7876384
--- /dev/null
+++ b/doc/html/scoped_connection.html
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class scoped_connection</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="signals/reference.html#id2543701" title="Header &lt;boost/signals/connection.hpp&gt;">
+<link rel="prev" href="connection.html" title="Class connection">
+<link rel="next" href="visit_each.html" title="Function template visit_each">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="connection.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id2543701"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="visit_each.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="scoped_connection"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class scoped_connection</span></h2>
+<p>boost::signals::scoped_connection &#8212; Limits a signal-slot connection lifetime to a particular scope.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> scoped_connection : <span class="bold"><strong>private</strong></span> noncopyable <span class="emphasis"><em>// Exposition only</em></span>
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="scoped_connection.html#scoped_connectionconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="scoped_connection.html#id2564687-bb">scoped_connection</a>(<span class="bold"><strong>const</strong></span> <a href="connection.html" title="Class connection">connection</a>&amp;);
+  <a href="scoped_connection.html#id2577592-bb">~scoped_connection</a>();
+
+  <span class="emphasis"><em>// <a href="scoped_connection.html#id2553215-bb">connection management</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="scoped_connection.html#id2538480-bb">disconnect</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="scoped_connection.html#id2542961-bb">connected</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2737794"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2737797"></a><h3>
+<a name="scoped_connectionconstruct-copy-destruct"></a><code class="computeroutput">scoped_connection</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2564687-bb"></a>scoped_connection(<span class="bold"><strong>const</strong></span> <a href="connection.html" title="Class connection">connection</a>&amp; other);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ <code class="computeroutput">this</code> references
+ the connection referenced by
+ <code class="computeroutput">other</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2577592-bb"></a>~scoped_connection();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ If
+ <code class="computeroutput">this-&gt;<a href="scoped_connection.html#id2542961-bb">connected</a>()</code>,
+ disconnects the signal-slot connection.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2737910"></a><h3>
+<a name="id2553215-bb"></a><code class="computeroutput">scoped_connection</code> connection management</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2538480-bb"></a>disconnect() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ If
+ <code class="computeroutput">this-&gt;<a href="scoped_connection.html#id2542961-bb">connected</a>()</code>,
+ disconnects the signal and slot referenced by this;
+ otherwise, this operation is a no-op.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">!this-&gt;<a href="scoped_connection.html#id2542961-bb">connected</a>()</code>.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2542961-bb"></a>connected() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">true</code> if this
+ references a non-NULL connection that is still active
+ (connected), and <code class="computeroutput">false</code>
+ otherwise.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="connection.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id2543701"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="visit_each.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/second_clock.html b/doc/html/second_clock.html
new file mode 100644
index 0000000000..e53a62cfdb
--- /dev/null
+++ b/doc/html/second_clock.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template second_clock</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2399180" title="Header &lt;boost/date_time/time_clock.hpp&gt;">
+<link rel="prev" href="base_time.html" title="Class template base_time">
+<link rel="next" href="id2451976.html" title="Class template time_duration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="base_time.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2399180"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2451976.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="second_clock"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template second_clock</span></h2>
+<p>boost::date_time::second_clock &#8212; A clock providing time level services based on C time_t capabilities. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type&gt;
+<span class="bold"><strong>class</strong></span> second_clock {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> time_type::date_type          date_type;         
+  <span class="bold"><strong>typedef</strong></span> time_type::time_duration_type time_duration_type;
+
+  <span class="emphasis"><em>// <a href="second_clock.html#id2461799-bb">public static functions</a></em></span>
+  <span class="type">time_type</span> <a href="second_clock.html#id2461804-bb">local_time</a>() ;
+  <span class="type">time_type</span> <a href="second_clock.html#id2461816-bb">universal_time</a>() ;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_zone_type&gt;
+    <span class="type">time_type</span> <a href="second_clock.html#id2461833-bb">local_time</a>(boost::shared_ptr&lt; time_zone_type &gt;) ;
+
+  <span class="emphasis"><em>// <a href="second_clock.html#id2482430-bb">private static functions</a></em></span>
+  <span class="type">time_type</span> <a href="second_clock.html#id2482435-bb">create_time</a>(::std::tm *) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2653223"></a><h2>Description</h2>
+<p>This clock provides resolution to the 1 second level </p>
+<div class="refsect2" lang="en">
+<a name="id2653230"></a><h3>
+<a name="id2461799-bb"></a><code class="computeroutput">second_clock</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2461804-bb"></a>local_time() ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2461816-bb"></a>universal_time() ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_zone_type&gt;
+  <span class="type">time_type</span> <a name="id2461833-bb"></a>local_time(boost::shared_ptr&lt; time_zone_type &gt; tz_ptr) ;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2653315"></a><h3>
+<a name="id2482430-bb"></a><code class="computeroutput">second_clock</code> private static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">time_type</span> <a name="id2482435-bb"></a>create_time(::std::tm * current) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="base_time.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2399180"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2451976.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/seconds.html b/doc/html/seconds.html
new file mode 100644
index 0000000000..20f5f71bc4
--- /dev/null
+++ b/doc/html/seconds.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class seconds</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2443401" title="Header &lt;boost/date_time/posix_time/posix_time_duration.hpp&gt;">
+<link rel="prev" href="minutes.html" title="Class minutes">
+<link rel="next" href="id2444918.html" title="Function template operator&gt;&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="minutes.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2443401"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2444918.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="seconds"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class seconds</span></h2>
+<p>boost::posix_time::seconds &#8212; Allows expression of durations as a seconds count. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> seconds : <span class="bold"><strong>public</strong></span> boost::posix_time::time_duration {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="seconds.html#secondsconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="seconds.html#id2444208-bb">seconds</a>(<span class="bold"><strong>long</strong></span>);
+
+  <span class="emphasis"><em>// <a href="seconds.html#id2444204-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2678377"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2678380"></a><h3>
+<a name="secondsconstruct-copy-destruct"></a><code class="computeroutput">seconds</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2444208-bb"></a>seconds(<span class="bold"><strong>long</strong></span> s);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2678420"></a><h3>
+<a name="id2444204-bb"></a><code class="computeroutput">seconds</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="minutes.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2443401"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2444918.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/signal.html b/doc/html/signal.html
new file mode 100644
index 0000000000..436896580a
--- /dev/null
+++ b/doc/html/signal.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template signal</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="signals/reference.html#header.boost.signal.hpp" title="Header &lt;boost/signal.hpp&gt;">
+<link rel="prev" href="signalN.html" title="Class template signalN">
+<link rel="next" href="slot.html" title="Class template slot">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="signalN.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#header.boost.signal.hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="slot.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="signal"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template signal</span></h2>
+<p>boost::signal &#8212; Safe multicast callback.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="emphasis"><em> // Function type R (T1, T2, ..., TN)</em></span>
+         <span class="bold"><strong>typename</strong></span> Combiner = <a href="last_value.html" title="Class template last_value">last_value</a>&lt;R&gt;,
+         <span class="bold"><strong>typename</strong></span> Group = <span class="bold"><strong>int</strong></span>,
+         <span class="bold"><strong>typename</strong></span> GroupCompare = std::less&lt;Group&gt;,
+         <span class="bold"><strong>typename</strong></span> SlotFunction = <a href="functionN.html" title="Class template functionN">functionN</a>&lt;Signature&gt; &gt;
+<span class="bold"><strong>class</strong></span> signal : <span class="bold"><strong>public</strong></span> <a href="signalN.html" title="Class template signalN">signalN</a>&lt;R, T1, T2, ..., TN, Combiner, Group, GroupCompare, SlotFunction&gt;
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="signal.html#signalconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="signal.html#id2357206-bb">signal</a>(<span class="bold"><strong>const</strong></span> combiner_type&amp; = combiner_type(),
+         <span class="bold"><strong>const</strong></span> group_compare_type&amp; = group_compare_type());
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2735541"></a><h2>Description</h2>
+<p>Class template <a href="signal.html" title="Class template signal">signal</a> is a thin
+ wrapper around the numbered class templates <a href="signalN.html" title="Class template signalN">signal0</a>, <a href="signalN.html" title="Class template signalN">signal1</a>, etc. It accepts a function
+ type with N arguments instead of N separate arguments, and
+ derives from the appropriate <a href="signalN.html" title="Class template signalN">signalN</a>
+ instantiation.</p>
+<p>All functionality of this class template is in its base
+ class <a href="signalN.html" title="Class template signalN">signalN</a>.</p>
+<div class="refsect2" lang="en">
+<a name="id2735588"></a><h3>
+<a name="signalconstruct-copy-destruct"></a><code class="computeroutput">signal</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><a name="id2357206-bb"></a>signal(<span class="bold"><strong>const</strong></span> combiner_type&amp; combiner = combiner_type(),
+       <span class="bold"><strong>const</strong></span> group_compare_type&amp; compare = group_compare_type());</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Initializes the base class with the given combiner
+ and comparison objects.</p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="signalN.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#header.boost.signal.hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="slot.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/signalN.html b/doc/html/signalN.html
new file mode 100644
index 0000000000..1eb5a11b0e
--- /dev/null
+++ b/doc/html/signalN.html
@@ -0,0 +1,307 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template signalN</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="signals/reference.html#header.boost.signal.hpp" title="Header &lt;boost/signal.hpp&gt;">
+<link rel="prev" href="signals/reference.html" title="Reference">
+<link rel="next" href="signal.html" title="Class template signal">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="signals/reference.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#header.boost.signal.hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="signal.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="signalN"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template signalN</span></h2>
+<p>boost::signalN &#8212; Set of safe multicast callback types.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> R, <span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN,
+         <span class="bold"><strong>typename</strong></span> Combiner = <a href="last_value.html" title="Class template last_value">last_value</a>&lt;R&gt;, <span class="bold"><strong>typename</strong></span> Group = <span class="bold"><strong>int</strong></span>,
+         <span class="bold"><strong>typename</strong></span> GroupCompare = std::less&lt;Group&gt;,
+         <span class="bold"><strong>typename</strong></span> SlotFunction = <a href="functionN.html" title="Class template functionN">functionN</a>&lt;R, T1, T2, ..., TN&gt; &gt;
+<span class="bold"><strong>class</strong></span> signalN : <span class="bold"><strong>public</strong></span> <a href="trackable.html" title="Class trackable">signals::trackable</a>,
+                <span class="bold"><strong>private</strong></span> noncopyable <span class="emphasis"><em>// Exposition only</em></span>
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="bold"><strong>typename</strong></span> Combiner::result_type result_type;         
+  <span class="bold"><strong>typedef</strong></span> Combiner                       combiner_type;       
+  <span class="bold"><strong>typedef</strong></span> Group                          group_type;          
+  <span class="bold"><strong>typedef</strong></span> GroupCompare                   group_compare_type;  
+  <span class="bold"><strong>typedef</strong></span> SlotFunction                   slot_function_type;  
+  <span class="bold"><strong>typedef</strong></span> <a href="slot.html" title="Class template slot">slot</a>&lt;SlotFunction&gt;             slot_type;           
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span>                    slot_result_type;    
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span>                    slot_call_iterator;  
+  <span class="bold"><strong>typedef</strong></span> T1                             argument_type;        <span class="emphasis"><em>// If N == 1</em></span>
+  <span class="bold"><strong>typedef</strong></span> T1                             first_argument_type;  <span class="emphasis"><em>// If N == 2</em></span>
+  <span class="bold"><strong>typedef</strong></span> T2                             second_argument_type; <span class="emphasis"><em>// If N == 2</em></span>
+  <span class="bold"><strong>typedef</strong></span> T1                             arg1_type;           
+  <span class="bold"><strong>typedef</strong></span> T2                             arg2_type;           
+     .
+     .
+     .
+  <span class="bold"><strong>typedef</strong></span> TN                             argN_type;           
+
+  <span class="emphasis"><em>// static constants</em></span>
+  <span class="bold"><strong>static</strong></span> <span class="bold"><strong>const</strong></span> <span class="bold"><strong>int</strong></span> arity = N;
+
+  <span class="emphasis"><em>// <a href="signalN.html#signalNconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="signalN.html#id2542236-bb">signalN</a>(<span class="bold"><strong>const</strong></span> combiner_type&amp; = combiner_type(),
+          <span class="bold"><strong>const</strong></span> group_compare_type&amp; = group_compare_type());
+  <a href="signalN.html#id2577993-bb">~signalN</a>();
+
+  <span class="emphasis"><em>// <a href="signalN.html#id2551386-bb">connection management</a></em></span>
+  <span class="type"><a href="connection.html" title="Class connection">signals::connection</a></span>
+  <a href="signalN.html#id2584315-bb">connect</a>(<span class="bold"><strong>const</strong></span> slot_type&amp;, signals::connect_position = signals::at_back);
+  <span class="type"><a href="connection.html" title="Class connection">signals::connection</a></span>
+  <a href="signalN.html#id2581263-bb">connect</a>(<span class="bold"><strong>const</strong></span> group_type&amp;, <span class="bold"><strong>const</strong></span> slot_type&amp;,
+          signals::connect_position = signals::at_back);
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="signalN.html#id2544431-bb">disconnect</a>(<span class="bold"><strong>const</strong></span> group_type&amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Slot&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="signalN.html#id2556593-bb">disconnect</a>(<span class="bold"><strong>const</strong></span> Slot&amp;);
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="signalN.html#id2576703-bb">disconnect_all_slots</a>();
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="signalN.html#id2567596-bb">empty</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">std::size_t</span> <a href="signalN.html#id2337290-bb">num_slots</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="signalN.html#id2585919-bb">invocation</a></em></span>
+  <span class="type">result_type</span> <a href="signalN.html#id2578239-bb"><span class="bold"><strong>operator</strong></span>()</a>(arg1_type, arg2_type, ..., argN_type);
+  <span class="type">result_type</span> <a href="signalN.html#id2581156-bb"><span class="bold"><strong>operator</strong></span>()</a>(arg1_type, arg2_type, ..., argN_type) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="signalN.html#id2566385-bb">combiner access</a></em></span>
+  <span class="type">combiner_type&amp;</span> <a href="signalN.html#id2412919-bb">combiner</a>();
+  <span class="type"><span class="bold"><strong>const</strong></span> combiner_type&amp;</span> <a href="signalN.html#id2586486-bb">combiner</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2734528"></a><h2>Description</h2>
+<p>The class template <a href="signalN.html" title="Class template signalN">signalN</a> covers
+ several related classes signal0, signal1, signal2, etc.,
+ where the number suffix describes the number of function
+ parameters the signal and its connected slots will
+ take. Instead of enumerating all classes, a single pattern
+ <a href="signalN.html" title="Class template signalN">signalN</a> will be described, where N
+ represents the number of function parameters.</p>
+<div class="refsect2" lang="en">
+<a name="id2734553"></a><h3>
+<a name="signalNconstruct-copy-destruct"></a><code class="computeroutput">signalN</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2542236-bb"></a>signalN(<span class="bold"><strong>const</strong></span> combiner_type&amp; combiner = combiner_type(),
+        <span class="bold"><strong>const</strong></span> group_compare_type&amp; compare = group_compare_type());</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Initializes the signal to contain no slots, copies the given combiner into internal storage, and stores the given group comparison function object to compare groups.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">this-&gt;<a href="signalN.html#id2567596-bb">empty</a>()</code></p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2577993-bb"></a>~signalN();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Disconnects all slots connected to <code class="computeroutput">*this</code>.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2734663"></a><h3>
+<a name="id2551386-bb"></a><code class="computeroutput">signalN</code> connection management</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<p><a name="id2551390-bb"></a></p>
+<pre class="literallayout"><span class="type"><a href="connection.html" title="Class connection">signals::connection</a></span>
+<a name="id2584315-bb"></a>connect(<span class="bold"><strong>const</strong></span> slot_type&amp; slot,
+        signals::connect_position at = signals::at_back);
+<span class="type"><a href="connection.html" title="Class connection">signals::connection</a></span>
+<a name="id2581263-bb"></a>connect(<span class="bold"><strong>const</strong></span> group_type&amp; group, <span class="bold"><strong>const</strong></span> slot_type&amp; slot,
+        signals::connect_position at = signals::at_back);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Connects the signal this to the incoming
+ slot. If the slot is inactive, i.e., any of the trackable
+ objects bound by the slot call have been destroyed, then the
+ call to connect is a no-op. If the second version of
+ <code class="computeroutput">connect</code> is invoked, the
+ slot is associated with the given group. The <code class="computeroutput">at</code>
+ parameter specifies where the slot should be connected:
+ <code class="computeroutput">at_front</code> indicates that the slot will be
+ connected at the front of the list or group of slots and
+ <code class="computeroutput">at_back</code> indicates that the slot will be
+ connected at the back of the list or group of
+ slots.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ A
+ <code class="computeroutput"><a href="connection.html" title="Class connection">signals::connection</a></code>
+ object that references the newly-created connection between
+ the signal and the slot; if the slot is inactive, returns a
+ disconnected connection.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ This routine meets the strong exception guarantee,
+ where any exception thrown will cause the slot to not be
+ connected to the signal.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Complexity</span></b>:
+
+ Constant time when connecting a slot
+ without a group name or logarithmic in the number of groups
+ when connecting to a particular
+ group.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ It is unspecified whether connecting a slot while the
+ signal is calling will result in the slot being called
+ immediately.</p>
+</li>
+<li>
+<p><a name="id2582644-bb"></a></p>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2544431-bb"></a>disconnect(<span class="bold"><strong>const</strong></span> group_type&amp; group);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Slot&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2556593-bb"></a>disconnect(<span class="bold"><strong>const</strong></span> Slot&amp; slot);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ If the parameter is (convertible to) a
+ group name, any slots in the given group are
+ disconnected. Otherwise, any slots equal to the given slot
+ are disconnected.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw unless a user destructor or
+ equality operator <code class="computeroutput">==</code> throws. If either throws,
+ not all slots may be disconnected.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Complexity</span></b>:
+
+ If a group is given, O(lg g) + k where
+ g is the number of groups in the signal and k is the
+ number of slots in the group. Otherwise, linear in the
+ number of slots connected to the
+ signal.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2576703-bb"></a>disconnect_all_slots();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Disconnects all slots connected to the signal.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">this-&gt;<a href="signalN.html#id2567596-bb">empty</a>()</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ If disconnecting a slot causes an exception to be
+ thrown, not all slots may be disconnected.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Complexity</span></b>:
+
+ Linear in the number of slots known to the
+ signal.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ May be called at any time within the lifetime of the
+ signal, including during calls to the signal's slots.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2567596-bb"></a>empty() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">true</code> if no slots
+ are connected to the signal, and
+ <code class="computeroutput">false</code> otherwise.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Complexity</span></b>:
+
+ Linear in the number of slots known to the
+ signal.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Rationale</span></b>:
+
+ Slots can disconnect at any point in time,
+ including while those same slots are being invoked. It is
+ therefore possible that the implementation must search
+ through a list of disconnected slots to determine if any
+ slots are still connected.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">std::size_t</span> <a name="id2337290-bb"></a>num_slots() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ The number of slots connected to the signal<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Complexity</span></b>:
+
+ Linear in the number of slots known to the
+ signal.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Rationale</span></b>:
+
+ Slots can disconnect at any point in time,
+ including while those same slots are being invoked. It is
+ therefore possible that the implementation must search
+ through a list of disconnected slots to determine how many
+ slots are still connected.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2735148"></a><h3>
+<a name="id2585919-bb"></a><code class="computeroutput">signalN</code> invocation</h3>
+<div class="orderedlist"><ol type="1"><li>
+<p><a name="id2585923-bb"></a></p>
+<pre class="literallayout"><span class="type">result_type</span> <a name="id2578239-bb"></a><span class="bold"><strong>operator</strong></span>()(arg1_type a1, arg2_type a2, ... , argN_type aN);
+<span class="type">result_type</span> <a name="id2581156-bb"></a><span class="bold"><strong>operator</strong></span>()(arg1_type a1, arg2_type a2, ... , argN_type aN) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Invokes the combiner with a
+ <code class="computeroutput">slot_call_iterator</code> range
+ [first, last) corresponding to the sequence of calls to the
+ slots connected to signal
+ <code class="computeroutput">*this</code>. Dereferencing an
+ iterator in this range causes a slot call with the given set
+ of parameters <code class="computeroutput">(a1, a2, ...,
+ aN)</code>, the result of which is returned from
+ the iterator dereference operation.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ The result returned by the combiner.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ If an exception is thrown by a slot call, or if the
+ combiner does not dereference any slot past some given slot,
+ all slots after that slot in the internal list of connected
+ slots will not be invoked.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Only the slots associated with iterators that are
+ actually dereferenced will be invoked. Multiple dereferences
+ of the same iterator will not result in multiple slot
+ invocations, because the return value of the slot will be
+ cached.<p>The <code class="computeroutput">const</code> version of
+ the function call operator will invoke the combiner as
+ <code class="computeroutput">const</code>, whereas the
+ non-<code class="computeroutput">const</code> version will
+ invoke the combiner as
+ non-<code class="computeroutput">const</code>.</p><p>Calling the function call operator may invoke undefined
+ behavior if no slots are connected to the signal, depending
+ on the combiner used. The default combiner is well-defined
+ for zero slots when the return type is void but is undefined
+ when the return type is any other type (because there is no
+ way to synthesize a return value).</p></p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2735315"></a><h3>
+<a name="id2566385-bb"></a><code class="computeroutput">signalN</code> combiner access</h3>
+<div class="orderedlist"><ol type="1"><li>
+<p><a name="id2587510-bb"></a></p>
+<pre class="literallayout"><span class="type">combiner_type&amp;</span> <a name="id2412919-bb"></a>combiner();
+<span class="type"><span class="bold"><strong>const</strong></span> combiner_type&amp;</span> <a name="id2586486-bb"></a>combiner() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ A reference to the stored combiner.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="signals/reference.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#header.boost.signal.hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="signal.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/signals.html b/doc/html/signals.html
new file mode 100644
index 0000000000..076ee35a45
--- /dev/null
+++ b/doc/html/signals.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 9. Boost.Signals</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries">
+<link rel="prev" href="ref/ack.html" title="Acknowledgements">
+<link rel="next" href="signals/tutorial.html" title="Tutorial">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ref/ack.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="signals/tutorial.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="signals"></a>Chapter 9. Boost.Signals</h2></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Douglas</span> <span class="surname">Gregor</span>
+</h3></div></div>
+<div><p class="copyright">Copyright © 2001-2004 Douglas Gregor</p></div>
+<div><div class="legalnotice">
+<a name="id2731213"></a><p>Use, modification and distribution is subject to the Boost
+ Software License, Version 1.0. (See accompanying file
+ <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="signals.html#id2731233">Introduction</a></span></dt>
+<dt><span class="section"><a href="signals/tutorial.html">Tutorial</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="signals/tutorial.html#id2731274">How to Read this Tutorial</a></span></dt>
+<dt><span class="section"><a href="signals/tutorial.html#id2731333">Compatibility Note</a></span></dt>
+<dt><span class="section"><a href="signals/tutorial.html#id2731417">Hello, World! (Beginner)</a></span></dt>
+<dt><span class="section"><a href="signals/tutorial.html#id2731552">Calling multiple slots</a></span></dt>
+<dt><span class="section"><a href="signals/tutorial.html#id2731908">Passing values to and from slots</a></span></dt>
+<dt><span class="section"><a href="signals/tutorial.html#id2732772">Connection Management</a></span></dt>
+<dt><span class="section"><a href="signals/tutorial.html#id2733461">Example: Document-View</a></span></dt>
+<dt><span class="section"><a href="signals/tutorial.html#id2733607">Linking against the Signals library</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="signals/reference.html">Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="signals/reference.html#header.boost.signal.hpp">Header &lt;boost/signal.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="signals/reference.html#id2545507">Header &lt;boost/signals/slot.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="signals/reference.html#id2587580">Header &lt;boost/signals/trackable.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="signals/reference.html#id2543701">Header &lt;boost/signals/connection.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="signals/reference.html#id2574365">Header &lt;boost/visit_each.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="signals/reference.html#id2540157">Header &lt;boost/last_value.hpp&gt;</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="signals/s04.html">Frequently Asked Questions</a></span></dt>
+<dt><span class="section"><a href="signals/s05.html">Design Overview</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="signals/s05.html#id2738981">Type Erasure</a></span></dt>
+<dt><span class="section"><a href="signals/s05.html#id2739046"><code class="computeroutput">connection</code> class</a></span></dt>
+<dt><span class="section"><a href="signals/s05.html#id2739157">Slot Call Iterator</a></span></dt>
+<dt><span class="section"><a href="signals/s05.html#id2739308"><code class="computeroutput">visit_each</code> function template</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="signals/s06.html">Design Rationale</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="signals/s06.html#id2739454">Choice of Slot Definitions</a></span></dt>
+<dt><span class="section"><a href="signals/s06.html#id2739537">User-level Connection Management</a></span></dt>
+<dt><span class="section"><a href="signals/s06.html#id2739686">Combiner Interface</a></span></dt>
+<dt><span class="section"><a href="signals/s06.html#id2739833">Connection Interfaces: += operator</a></span></dt>
+<dt><span class="section"><a href="signals/s06.html#id2739993"><code class="computeroutput">trackable</code> rationale</a></span></dt>
+<dt><span class="section"><a href="signals/s06.html#id2740156">Comparison with other Signal/Slot implementations</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="signals/tests.html">Testsuite</a></span></dt>
+<dd><dl><dt><span class="section"><a href="signals/tests.html#id2740265">Acceptance tests</a></span></dt></dl></dd>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2731233"></a>Introduction</h3></div></div></div>
+<p>The Boost.Signals library is an implementation of a managed
+signals and slots system. Signals represent callbacks with multiple
+targets, and are also called publishers or events in similar
+systems. Signals are connected to some set of slots, which are
+callback receivers (also called event targets or subscribers), which
+are called when the signal is "emitted."</p>
+<p>Signals and slots are managed, in that signals and slots (or,
+more properly, objects that occur as part of the slots) track all
+connections and are capable of automatically disconnecting signal/slot
+connections when either is destroyed. This enables the user to make
+signal/slot connections without expending a great effort to manage the
+lifetimes of those connections with regard to the lifetimes of all
+objects involved.</p>
+<p>When signals are connected to multiple slots, there is a
+question regarding the relationship between the return values of the
+slots and the return value of the signals. Boost.Signals allows the
+user to specify the manner in which multiple return values are
+combined.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: May 04, 2004 at 18:17:22 GMT</p></small></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ref/ack.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="signals/tutorial.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/signals/reference.html b/doc/html/signals/reference.html
new file mode 100644
index 0000000000..8106499d30
--- /dev/null
+++ b/doc/html/signals/reference.html
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Reference</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../signals.html" title="Chapter 9. Boost.Signals">
+<link rel="prev" href="tutorial.html" title="Tutorial">
+<link rel="next" href="../signalN.html" title="Class template signalN">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../signalN.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="signals.reference"></a>Reference</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="reference.html#header.boost.signal.hpp">Header &lt;boost/signal.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2545507">Header &lt;boost/signals/slot.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2587580">Header &lt;boost/signals/trackable.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2543701">Header &lt;boost/signals/connection.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2574365">Header &lt;boost/visit_each.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2540157">Header &lt;boost/last_value.hpp&gt;</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.signal.hpp"></a>Header &lt;<a href="../../../boost/signal.hpp" target="_top">boost/signal.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> R, <span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN,
+           <span class="bold"><strong>typename</strong></span> Combiner = <a href="../last_value.html" title="Class template last_value">last_value</a>&lt;R&gt;, <span class="bold"><strong>typename</strong></span> Group = <span class="bold"><strong>int</strong></span>,
+           <span class="bold"><strong>typename</strong></span> GroupCompare = std::less&lt;Group&gt;,
+           <span class="bold"><strong>typename</strong></span> SlotFunction = <a href="../functionN.html" title="Class template functionN">functionN</a>&lt;R, T1, T2, ..., TN&gt; &gt;
+   <span class="bold"><strong>class</strong></span> <a href="../signalN.html" title="Class template signalN">signalN</a>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Signature, <span class="bold"><strong>typename</strong></span> Combiner = <a href="../last_value.html" title="Class template last_value">last_value</a>&lt;R&gt;,
+           <span class="bold"><strong>typename</strong></span> Group = <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>typename</strong></span> GroupCompare = std::less&lt;Group&gt;,
+           <span class="bold"><strong>typename</strong></span> SlotFunction = <a href="../functionN.html" title="Class template functionN">functionN</a>&lt;Signature&gt; &gt;
+   <span class="bold"><strong>class</strong></span> <a href="../signal.html" title="Class template signal">signal</a>;
+  <span class="bold"><strong>namespace</strong></span> signals {
+
+    <span class="bold"><strong>enum</strong></span> <a name="id2567242"></a>connect_position { at_front, at_back };
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2545507"></a>Header &lt;<a href="../../../boost/signals/slot.hpp" target="_top">boost/signals/slot.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SlotFunction&gt; <span class="bold"><strong>class</strong></span> <a href="../slot.html" title="Class template slot">slot</a>;
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2587580"></a>Header &lt;<a href="../../../boost/signals/trackable.hpp" target="_top">boost/signals/trackable.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> signals {
+    <span class="bold"><strong>class</strong></span> <a href="../trackable.html" title="Class trackable">trackable</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2543701"></a>Header &lt;<a href="../../../boost/signals/connection.hpp" target="_top">boost/signals/connection.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> signals {
+    <span class="bold"><strong>class</strong></span> <a href="../connection.html" title="Class connection">connection</a>;
+    <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../connection.html#id2558035">swap</a>(<a href="../connection.html" title="Class connection">connection</a>&amp;, <a href="../connection.html" title="Class connection">connection</a>&amp;);
+    <span class="bold"><strong>class</strong></span> <a href="../scoped_connection.html" title="Class scoped_connection">scoped_connection</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2574365"></a>Header &lt;<a href="../../../boost/visit_each.hpp" target="_top">boost/visit_each.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Visitor, <span class="bold"><strong>typename</strong></span> T&gt;
+    <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../visit_each.html" title="Function template visit_each">visit_each</a>(<span class="bold"><strong>const</strong></span> Visitor&amp;, <span class="bold"><strong>const</strong></span> T&amp;, <span class="bold"><strong>int</strong></span>);
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2540157"></a>Header &lt;<a href="../../../boost/last_value.hpp" target="_top">boost/last_value.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="bold"><strong>class</strong></span> <a href="../last_value.html" title="Class template last_value">last_value</a>;
+
+  <span class="bold"><strong>template</strong></span>&lt;&gt; <span class="bold"><strong>class</strong></span> <a href="../id2591657-bb.html" title="Class last_value&lt;void&gt;">last_value</a>&lt;<span class="bold"><strong>void</strong></span>&gt;;
+}</pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../signalN.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/signals/s04.html b/doc/html/signals/s04.html
new file mode 100644
index 0000000000..e33d650364
--- /dev/null
+++ b/doc/html/signals/s04.html
@@ -0,0 +1,131 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Frequently Asked Questions</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../signals.html" title="Chapter 9. Boost.Signals">
+<link rel="prev" href="../id2591657-bb.html" title="Class last_value&lt;void&gt;">
+<link rel="next" href="s05.html" title="Design Overview">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../id2591657-bb.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="s05.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2738844"></a>Frequently Asked Questions</h3></div></div></div>
+<div class="qandaset">
+<dl>
+<dt>1. <a href="s04.html#id2738852">Don't noncopyable signal semantics mean that a class
+ with a signal member will be noncopyable as well?</a>
+</dt>
+<dt>2. <a href="s04.html#id2738867">Is Boost.Signals thread-safe?</a>
+</dt>
+<dt>3. <a href="s04.html#id2738878">How do I get Boost.Signals to work with Qt?</a>
+</dt>
+</dl>
+<table border="0" summary="Q and A Set">
+<col align="left" width="1%">
+<tbody>
+<tr class="question">
+<td align="left" valign="top">
+<a name="id2738852"></a><a name="id2738853"></a><b>1.</b>
+</td>
+<td align="left" valign="top"><p>Don't noncopyable signal semantics mean that a class
+ with a signal member will be noncopyable as well?</p></td>
+</tr>
+<tr class="answer">
+<td align="left" valign="top"><b></b></td>
+<td align="left" valign="top"><p>No. The compiler will not be able to generate a copy
+ constructor or copy assignment operator for your class if it
+ has a signal as a member, but you are free to write your own
+ copy constructor and/or copy assignment operator. Just don't
+ try to copy the signal.</p></td>
+</tr>
+<tr class="question">
+<td align="left" valign="top">
+<a name="id2738867"></a><a name="id2738868"></a><b>2.</b>
+</td>
+<td align="left" valign="top"><p>Is Boost.Signals thread-safe?</p></td>
+</tr>
+<tr class="answer">
+<td align="left" valign="top"><b></b></td>
+<td align="left" valign="top"><p>No. Using Boost.Signals in a multithreaded concept is
+ very dangerous, and it is very likely that the results will be
+ less than satisfying. Boost.Signals will support thread safety
+ in the future.</p></td>
+</tr>
+<tr class="question">
+<td align="left" valign="top">
+<a name="id2738878"></a><a name="id2738880"></a><b>3.</b>
+</td>
+<td align="left" valign="top"><p>How do I get Boost.Signals to work with Qt?</p></td>
+</tr>
+<tr class="answer">
+<td align="left" valign="top"><b></b></td>
+<td align="left" valign="top">
+<p>When building with Qt, the Moc keywords
+ <code class="computeroutput">signals</code> and <code class="computeroutput">slots</code> are defined using
+ preprocessor macros, causing programs using Boost.Signals and
+ Qt together to fail to compile. Although this is a problem
+ with Qt and not Boost.Signals, a user can use the two systems
+ together with a little extra effort. There are two ways to do
+ this:</p>
+<p>The first way involves defining
+ the <code class="computeroutput">BOOST_SIGNALS_NAMESPACE</code>
+ macro to some other identifier (e.g., <code class="computeroutput">signalslib</code>)
+ when building and using the Boost.Signals library. Then the
+ namespace of the Boost.Signals library will be
+ <code class="computeroutput">boost::BOOST_SIGNALS_NAMESPACE</code> instead of
+ <code class="computeroutput">boost::signals</code>. To retain the original namespace
+ name in translation units that do not interact with Qt, you
+ can use a namespace alias:</p>
+<pre class="programlisting">
+ namespace boost {
+ namespace signals = BOOST_SIGNALS_NAMESPACE;
+ }
+</pre>
+<p>The second way, provided by Frank Hess, involves
+ creating a header <code class="computeroutput">signalslib.hpp</code> that contains
+ the following code:</p>
+<pre class="programlisting">#ifdef signals
+#error "signalslib.hpp must be included before any qt header"
+#endif
+
+#include &lt;boost/signal.hpp&gt;
+namespace boost
+{
+ namespace signalslib = signals;
+}</pre>
+<p>This header must be included before any Qt headers. Once
+ it has been included, you can refer to the Signals library via
+ the namespace <code class="computeroutput">boost::signalslib</code>. This option is
+ preferable to the first option because it can be used without
+ recompiling the Signals library binary. </p>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: September 23, 2005 at 11:45:10 GMT</p></small></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../id2591657-bb.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="s05.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/signals/s05.html b/doc/html/signals/s05.html
new file mode 100644
index 0000000000..33804cefd3
--- /dev/null
+++ b/doc/html/signals/s05.html
@@ -0,0 +1,209 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Design Overview</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../signals.html" title="Chapter 9. Boost.Signals">
+<link rel="prev" href="s04.html" title="Frequently Asked Questions">
+<link rel="next" href="s06.html" title="Design Rationale">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s04.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="s06.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2738974"></a>Design Overview</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="s05.html#id2738981">Type Erasure</a></span></dt>
+<dt><span class="section"><a href="s05.html#id2739046"><code class="computeroutput">connection</code> class</a></span></dt>
+<dt><span class="section"><a href="s05.html#id2739157">Slot Call Iterator</a></span></dt>
+<dt><span class="section"><a href="s05.html#id2739308"><code class="computeroutput">visit_each</code> function template</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2738981"></a>Type Erasure</h4></div></div></div>
+<p>"Type erasure", where static type information is eliminated
+ by the use of dynamically dispatched interfaces, is used
+ extensively within the Boost.Signals library to reduce the amount
+ of code generated by template instantiation. Each signal must
+ manage a list of slots and their associated connections, along
+ with a <code class="computeroutput">std::map</code> to map from group identifiers to
+ their associated connections. However, instantiating this map for
+ every token type, and perhaps within each translation unit (for
+ some popular template instantiation strategies) increase compile
+ time overhead and space overhead.</p>
+<p> To combat this so-called "template bloat", we use
+ Boost.Function and Boost.Any to store unknown types and
+ operations. Then, all of the code for handling the list of slots
+ and the mapping from slot identifiers to connections is factored
+ into the class <code class="computeroutput">signal_base</code>
+ that deals exclusively with the <code class="computeroutput">any</code> and
+ <code class="computeroutput"><a href="../boost/function.html" title="Class template function">function</a></code> objects, hiding the
+ actual implementations using the well-known pimpl idiom. The
+ actual <code class="computeroutput"><a href="../signalN.html" title="Class template signalN">signalN</a></code> class templates
+ deal only with code that will change depending on the number of
+ arguments or which is inherently template-dependent (such as
+ connection).</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2739046"></a><code class="computeroutput">connection</code> class</h4></div></div></div>
+<p> The <code class="computeroutput"><a href="../connection.html" title="Class connection">connection</a></code> class is
+ central to the behavior of the Boost.Signals library. It is the
+ only entity within the Boost.Signals system that has knowledge of
+ all objects that are associated by a given connection. To be
+ specific, the <code class="computeroutput"><a href="../connection.html" title="Class connection">connection</a></code> class
+ itself is merely a thin wrapper over a
+ <code class="computeroutput">shared_ptr</code> to a
+ <code class="computeroutput">basic_connection</code> object.</p>
+<p><code class="computeroutput"><a href="../connection.html" title="Class connection">connection</a></code> objects are
+ stored by all participants in the Signals system: each
+ <code class="computeroutput"><a href="../trackable.html" title="Class trackable">trackable</a></code> object contains a
+ list of <code class="computeroutput"><a href="../connection.html" title="Class connection">connection</a></code> objects
+ describing all connections it is a part of; similarly, all signals
+ contain a set of pairs that define a slot. The pairs consist of a
+ slot function object (generally a Boost.Function object) and a
+ <code class="computeroutput"><a href="../connection.html" title="Class connection">connection</a></code> object (that will
+ disconnect on destruction). Finally, the mapping from slot groups
+ to slots is based on the key value in a
+ <code class="computeroutput">std::multimap</code> (the stored data
+ in the <code class="computeroutput">std::multimap</code> is the
+ slot pair).</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2739157"></a>Slot Call Iterator</h4></div></div></div>
+<p> The slot call iterator is conceptually a stack of iterator
+ adaptors that modify the behavior of the underlying iterator
+ through the list of slots. The following table describes the type
+ and behavior of each iterator adaptor required. Note that this is
+ only a conceptual model: the implementation collapses all these
+ layers into a single iterator adaptor because several popular
+ compilers failed to compile the implementation of the conceptual
+ model.</p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Iterator Adaptor</th>
+<th align="left">Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left"><p>Slot List Iterator</p></td>
+<td align="left"><p>An iterator through the list of slots
+ connected to a signal. The <code class="computeroutput">value_type</code> of this
+ iterator will be
+ <code class="computeroutput">std::pair&lt;any,
+ connection&gt;</code>, where the
+ <code class="computeroutput"><a href="../boost/any.html" title="Class any">any</a></code> contains an
+ instance of the slot function type.</p></td>
+</tr>
+<tr>
+<td align="left"><p>Filter Iterator Adaptor</p></td>
+<td align="left"><p>This filtering iterator adaptor filters out
+ slots that have been disconnected, so we never see a
+ disconnected slot in later stages.</p></td>
+</tr>
+<tr>
+<td align="left"><p>Projection Iterator Adaptor</p></td>
+<td align="left"><p>The projection iterator adaptor returns a
+ reference to the first member of the pair that constitutes
+ a connected slot (e.g., just the
+ <code class="computeroutput"><a href="../boost/any.html" title="Class any">boost::any</a></code> object that
+ holds the slot function).</p></td>
+</tr>
+<tr>
+<td align="left"><p>Transform Iterator Adaptor</p></td>
+<td align="left"><p>This transform iterator adaptor performs an
+ <code class="computeroutput"><a href="../any_cast.html" title="Function any_cast">any_cast</a></code> to
+ extract a reference to the slot function with the
+ appropriate slot function type.</p></td>
+</tr>
+<tr>
+<td align="left"><p>Transform Iterator Adaptor</p></td>
+<td align="left"><p>This transform iterator adaptor calls the
+ function object returned by dereferencing the underlying
+ iterator with the set of arguments given to the signal
+ itself, and returns the result of that slot
+ call.</p></td>
+</tr>
+<tr>
+<td align="left"><p>Input Caching Iterator Adaptor</p></td>
+<td align="left"><p>This iterator adaptor caches the result of
+ dereferencing the underlying iterator. Therefore,
+ dereferencing this iterator multiple times will only
+ result in the underlying iterator being dereferenced once;
+ thus, a slot can only be called once but its result can be
+ used multiple times.</p></td>
+</tr>
+<tr>
+<td align="left"><p>Slot Call Iterator</p></td>
+<td align="left"><p>Iterates over calls to each slot.</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2739308"></a><code class="computeroutput">visit_each</code> function template</h4></div></div></div>
+<p> The <code class="computeroutput"><a href="../visit_each.html" title="Function template visit_each">visit_each</a></code>
+ function template is a mechanism for discovering objects that are
+ stored within another object. Function template
+ <code class="computeroutput"><a href="../visit_each.html" title="Function template visit_each">visit_each</a></code> takes three
+ arguments: an object to explore, a visitor function object that is
+ invoked with each subobject, and the <code class="computeroutput">int</code> 0. </p>
+<p> The third parameter is merely a temporary solution to the
+ widespread lack of proper function template partial ordering. The
+ primary <code class="computeroutput"><a href="../visit_each.html" title="Function template visit_each">visit_each</a></code>
+ function template specifies this third parameter type to be
+ <code class="computeroutput">long</code>, whereas any user specializations must specify
+ their third parameter to be of type <code class="computeroutput">int</code>. Thus, even
+ though a broken compiler cannot tell the ordering between, e.g., a
+ match against a parameter <code class="computeroutput">T</code> and a parameter
+ <code class="computeroutput">A&lt;T&gt;</code>, it can determine that the conversion from
+ the integer 0 to <code class="computeroutput">int</code> is better than the conversion to
+ <code class="computeroutput">long</code>. The ordering determined by this conversion thus
+ achieves partial ordering of the function templates in a limited,
+ but successful, way. The following example illustrates the use of
+ this technique:</p>
+<pre class="programlisting">
+template&lt;typename&gt; class A {};
+template&lt;typename T&gt; void foo(T, long);
+template&lt;typename T&gt; void foo(A&lt;T&gt;, int);
+A&lt;T&gt; at;
+foo(at, 0);
+</pre>
+<p> In this example, we assume that our compiler can not tell
+ that <code class="computeroutput">A&lt;T&gt;</code> is a better match than
+ <code class="computeroutput">T</code>, and therefore assume that the function templates
+ cannot be ordered based on that parameter. Then the conversion
+ from 0 to <code class="computeroutput">int</code> is better than the conversion from 0 to
+ <code class="computeroutput">long</code>, and the second function template is
+ chosen. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: March 12, 2003 at 23:27:22 GMT</p></small></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s04.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="s06.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/signals/s06.html b/doc/html/signals/s06.html
new file mode 100644
index 0000000000..6c70aae487
--- /dev/null
+++ b/doc/html/signals/s06.html
@@ -0,0 +1,429 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Design Rationale</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../signals.html" title="Chapter 9. Boost.Signals">
+<link rel="prev" href="s05.html" title="Design Overview">
+<link rel="next" href="tests.html" title="Testsuite">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s05.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="tests.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2739447"></a>Design Rationale</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="s06.html#id2739454">Choice of Slot Definitions</a></span></dt>
+<dt><span class="section"><a href="s06.html#id2739537">User-level Connection Management</a></span></dt>
+<dt><span class="section"><a href="s06.html#id2739686">Combiner Interface</a></span></dt>
+<dt><span class="section"><a href="s06.html#id2739833">Connection Interfaces: += operator</a></span></dt>
+<dt><span class="section"><a href="s06.html#id2739993"><code class="computeroutput">trackable</code> rationale</a></span></dt>
+<dt><span class="section"><a href="s06.html#id2740156">Comparison with other Signal/Slot implementations</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2739454"></a>Choice of Slot Definitions</h4></div></div></div>
+<p> The definition of a slot differs amongst signals and slots
+ libraries. Within Boost.Signals, a slot is defined in a very loose
+ manner: it can be any function object that is callable given
+ parameters of the types specified by the signal, and whose return
+ value is convertible to the result type expected by the
+ signal. However, alternative definitions have associated pros and
+ cons that were considered prior to the construction of
+ Boost.Signals.</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<p><span class="bold"><strong>Slots derive from a specific base
+ class</strong></span>: generally a scheme such as this will require
+ all user-defined slots to derive from some library-specified
+ <code class="computeroutput">Slot</code> abstract class that defines a virtual
+ function calling the slot. Adaptors can be used to convert a
+ definition such as this to a definition similar to that used
+ by Boost.Signals, but the use of a large number of small
+ adaptor classes containing virtual functions has been found to
+ cause an unacceptable increase in the size of executables
+ (polymorphic class types require more code than
+ non-polymorphic types).</p>
+<p> This approach does have the benefit of simplicity of
+ implementation and user interface, from an object-oriented
+ perspective.</p>
+</li>
+<li><p><span class="bold"><strong>Slots constructed from a set of
+ primitives</strong></span>: in this scheme the slot can have a
+ limited set of types (often derived from a common abstract
+ base class) that are constructed from some library-defined set
+ of primitives that often include conversions from free
+ function pointers and member function pointers, and a limited
+ set of binding capabilities. Such an approach is reasonably
+ simple and cover most common cases, but it does not allow a
+ large degree of flexibility in slot construction. Libraries
+ for function object composition have become quite advanced and
+ it is out of the scope of a signals and slots library to
+ encorporate such enhancements. Thus Boost.Signals does not
+ include argument binding or function object composition
+ primitives, but instead provides a hook (via the
+ <code class="computeroutput"><a href="../visit_each.html" title="Function template visit_each">visit_each</a></code>
+ mechanism) that allows existing binder/composition libraries
+ to provide the necessary information to Signals.</p></li>
+</ul></div>
+<p> Users not satisfied with the slot definition choice may opt
+ to replace the default slot function type with an alternative that
+ meets their specific needs.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2739537"></a>User-level Connection Management</h4></div></div></div>
+<p> Users need to have fine control over the connection of
+ signals to slots and their eventual disconnection. The approach
+ taken by Boost.Signals is to return a
+ <code class="computeroutput"><a href="../connection.html" title="Class connection">connection</a></code> object that enables
+ connected/disconnected query, manual disconnection, and an
+ automatic disconnection on destruction mode. Some other possible
+ interfaces include:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><span class="bold"><strong>Pass slot to
+ disconnect</strong></span>: in this interface model, the
+ disconnection of a slot connected with
+ <code class="computeroutput">sig.<a href="../signalN.html#id2551390-bb">connect</a>(slot)</code> is
+ performed via
+ <code class="computeroutput">sig.<a href="../signalN.html#id2582644-bb">disconnect</a>(slot)</code>. Internally,
+ a linear search using slot comparison is performed and the
+ slot, if found, is removed from the list. Unfortunately,
+ querying connectedness will generally also end up as
+ linear-time operations. This model also fails for
+ implementation reasons when slots become more complex than
+ simple function pointers, member function pointers and a
+ limited set of compositions and argument binders: to match the
+ slot given in the call to
+ <code class="computeroutput"><a href="../signalN.html#id2582644-bb">disconnect</a></code> with an
+ existing slot we would need to be able to compare arbitrary
+ function objects, which is not feasible.</p></li>
+<li>
+<p><span class="bold"><strong>Pass a token to
+ disconnect</strong></span>: this approach identifies slots with a
+ token that is easily comparable (e.g., a string), enabling
+ slots to be arbitrary function objects. While this approach is
+ essentially equivalent to the approach taken by Boost.Signals,
+ it is possibly more error-prone for several reasons:</p>
+<div class="itemizedlist"><ul type="circle">
+<li><p>Connections and disconnections must be paired, so
+ the problem becomes similar to the problems incurred when
+ pairing <code class="computeroutput">new</code> and <code class="computeroutput">delete</code> for
+ dynamic memory allocation. While errors of this sort would
+ not be catastrophic for a signals and slots
+ implementation, their detection is generally
+ nontrivial.</p></li>
+<li><p>Tokens must be unique, otherwise two slots will have
+ the same name and will be indistinguishable. In
+ environments where many connections will be made
+ dynamically, name generation becomes an additional task
+ for the user. Uniqueness of tokens also results in an
+ additional failure mode when attempting to connect a slot
+ using a token that has already been used.</p></li>
+<li><p>More parameterization would be required, because the
+ token type must be user-defined. Additional
+ parameterization steepens the learning curver and
+ overcomplicates a simple interface.</p></li>
+</ul></div>
+<p> This type of interface is supported in Boost.Signals
+ via the slot grouping mechanism. It augments the
+ <code class="computeroutput"><a href="../connection.html" title="Class connection">connection</a></code> object-based
+ connection management scheme.</p>
+</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2739686"></a>Combiner Interface</h4></div></div></div>
+<p> The Combiner interface was chosen to mimic a call to an
+ algorithm in the C++ standard library. It is felt that by viewing
+ slot call results as merely a sequence of values accessed by input
+ iterators, the combiner interface would be most natural to a
+ proficient C++ programmer. Competing interface design generally
+ required the combiners to be constructed to conform to an
+ interface that would be customized for (and limited to) the
+ Signals library. While these interfaces are generally enable more
+ straighforward implementation of the signals &amp; slots
+ libraries, the combiners are unfortunately not reusable (either in
+ other signals &amp; slots libraries or within other generic
+ algorithms), and the learning curve is steepened slightly to learn
+ the specific combiner interface.</p>
+<p> The Signals formulation of combiners is based on the
+ combiner using the "pull" mode of communication, instead of the
+ more complex "push" mechanism. With a "pull" mechanism, the
+ combiner's state can be kept on the stack and in the program
+ counter, because whenever new data is required (i.e., calling the
+ next slot to retrieve its return value), there is a simple
+ interface to retrieve that data immediately and without returning
+ from the combiner's code. Contrast this with the "push" mechanism,
+ where the combiner must keep all state in class members because
+ the combiner's routines will be invoked for each signal
+ called. Compare, for example, a combiner that returns the maximum
+ element from calling the slots. If the maximum element ever
+ exceeds 100, no more slots are to be called.</p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left"><p>Pull</p></th>
+<th align="left"><p>Push</p></th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
+struct pull_max {
+ typedef int result_type;
+
+ template&lt;typename InputIterator&gt;
+ result_type operator()(InputIterator first,
+ InputIterator last)
+ {
+ if (first == last)
+ throw std::runtime_error("Empty!");
+
+ int max_value = *first++;
+ while(first != last &amp;&amp; *first &lt;= 100) {
+ if (*first &gt; max_value)
+ max_value = *first;
+ ++first;
+ }
+
+ return max_value;
+ }
+};
+</pre></td>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
+struct push_max {
+ typedef int result_type;
+
+ push_max() : max_value(), got_first(false) {}
+
+ // returns false when we want to stop
+ bool operator()(int result) {
+ if (result &gt; 100)
+ return false;
+
+ if (!got_first) {
+ got_first = true;
+ max_value = result;
+ return true;
+ }
+
+ if (result &gt; max_value)
+ max_value = result;
+
+ return true;
+ }
+
+ int get_value() const
+ {
+ if (!got_first)
+ throw std::runtime_error("Empty!");
+ return max_value;
+ }
+
+private:
+ int max_value;
+ bool got_first;
+};
+</pre></td>
+</tr></tbody>
+</table></div>
+<p>There are several points to note in these examples. The
+ "pull" version is a reusable function object that is based on an
+ input iterator sequence with an integer <code class="computeroutput">value_type</code>,
+ and is very straightforward in design. The "push" model, on the
+ other hand, relies on an interface specific to the caller and is
+ not generally reusable. It also requires extra state values to
+ determine, for instance, if any elements have been
+ received. Though code quality and ease-of-use is generally
+ subjective, the "pull" model is clearly shorter and more reusable
+ and will often be construed as easier to write and understand,
+ even outside the context of a signals &amp; slots library.</p>
+<p> The cost of the "pull" combiner interface is paid in the
+ implementation of the Signals library itself. To correctly handle
+ slot disconnections during calls (e.g., when the dereference
+ operator is invoked), one must construct the iterator to skip over
+ disconnected slots. Additionally, the iterator must carry with it
+ the set of arguments to pass to each slot (although a reference to
+ a structure containing those arguments suffices), and must cache
+ the result of calling the slot so that multiple dereferences don't
+ result in multiple calls. This apparently requires a large degree
+ of overhead, though if one considers the entire process of
+ invoking slots one sees that the overhead is nearly equivalent to
+ that in the "push" model, but we have inverted the control
+ structures to make iteration and dereference complex (instead of
+ making combiner state-finding complex).</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2739833"></a>Connection Interfaces: += operator</h4></div></div></div>
+<p> Boost.Signals supports a connection syntax with the form
+ <code class="computeroutput">sig.<a href="../signalN.html#id2551390-bb">connect</a>(slot)</code>, but a
+ more terse syntax <code class="computeroutput">sig += slot</code> has been suggested (and
+ has been used by other signals &amp; slots implementations). There
+ are several reasons as to why this syntax has been
+ rejected:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><span class="bold"><strong>It's unnecessary</strong></span>: the
+ connection syntax supplied by Boost.Signals is no less
+ powerful that that supplied by the <code class="computeroutput">+=</code>
+ operator. The savings in typing (<code class="computeroutput">connect()</code>
+ vs. <code class="computeroutput">+=</code>) is essentially negligible. Furthermore,
+ one could argue that calling <code class="computeroutput">connect()</code> is more
+ readable than an overload of <code class="computeroutput">+=</code>.</p></li>
+<li><p><span class="bold"><strong>Ambiguous return type</strong></span>:
+ there is an ambiguity concerning the return value of the
+ <code class="computeroutput">+=</code> operation: should it be a reference to the
+ signal itself, to enable <code class="computeroutput">sig += slot1 += slot2</code>,
+ or should it return a
+ <code class="computeroutput"><a href="../connection.html" title="Class connection">connection</a></code> for the
+ newly-created signal/slot connection?</p></li>
+<li>
+<p><span class="bold"><strong>Gateway to operators -=,
+ +</strong></span>: when one has added a connection operator
+ <code class="computeroutput">+=</code>, it seems natural to have a disconnection
+ operator <code class="computeroutput">-=</code>. However, this presents problems when
+ the library allows arbitrary function objects to implicitly
+ become slots, because slots are no longer comparable. </p>
+<p> The second obvious addition when one has
+ <code class="computeroutput">operator+=</code> would be to add a <code class="computeroutput">+</code>
+ operator that supports addition of multiple slots, followed by
+ assignment to a signal. However, this would require
+ implementing <code class="computeroutput">+</code> such that it can accept any two
+ function objects, which is technically infeasible.</p>
+</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2739993"></a><code class="computeroutput">trackable</code> rationale</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="s06.html#id2740031"><code class="computeroutput">trackable</code> copying behavior</a></span></dt>
+<dt><span class="section"><a href="s06.html#id2740090">Why derivation from <code class="computeroutput">trackable</code>?</a></span></dt>
+</dl></div>
+<p> The <code class="computeroutput"><a href="../trackable.html" title="Class trackable">trackable</a></code>
+ class is the primary user interface to automatic connection
+ lifetime management, and its design affects users directly. Two
+ issues stick out most: the odd copying behavior of
+ <code class="computeroutput">trackable</code>, and the limitation requiring users to
+ derive from <code class="computeroutput">trackable</code> to create types that can
+ participate in automatic connection management.</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2740031"></a><code class="computeroutput">trackable</code> copying behavior</h5></div></div></div>
+<p> The copying behavior of
+ <code class="computeroutput"><a href="../trackable.html" title="Class trackable">trackable</a></code> is essentially
+ that <code class="computeroutput"><a href="../trackable.html" title="Class trackable">trackable</a></code> subobjects
+ are never copied; instead, the copy operation is merely a
+ no-op. To understand this, we look at the nature of a
+ signal-slot connection and note that the connection is based on
+ the entities that are being connected; when one of the entities
+ is destroyed, the connection is destroyed. Therefore, when a
+ <code class="computeroutput"><a href="../trackable.html" title="Class trackable">trackable</a></code> subobject is
+ copied, we cannot copy the connections because the connections
+ don't refer to the target entity - they refer to the source
+ entity. This reason is dual to the reason signals are
+ noncopyable: the slots connected to them are connected to that
+ particular signal, not the data contained in the signal.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2740090"></a>Why derivation from <code class="computeroutput">trackable</code>?</h5></div></div></div>
+<p> For <code class="computeroutput"><a href="../trackable.html" title="Class trackable">trackable</a></code> to work
+ properly, there are two constraints:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput"><a href="../trackable.html" title="Class trackable">trackable</a></code> must
+ have storage space to keep track of all connections made to
+ this object.</p></li>
+<li><p><code class="computeroutput"><a href="../trackable.html" title="Class trackable">trackable</a></code> must be
+ notified when the object is being destructed so that it can
+ disconnect its connections.</p></li>
+</ul></div>
+<p>Clearly, deriving from
+ <code class="computeroutput"><a href="../trackable.html" title="Class trackable">trackable</a></code> meets these two
+ guidelines. We have not yet found a superior solution.</p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2740156"></a>Comparison with other Signal/Slot implementations</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="s06.html#id2740160">libsigc++</a></span></dt>
+<dt><span class="section"><a href="s06.html#id2740221">.NET delegates</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2740160"></a>libsigc++</h5></div></div></div>
+<p><a href="http://libsigc.sourceforge.net" target="_top">libsigc++</a> is a C++
+ signals &amp; slots library that originally started as part of
+ an initiative to wrap the C interfaces to <a href="http://www.gtk.org" target="_top">GTK</a> libraries in C++, and has
+ grown to be a separate library maintained by Karl Nelson. There
+ are many similarities between libsigc++ and Boost.Signals, and
+ indeed Boost.Signals was strongly influenced by Karl Nelson and
+ libsigc++. A cursory inspection of each library will find a
+ similar syntax for the construction of signals and in the use of
+ connections and automatic connection lifetime management. There
+ are some major differences in design that separate these
+ libraries:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><span class="bold"><strong>Slot definitions</strong></span>:
+ slots in libsigc++ are created using a set of primitives
+ defined by the library. These primitives allow binding of
+ objects (as part of the library), explicit adaptation from
+ the argument and return types of the signal to the argument
+ and return types of the slot (libsigc++ is, by default, more
+ strict about types than Boost.Signals). A discussion of this
+ approach with a comparison against the approach taken by
+ Boost.Signals is given in Choice of Slot Definitions.</p></li>
+<li><p><span class="bold"><strong>Combiner/Marshaller
+ interface</strong></span>: the equivalent to Boost.Signals
+ combiners in libsigc++ are the marshallers. Marshallers are
+ similar to the "push" interface described in Combiner
+ Interface, and a proper treatment of the topic is given
+ there.</p></li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2740221"></a>.NET delegates</h5></div></div></div>
+<p><a href="http://www.microsoft.com" target="_top">Microsoft</a>
+ has introduced the .NET Framework and an associated set of
+ languages and language extensions, one of which is the
+ delegate. Delegates are similar to signals and slots, but they
+ are more limited than most C++ signals and slots implementations
+ in that they:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>Require exact type matches between a delegate and what
+ it is calling.</p></li>
+<li><p>Only return the result of the last target called, with no option for customization.</p></li>
+<li><p>Must call a method with <code class="computeroutput">this</code> already
+ bound.</p></li>
+</ul></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: July 20, 2004 at 17:03:55 GMT</p></small></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s05.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="tests.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/signals/tests.html b/doc/html/signals/tests.html
new file mode 100644
index 0000000000..6ff1b9d762
--- /dev/null
+++ b/doc/html/signals/tests.html
@@ -0,0 +1,102 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Testsuite</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../signals.html" title="Chapter 9. Boost.Signals">
+<link rel="prev" href="s06.html" title="Design Rationale">
+<link rel="next" href="../boost_staticassert.html" title="Chapter 10. Boost.StaticAssert">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s06.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../boost_staticassert.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="signals.tests"></a>Testsuite</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="tests.html#id2740265">Acceptance tests</a></span></dt></dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2740265"></a>Acceptance tests</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Test</th>
+<th>Type</th>
+<th>Description</th>
+<th>If failing...</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><p><a href="../../../libs/signals/test/dead_slot_test.cpp" target="_top">dead_slot_test.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Ensure that calling <code class="computeroutput">connect</code> with a slot
+that has already been disconnected via deletion does not actually
+connect to the slot.</p></td>
+<td> </td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/signals/test/deletion_test.cpp" target="_top">deletion_test.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test deletion of slots.</p></td>
+<td> </td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/signals/test/ordering_test.cpp" target="_top">ordering_test.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test slot group ordering.</p></td>
+<td> </td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/signals/test/signal_n_test.cpp" target="_top">signal_n_test.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Basic test of signal/slot connections and invocation using the
+<code class="computeroutput"><a href="../signalN.html" title="Class template signalN">boost::signalN</a></code> class templates.</p></td>
+<td> </td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/signals/test/signal_test.cpp" target="_top">signal_test.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Basic test of signal/slot connections and invocation using the
+<code class="computeroutput"><a href="../signal.html" title="Class template signal">boost::signal</a></code> class template.</p></td>
+<td><p>The <code class="computeroutput"><a href="../signal.html" title="Class template signal">boost::signal</a></code> class template may not
+be usable on your compiler. However, the
+<code class="computeroutput"><a href="../signalN.html" title="Class template signalN">boost::signalN</a></code> class templates may still be
+usable.</p></td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/signals/test/trackable_test.cpp" target="_top">trackable_test.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test automatic lifetime management using
+ <code class="computeroutput">boost::trackable</code> objects.</p></td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s06.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../boost_staticassert.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/signals/tutorial.html b/doc/html/signals/tutorial.html
new file mode 100644
index 0000000000..3da8d54a24
--- /dev/null
+++ b/doc/html/signals/tutorial.html
@@ -0,0 +1,1102 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Tutorial</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../signals.html" title="Chapter 9. Boost.Signals">
+<link rel="prev" href="../signals.html" title="Chapter 9. Boost.Signals">
+<link rel="next" href="reference.html" title="Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../signals.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="signals.tutorial"></a>Tutorial</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="tutorial.html#id2731274">How to Read this Tutorial</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2731333">Compatibility Note</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2731417">Hello, World! (Beginner)</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2731552">Calling multiple slots</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2731908">Passing values to and from slots</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2732772">Connection Management</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2733461">Example: Document-View</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2733607">Linking against the Signals library</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2731274"></a>How to Read this Tutorial</h4></div></div></div>
+<p>This tutorial is not meant to be read linearly. Its top-level
+structure roughly separates different concepts in the library
+(e.g., handling calling multiple slots, passing values to and from
+slots) and in each of these concepts the basic ideas are presented
+first and then more complex uses of the library are described
+later. Each of the sections is marked <span class="emphasis"><em>Beginner</em></span>,
+<span class="emphasis"><em>Intermediate</em></span>, or <span class="emphasis"><em>Advanced</em></span> to help guide the
+reader. The <span class="emphasis"><em>Beginner</em></span> sections include information that all
+library users should know; one can make good use of the Signals
+library after having read only the <span class="emphasis"><em>Beginner</em></span> sections. The
+<span class="emphasis"><em>Intermediate</em></span> sections build on the <span class="emphasis"><em>Beginner</em></span>
+sections with slightly more complex uses of the library. Finally,
+the <span class="emphasis"><em>Advanced</em></span> sections detail very advanced uses of the
+Signals library, that often require a solid working knowledge of
+the <span class="emphasis"><em>Beginner</em></span> and <span class="emphasis"><em>Intermediate</em></span> topics; most users
+will not need to read the <span class="emphasis"><em>Advanced</em></span> sections.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2731333"></a>Compatibility Note</h4></div></div></div>
+<p>Boost.Signals has two syntactical forms: the preferred form and
+the compatibility form. The preferred form fits more closely with the
+C++ language and reduces the number of separate template parameters
+that need to be considered, often improving readability; however, the
+preferred form is not supported on all platforms due to compiler
+bugs. The compatible form will work on all compilers supported by
+Boost.Signals. Consult the table below to determine which syntactic
+form to use for your compiler. Users of Boost.Function, please note
+that the preferred syntactic form in Signals is equivalent to that of
+Function's preferred syntactic form.</p>
+<p>If your compiler does not appear in this list, please try the
+preferred syntax and report your results to the Boost list so that
+we can keep this table up-to-date.</p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Preferred syntax</th>
+<th align="left">Portable syntax</th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><div class="itemizedlist"><ul type="disc">
+<li><p>GNU C++ 2.95.x, 3.0.x, 3.1.x</p></li>
+<li><p>Comeau C++ 4.2.45.2</p></li>
+<li><p>SGI MIPSpro 7.3.0</p></li>
+<li><p>Intel C++ 5.0, 6.0</p></li>
+<li><p>Compaq's cxx 6.2</p></li>
+<li><p>Microsoft Visual C++ 7.1</p></li>
+</ul></div></td>
+<td align="left"><div class="itemizedlist"><ul type="disc">
+<li><p><span class="emphasis"><em>Any compiler supporting the preferred syntax</em></span></p></li>
+<li><p>Microsoft Visual C++ 6.0, 7.0</p></li>
+<li><p>Borland C++ 5.5.1</p></li>
+<li><p>Sun WorkShop 6 update 2 C++ 5.3</p></li>
+<li><p>Metrowerks CodeWarrior 8.1</p></li>
+</ul></div></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2731417"></a>Hello, World! (Beginner)</h4></div></div></div>
+<p>The following example writes "Hello, World!" using signals and
+slots. First, we create a signal <code class="computeroutput">sig</code>, a signal that
+takes no arguments and has a void return value. Next, we connect
+the <code class="computeroutput">hello</code> function object to the signal using the
+<code class="computeroutput">connect</code> method. Finally, use the signal
+<code class="computeroutput">sig</code> like a function to call the slots, which in turns
+invokes <code class="computeroutput">HelloWorld::operator()</code> to print "Hello,
+World!".</p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Preferred syntax</th>
+<th align="left">Portable syntax</th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
+struct HelloWorld
+{
+ void operator()() const
+ {
+ std::cout &lt;&lt; "Hello, World!" &lt;&lt; std::endl;
+ }
+};
+
+// ...
+
+// Signal with no arguments and a void return value
+<code class="computeroutput"><a href="../signal.html" title="Class template signal">boost::signal</a></code>&lt;void ()&gt; sig;
+
+// Connect a HelloWorld slot
+HelloWorld hello;
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(hello);
+
+// Call all of the slots
+sig();
+</pre></td>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
+struct HelloWorld
+{
+ void operator()() const
+ {
+ std::cout &lt;&lt; "Hello, World!" &lt;&lt; std::endl;
+ }
+};
+
+// ...
+
+// Signal with no arguments and a void return value
+<code class="computeroutput"><a href="../signalN.html" title="Class template signalN">boost::signal0</a></code>&lt;void&gt; sig;
+
+// Connect a HelloWorld slot
+HelloWorld hello;
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(hello);
+
+// Call all of the slots
+sig();
+</pre></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2731552"></a>Calling multiple slots</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="tutorial.html#id2731556">Connecting multiple slots (Beginner)</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2731712">Ordering slot call groups (Intermediate)</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2731556"></a>Connecting multiple slots (Beginner)</h5></div></div></div>
+<p>Calling a single slot from a signal isn't very interesting, so
+we can make the Hello, World program more interesting by splitting
+the work of printing "Hello, World!" into two completely separate
+slots. The first slot will print "Hello" and may look like
+this:</p>
+<pre class="programlisting">
+struct Hello
+{
+ void operator()() const
+ {
+ std::cout &lt;&lt; "Hello";
+ }
+};
+</pre>
+<p>The second slot will print ", World!" and a newline, to complete
+the program. The second slot may look like this:</p>
+<pre class="programlisting">
+struct World
+{
+ void operator()() const
+ {
+ std::cout &lt;&lt; ", World!" &lt;&lt; std::endl;
+ }
+};
+</pre>
+<p>Like in our previous example, we can create a signal
+<code class="computeroutput">sig</code> that takes no arguments and has a
+<code class="computeroutput">void</code> return value. This time, we connect both a
+<code class="computeroutput">hello</code> and a <code class="computeroutput">world</code> slot to the same
+signal, and when we call the signal both slots will be called.</p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Preferred syntax</th>
+<th align="left">Portable syntax</th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><code class="computeroutput"><a href="../signal.html" title="Class template signal">boost::signal</a></code>&lt;void ()&gt; sig;
+
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(Hello());
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(World());
+
+sig();
+</pre></td>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><code class="computeroutput"><a href="../signalN.html" title="Class template signalN">boost::signal0</a></code>&lt;void&gt; sig;
+
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(Hello());
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(World());
+
+sig();
+</pre></td>
+</tr></tbody>
+</table></div>
+<p>By default, slots are called in first-in first-out (FIFO) order,
+so the output of this program will be as expected:</p>
+<pre class="programlisting">
+Hello, World!
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2731712"></a>Ordering slot call groups (Intermediate)</h5></div></div></div>
+<p>Slots are free to have side effects, and that can mean that some
+slots will have to be called before others even if they are not connected in that order. The Boost.Signals
+library allows slots to be placed into groups that are ordered in
+some way. For our Hello, World program, we want "Hello" to be
+printed before ", World!", so we put "Hello" into a group that must
+be executed before the group that ", World!" is in. To do this, we
+can supply an extra parameter at the beginning of the
+<code class="computeroutput">connect</code> call that specifies the group. Group values
+are, by default, <code class="computeroutput">int</code>s, and are ordered by the integer
+&lt; relation. Here's how we construct Hello, World:</p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Preferred syntax</th>
+<th align="left">Portable syntax</th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><code class="computeroutput"><a href="../signal.html" title="Class template signal">boost::signal</a></code>&lt;void ()&gt; sig;
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(1, World());
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(0, Hello());
+sig();
+</pre></td>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><code class="computeroutput"><a href="../signalN.html" title="Class template signalN">boost::signal0</a></code>&lt;void&gt; sig;
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(1, World());
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(0, Hello());
+sig();
+</pre></td>
+</tr></tbody>
+</table></div>
+<p>This program will correctly print "Hello, World!", because the
+<code class="computeroutput">Hello</code> object is in group 0, which precedes group 1 where
+the <code class="computeroutput">World</code> object resides. The group
+parameter is, in fact, optional. We omitted it in the first Hello,
+World example because it was unnecessary when all of the slots are
+independent. So what happens if we mix calls to connect that use the
+group parameter and those that don't? The "unnamed" slots (i.e., those
+that have been connected without specifying a group name) can be
+placed at the front or back of the slot list (by passing
+<code class="computeroutput">boost::signals::at_front</code> or <code class="computeroutput">boost::signals::at_back</code>
+as the last parameter to <code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>, respectively), and defaults to the end of the list. When
+a group is specified, the final parameter describes where the slot
+will be placed within the group ordering. If we add a new slot
+to our example like this:</p>
+<pre class="programlisting">
+struct GoodMorning
+{
+ void operator()() const
+ {
+ std::cout &lt;&lt; "... and good morning!" &lt;&lt; std::endl;
+ }
+};
+
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(GoodMorning());
+</pre>
+<p>... we will get the result we wanted:</p>
+<pre class="programlisting">
+Hello, World!
+... and good morning!
+</pre>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2731908"></a>Passing values to and from slots</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="tutorial.html#id2731912">Slot Arguments (Beginner)</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2732146">Signal Return Values (Advanced)</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2731912"></a>Slot Arguments (Beginner)</h5></div></div></div>
+<p>Signals can propagate arguments to each of the slots they call.
+For instance, a signal that propagates mouse motion events might
+want to pass along the new mouse coordinates and whether the mouse
+buttons are pressed.</p>
+<p>As an example, we'll create a signal that passes two
+<code class="computeroutput">float</code> arguments to its slots. Then we'll create a few
+slots that print the results of various arithmetic operations on
+these values.</p>
+<pre class="programlisting">
+void print_sum(float x, float y)
+{
+ std::cout &lt;&lt; "The sum is " &lt;&lt; x+y &lt;&lt; std::endl;
+}
+
+void print_product(float x, float y)
+{
+ std::cout &lt;&lt; "The product is " &lt;&lt; x*y &lt;&lt; std::endl;
+}
+
+void print_difference(float x, float y)
+{
+ std::cout &lt;&lt; "The difference is " &lt;&lt; x-y &lt;&lt; std::endl;
+}
+
+void print_quotient(float x, float y)
+{
+ std::cout &lt;&lt; "The quotient is " &lt;&lt; x/y &lt;&lt; std::endl;
+}
+</pre>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Preferred syntax</th>
+<th align="left">Portable syntax</th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><code class="computeroutput"><a href="../signal.html" title="Class template signal">boost::signal</a></code>&lt;void (float, float)&gt; sig;
+
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;print_sum);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;print_product);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;print_difference);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;print_quotient);
+
+sig(5, 3);
+</pre></td>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><code class="computeroutput"><a href="../signalN.html" title="Class template signalN">boost::signal2</a></code>&lt;void, float, float&gt; sig;
+
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;print_sum);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;print_product);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;print_difference);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;print_quotient);
+
+sig(5, 3);
+</pre></td>
+</tr></tbody>
+</table></div>
+<p>This program will print out the following:</p>
+<pre class="programlisting">
+The sum is 8
+The difference is 2
+The product is 15
+The quotient is 1.66667
+</pre>
+<p>So any values that are given to <code class="computeroutput">sig</code> when it is
+called like a function are passed to each of the slots. We have to
+declare the types of these values up front when we create the
+signal. The type <code class="computeroutput"><a href="../signal.html" title="Class template signal">boost::signal</a>&lt;void (float,
+float)&gt;</code> means that the signal has a <code class="computeroutput">void</code>
+return value and takes two <code class="computeroutput">float</code> values. Any slot
+connected to <code class="computeroutput">sig</code> must therefore be able to take two
+<code class="computeroutput">float</code> values.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2732146"></a>Signal Return Values (Advanced)</h5></div></div></div>
+<p>Just as slots can receive arguments, they can also return
+values. These values can then be returned back to the caller of the
+signal through a <em class="firstterm">combiner</em>. The combiner is a mechanism
+that can take the results of calling slots (there many be no
+results or a hundred; we don't know until the program runs) and
+coalesces them into a single result to be returned to the caller.
+The single result is often a simple function of the results of the
+slot calls: the result of the last slot call, the maximum value
+returned by any slot, or a container of all of the results are some
+possibilities.</p>
+<p>We can modify our previous arithmetic operations example
+slightly so that the slots all return the results of computing the
+product, quotient, sum, or difference. Then the signal itself can
+return a value based on these results to be printed:</p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Preferred syntax</th>
+<th align="left">Portable syntax</th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
+float product(float x, float y) { return x*y; }
+float quotient(float x, float y) { return x/y; }
+float sum(float x, float y) { return x+y; }
+float difference(float x, float y) { return x-y; }
+
+<code class="computeroutput"><a href="../signal.html" title="Class template signal">boost::signal</a></code>&lt;float (float x, float y)&gt; sig;
+
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;product);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;quotient);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;sum);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;difference);
+
+std::cout &lt;&lt; sig(5, 3) &lt;&lt; std::endl;
+</pre></td>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
+float product(float x, float y) { return x*y; }
+float quotient(float x, float y) { return x/y; }
+float sum(float x, float y) { return x+y; }
+float difference(float x, float y) { return x-y; }
+
+<code class="computeroutput"><a href="../signalN.html" title="Class template signalN">boost::signal2</a></code>&lt;float, float, float&gt; sig;
+
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;product);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;quotient);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;sum);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;difference);
+
+std::cout &lt;&lt; sig(5, 3) &lt;&lt; std::endl;
+</pre></td>
+</tr></tbody>
+</table></div>
+<p>This example program will output <code class="computeroutput">2</code>. This is because the
+default behavior of a signal that has a return type
+(<code class="computeroutput">float</code>, the first template argument given to the
+<code class="computeroutput"><a href="../signal.html" title="Class template signal">boost::signal</a></code> class template) is to call all slots and
+then return the result returned by the last slot called. This
+behavior is admittedly silly for this example, because slots have
+no side effects and the result is the last slot connect.</p>
+<p>A more interesting signal result would be the maximum of the
+values returned by any slot. To do this, we create a custom
+combiner that looks like this:</p>
+<pre class="programlisting">
+template&lt;typename T&gt;
+struct maximum
+{
+ typedef T result_type;
+
+ template&lt;typename InputIterator&gt;
+ T operator()(InputIterator first, InputIterator last) const
+ {
+ // If there are no slots to call, just return the
+ // default-constructed value
+ if (first == last)
+ return T();
+
+ T max_value = *first++;
+ while (first != last) {
+ if (max_value &lt; *first)
+ max_value = *first;
+ ++first;
+ }
+
+ return max_value;
+ }
+};
+</pre>
+<p>The <code class="computeroutput">maximum</code> class template acts as a function
+object. Its result type is given by its template parameter, and
+this is the type it expects to be computing the maximum based on
+(e.g., <code class="computeroutput">maximum&lt;float&gt;</code> would find the maximum
+<code class="computeroutput">float</code> in a sequence of <code class="computeroutput">float</code>s). When a
+<code class="computeroutput">maximum</code> object is invoked, it is given an input
+iterator sequence <code class="computeroutput">[first, last)</code> that includes the
+results of calling all of the slots. <code class="computeroutput">maximum</code> uses this
+input iterator sequence to calculate the maximum element, and
+returns that maximum value.</p>
+<p>We actually use this new function object type by installing it
+as a combiner for our signal. The combiner template argument
+follows the signal's calling signature:</p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Preferred syntax</th>
+<th align="left">Portable syntax</th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><code class="computeroutput"><a href="../signal.html" title="Class template signal">boost::signal</a></code>&lt;float (float x, float y),
+ maximum&lt;float&gt; &gt; sig;
+</pre></td>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><code class="computeroutput"><a href="../signalN.html" title="Class template signalN">boost::signal2</a></code>&lt;float, float, float,
+ maximum&lt;float&gt; &gt; sig;
+</pre></td>
+</tr></tbody>
+</table></div>
+<p>Now we can connect slots that perform arithmetic functions and
+use the signal:</p>
+<pre class="programlisting">
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;quotient);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;product);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;sum);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;difference);
+
+std::cout &lt;&lt; sig(5, 3) &lt;&lt; std::endl;
+</pre>
+<p>The output of this program will be <code class="computeroutput">15</code>, because
+regardless of the order in which the slots are connected, the product
+of 5 and 3 will be larger than the quotient, sum, or
+difference.</p>
+<p>In other cases we might want to return all of the values
+computed by the slots together, in one large data structure. This
+is easily done with a different combiner:</p>
+<pre class="programlisting">
+template&lt;typename Container&gt;
+struct aggregate_values
+{
+ typedef Container result_type;
+
+ template&lt;typename InputIterator&gt;
+ Container operator()(InputIterator first, InputIterator last) const
+ {
+ return Container(first, last);
+ }
+};
+</pre>
+<p>
+Again, we can create a signal with this new combiner:
+</p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Preferred syntax</th>
+<th align="left">Portable syntax</th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><code class="computeroutput"><a href="../signal.html" title="Class template signal">boost::signal</a></code>&lt;float (float, float),
+ aggregate_values&lt;std::vector&lt;float&gt; &gt; &gt; sig;
+
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;quotient);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;product);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;sum);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;difference);
+
+std::vector&lt;float&gt; results = sig(5, 3);
+std::copy(results.begin(), results.end(),
+ std::ostream_iterator&lt;float&gt;(cout, " "));
+</pre></td>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><code class="computeroutput"><a href="../signalN.html" title="Class template signalN">boost::signal2</a></code>&lt;float, float, float,
+ aggregate_values&lt;std::vector&lt;float&gt; &gt; &gt; sig;
+
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;quotient);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;product);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;sum);
+sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(&amp;difference);
+
+std::vector&lt;float&gt; results = sig(5, 3);
+std::copy(results.begin(), results.end(),
+ std::ostream_iterator&lt;float&gt;(cout, " "));
+</pre></td>
+</tr></tbody>
+</table></div>
+<p>The output of this program will contain 15, 8, 1.6667, and 2. It
+is interesting here that
+the first template argument for the <code class="computeroutput">signal</code> class,
+<code class="computeroutput">float</code>, is not actually the return type of the signal.
+Instead, it is the return type used by the connected slots and will
+also be the <code class="computeroutput">value_type</code> of the input iterators passed
+to the combiner. The combiner itself is a function object and its
+<code class="computeroutput">result_type</code> member type becomes the return type of the
+signal.</p>
+<p>The input iterators passed to the combiner transform dereference
+operations into slot calls. Combiners therefore have the option to
+invoke only some slots until some particular criterion is met. For
+instance, in a distributed computing system, the combiner may ask
+each remote system whether it will handle the request. Only one
+remote system needs to handle a particular request, so after a
+remote system accepts the work we do not want to ask any other
+remote systems to perform the same task. Such a combiner need only
+check the value returned when dereferencing the iterator, and
+return when the value is acceptable. The following combiner returns
+the first non-NULL pointer to a <code class="computeroutput">FulfilledRequest</code> data
+structure, without asking any later slots to fulfill the
+request:</p>
+<pre class="programlisting">
+struct DistributeRequest {
+ typedef FulfilledRequest* result_type;
+
+ template&lt;typename InputIterator&gt;
+ result_type operator()(InputIterator first, InputIterator last) const
+ {
+ while (first != last) {
+ if (result_type fulfilled = *first)
+ return fulfilled;
+ ++first;
+ }
+ return 0;
+ }
+};
+</pre>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2732772"></a>Connection Management</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="tutorial.html#id2732775">Disconnecting Slots (Beginner)</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2732896">Blocking Slots (Beginner)</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2732970">Scoped connections (Intermediate)</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2733016">Disconnecting equivalent slots (Intermediate)</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2733076">Automatic connection management (Intermediate)</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2733266">When can disconnections occur? (Intermediate)</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2733327">Passing slots (Intermediate)</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2732775"></a>Disconnecting Slots (Beginner)</h5></div></div></div>
+<p>Slots aren't expected to exist indefinately after they are
+connected. Often slots are only used to receive a few events and
+are then disconnected, and the programmer needs control to decide
+when a slot should no longer be connected.</p>
+<p>The entry point for managing connections explicitly is the
+<code class="computeroutput"><a href="../connection.html" title="Class connection">boost::signals::connection</a></code> class. The
+<code class="computeroutput"><a href="../connection.html" title="Class connection">connection</a></code> class uniquely represents the connection
+between a particular signal and a particular slot. The
+<code class="computeroutput"><a href="../connection.html#id2558732-bb">connected</a>()</code> method checks if the signal and slot are
+still connected, and the <code class="computeroutput"><a href="../connection.html#id2558792-bb">disconnect()</a></code> method
+disconnects the signal and slot if they are connected before it is
+called. Each call to the signal's <code class="computeroutput">connect()</code> method
+returns a connection object, which can be used to determine if the
+connection still exists or to disconnect the signal and slot.</p>
+<pre class="programlisting">
+boost::signals::connection c = sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(HelloWorld());
+if (c.<code class="computeroutput">connected</code>()) {
+<span class="emphasis"><em>// c is still connected to the signal</em></span>
+ sig(); <span class="emphasis"><em>// Prints "Hello, World!"</em></span>
+}
+
+c.disconnect(); <span class="emphasis"><em>// Disconnect the HelloWorld object</em></span>
+assert(!c.<code class="computeroutput">connected</code>()); <span class="emphasis"><em>c isn't connected any more</em></span>
+
+sig(); <span class="emphasis"><em>// Does nothing: there are no connected slots</em></span></pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2732896"></a>Blocking Slots (Beginner)</h5></div></div></div>
+<p>Slots can be temporarily "blocked", meaning that they will be
+ignored when the signal is invoked but have not been disconnected. The
+<code class="computeroutput">block</code> member function
+temporarily blocks a slot, which can be unblocked via
+<code class="computeroutput">unblock</code>. Here is an example of
+blocking/unblocking slots:</p>
+<pre class="programlisting">
+boost::signals::connection c = sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(HelloWorld());
+sig(); <span class="emphasis"><em>// Prints "Hello, World!"</em></span>
+
+c.<code class="computeroutput">block</code>(); <span class="emphasis"><em>// block the slot</em></span>
+assert(c.<code class="computeroutput">blocked</code>());
+sig(); <span class="emphasis"><em>// No output: the slot is blocked</em></span>
+
+c.<code class="computeroutput">unblock</code>(); <span class="emphasis"><em>// unblock the slot</em></span>
+sig(); <span class="emphasis"><em>// Prints "Hello, World!"</em></span></pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2732970"></a>Scoped connections (Intermediate)</h5></div></div></div>
+<p>The <code class="computeroutput">boost::signals::scoped_connection</code> class
+references a signal/slot connection that will be disconnected when
+the <code class="computeroutput">scoped_connection</code> class goes out of scope. This
+ability is useful when a connection need only be temporary,
+e.g.,</p>
+<pre class="programlisting">
+{
+ boost::signals::scoped_connection c = sig.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(ShortLived());
+ sig(); <span class="emphasis"><em>// will call ShortLived function object</em></span>
+}
+sig(); <span class="emphasis"><em>// ShortLived function object no longer connected to sig</em></span></pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2733016"></a>Disconnecting equivalent slots (Intermediate)</h5></div></div></div>
+<p>One can disconnect slots that are equivalent to a given function
+object using a form of the
+<code class="computeroutput"><a href="../signalN.html#id2582644-bb">disconnect</a></code> method, so long as
+the type of the function object has an accessible <code class="computeroutput">==</code>
+operator. For instance:
+
+</p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Preferred syntax</th>
+<th align="left">Portable syntax</th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
+void foo();
+void bar();
+
+signal&lt;void()&gt; sig;
+
+sig.connect(&amp;foo);
+sig.connect(&amp;bar);
+
+// disconnects foo, but not bar
+sig.disconnect(&amp;foo);
+</pre></td>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
+void foo();
+void bar();
+
+signal0&lt;void&gt; sig;
+
+sig.connect(&amp;foo);
+sig.connect(&amp;bar);
+
+// disconnects foo, but not bar
+sig.disconnect(&amp;foo);
+</pre></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2733076"></a>Automatic connection management (Intermediate)</h5></div></div></div>
+<p>Boost.Signals can automatically track the lifetime of objects
+involved in signal/slot connections, including automatic
+disconnection of slots when objects involved in the slot call are
+destroyed. For instance, consider a simple news delivery service,
+where clients connect to a news provider that then sends news to
+all connected clients as information arrives. The news delivery
+service may be constructed like this: </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Preferred syntax</th>
+<th align="left">Portable syntax</th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
+class NewsItem { /* ... */ };
+
+boost::signal&lt;void (const NewsItem&amp;)&gt; deliverNews;
+</pre></td>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
+class NewsItem { /* ... */ };
+
+boost::signal1&lt;void, const NewsItem&amp;&gt; deliverNews;
+</pre></td>
+</tr></tbody>
+</table></div>
+<p>Clients that wish to receive news updates need only connect a
+function object that can receive news items to the
+<code class="computeroutput">deliverNews</code> signal. For instance, we may have a
+special message area in our application specifically for news,
+e.g.,:</p>
+<pre class="programlisting">
+struct NewsMessageArea : public MessageArea
+{
+public:
+ // ...
+
+ void displayNews(const NewsItem&amp; news) const
+ {
+ messageText = news.text();
+ update();
+ }
+};
+
+// ...
+NewsMessageArea newsMessageArea = new NewsMessageArea(/* ... */);
+// ...
+deliverNews.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(boost::bind(&amp;NewsMessageArea::displayNews,
+ newsMessageArea, _1));
+</pre>
+<p>However, what if the user closes the news message area,
+destroying the <code class="computeroutput">newsMessageArea</code> object that
+<code class="computeroutput">deliverNews</code> knows about? Most likely, a segmentation
+fault will occur. However, with Boost.Signals one need only make
+<code class="computeroutput">NewsMessageArea</code><span class="emphasis"><em>trackable</em></span>, and the slot
+involving <code class="computeroutput">newsMessageArea</code> will be disconnected when
+<code class="computeroutput">newsMessageArea</code> is destroyed. The
+<code class="computeroutput">NewsMessageArea</code> class is made trackable by deriving
+publicly from the <code class="computeroutput">boost::signals::trackable</code> class,
+e.g.:</p>
+<pre class="programlisting">
+struct NewsMessageArea : public MessageArea, public boost::signals::trackable
+{
+ // ...
+};
+</pre>
+<p>At this time there is a significant limitation to the use of
+<code class="computeroutput">trackable</code> objects in making slot connections: function
+objects built using Boost.Bind are understood, such that pointers
+or references to <code class="computeroutput">trackable</code> objects passed to
+<code class="computeroutput">boost::bind</code> will be found and tracked.</p>
+<p><span class="bold"><strong>Warning</strong></span>: User-defined function objects and function
+objects from other libraries (e.g., Boost.Function or Boost.Lambda)
+do not implement the required interfaces for <code class="computeroutput">trackable</code>
+object detection, and <span class="emphasis"><em>will silently ignore any bound trackable
+objects</em></span>. Future versions of the Boost libraries will address
+this limitation.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2733266"></a>When can disconnections occur? (Intermediate)</h5></div></div></div>
+<p>Signal/slot disconnections occur when any of these conditions
+occur:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>The connection is explicitly disconnected via the connection's
+<code class="computeroutput">disconnect</code> method directly, or indirectly via the
+signal's <code class="computeroutput">disconnect</code> method or
+<code class="computeroutput">scoped_connection</code>'s destructor.</p></li>
+<li><p>A <code class="computeroutput">trackable</code> object bound to the slot is
+destroyed.</p></li>
+<li><p>The signal is destroyed.</p></li>
+</ul></div>
+<p>These events can occur at any time without disrupting a signal's
+calling sequence. If a signal/slot connection is disconnected at
+any time during a signal's calling sequence, the calling sequence
+will still continue but will not invoke the disconnected slot.
+Additionally, a signal may be destroyed while it is in a calling
+sequence, and which case it will complete its slot call sequence
+but may not be accessed directly.</p>
+<p>Signals may be invoked recursively (e.g., a signal A calls a
+slot B that invokes signal A...). The disconnection behavior does
+not change in the recursive case, except that the slot calling
+sequence includes slot calls for all nested invocations of the
+signal.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2733327"></a>Passing slots (Intermediate)</h5></div></div></div>
+<p>Slots in the Boost.Signals library are created from arbitrary
+function objects, and therefore have no fixed type. However, it is
+commonplace to require that slots be passed through interfaces that
+cannot be templates. Slots can be passed via the
+<code class="computeroutput">slot_type</code> for each particular signal type and any
+function object compatible with the signature of the signal can be
+passed to a <code class="computeroutput">slot_type</code> parameter. For instance:</p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Preferred syntax</th>
+<th align="left">Portable syntax</th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
+class Button
+{
+ typedef boost::signal&lt;void (int x, int y)&gt; OnClick;
+
+public:
+ void doOnClick(const OnClick::slot_type&amp; slot);
+
+private:
+ OnClick onClick;
+};
+
+void Button::doOnClick(
+ const OnClick::slot_type&amp; slot
+ )
+{
+ onClick.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(slot);
+}
+
+void printCoordinates(long x, long y)
+{
+ std::cout &lt;&lt; "(" &lt;&lt; x &lt;&lt; ", " &lt;&lt; y &lt;&lt; ")\n";
+}
+
+void f(Button&amp; button)
+{
+ button.doOnClick(&amp;printCoordinates);
+}
+</pre></td>
+<td align="left"><pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
+class Button
+{
+ typedef <code class="computeroutput"><a href="../signalN.html" title="Class template signalN">boost::signal2</a></code>&lt;void,int,int&gt; OnClick;
+
+public:
+ void doOnClick(const OnClick::slot_type&amp; slot);
+
+private:
+ OnClick onClick;
+};
+
+void Button::doOnClick(
+ const OnClick::slot_type&amp; slot
+ )
+{
+ onClick.<code class="computeroutput"><a href="../signalN.html#id2551390-bb">connect</a></code>(slot);
+}
+
+void printCoordinates(long x, long y)
+{
+ std::cout &lt;&lt; "(" &lt;&lt; x &lt;&lt; ", " &lt;&lt; y &lt;&lt; ")\n";
+}
+
+void f(Button&amp; button)
+{
+ button.doOnClick(&amp;printCoordinates);
+}
+</pre></td>
+</tr></tbody>
+</table></div>
+<p>The <code class="computeroutput">doOnClick</code> method is now functionally equivalent
+to the <code class="computeroutput">connect</code> method of the <code class="computeroutput">onClick</code>
+signal, but the details of the <code class="computeroutput">doOnClick</code> method can be
+hidden in an implementation detail file.</p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2733461"></a>Example: Document-View</h4></div></div></div>
+<p>Signals can be used to implement flexible Document-View
+ architectures. The document will contain a signal to which each of
+ the views can connect. The following <code class="computeroutput">Document</code> class
+ defines a simple text document that supports mulitple views. Note
+ that it stores a single signal to which all of the views will be
+ connected.</p>
+<pre class="programlisting">class Document
+{
+public:
+ typedef boost::signal&lt;void (bool)&gt; signal_t;
+ typedef boost::signals::connection connection_t;
+
+public:
+ Document()
+ {}
+
+ connection_t connect(signal_t::slot_function_type subscriber)
+ {
+ return m_sig.connect(subscriber);
+ }
+
+ void disconnect(connection_t subscriber)
+ {
+ subscriber.disconnect();
+ }
+
+ void append(const char* s)
+ {
+ m_text += s;
+ m_sig(true);
+ }
+
+ const std::string&amp; getText() const
+ {
+ return m_text;
+ }
+
+private:
+ signal_t m_sig;
+ std::string m_text;
+};</pre>
+<p>Next, we can define a <code class="computeroutput">View</code> base class from which
+ views can derive. This isn't strictly required, but it keeps the
+ Document-View logic separate from the logic itself. Note that the
+ constructor just connects the view to the document and the
+ destructor disconnects the view.</p>
+<pre class="programlisting">
+class View
+{
+public:
+ View(Document&amp; m)
+ : m_document(m)
+ {
+ m_connection = m_document.connect(boost::bind(&amp;View::refresh, this, _1));
+ }
+
+ virtual ~View()
+ {
+ m_document.disconnect(m_connection);
+ }
+
+ virtual void refresh(bool bExtended) const = 0;
+
+protected:
+ Document&amp; m_document;
+
+private:
+ Document::connection_t m_connection;
+};
+ </pre>
+<p>Finally, we can begin to define views. The
+ following <code class="computeroutput">TextView</code> class provides a simple view of the
+ document text.</p>
+<pre class="programlisting">class TextView : public View
+{
+public:
+ TextView(Document&amp; doc)
+ : View(doc)
+ {}
+
+ virtual void refresh(bool bExtended) const
+ {
+ std::cout &lt;&lt; "TextView: " &lt;&lt; m_document.getText() &lt;&lt; std::endl;
+ }
+};</pre>
+<p>Alternatively, we can provide a view of the document
+ translated into hex values using the <code class="computeroutput">HexView</code>
+ view:</p>
+<pre class="programlisting">class HexView : public View
+{
+public:
+ HexView(Document&amp; doc)
+ : View(doc)
+ {}
+
+ virtual void refresh(bool bExtended) const
+ {
+ const std::string&amp; s = m_document.getText();
+
+ std::cout &lt;&lt; "HexView:";
+
+ for (std::string::const_iterator it = s.begin(); it != s.end(); ++it)
+ std::cout &lt;&lt; ' ' &lt;&lt; std::hex &lt;&lt; static_cast&lt;int&gt;(*it);
+
+ std::cout &lt;&lt; std::endl;
+ }
+};</pre>
+<p>To tie the example together, here is a
+ simple <code class="computeroutput">main</code> function that sets up two views and then
+ modifies the document:</p>
+<pre class="programlisting">int main(int argc, char* argv[])
+{
+ Document doc;
+ TextView v1(doc);
+ HexView v2(doc);
+
+ doc.append(argc == 2 ? argv[1] : "Hello world!");
+ return 0;
+}</pre>
+<p>The complete example source, contributed by Keith MacDonald,
+ is available in <a href="../../../libs/signals/example/doc_view.cpp" target="_top"><code class="computeroutput">libs/signals/example/doc_view.cpp</code></a>.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2733607"></a>Linking against the Signals library</h4></div></div></div>
+<p>Part of the Boost.Signals library is compiled into a binary
+ library that must be linked into your application to use Signals. To
+ build this library, execute the command <span><strong class="command">bjam</strong></span> in
+ either the top-level Boost directory or in
+ <code class="computeroutput">libs/signals/build</code>. On Unix, the directory
+ <code class="computeroutput">libs/signals/build/bin-stage</code> will then contain
+ libraries named, e.g., <code class="computeroutput">libboost_signals.a</code> that can be
+ linked in your program with <code class="computeroutput">-lboost_signals</code>.</p>
+<p>On Windows, with Microsoft Visual C++ or Borland C++, the
+ linking process is nearly automatic. As with the
+ <a href="../../../libs/regex/index.html" target="_top">Regex</a> library, the libraries in
+ <code class="computeroutput">libs\signals\build\bin-stage</code> will have mangled names
+ and will be automatically be including in the link process. To link
+ against the Signals library binary dynamically (e.g., using the
+ Signals DLL), define <code class="computeroutput">BOOST_SIGNALS_DYN_LINK</code> when
+ building your application; to link statically, define
+ <code class="computeroutput">BOOST_SIGNALS_STATIC_LINK</code>. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: May 18, 2005 at 16:09:34 GMT</p></small></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../signals.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/simple_exception_policy.html b/doc/html/simple_exception_policy.html
new file mode 100644
index 0000000000..041f68fac0
--- /dev/null
+++ b/doc/html/simple_exception_policy.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template simple_exception_policy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2459416" title="Header &lt;boost/date_time/constrained_value.hpp&gt;">
+<link rel="prev" href="constrained_value.html" title="Class template constrained_value">
+<link rel="next" href="boost/date_time/date.html" title="Class template date">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="constrained_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2459416"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost/date_time/date.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="simple_exception_policy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template simple_exception_policy</span></h2>
+<p>boost::CV::simple_exception_policy &#8212; Template to shortcut the constrained_value policy creation process. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> rep_type, rep_type min_value, rep_type max_value,
+         <span class="bold"><strong>typename</strong></span> exception_type&gt;
+<span class="bold"><strong>class</strong></span> simple_exception_policy {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> rep_type value_type;
+
+  <span class="emphasis"><em>// <a href="simple_exception_policy.html#id2500840-bb">public static functions</a></em></span>
+  <span class="type">rep_type min</span> <a href="simple_exception_policy.html#id2500844-bb">BOOST_PREVENT_MACRO_SUBSTITUTION</a>() ;
+  <span class="type">rep_type max</span> <a href="simple_exception_policy.html#id2458932-bb">BOOST_PREVENT_MACRO_SUBSTITUTION</a>() ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="simple_exception_policy.html#id2471261-bb">on_error</a>(rep_type, rep_type, violation_enum) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2607650"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2607654"></a><h3>
+<a name="id2500840-bb"></a><code class="computeroutput">simple_exception_policy</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">rep_type min</span> <a name="id2500844-bb"></a>BOOST_PREVENT_MACRO_SUBSTITUTION() ;</pre></li>
+<li><pre class="literallayout"><span class="type">rep_type max</span> <a name="id2458932-bb"></a>BOOST_PREVENT_MACRO_SUBSTITUTION() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2471261-bb"></a>on_error(rep_type , rep_type , violation_enum ) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="constrained_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2459416"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost/date_time/date.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/simple_format.html b/doc/html/simple_format.html
new file mode 100644
index 0000000000..7678080152
--- /dev/null
+++ b/doc/html/simple_format.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template simple_format</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2462095" title="Header &lt;boost/date_time/date_format_simple.hpp&gt;">
+<link rel="prev" href="date_input_facet.html" title="Class template date_input_facet">
+<link rel="next" href="id2492905-bb.html" title="Class simple_format&lt;wchar_t&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_input_facet.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2462095"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2492905-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="simple_format"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template simple_format</span></h2>
+<p>boost::date_time::simple_format &#8212; Class to provide simple basic formatting rules. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+<span class="bold"><strong>class</strong></span> simple_format {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="simple_format.html#id2420311-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>const</strong></span> charT *</span> <a href="simple_format.html#id2401379-bb">not_a_date</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> charT *</span> <a href="simple_format.html#id2467748-bb">pos_infinity</a>() ;
+  <span class="type"><span class="bold"><strong>const</strong></span> charT *</span> <a href="simple_format.html#id2492506-bb">neg_infinity</a>() ;
+  <span class="type">month_format_spec</span> <a href="simple_format.html#id2507399-bb">month_format</a>() ;
+  <span class="type">ymd_order_spec</span> <a href="simple_format.html#id2441087-bb">date_order</a>() ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="simple_format.html#id2504094-bb">has_date_sep_chars</a>() ;
+  <span class="type">charT</span> <a href="simple_format.html#id2465147-bb">year_sep_char</a>() ;
+  <span class="type">charT</span> <a href="simple_format.html#id2447185-bb">month_sep_char</a>() ;
+  <span class="type">charT</span> <a href="simple_format.html#id2400645-bb">day_sep_char</a>() ;
+  <span class="type">charT</span> <a href="simple_format.html#id2396876-bb">hour_sep_char</a>() ;
+  <span class="type">charT</span> <a href="simple_format.html#id2419014-bb">minute_sep_char</a>() ;
+  <span class="type">charT</span> <a href="simple_format.html#id2393020-bb">second_sep_char</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2618101"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2618105"></a><h3>
+<a name="id2420311-bb"></a><code class="computeroutput">simple_format</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> charT *</span> <a name="id2401379-bb"></a>not_a_date() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> charT *</span> <a name="id2467748-bb"></a>pos_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> charT *</span> <a name="id2492506-bb"></a>neg_infinity() ;</pre></li>
+<li><pre class="literallayout"><span class="type">month_format_spec</span> <a name="id2507399-bb"></a>month_format() ;</pre></li>
+<li><pre class="literallayout"><span class="type">ymd_order_spec</span> <a name="id2441087-bb"></a>date_order() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2504094-bb"></a>has_date_sep_chars() ;</pre></li>
+<li><pre class="literallayout"><span class="type">charT</span> <a name="id2465147-bb"></a>year_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type">charT</span> <a name="id2447185-bb"></a>month_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type">charT</span> <a name="id2400645-bb"></a>day_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type">charT</span> <a name="id2396876-bb"></a>hour_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type">charT</span> <a name="id2419014-bb"></a>minute_sep_char() ;</pre></li>
+<li><pre class="literallayout"><span class="type">charT</span> <a name="id2393020-bb"></a>second_sep_char() ;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2618354"></a><h3>Specializations</h3>
+<div class="itemizedlist"><ul type="disc"><li><p><a href="id2492905-bb.html" title="Class simple_format&lt;wchar_t&gt;">Class simple_format&lt;wchar_t&gt;</a></p></li></ul></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_input_facet.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2462095"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2492905-bb.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/simple_time_rep.html b/doc/html/simple_time_rep.html
new file mode 100644
index 0000000000..4f34c0edec
--- /dev/null
+++ b/doc/html/simple_time_rep.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct simple_time_rep</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2442818" title="Header &lt;boost/date_time/posix_time/posix_time_config.hpp&gt;">
+<link rel="prev" href="id2442833.html" title="Class time_duration">
+<link rel="next" href="posix_time_system_config.html" title="Class posix_time_system_config">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2442833.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2442818"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="posix_time_system_config.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="simple_time_rep"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct simple_time_rep</span></h2>
+<p>boost::posix_time::simple_time_rep &#8212; Simple implementation for the time rep. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> simple_time_rep {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> gregorian::date date_type;         
+  <span class="bold"><strong>typedef</strong></span> <a href="id2442833.html" title="Class time_duration">time_duration</a>   time_duration_type;
+
+  <span class="emphasis"><em>// <a href="simple_time_rep.html#simple_time_repconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="simple_time_rep.html#id2443098-bb">simple_time_rep</a>(date_type, time_duration_type);
+
+  <span class="emphasis"><em>// <a href="simple_time_rep.html#id2443042-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="simple_time_rep.html#id2443046-bb">is_special</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="simple_time_rep.html#id2443059-bb">is_pos_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="simple_time_rep.html#id2443071-bb">is_neg_infinity</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="simple_time_rep.html#id2443084-bb">is_not_a_date_time</a>() <span class="bold"><strong>const</strong></span>;
+
+  date_type day;
+  time_duration_type time_of_day;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2677361"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2677364"></a><h3>
+<a name="simple_time_repconstruct-copy-destruct"></a><code class="computeroutput">simple_time_rep</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2443098-bb"></a>simple_time_rep(date_type d, time_duration_type tod);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2677399"></a><h3>
+<a name="id2443042-bb"></a><code class="computeroutput">simple_time_rep</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2443046-bb"></a>is_special() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2443059-bb"></a>is_pos_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2443071-bb"></a>is_neg_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2443084-bb"></a>is_not_a_date_time() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2442833.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2442818"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="posix_time_system_config.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/slot.html b/doc/html/slot.html
new file mode 100644
index 0000000000..f03025f216
--- /dev/null
+++ b/doc/html/slot.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template slot</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="signals/reference.html#id2545507" title="Header &lt;boost/signals/slot.hpp&gt;">
+<link rel="prev" href="signal.html" title="Class template signal">
+<link rel="next" href="trackable.html" title="Class trackable">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="signal.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id2545507"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trackable.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="slot"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template slot</span></h2>
+<p>boost::slot &#8212; Pass slots as function arguments.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SlotFunction&gt;
+<span class="bold"><strong>class</strong></span> slot {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="slot.html#slotconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Slot&gt; <a href="slot.html#id2560406-bb">slot</a>(Slot);
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2735775"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2735778"></a><h3>
+<a name="slotconstruct-copy-destruct"></a><code class="computeroutput">slot</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Slot&gt; <a name="id2560406-bb"></a>slot(Slot target);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Invokes
+ <code class="computeroutput"><a href="visit_each.html" title="Function template visit_each">visit_each</a></code>
+ (unqualified) to discover pointers and references to
+ <code class="computeroutput"><a href="trackable.html" title="Class trackable">signals::trackable</a></code>
+ objects in <code class="computeroutput">target</code>.<p>Initializes <code class="computeroutput">this</code> to
+ contain the incoming slot
+ <code class="computeroutput">target</code>, which may be any
+ function object with which a
+ <code class="computeroutput">SlotFunction</code> can be
+ constructed.</p></p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="signal.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id2545507"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trackable.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/special_value_from_string.html b/doc/html/special_value_from_string.html
new file mode 100644
index 0000000000..4bd0a5b7e1
--- /dev/null
+++ b/doc/html/special_value_from_string.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function special_value_from_string</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2441300" title="Header &lt;boost/date_time/gregorian/parsers.hpp&gt;">
+<link rel="prev" href="greg_year.html" title="Class greg_year">
+<link rel="next" href="from_ftime.html" title="Function template from_ftime">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greg_year.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2441300"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="from_ftime.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="special_value_from_string"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function special_value_from_string</span></h2>
+<p>boost::gregorian::special_value_from_string &#8212; Return special_value from string argument. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type">special_values</span> special_value_from_string(<span class="bold"><strong>const</strong></span> std::string &amp; s);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2675719"></a><h2>Description</h2>
+<p>Return special_value from string argument. If argument is not one of the special value names (defined in src/gregorian/names.hpp), return 'not_special' </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greg_year.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2441300"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="from_ftime.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/special_values_formatter.html b/doc/html/special_values_formatter.html
new file mode 100644
index 0000000000..a31ca9a8d1
--- /dev/null
+++ b/doc/html/special_values_formatter.html
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template special_values_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2502812" title="Header &lt;boost/date_time/special_values_formatter.hpp&gt;">
+<link rel="prev" href="period_parser.html" title="Class template period_parser">
+<link rel="next" href="special_values_parser.html" title="Class template special_values_parser">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="period_parser.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2502812"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="special_values_parser.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="special_values_formatter"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template special_values_formatter</span></h2>
+<p>boost::date_time::special_values_formatter &#8212; Class that provides generic formmatting ostream formatting for special values. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT,
+         <span class="bold"><strong>typename</strong></span> OutItrT = std::ostreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt; &gt;
+<span class="bold"><strong>class</strong></span> special_values_formatter {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::basic_string&lt; CharT &gt; string_type;    
+  <span class="bold"><strong>typedef</strong></span> CharT                      char_type;      
+  <span class="bold"><strong>typedef</strong></span> std::vector&lt; string_type &gt; collection_type;
+
+  <span class="emphasis"><em>// <a href="special_values_formatter.html#special_values_formatterconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="special_values_formatter.html#id2461525-bb">special_values_formatter</a>();
+  <a href="special_values_formatter.html#id2461542-bb">special_values_formatter</a>(<span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> *, <span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> *);
+  <a href="special_values_formatter.html#id2421129-bb">special_values_formatter</a>(<span class="bold"><strong>typename</strong></span> collection_type::iterator,
+                           <span class="bold"><strong>typename</strong></span> collection_type::iterator);
+
+  <span class="emphasis"><em>// <a href="special_values_formatter.html#id2399261-bb">public member functions</a></em></span>
+  <span class="type">OutItrT</span> <a href="special_values_formatter.html#id2399265-bb">put_special</a>(OutItrT, <span class="bold"><strong>const</strong></span> boost::date_time::special_values &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="bold"><strong>static</strong></span> const char_type default_special_value_names;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2649205"></a><h2>Description</h2>
+<p>This class provides for the formmating of special values to an output stream. In particular, it produces strings for the values of negative and positive infinity as well as not_a_date_time.</p>
+<p>While not a facet, this class is used by the date and time facets for formatting special value types. </p>
+<div class="refsect2" lang="en">
+<a name="id2649218"></a><h3>
+<a name="special_values_formatterconstruct-copy-destruct"></a><code class="computeroutput">special_values_formatter</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2461525-bb"></a>special_values_formatter();</pre>
+<p>Default strings are not-a-date-time -infinity +infinity </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2461542-bb"></a>special_values_formatter(<span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> * begin,
+                         <span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> * end);</pre>
+<p>This constructor will take pair of iterators from an array of strings that represent the special values and copy them for use in formatting special values. </p>
+<pre class="programlisting"> const char* const special_value_names[]={"nadt","-inf","+inf" };
+
+ special_value_formatter svf(&amp;special_value_names[0], &amp;special_value_names[3]);
+ *
+</pre>
+</li>
+<li><pre class="literallayout"><a name="id2421129-bb"></a>special_values_formatter(<span class="bold"><strong>typename</strong></span> collection_type::iterator beg,
+                         <span class="bold"><strong>typename</strong></span> collection_type::iterator end);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2649337"></a><h3>
+<a name="id2399261-bb"></a><code class="computeroutput">special_values_formatter</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">OutItrT</span> <a name="id2399265-bb"></a>put_special(OutItrT next,
+                    <span class="bold"><strong>const</strong></span> boost::date_time::special_values &amp; value) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="period_parser.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2502812"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="special_values_parser.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/special_values_parser.html b/doc/html/special_values_parser.html
new file mode 100644
index 0000000000..65c72942a0
--- /dev/null
+++ b/doc/html/special_values_parser.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template special_values_parser</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2421174" title="Header &lt;boost/date_time/special_values_parser.hpp&gt;">
+<link rel="prev" href="special_values_formatter.html" title="Class template special_values_formatter">
+<link rel="next" href="convert_string_type.html" title="Function template convert_string_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="special_values_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2421174"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="convert_string_type.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="special_values_parser"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template special_values_parser</span></h2>
+<p>boost::date_time::special_values_parser &#8212; Class for special_value parsing. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> charT&gt;
+<span class="bold"><strong>class</strong></span> special_values_parser {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::basic_string&lt; charT &gt;                string_type;    
+  <span class="bold"><strong>typedef</strong></span> std::istreambuf_iterator&lt; charT &gt;         stream_itr_type;
+  <span class="bold"><strong>typedef</strong></span> date_type::duration_type                  duration_type;  
+  <span class="bold"><strong>typedef</strong></span> <a href="string_parse_tree.html" title="Struct template string_parse_tree">string_parse_tree</a>&lt; charT &gt;                parse_tree_type;
+  <span class="bold"><strong>typedef</strong></span> parse_tree_type::parse_match_result_type  match_results;  
+  <span class="bold"><strong>typedef</strong></span> std::vector&lt; std::basic_string&lt; charT &gt; &gt; collection_type;
+  <span class="bold"><strong>typedef</strong></span> charT                                     char_type;      
+
+  <span class="emphasis"><em>// <a href="special_values_parser.html#special_values_parserconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="special_values_parser.html#id2393709-bb">special_values_parser</a>();
+  <a href="special_values_parser.html#id2393717-bb">special_values_parser</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                        <span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                        <span class="bold"><strong>const</strong></span> string_type &amp;);
+  <a href="special_values_parser.html#id2452348-bb">special_values_parser</a>(<span class="bold"><strong>typename</strong></span> collection_type::iterator,
+                        <span class="bold"><strong>typename</strong></span> collection_type::iterator);
+  <a href="special_values_parser.html#id2452371-bb">special_values_parser</a>(<span class="bold"><strong>const</strong></span> <a href="special_values_parser.html" title="Class template special_values_parser">special_values_parser</a>&lt; date_type, charT &gt; &amp;);
+
+  <span class="emphasis"><em>// <a href="special_values_parser.html#id2461674-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="special_values_parser.html#id2461679-bb">sv_strings</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                  <span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                  <span class="bold"><strong>const</strong></span> string_type &amp;) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="special_values_parser.html#id2472129-bb">match</a>(stream_itr_type &amp;, stream_itr_type &amp;, match_results &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="bold"><strong>static</strong></span> const char_type nadt_string;
+  <span class="bold"><strong>static</strong></span> const char_type neg_inf_string;
+  <span class="bold"><strong>static</strong></span> const char_type pos_inf_string;
+  <span class="bold"><strong>static</strong></span> const char_type min_date_time_string;
+  <span class="bold"><strong>static</strong></span> const char_type max_date_time_string;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2649804"></a><h2>Description</h2>
+<p>TODO: add doc-comments for which elements can be changed Parses input stream for strings representing special_values. Special values parsed are:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>not_a_date_time</p></li>
+<li><p>neg_infin</p></li>
+<li><p>pod_infin</p></li>
+<li><p>min_date_time</p></li>
+<li><p>max_date_time </p></li>
+</ul></div>
+<div class="refsect2" lang="en">
+<a name="id2649831"></a><h3>
+<a name="special_values_parserconstruct-copy-destruct"></a><code class="computeroutput">special_values_parser</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2393709-bb"></a>special_values_parser();</pre></li>
+<li><pre class="literallayout"><a name="id2393717-bb"></a>special_values_parser(<span class="bold"><strong>const</strong></span> string_type &amp; nadt_str,
+                      <span class="bold"><strong>const</strong></span> string_type &amp; neg_inf_str,
+                      <span class="bold"><strong>const</strong></span> string_type &amp; pos_inf_str,
+                      <span class="bold"><strong>const</strong></span> string_type &amp; min_dt_str,
+                      <span class="bold"><strong>const</strong></span> string_type &amp; max_dt_str);</pre></li>
+<li><pre class="literallayout"><a name="id2452348-bb"></a>special_values_parser(<span class="bold"><strong>typename</strong></span> collection_type::iterator beg,
+                      <span class="bold"><strong>typename</strong></span> collection_type::iterator end);</pre></li>
+<li><pre class="literallayout"><a name="id2452371-bb"></a>special_values_parser(<span class="bold"><strong>const</strong></span> <a href="special_values_parser.html" title="Class template special_values_parser">special_values_parser</a>&lt; date_type, charT &gt; &amp; svp);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2649975"></a><h3>
+<a name="id2461674-bb"></a><code class="computeroutput">special_values_parser</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2461679-bb"></a>sv_strings(<span class="bold"><strong>const</strong></span> string_type &amp; nadt_str, <span class="bold"><strong>const</strong></span> string_type &amp; neg_inf_str,
+                <span class="bold"><strong>const</strong></span> string_type &amp; pos_inf_str,
+                <span class="bold"><strong>const</strong></span> string_type &amp; min_dt_str,
+                <span class="bold"><strong>const</strong></span> string_type &amp; max_dt_str) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2472129-bb"></a>match(stream_itr_type &amp; sitr, stream_itr_type &amp; str_end,
+           match_results &amp; mr) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="special_values_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2421174"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="convert_string_type.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/split_iterator.html b/doc/html/split_iterator.html
new file mode 100644
index 0000000000..5f66a3cc65
--- /dev/null
+++ b/doc/html/split_iterator.html
@@ -0,0 +1,111 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template split_iterator</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2382464" title="Header &lt;boost/algorithm/string/find_iterator.hpp&gt;">
+<link rel="prev" href="find_iterator.html" title="Class template find_iterator">
+<link rel="next" href="make_find_iterator.html" title="Function template make_find_iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_iterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2382464"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="make_find_iterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="split_iterator"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template split_iterator</span></h2>
+<p>boost::algorithm::split_iterator &#8212; split_iterator </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> IteratorT&gt;
+<span class="bold"><strong>class</strong></span> split_iterator {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="split_iterator.html#split_iteratorconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="split_iterator.html#id2548798-bb">split_iterator</a>();
+  <a href="split_iterator.html#id2514532-bb">split_iterator</a>(<span class="bold"><strong>const</strong></span> <a href="split_iterator.html" title="Class template split_iterator">split_iterator</a> &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> FinderT&gt; <a href="split_iterator.html#id2557094-bb">split_iterator</a>(IteratorT, IteratorT, FinderT);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> FinderT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+    <a href="split_iterator.html#id2354058-bb">split_iterator</a>(RangeT &amp;, FinderT);
+
+  <span class="emphasis"><em>// <a href="split_iterator.html#id2376392-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="split_iterator.html#id2376396-bb">eof</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="split_iterator.html#id2356464-bb">private member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>const</strong></span> match_type &amp;</span> <a href="split_iterator.html#id2356468-bb">dereference</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="split_iterator.html#id2570325-bb">increment</a>() ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="split_iterator.html#id2371940-bb">equal</a>(<span class="bold"><strong>const</strong></span> <a href="split_iterator.html" title="Class template split_iterator">split_iterator</a> &amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2758612"></a><h2>Description</h2>
+<p>Split iterator encapsulates a Finder and allows for incremental searching in a string. Unlike the find iterator, split iterator iterates through gaps between matches.</p>
+<p>Find iterator is a readable forward traversal iterator.</p>
+<p>Dereferencing the iterator yields an iterator_range delimiting the current match. </p>
+<div class="refsect2" lang="en">
+<a name="id2758627"></a><h3>
+<a name="split_iteratorconstruct-copy-destruct"></a><code class="computeroutput">split_iterator</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2548798-bb"></a>split_iterator();</pre>
+<p>Construct null iterator. All null iterators are equal.</p>
+<p></p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ eof()==true </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2514532-bb"></a>split_iterator(<span class="bold"><strong>const</strong></span> <a href="split_iterator.html" title="Class template split_iterator">split_iterator</a> &amp; Other);</pre>
+<p>Construct a copy of the split_iterator </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> FinderT&gt;
+  <a name="id2557094-bb"></a>split_iterator(IteratorT Begin, IteratorT End, FinderT Finder);</pre>
+<p>Construct new split_iterator for a given finder and a range. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> FinderT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <a name="id2354058-bb"></a>split_iterator(RangeT &amp; Col, FinderT Finder);</pre>
+<p>Construct new split_iterator for a given finder and a collection. </p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2758773"></a><h3>
+<a name="id2376392-bb"></a><code class="computeroutput">split_iterator</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2376396-bb"></a>eof() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Check the eof condition. Eof condition means that there is nothing more to be searched i.e. find_iterator is after the last match. </p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2758822"></a><h3>
+<a name="id2356464-bb"></a><code class="computeroutput">split_iterator</code> private member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> match_type &amp;</span> <a name="id2356468-bb"></a>dereference() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2570325-bb"></a>increment() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2371940-bb"></a>equal(<span class="bold"><strong>const</strong></span> <a href="split_iterator.html" title="Class template split_iterator">split_iterator</a> &amp; Other) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_iterator.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2382464"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="make_find_iterator.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/split_regex.html b/doc/html/split_regex.html
new file mode 100644
index 0000000000..b78c432cb8
--- /dev/null
+++ b/doc/html/split_regex.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template split_regex</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2556226" title="Header &lt;boost/algorithm/string/regex.hpp&gt;">
+<link rel="prev" href="find_all_regex.html" title="Function template find_all_regex">
+<link rel="next" href="id2569821.html" title="Function template regex_finder">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_all_regex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2569821.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="split_regex"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template split_regex</span></h2>
+<p>boost::algorithm::split_regex &#8212; Split regex algorithm. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceSequenceT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> CharT,
+         <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+  <span class="type">SequenceSequenceT &amp;</span>
+  split_regex(SequenceSequenceT &amp; Result, <span class="bold"><strong>const</strong></span> RangeT &amp; Input,
+              <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp; Rx,
+              match_flag_type Flags = match_default);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2765410"></a><h2>Description</h2>
+<p>Tokenize expression. This function is equivalent to C strtok. Input sequence is split into tokens, separated by separators. Separator is an every match of the given regex. Each part is copied and added as a new element to the output container. Thus the result container must be able to hold copies of the matches (in a compatible structure like std::string) or a reference to it (e.g. using the iterator range class). Examples of such a container are <code class="computeroutput">std::vector&lt;std::string&gt;</code> or <code class="computeroutput">std::list&lt;boost::iterator_range&lt;std::string::iterator&gt;&gt;</code></p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Flags</span></dt>
+<dd><p>Regex options </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>A container which will be searched. </p></dd>
+<dt><span class="term">Result</span></dt>
+<dd><p>A container that can hold copies of references to the substrings. </p></dd>
+<dt><span class="term">Rx</span></dt>
+<dd><p>A regular expression </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ A reference to the result<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Prior content of the result will be overwritten.<p>This function provides the strong exception-safety guarantee </p></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_all_regex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2556226"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2569821.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/split_timedate_system.html b/doc/html/split_timedate_system.html
new file mode 100644
index 0000000000..ce8e7502fe
--- /dev/null
+++ b/doc/html/split_timedate_system.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template split_timedate_system</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2478063" title="Header &lt;boost/date_time/time_system_split.hpp&gt;">
+<link rel="prev" href="counted_time_system.html" title="Class template counted_time_system">
+<link rel="next" href="time_zone_base.html" title="Class template time_zone_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="counted_time_system.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2478063"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_zone_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="split_timedate_system"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template split_timedate_system</span></h2>
+<p>boost::date_time::split_timedate_system &#8212; An unadjusted time system implementation. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> config, boost::int32_t ticks_per_second&gt;
+<span class="bold"><strong>class</strong></span> split_timedate_system {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> config::time_rep_type                                              time_rep_type;     
+  <span class="bold"><strong>typedef</strong></span> config::date_type                                                  date_type;         
+  <span class="bold"><strong>typedef</strong></span> config::time_duration_type                                         time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> config::date_duration_type                                         date_duration_type;
+  <span class="bold"><strong>typedef</strong></span> config::int_type                                                   int_type;          
+  <span class="bold"><strong>typedef</strong></span> config::resolution_traits                                          resolution_traits; 
+  <span class="bold"><strong>typedef</strong></span> <a href="wrapping_int.html" title="Class template wrapping_int">date_time::wrapping_int</a>&lt; int_type, INT64_C(86400)*ticks_per_second wrap_int_type;     
+  <span class="bold"><strong>typedef</strong></span> <a href="wrapping_int.html" title="Class template wrapping_int">date_time::wrapping_int</a>&lt; int_type, ticks_per_day &gt;                 wrap_int_type;     
+
+  <span class="emphasis"><em>// <a href="split_timedate_system.html#id2478183-bb">public static functions</a></em></span>
+  <span class="type">time_rep_type</span> <a href="split_timedate_system.html#id2479799-bb">get_time_rep</a>(special_values) ;
+  <span class="type">time_rep_type</span>
+  <a href="split_timedate_system.html#id2479822-bb">get_time_rep</a>(<span class="bold"><strong>const</strong></span> date_type &amp;, <span class="bold"><strong>const</strong></span> time_duration_type &amp;,
+               date_time::dst_flags = not_dst) ;
+  <span class="type">date_type</span> <a href="split_timedate_system.html#id2479868-bb">get_date</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;) ;
+  <span class="type">time_duration_type</span> <a href="split_timedate_system.html#id2479890-bb">get_time_of_day</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;) ;
+  <span class="type">std::string</span> <a href="split_timedate_system.html#id2479913-bb">zone_name</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="split_timedate_system.html#id2479935-bb">is_equal</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;, <span class="bold"><strong>const</strong></span> time_rep_type &amp;) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="split_timedate_system.html#id2479967-bb">is_less</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;, <span class="bold"><strong>const</strong></span> time_rep_type &amp;) ;
+  <span class="type">time_rep_type</span> <a href="split_timedate_system.html#id2480000-bb">add_days</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;, <span class="bold"><strong>const</strong></span> date_duration_type &amp;) ;
+  <span class="type">time_rep_type</span>
+  <a href="split_timedate_system.html#id2443750-bb">subtract_days</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;, <span class="bold"><strong>const</strong></span> date_duration_type &amp;) ;
+  <span class="type">time_rep_type</span>
+  <a href="split_timedate_system.html#id2443783-bb">subtract_time_duration</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;, <span class="bold"><strong>const</strong></span> time_duration_type &amp;) ;
+  <span class="type">time_rep_type</span> <a href="split_timedate_system.html#id2443815-bb">add_time_duration</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;, time_duration_type) ;
+  <span class="type">time_duration_type</span>
+  <a href="split_timedate_system.html#id2443848-bb">subtract_times</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;, <span class="bold"><strong>const</strong></span> time_rep_type &amp;) ;
+
+  <span class="emphasis"><em>// <a href="split_timedate_system.html#id2443881-bb">private member functions</a></em></span>
+  <span class="type"></span> <a href="split_timedate_system.html#id2443886-bb">BOOST_STATIC_CONSTANT</a>(int_type,
+                         ticks_per_day = INT64_C(86400)*config::tick_per_second) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2663411"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2663414"></a><h3>
+<a name="id2478183-bb"></a><code class="computeroutput">split_timedate_system</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">time_rep_type</span> <a name="id2479799-bb"></a>get_time_rep(special_values sv) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_rep_type</span>
+<a name="id2479822-bb"></a>get_time_rep(<span class="bold"><strong>const</strong></span> date_type &amp; day, <span class="bold"><strong>const</strong></span> time_duration_type &amp; tod,
+             date_time::dst_flags dst = not_dst) ;</pre></li>
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2479868-bb"></a>get_date(<span class="bold"><strong>const</strong></span> time_rep_type &amp; val) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_duration_type</span> <a name="id2479890-bb"></a>get_time_of_day(<span class="bold"><strong>const</strong></span> time_rep_type &amp; val) ;</pre></li>
+<li><pre class="literallayout"><span class="type">std::string</span> <a name="id2479913-bb"></a>zone_name(<span class="bold"><strong>const</strong></span> time_rep_type &amp; ) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2479935-bb"></a>is_equal(<span class="bold"><strong>const</strong></span> time_rep_type &amp; lhs, <span class="bold"><strong>const</strong></span> time_rep_type &amp; rhs) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2479967-bb"></a>is_less(<span class="bold"><strong>const</strong></span> time_rep_type &amp; lhs, <span class="bold"><strong>const</strong></span> time_rep_type &amp; rhs) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_rep_type</span>
+<a name="id2480000-bb"></a>add_days(<span class="bold"><strong>const</strong></span> time_rep_type &amp; base, <span class="bold"><strong>const</strong></span> date_duration_type &amp; dd) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_rep_type</span>
+<a name="id2443750-bb"></a>subtract_days(<span class="bold"><strong>const</strong></span> time_rep_type &amp; base, <span class="bold"><strong>const</strong></span> date_duration_type &amp; dd) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_rep_type</span>
+<a name="id2443783-bb"></a>subtract_time_duration(<span class="bold"><strong>const</strong></span> time_rep_type &amp; base,
+                       <span class="bold"><strong>const</strong></span> time_duration_type &amp; td) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_rep_type</span>
+<a name="id2443815-bb"></a>add_time_duration(<span class="bold"><strong>const</strong></span> time_rep_type &amp; base, time_duration_type td) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_duration_type</span>
+<a name="id2443848-bb"></a>subtract_times(<span class="bold"><strong>const</strong></span> time_rep_type &amp; lhs, <span class="bold"><strong>const</strong></span> time_rep_type &amp; rhs) ;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2663772"></a><h3>
+<a name="id2443881-bb"></a><code class="computeroutput">split_timedate_system</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"></span> <a name="id2443886-bb"></a>BOOST_STATIC_CONSTANT(int_type ,
+                       ticks_per_day = INT64_C(86400)*config::tick_per_second) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="counted_time_system.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2478063"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_zone_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/starts_with.html b/doc/html/starts_with.html
new file mode 100644
index 0000000000..7d9ac5bc22
--- /dev/null
+++ b/doc/html/starts_with.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function starts_with</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2589054" title="Header &lt;boost/algorithm/string/predicate.hpp&gt;">
+<link rel="prev" href="empty_formatter.html" title="Function template empty_formatter">
+<link rel="next" href="istarts_with.html" title="Function template istarts_with">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="empty_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2589054"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="istarts_with.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="starts_with"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function starts_with</span></h2>
+<p>boost::algorithm::starts_with &#8212; 'Starts with' predicate </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> starts_with(<span class="bold"><strong>const</strong></span> Range1T &amp; Input, <span class="bold"><strong>const</strong></span> Range2T &amp; Test,
+                   PredicateT Comp);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> starts_with(<span class="bold"><strong>const</strong></span> Range1T &amp; Input, <span class="bold"><strong>const</strong></span> Range2T &amp; Test);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2761430"></a><h2>Description</h2>
+<p>This predicate holds when the test string is a prefix of the Input. In other words, if the input starts with the test. When the optional predicate is specified, it is used for character-wise comparison.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Comp</span></dt>
+<dd><p>An element comparison predicate </p></dd>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">Test</span></dt>
+<dd><p>A test sequence </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ The result of the test<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="empty_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2589054"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="istarts_with.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/static_local_time_adjustor.html b/doc/html/static_local_time_adjustor.html
new file mode 100644
index 0000000000..2fb1c372c3
--- /dev/null
+++ b/doc/html/static_local_time_adjustor.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template static_local_time_adjustor</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2485115" title="Header &lt;boost/date_time/local_time_adjustor.hpp&gt;">
+<link rel="prev" href="id2434970.html" title="Class template dynamic_local_time_adjustor">
+<link rel="next" href="local_adjustor.html" title="Class template local_adjustor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2434970.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2485115"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="local_adjustor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="static_local_time_adjustor"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template static_local_time_adjustor</span></h2>
+<p>boost::date_time::static_local_time_adjustor &#8212; Embed the rules for local time adjustments at compile time. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type, <span class="bold"><strong>typename</strong></span> dst_rules, <span class="bold"><strong>typename</strong></span> utc_offset_rules&gt;
+<span class="bold"><strong>class</strong></span> static_local_time_adjustor {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> time_type::time_duration_type time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> time_type::date_type          date_type;         
+
+  <span class="emphasis"><em>// <a href="static_local_time_adjustor.html#id2470285-bb">public static functions</a></em></span>
+  <span class="type">time_duration_type</span> <a href="static_local_time_adjustor.html#id2513271-bb">utc_to_local_offset</a>(<span class="bold"><strong>const</strong></span> time_type &amp;) ;
+  <span class="type">time_duration_type</span>
+  <a href="static_local_time_adjustor.html#id2394670-bb">local_to_utc_offset</a>(<span class="bold"><strong>const</strong></span> time_type &amp;,
+                      date_time::dst_flags = date_time::calculate) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2643483"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2643486"></a><h3>
+<a name="id2470285-bb"></a><code class="computeroutput">static_local_time_adjustor</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type">time_duration_type</span> <a name="id2513271-bb"></a>utc_to_local_offset(<span class="bold"><strong>const</strong></span> time_type &amp; t) ;</pre>
+<p>
+The logic is as follows. Starting with UTC time use the offset to create a label for an non-dst adjusted local time. Then call dst_rules::local_is_dst with the non adjust local time. The results of this function will either unabiguously decide that the initial local time is in dst or return an illegal or ambiguous result. An illegal result only occurs at the end of dst (where labels are skipped) and indicates that dst has ended. An ambiguous result means that we need to recheck by making a dst adjustment and then rechecking. If the dst offset is added to the utc time and the recheck proves non-ambiguous then we are past the boundary. If it is still ambiguous then we are ahead of the boundary and dst is still in effect.</p>
+<p>TODO -- check if all dst offsets are positive. If not then the algorithm needs to check for this and reverse the illegal/ambiguous logic. </p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">t</span></dt>
+<dd><p>UTC time to calculate offset to local time This adjustment depends on the following observations about the workings of the DST boundary offset. Since UTC time labels are monotonically increasing we can determine if a given local time is in DST or not and therefore adjust the offset appropriately.</p></dd>
+</dl>
+</div>
+</li>
+<li><pre class="literallayout"><span class="type">time_duration_type</span>
+<a name="id2394670-bb"></a>local_to_utc_offset(<span class="bold"><strong>const</strong></span> time_type &amp; t,
+                    date_time::dst_flags dst = date_time::calculate) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2434970.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2485115"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="local_adjustor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/static_visitor.html b/doc/html/static_visitor.html
new file mode 100644
index 0000000000..bc3fa4c38b
--- /dev/null
+++ b/doc/html/static_visitor.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template static_visitor</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2645589" title="Header &lt;boost/variant/static_visitor.hpp&gt;">
+<link rel="prev" href="bad_visit.html" title="Class bad_visit">
+<link rel="next" href="visitor_ptr_t.html" title="Class template visitor_ptr_t">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_visit.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2645589"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="visitor_ptr_t.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="static_visitor"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template static_visitor</span></h2>
+<p>boost::static_visitor &#8212; Convenient base type for static visitors.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ResultType&gt;
+<span class="bold"><strong>class</strong></span> static_visitor {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> ResultType result_type; <span class="emphasis"><em>// Exposes result_type member as required by StaticVisitor concept.</em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2839838"></a><h2>Description</h2>
+<p>Denotes the intent of the deriving class as meeting the
+ requirements of a static visitor of some type. Also exposes the
+ inner type <code class="computeroutput">result_type</code> as required by the
+ <a href="variant/reference.html#variant.concepts.static-visitor" title="StaticVisitor"><span class="emphasis"><em>StaticVisitor</em></span></a>
+ concept.</p>
+<p><span class="bold"><strong>Notes</strong></span>:
+ <code class="computeroutput">static_visitor</code> is intended for use as a base type only
+ and is therefore noninstantiable.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_visit.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2645589"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="visitor_ptr_t.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/string_algo.html b/doc/html/string_algo.html
new file mode 100644
index 0000000000..ab0ff50610
--- /dev/null
+++ b/doc/html/string_algo.html
@@ -0,0 +1,171 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 11. Boost String Algorithms Library</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries">
+<link rel="prev" href="boost_staticassert/test.html" title=" Test Programs">
+<link rel="next" href="string_algo/release_notes.html" title="Release Notes">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost_staticassert/test.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="string_algo/release_notes.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="string_algo"></a>Chapter 11. Boost String Algorithms Library</h2></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Pavol</span> <span class="surname">Droba</span>
+</h3></div></div>
+<div><p class="copyright">Copyright © 2002-2004 Pavol Droba</p></div>
+<div><div class="legalnotice">
+<a name="id2742250"></a><p>Use, modification and distribution is subject to the Boost
+ Software License, Version 1.0. (See accompanying file
+ <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="string_algo.html#string_algo.intro">Introduction</a></span></dt>
+<dt><span class="section"><a href="string_algo/release_notes.html">Release Notes</a></span></dt>
+<dt><span class="section"><a href="string_algo/usage.html">Usage</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="string_algo/usage.html#id2742478">First Example</a></span></dt>
+<dt><span class="section"><a href="string_algo/usage.html#id2742674">Case conversion</a></span></dt>
+<dt><span class="section"><a href="string_algo/usage.html#id2742730">Predicates and Classification</a></span></dt>
+<dt><span class="section"><a href="string_algo/usage.html#id2742817">Trimming</a></span></dt>
+<dt><span class="section"><a href="string_algo/usage.html#id2742878">Find algorithms</a></span></dt>
+<dt><span class="section"><a href="string_algo/usage.html#id2742991">Replace Algorithms</a></span></dt>
+<dt><span class="section"><a href="string_algo/usage.html#id2743115">Find Iterator</a></span></dt>
+<dt><span class="section"><a href="string_algo/usage.html#id2743220">Split</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="string_algo/quickref.html">Quick Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="string_algo/quickref.html#id2743361">Algorithms</a></span></dt>
+<dt><span class="section"><a href="string_algo/quickref.html#id2744766">Finders and Formatters</a></span></dt>
+<dt><span class="section"><a href="string_algo/quickref.html#id2745026">Iterators</a></span></dt>
+<dt><span class="section"><a href="string_algo/quickref.html#id2745083">Classification</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="string_algo/design.html">Design Topics</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="string_algo/design.html#string_algo.string">String Representation</a></span></dt>
+<dt><span class="section"><a href="string_algo/design.html#string_algo.sequence_traits">Sequence Traits</a></span></dt>
+<dt><span class="section"><a href="string_algo/design.html#string_algo.find">Find Algorithms</a></span></dt>
+<dt><span class="section"><a href="string_algo/design.html#string_algo.replace">Replace Algorithms</a></span></dt>
+<dt><span class="section"><a href="string_algo/design.html#string_algo.split">Find Iterators &amp; Split Algorithms</a></span></dt>
+<dt><span class="section"><a href="string_algo/design.html#string_algo.exception">Exception Safety</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="string_algo/concept.html">Concepts</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="string_algo/concept.html#id2745880">Definitions</a></span></dt>
+<dt><span class="section"><a href="string_algo/concept.html#string_algo.finder_concept">Finder Concept</a></span></dt>
+<dt><span class="section"><a href="string_algo/concept.html#string_algo.formatter_concept">Formatter concept</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="string_algo/reference.html">Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="string_algo/reference.html#id2352615">Header &lt;boost/algorithm/string/case_conv.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html#id2336200">Header &lt;boost/algorithm/string/classification.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html#id2558715">Header &lt;boost/algorithm/string/compare.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html#id2353460">Header &lt;boost/algorithm/string/concept.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html#id2384198">Header &lt;boost/algorithm/string/constants.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html#id2571451">Header &lt;boost/algorithm/string/erase.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html#id2487443">Header &lt;boost/algorithm/string/find.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html#id2441187">Header &lt;boost/algorithm/string/find_format.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html#id2382464">Header &lt;boost/algorithm/string/find_iterator.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html#id2447201">Header &lt;boost/algorithm/string/finder.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html#id2356089">Header &lt;boost/algorithm/string/formatter.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html#id2589054">Header &lt;boost/algorithm/string/predicate.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html#id2556226">Header &lt;boost/algorithm/string/regex.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html#id2382044">Header &lt;boost/algorithm/string/regex_find_format.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html#id2553153">Header &lt;boost/algorithm/string/replace.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html#id2372677">Header &lt;boost/algorithm/string/sequence_traits.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html#id2541245">Header &lt;boost/algorithm/string/split.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html#id2552168">Header &lt;boost/algorithm/string/std_containers_traits.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html#id2552179">Header &lt;boost/algorithm/string.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html#id2573542">Header &lt;boost/algorithm/string_regex.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="string_algo/reference.html#id2573553">Header &lt;boost/algorithm/string/trim.hpp&gt;</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="string_algo/rationale.html">Rationale</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="string_algo/rationale.html#id2774637">Locales</a></span></dt>
+<dt><span class="section"><a href="string_algo/rationale.html#string_algo.regex">Regular Expressions</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="string_algo/env.html">Environment</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="string_algo/env.html#id2774731">Build</a></span></dt>
+<dt><span class="section"><a href="string_algo/env.html#id2774753">Examples</a></span></dt>
+<dt><span class="section"><a href="string_algo/env.html#id2774765">Tests</a></span></dt>
+<dt><span class="section"><a href="string_algo/env.html#id2774775">Portability</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="string_algo/credits.html">Credits</a></span></dt>
+<dd><dl><dt><span class="section"><a href="string_algo/credits.html#string_algo.ack">Acknowledgments</a></span></dt></dl></dd>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="string_algo.intro"></a>Introduction</h3></div></div></div>
+<p>
+ The String Algorithm Library provides a generic implementation of
+ string-related algorithms which are missing in STL. It is an extension
+ to the algorithms library of STL and it includes trimming, case conversion,
+ predicates and find/replace functions. All of them come in different variants
+ so it is easier to choose the best fit for a particular need.
+ </p>
+<p>
+ The implementation is not restricted to work with a particular container
+ (like <code class="computeroutput">std::basic_string</code>), rather it is as generic as
+ possible. This generalization is not compromising the performance since
+ algorithms are using container specific features when it means a performance
+ gain.
+ </p>
+<p><span class="bold"><strong>
+ Important note: In this documentation we use term <span class="emphasis"><em>string</em></span> to
+ designate a sequence of <span class="emphasis"><em>characters</em></span> stored in an arbitrary container.
+ A <span class="emphasis"><em>string</em></span> is not restricted to <code class="computeroutput">std::basic_string</code> and
+ <span class="emphasis"><em>character</em></span> does not have to be <code class="computeroutput">char</code> or <code class="computeroutput">wchar_t</code>,
+ although these are most common candidates.
+ </strong></span>
+ Consult the <a href="string_algo/design.html" title="Design Topics">design chapter</a> to see precise specification of
+ supported string types.
+ </p>
+<p>
+ The library interface functions and classes are defined in namespace <code class="computeroutput">boost::algorithm</code>, and
+ they are lifted into namespace <code class="computeroutput">boost</code> via using declaration.
+ </p>
+<p>
+ The documentation is divided into several sections. For a quick start read the
+ <a href="string_algo/usage.html" title="Usage">Usage</a> section followed by
+ <a href="string_algo/quickref.html" title="Quick Reference">Quick Reference</a>.
+ <a href="string_algo/design.html" title="Design Topics">The Design Topics</a>,
+ <a href="string_algo/concept.html" title="Concepts">Concepts</a> and <a href="string_algo/rationale.html" title="Rationale">Rationale</a>
+ provide some explanation about the library design and structure an explain how it should be used.
+ See the <a href="string_algo/reference.html" title="Reference">Reference</a> for the complete list of provided utilities
+ and algorithms. Functions and classes in the reference are organized by the headers in which they are defined.
+ The reference contains links to the detailed description for every entity in the library.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: April 15, 2005 at 21:05:00 GMT</p></small></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost_staticassert/test.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="string_algo/release_notes.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/string_algo/concept.html b/doc/html/string_algo/concept.html
new file mode 100644
index 0000000000..41bc2d65d2
--- /dev/null
+++ b/doc/html/string_algo/concept.html
@@ -0,0 +1,229 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Concepts</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../string_algo.html" title="Chapter 11. Boost String Algorithms Library">
+<link rel="prev" href="design.html" title="Design Topics">
+<link rel="next" href="reference.html" title="Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="design.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="string_algo.concept"></a>Concepts</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="concept.html#id2745880">Definitions</a></span></dt>
+<dt><span class="section"><a href="concept.html#string_algo.finder_concept">Finder Concept</a></span></dt>
+<dt><span class="section"><a href="concept.html#string_algo.formatter_concept">Formatter concept</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2745880"></a>Definitions</h4></div></div></div>
+<div class="table">
+<a name="id2745884"></a><p class="title"><b>Table 11.12. Notation</b></p>
+<table class="table" summary="Notation">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td align="left"><code class="computeroutput">F</code></td>
+<td align="left">A type that is a model of Finder</td>
+</tr>
+<tr>
+<td align="left"><code class="computeroutput">Fmt</code></td>
+<td align="left">A type that is a model of Formatter</td>
+</tr>
+<tr>
+<td align="left"><code class="computeroutput">Iter</code></td>
+<td align="left">
+ Iterator Type
+ </td>
+</tr>
+<tr>
+<td align="left"><code class="computeroutput">f</code></td>
+<td align="left">Object of type <code class="computeroutput">F</code>
+</td>
+</tr>
+<tr>
+<td align="left"><code class="computeroutput">fmt</code></td>
+<td align="left">Object of type <code class="computeroutput">Fmt</code>
+</td>
+</tr>
+<tr>
+<td align="left"><code class="computeroutput">i,j</code></td>
+<td align="left">Objects of type <code class="computeroutput">Iter</code>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="string_algo.finder_concept"></a>Finder Concept</h4></div></div></div>
+<p>
+ Finder is a functor which searches for an arbitrary part of a container.
+ The result of the search is given as an <code class="computeroutput">iterator_range</code>
+ delimiting the selected part.
+ </p>
+<div class="table">
+<a name="id2745984"></a><p class="title"><b>Table 11.13. Valid Expressions</b></p>
+<table class="table" summary="Valid Expressions">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Expression</th>
+<th align="left">Return Type</th>
+<th align="left">Effects</th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><code class="computeroutput">f(i,j)</code></td>
+<td align="left">Convertible to <code class="computeroutput">iterator_range&lt;Iter&gt;</code>
+</td>
+<td align="left">Perform the search on the interval [i,j) and returns the result of the search</td>
+</tr></tbody>
+</table>
+</div>
+<p>
+ Various algorithms need to perform a search in a container and a Finder is a generalization of such
+ search operations that allows algorithms to abstract from searching. For instance, generic replace
+ algorithms can replace any part of the input, and the Finder is used to select the desired one.
+ </p>
+<p>
+ Note, that it is only required that the finder works with a particular iterator type. However,
+ a Finder operation can be defined as a template, allowing the Finder to work with any iterator.
+ </p>
+<p><span class="bold"><strong>Examples</strong></span></p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Finder implemented as a class. This Finder always returns the whole input as a match. <code class="computeroutput">operator()</code>
+ is templated, so that the finder can be used on any iterator type.
+
+ <pre class="programlisting">
+struct simple_finder
+{
+ template&lt;typename ForwardIteratorT&gt;
+ boost::iterator_range&lt;ForwardIterator&gt; operator()(
+ ForwardIteratorT Begin,
+ ForwardIteratorT End )
+ {
+ return boost::make_range( Begin, End );
+ }
+};
+ </pre>
+</li>
+<li>
+ Function Finder. Finder can be any function object. That is, any ordinary function with the
+ required signature can be used as well. However, such a function can be used only for
+ a specific iterator type.
+
+ <pre class="programlisting">
+boost::iterator_range&lt;std::string&gt; simple_finder(
+ std::string::const_iterator Begin,
+ std::string::const_iterator End )
+{
+ return boost::make_range( Begin, End );
+}
+ </pre>
+</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="string_algo.formatter_concept"></a>Formatter concept</h4></div></div></div>
+<p>
+ Formatters are used by <a href="design.html#string_algo.replace" title="Replace Algorithms">replace algorithms</a>.
+ They are used in close combination with finders.
+ A formatter is a functor, which takes a result from a Finder operation and transforms it in a specific way.
+ The operation of the formatter can use additional information provided by a specific finder,
+ for example <code class="computeroutput"><a href="../id2586835.html" title="Function template regex_formatter">regex_formatter()</a></code> uses the match information from
+ <code class="computeroutput"><a href="../id2559243.html" title="Function template regex_finder">regex_finder()</a></code> to format the result of formatter operation.
+ </p>
+<div class="table">
+<a name="id2746137"></a><p class="title"><b>Table 11.14. Valid Expressions</b></p>
+<table class="table" summary="Valid Expressions">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Expression</th>
+<th align="left">Return Type</th>
+<th align="left">Effects</th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><code class="computeroutput">fmt(f(i,j))</code></td>
+<td align="left">A container type, accessible using container traits</td>
+<td align="left">Formats the result of the finder operation</td>
+</tr></tbody>
+</table>
+</div>
+<p>
+ Similarly to finders, formatters generalize format operations. When a finder is used to
+ select a part of the input, formatter takes this selection and performs some formating
+ on it. Algorithms can abstract from formating using a formatter.
+ </p>
+<p><span class="bold"><strong>Examples</strong></span></p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Formatter implemented as a class. This Formatter does not perform any formating and
+ returns the match, repackaged. <code class="computeroutput">operator()</code>
+ is templated, so that the Formatter can be used on any Finder type.
+
+ <pre class="programlisting">
+struct simple_formatter
+{
+ template&lt;typename FindResultT&gt;
+ std::string operator()( const FindResultT&amp; Match )
+ {
+ std::string Temp( Match.begin(), Match.end() );
+ return Temp;
+ }
+};
+ </pre>
+</li>
+<li>
+ Function Formatter. Similarly to Finder, Formatter can be any function object.
+ However, as a function, it can be used only with a specific Finder type.
+
+ <pre class="programlisting">
+std::string simple_formatter( boost::iterator_range&lt;std::string::const_iterator&gt;&amp; Match )
+{
+ std::string Temp( Match.begin(), Match.end() );
+ return Temp;
+}
+ </pre>
+</li>
+</ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: July 16, 2004 at 09:06:39 GMT</p></small></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="design.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/string_algo/credits.html b/doc/html/string_algo/credits.html
new file mode 100644
index 0000000000..9df58513d4
--- /dev/null
+++ b/doc/html/string_algo/credits.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Credits</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../string_algo.html" title="Chapter 11. Boost String Algorithms Library">
+<link rel="prev" href="env.html" title="Environment">
+<link rel="next" href="../threads.html" title="Chapter 12. Boost.Threads">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="env.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../threads.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="string_algo.credits"></a>Credits</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="credits.html#string_algo.ack">Acknowledgments</a></span></dt></dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="string_algo.ack"></a>Acknowledgments</h4></div></div></div>
+<p>
+ The author would like to thank everybody who gave suggestions and comments. Especially valuable
+ were the contributions of Thorsten Ottosen, Jeff Garland and the other boost members who participated
+ in the review process, namely David Abrahams, Daniel Frey, Beman Dawes, John Maddock, David B.Held, Pavel Vozenilek
+ and many other.
+ </p>
+<p>
+ Additional thanks go to Stefan Slapeta and Toon Knapen, who have been very resourceful in solving various
+ portability issues.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: August 03, 2004 at 17:28:02 GMT</p></small></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="env.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../threads.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/string_algo/design.html b/doc/html/string_algo/design.html
new file mode 100644
index 0000000000..ad73ca4c70
--- /dev/null
+++ b/doc/html/string_algo/design.html
@@ -0,0 +1,255 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Design Topics</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../string_algo.html" title="Chapter 11. Boost String Algorithms Library">
+<link rel="prev" href="quickref.html" title="Quick Reference">
+<link rel="next" href="concept.html" title="Concepts">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="quickref.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="concept.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="string_algo.design"></a>Design Topics</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="design.html#string_algo.string">String Representation</a></span></dt>
+<dt><span class="section"><a href="design.html#string_algo.sequence_traits">Sequence Traits</a></span></dt>
+<dt><span class="section"><a href="design.html#string_algo.find">Find Algorithms</a></span></dt>
+<dt><span class="section"><a href="design.html#string_algo.replace">Replace Algorithms</a></span></dt>
+<dt><span class="section"><a href="design.html#string_algo.split">Find Iterators &amp; Split Algorithms</a></span></dt>
+<dt><span class="section"><a href="design.html#string_algo.exception">Exception Safety</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="string_algo.string"></a>String Representation</h4></div></div></div>
+<p>
+ As the name suggest, this library works mainly with strings. However, in the context of this library,
+ a string is not restricted to any particular implementation (like <code class="computeroutput">std::basic_string</code>),
+ rather it is a concept. This allows the algorithms in this library to be reused for any string type,
+ that satisfies the given requirements.
+ </p>
+<p><span class="bold"><strong>Definition:</strong></span> A string is a
+ <a href="../../../libs/range/doc/range.html" target="_top">range</a> of characters accessible in sequential
+ ordered fashion. Character is any value type with "cheap" copying and assignment.
+ </p>
+<p>
+ First requirement of string-type is that it must accessible using
+ <a href="../../../libs/range/index.html" target="_top">Boost.Range</a>. This facility allows to access
+ the elements inside the string in a uniform iterator-based fashion.
+ This is sufficient for our library
+ </p>
+<p>
+ Second requirement defines the way in which the characters are stored in the string. Algorithms in
+ this library work with an assumption that copying a character is cheaper then allocating extra
+ storage to cache results. This is a natural assumption for common character types. Algorithms will
+ work even if this requirement is not satisfied, however at the cost of performance degradation.
+ </p>
+<p></p>
+<p>
+ In addition some algorithms have additional requirements on the string-type. Particularly, it is required
+ that an algorithm can create a new string of the given type. In this case, it is required that
+ the type satisfies the sequence (Std §23.1.1) requirements.
+ </p>
+<p>
+ In the reference and also in the code, requirement on the string type is designated by the name of
+ template argument. <code class="computeroutput">RangeT</code> means that the basic range requirements must hold.
+ <code class="computeroutput">SequenceT</code> designates extended sequence requirements.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="string_algo.sequence_traits"></a>Sequence Traits</h4></div></div></div>
+<p>
+ The major difference between <code class="computeroutput">std::list</code> and <code class="computeroutput">std::vector</code> is not in the interfaces
+ they provide, but rather in the inner details of the class and the way how it performs
+ various operations. The problem is that it is not possible to infer this difference from the
+ definitions of classes without some special mechanism.
+ However, some algorithms can run significantly faster with the knowledge of the properties
+ of a particular container.
+ </p>
+<p>
+ Sequence traits allow one to specify additional properties of a sequence container (see Std.§32.2).
+ These properties are then used by algorithms to select optimized handling for some operations.
+ The sequence traits are declared in the header
+ <code class="computeroutput"><a href="reference.html#id2372677" title="Header &lt;boost/algorithm/string/sequence_traits.hpp&gt;">boost/algorithm/string/sequence_traits.hpp</a></code>.
+ </p>
+<p>
+ In the table C denotes a container and c is an object of C.
+ </p>
+<div class="table">
+<a name="id2745481"></a><p class="title"><b>Table 11.11. Sequence Traits</b></p>
+<table class="table" summary="Sequence Traits">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Trait</th>
+<th align="left">Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left">
+<code class="computeroutput"><a href="../has_native_replace.html" title="Class template has_native_replace">has_native_replace&lt;C&gt;</a></code>::value</td>
+<td align="left">Specifies that the sequence has std::string like replace method</td>
+</tr>
+<tr>
+<td align="left">
+<code class="computeroutput"><a href="../has_stable_iterators.html" title="Class template has_stable_iterators">has_stable_iterators&lt;C&gt;</a></code>::value</td>
+<td align="left">
+ Specifies that the sequence has stable iterators. It means,
+ that operations like <code class="computeroutput">insert</code>/<code class="computeroutput">erase</code>/<code class="computeroutput">replace</code>
+ do not invalidate iterators.
+ </td>
+</tr>
+<tr>
+<td align="left">
+<code class="computeroutput"><a href="../has_const_time_insert.html" title="Class template has_const_time_insert">has_const_time_insert&lt;C&gt;</a></code>::value</td>
+<td align="left">
+ Specifies that the insert method of the sequence has
+ constant time complexity.
+ </td>
+</tr>
+<tr>
+<td align="left">
+<code class="computeroutput"><a href="../has_const_time_erase.html" title="Class template has_const_time_erase">has_const_time_erase&lt;C&gt;</a></code>::value</td>
+<td align="left">
+ Specifies that the erase method of the sequence has constant time complexity
+ </td>
+</tr>
+</tbody>
+</table>
+</div>
+<p>
+ Current implementation contains specializations for std::list&lt;T&gt; and
+ std::basic_string&lt;T&gt; from the standard library and SGI's std::rope&lt;T&gt; and std::slist&lt;T&gt;.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="string_algo.find"></a>Find Algorithms</h4></div></div></div>
+<p>
+ Find algorithms have similar functionality to <code class="computeroutput">std::search()</code> algorithm. They provide a different
+ interface which is more suitable for common string operations.
+ Instead of returning just the start of matching subsequence they return a range which is necessary
+ when the length of the matching subsequence is not known beforehand.
+ This feature also allows a partitioning of the input sequence into three
+ parts: a prefix, a substring and a suffix.
+ </p>
+<p>
+ Another difference is an addition of various searching methods besides find_first, including find_regex.
+ </p>
+<p>
+ It the library, find algorithms are implemented in terms of
+ <a href="concept.html#string_algo.finder_concept" title="Finder Concept">Finders</a>. Finders are used also by other facilities
+ (replace,split).
+ For convenience, there are also function wrappers for these finders to simplify find operations.
+ </p>
+<p>
+ Currently the library contains only naive implementation of find algorithms with complexity
+ O(n * m) where n is the size of the input sequence and m is the size of the search sequence.
+ There are algorithms with complexity O(n), but for smaller sequence a constant overhead is
+ rather big. For small m &lt;&lt; n (m by magnitude smaller than n) the current implementation
+ provides acceptable efficiency.
+ Even the C++ standard defines the required complexity for search algorithm as O(n * m).
+ It is possible that a future version of library will also contain algorithms with linear
+ complexity as an option
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="string_algo.replace"></a>Replace Algorithms</h4></div></div></div>
+<p>
+ The implementation of replace algorithms follows the layered structure of the library. The
+ lower layer implements generic substitution of a range in the input sequence.
+ This layer takes a <a href="concept.html#string_algo.finder_concept" title="Finder Concept">Finder</a> object and a
+ <a href="concept.html#string_algo.formatter_concept" title="Formatter concept">Formatter</a> object as an input. These two
+ functors define what to replace and what to replace it with. The upper layer functions
+ are just wrapping calls to the lower layer. Finders are shared with the find and split facility.
+ </p>
+<p>
+ As usual, the implementation of the lower layer is designed to work with a generic sequence while
+ taking advantage of specific features if possible
+ (by using <a href="design.html#string_algo.sequence_traits" title="Sequence Traits">Sequence traits</a>)
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="string_algo.split"></a>Find Iterators &amp; Split Algorithms</h4></div></div></div>
+<p>
+ Find iterators are a logical extension of the <a href="design.html#string_algo.find" title="Find Algorithms">find facility</a>.
+ Instead of searching for one match, the whole input can be iteratively searched for multiple matches.
+ The result of the search is then used to partition the input. It depends on the algorithms which parts
+ are returned as the result. They can be the matching parts (<code class="computeroutput"><a href="../find_iterator.html" title="Class template find_iterator">find_iterator</a></code>) of the parts in
+ between (<code class="computeroutput"><a href="../split_iterator.html" title="Class template split_iterator">split_iterator</a></code>).
+ </p>
+<p>
+ In addition the split algorithms like <code class="computeroutput"><a href="../find_all.html" title="Function template find_all">find_all()</a></code> and <code class="computeroutput"><a href="../id2580251.html" title="Function template split">split()</a></code>
+ can simplify the common operations. They use a find iterator to search the whole input and copy the
+ matches they found into the supplied container.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="string_algo.exception"></a>Exception Safety</h4></div></div></div>
+<p>
+ The library requires that all operations on types used as template
+ or function arguments provide the <span class="emphasis"><em>basic exception-safety guarantee</em></span>.
+ In turn, all functions and algorithms in this library, except where stated
+ otherwise, will provide the <span class="emphasis"><em>basic exception-safety guarantee</em></span>.
+ In other words:
+ The library maintains its invariants and does not leak resources in
+ the face of exceptions. Some library operations give stronger
+ guarantees, which are documented on an individual basis.
+ </p>
+<p>
+ Some functions can provide the <span class="emphasis"><em>strong exception-safety guarantee</em></span>.
+ That means that following statements are true:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ If an exception is thrown, there are no effects other than those
+ of the function
+ </li>
+<li>
+ If an exception is thrown other than by the function, there are no effects
+ </li>
+</ul></div>
+<p>
+ This guarantee can be provided under the condition that the operations
+ on the types used for arguments for these functions either
+ provide the strong exception guarantee or do not alter the global state .
+ </p>
+<p>
+ In the reference, under the term <span class="emphasis"><em>strong exception-safety guarantee</em></span>, we mean the
+ guarantee as defined above.
+ </p>
+<p>
+ For more information about the exception safety topics, follow this
+ <a href="../../../more/generic_exception_safety.html" target="_top">link</a></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: May 14, 2005 at 19:11:09 GMT</p></small></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="quickref.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="concept.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/string_algo/env.html b/doc/html/string_algo/env.html
new file mode 100644
index 0000000000..fc819bf0f5
--- /dev/null
+++ b/doc/html/string_algo/env.html
@@ -0,0 +1,100 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Environment</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../string_algo.html" title="Chapter 11. Boost String Algorithms Library">
+<link rel="prev" href="rationale.html" title="Rationale">
+<link rel="next" href="credits.html" title="Credits">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rationale.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="credits.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="string_algo.env"></a>Environment</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="env.html#id2774731">Build</a></span></dt>
+<dt><span class="section"><a href="env.html#id2774753">Examples</a></span></dt>
+<dt><span class="section"><a href="env.html#id2774765">Tests</a></span></dt>
+<dt><span class="section"><a href="env.html#id2774775">Portability</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2774731"></a>Build</h4></div></div></div>
+<p>
+ The whole library is provided in headers. Regex variants of some algorithms,
+ however, are dependent on the Boost.Regex library. All such algorithms are
+ separated in <code class="computeroutput"><a href="reference.html#id2573542" title="Header &lt;boost/algorithm/string_regex.hpp&gt;">boost/algorithm/string_regex.hpp</a></code>.
+ If this header is used, the application must be linked with the Boost.Regex
+ library.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2774753"></a>Examples</h4></div></div></div>
+<p>
+ Examples showing the basic usage of the library can be found in the libs/algorithm/string/example
+ directory. There is a separate file for the each part of the library. Please follow the boost
+ build guidelines to build examples using the bjam. To successfully build regex examples
+ the Boost.Regex library is required.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2774765"></a>Tests</h4></div></div></div>
+<p>
+ A full set of test cases for the library is located in the libs/algorithm/string/test directory.
+ The test cases can be executed using the boost build system. For the tests of regular
+ expression variants of algorithms, the Boost.Regex library is required.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2774775"></a>Portability</h4></div></div></div>
+<p>
+ The library has been successfully compiled and tested with the following compilers:
+
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>Microsoft Visual C++ 7.0</li>
+<li>Microsoft Visual C++ 7.1</li>
+<li>GCC 3.2</li>
+<li>GCC 3.3.1</li>
+</ul></div>
+<p>
+
+ See <a href="http://boost.sourceforge.net/regression-logs/" target="_top">Boost regression tables</a>
+ for additional info for a particular compiler.
+ </p>
+<p>
+ There are known limitation on platforms not supporting partial template specialization.
+ Library depends on correctly implemented <code class="computeroutput">std::iterator_traits</code> class.
+ If a standard library provided with compiler is broken, the String Algorithm Library
+ cannot function properly. Usually it implies that primitive pointer iterators are not
+ working with the library functions.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: July 15, 2004 at 21:47:21 GMT</p></small></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rationale.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="credits.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/string_algo/quickref.html b/doc/html/string_algo/quickref.html
new file mode 100644
index 0000000000..2c57dcfe0f
--- /dev/null
+++ b/doc/html/string_algo/quickref.html
@@ -0,0 +1,551 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Quick Reference</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../string_algo.html" title="Chapter 11. Boost String Algorithms Library">
+<link rel="prev" href="usage.html" title="Usage">
+<link rel="next" href="design.html" title="Design Topics">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="usage.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="design.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="string_algo.quickref"></a>Quick Reference</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="quickref.html#id2743361">Algorithms</a></span></dt>
+<dt><span class="section"><a href="quickref.html#id2744766">Finders and Formatters</a></span></dt>
+<dt><span class="section"><a href="quickref.html#id2745026">Iterators</a></span></dt>
+<dt><span class="section"><a href="quickref.html#id2745083">Classification</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2743361"></a>Algorithms</h4></div></div></div>
+<div class="table">
+<a name="id2743364"></a><p class="title"><b>Table 11.1. Case Conversion</b></p>
+<table class="table" summary="Case Conversion">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Algorithm name</th>
+<th align="left">Description</th>
+<th align="left">Functions</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left"><code class="computeroutput">to_upper</code></td>
+<td align="left">Convert a string to upper case</td>
+<td align="left">
+<code class="computeroutput"><a href="../to_upper_copy.html" title="Function to_upper_copy">to_upper_copy()</a></code><br><code class="computeroutput"><a href="../to_upper.html" title="Function template to_upper">to_upper()</a></code>
+</td>
+</tr>
+<tr>
+<td align="left"><code class="computeroutput">to_lower</code></td>
+<td align="left">Convert a string to lower case</td>
+<td align="left">
+<code class="computeroutput"><a href="../to_lower_copy.html" title="Function to_lower_copy">to_lower_copy()</a></code><br><code class="computeroutput"><a href="../to_lower.html" title="Function template to_lower">to_lower()</a></code>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="table">
+<a name="id2743446"></a><p class="title"><b>Table 11.2. Trimming</b></p>
+<table class="table" summary="Trimming">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Algorithm name</th>
+<th align="left">Description</th>
+<th align="left">Functions</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left"><code class="computeroutput">trim_left</code></td>
+<td align="left">Remove leading spaces from a string</td>
+<td align="left">
+<code class="computeroutput"><a href="../trim_left_copy_if.html" title="Function trim_left_copy_if">trim_left_copy_if()</a></code><br><code class="computeroutput"><a href="../trim_left_if.html" title="Function template trim_left_if">trim_left_if()</a></code><br><code class="computeroutput"><a href="../trim_left_copy.html" title="Function template trim_left_copy">trim_left_copy()</a></code><br><code class="computeroutput"><a href="../trim_left.html" title="Function template trim_left">trim_left()</a></code>
+</td>
+</tr>
+<tr>
+<td align="left"><code class="computeroutput">trim_right</code></td>
+<td align="left">Remove trailing spaces from a string</td>
+<td align="left">
+<code class="computeroutput"><a href="../trim_right_copy_if.html" title="Function trim_right_copy_if">trim_right_copy_if()</a></code><br><code class="computeroutput"><a href="../trim_right_if.html" title="Function template trim_right_if">trim_right_if()</a></code><br><code class="computeroutput"><a href="../trim_right_copy.html" title="Function template trim_right_copy">trim_right_copy()</a></code><br><code class="computeroutput"><a href="../trim_right.html" title="Function template trim_right">trim_right()</a></code>
+</td>
+</tr>
+<tr>
+<td align="left"><code class="computeroutput">trim</code></td>
+<td align="left">Remove leading and trailing spaces from a string</td>
+<td align="left">
+<code class="computeroutput"><a href="../trim_copy_if.html" title="Function trim_copy_if">trim_copy_if()</a></code><br><code class="computeroutput"><a href="../trim_if.html" title="Function template trim_if">trim_if()</a></code><br><code class="computeroutput"><a href="../trim_copy.html" title="Function template trim_copy">trim_copy()</a></code><br><code class="computeroutput"><a href="../trim.html" title="Function template trim">trim()</a></code>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="table">
+<a name="id2743633"></a><p class="title"><b>Table 11.3. Predicates</b></p>
+<table class="table" summary="Predicates">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Algorithm name</th>
+<th align="left">Description</th>
+<th align="left">Functions</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left"><code class="computeroutput">starts_with</code></td>
+<td align="left">Check if a string is a prefix of the other one</td>
+<td align="left">
+<code class="computeroutput"><a href="../starts_with.html" title="Function starts_with">starts_with()</a></code><br><code class="computeroutput"><a href="../istarts_with.html" title="Function template istarts_with">istarts_with()</a></code>
+</td>
+</tr>
+<tr>
+<td align="left"><code class="computeroutput">ends_with</code></td>
+<td align="left">Check if a string is a suffix of the other one</td>
+<td align="left">
+<code class="computeroutput"><a href="../ends_with.html" title="Function ends_with">ends_with()</a></code><br><code class="computeroutput"><a href="../iends_with.html" title="Function template iends_with">iends_with()</a></code>
+</td>
+</tr>
+<tr>
+<td align="left"><code class="computeroutput">contains</code></td>
+<td align="left">Check if a string is contained of the other one</td>
+<td align="left">
+<code class="computeroutput"><a href="../contains.html" title="Function contains">contains()</a></code><br><code class="computeroutput"><a href="../icontains.html" title="Function template icontains">icontains()</a></code>
+</td>
+</tr>
+<tr>
+<td align="left"><code class="computeroutput">equals</code></td>
+<td align="left">Check if two strings are equal</td>
+<td align="left">
+<code class="computeroutput"><a href="../equals.html" title="Function equals">equals()</a></code><br><code class="computeroutput"><a href="../iequals.html" title="Function template iequals">iequals()</a></code>
+</td>
+</tr>
+<tr>
+<td align="left"><code class="computeroutput">all</code></td>
+<td align="left">Check if all elements of a string satisfy the given predicate</td>
+<td align="left"><code class="computeroutput"><a href="../all.html" title="Function template all">all()</a></code></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="table">
+<a name="id2743802"></a><p class="title"><b>Table 11.4. Find algorithms</b></p>
+<table class="table" summary="Find algorithms">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Algorithm name</th>
+<th align="left">Description</th>
+<th align="left">Functions</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left">find_first</td>
+<td align="left">Find the first occurrence of a string in the input</td>
+<td align="left">
+<code class="computeroutput"><a href="../find_first.html" title="Function template find_first">find_first()</a></code><br><code class="computeroutput"><a href="../ifind_first.html" title="Function template ifind_first">ifind_first()</a></code>
+</td>
+</tr>
+<tr>
+<td align="left">find_last</td>
+<td align="left">Find the last occurrence of a string in the input</td>
+<td align="left">
+<code class="computeroutput"><a href="../find_last.html" title="Function template find_last">find_last()</a></code><br><code class="computeroutput"><a href="../ifind_last.html" title="Function template ifind_last">ifind_last()</a></code>
+</td>
+</tr>
+<tr>
+<td align="left">find_nth</td>
+<td align="left">Find the nth (zero-indexed) occurrence of a string in the input</td>
+<td align="left">
+<code class="computeroutput"><a href="../find_nth.html" title="Function template find_nth">find_nth()</a></code><br><code class="computeroutput"><a href="../ifind_nth.html" title="Function template ifind_nth">ifind_nth()</a></code>
+</td>
+</tr>
+<tr>
+<td align="left">find_head</td>
+<td align="left">Retrieve the head of a string</td>
+<td align="left"><code class="computeroutput"><a href="../find_head.html" title="Function template find_head">find_head()</a></code></td>
+</tr>
+<tr>
+<td align="left">find_tail</td>
+<td align="left">Retrieve the tail of a string</td>
+<td align="left"><code class="computeroutput"><a href="../find_tail.html" title="Function template find_tail">find_tail()</a></code></td>
+</tr>
+<tr>
+<td align="left">find_token</td>
+<td align="left">Find first matching token in the string</td>
+<td align="left"><code class="computeroutput"><a href="../find_token.html" title="Function template find_token">find_token()</a></code></td>
+</tr>
+<tr>
+<td align="left">find_regex</td>
+<td align="left">Use the regular expression to search the string</td>
+<td align="left"><code class="computeroutput"><a href="../find_regex.html" title="Function template find_regex">find_regex()</a></code></td>
+</tr>
+<tr>
+<td align="left">find</td>
+<td align="left">Generic find algorithm</td>
+<td align="left"><code class="computeroutput"><a href="../find.html" title="Function template find">find()</a></code></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="table">
+<a name="id2743994"></a><p class="title"><b>Table 11.5. Erase/Replace</b></p>
+<table class="table" summary="Erase/Replace">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Algorithm name</th>
+<th align="left">Description</th>
+<th align="left">Functions</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left">replace/erase_first</td>
+<td align="left">Replace/Erase the first occurrence of a string in the input</td>
+<td align="left">
+<code class="computeroutput"><a href="../replace_first.html" title="Function template replace_first">replace_first()</a></code><br><code class="computeroutput"><a href="../replace_first_copy.html" title="Function replace_first_copy">replace_first_copy()</a></code><br><code class="computeroutput"><a href="../ireplace_first.html" title="Function template ireplace_first">ireplace_first()</a></code><br><code class="computeroutput"><a href="../ireplace_first_copy.html" title="Function ireplace_first_copy">ireplace_first_copy()</a></code><br><code class="computeroutput"><a href="../erase_first.html" title="Function template erase_first">erase_first()</a></code><br><code class="computeroutput"><a href="../erase_first_copy.html" title="Function erase_first_copy">erase_first_copy()</a></code><br><code class="computeroutput"><a href="../ierase_first.html" title="Function template ierase_first">ierase_first()</a></code><br><code class="computeroutput"><a href="../ierase_first_copy.html" title="Function ierase_first_copy">ierase_first_copy()</a></code>
+</td>
+</tr>
+<tr>
+<td align="left">replace/erase_last</td>
+<td align="left">Replace/Erase the last occurrence of a string in the input</td>
+<td align="left">
+<code class="computeroutput"><a href="../replace_last.html" title="Function template replace_last">replace_last()</a></code><br><code class="computeroutput"><a href="../replace_last_copy.html" title="Function replace_last_copy">replace_last_copy()</a></code><br><code class="computeroutput"><a href="../ireplace_last.html" title="Function template ireplace_last">ireplace_last()</a></code><br><code class="computeroutput"><a href="../ireplace_last_copy.html" title="Function ireplace_last_copy">ireplace_last_copy()</a></code><br><code class="computeroutput"><a href="../erase_last.html" title="Function template erase_last">erase_last()</a></code><br><code class="computeroutput"><a href="../erase_last_copy.html" title="Function erase_last_copy">erase_last_copy()</a></code><br><code class="computeroutput"><a href="../ierase_last.html" title="Function template ierase_last">ierase_last()</a></code><br><code class="computeroutput"><a href="../ierase_last_copy.html" title="Function ierase_last_copy">ierase_last_copy()</a></code>
+</td>
+</tr>
+<tr>
+<td align="left">replace/erase_nth</td>
+<td align="left">Replace/Erase the nth (zero-indexed) occurrence of a string in the input</td>
+<td align="left">
+<code class="computeroutput"><a href="../replace_nth.html" title="Function template replace_nth">replace_nth()</a></code><br><code class="computeroutput"><a href="../replace_nth_copy.html" title="Function replace_nth_copy">replace_nth_copy()</a></code><br><code class="computeroutput"><a href="../ireplace_nth.html" title="Function template ireplace_nth">ireplace_nth()</a></code><br><code class="computeroutput"><a href="../ireplace_nth_copy.html" title="Function ireplace_nth_copy">ireplace_nth_copy()</a></code><br><code class="computeroutput"><a href="../erase_nth.html" title="Function template erase_nth">erase_nth()</a></code><br><code class="computeroutput"><a href="../erase_nth_copy.html" title="Function erase_nth_copy">erase_nth_copy()</a></code><br><code class="computeroutput"><a href="../ierase_nth.html" title="Function template ierase_nth">ierase_nth()</a></code><br><code class="computeroutput"><a href="../ierase_nth_copy.html" title="Function ierase_nth_copy">ierase_nth_copy()</a></code>
+</td>
+</tr>
+<tr>
+<td align="left">replace/erase_all</td>
+<td align="left">Replace/Erase the all occurrences of a string in the input</td>
+<td align="left">
+<code class="computeroutput"><a href="../replace_all.html" title="Function template replace_all">replace_all()</a></code><br><code class="computeroutput"><a href="../replace_all_copy.html" title="Function replace_all_copy">replace_all_copy()</a></code><br><code class="computeroutput"><a href="../ireplace_all.html" title="Function template ireplace_all">ireplace_all()</a></code><br><code class="computeroutput"><a href="../ireplace_all_copy.html" title="Function ireplace_all_copy">ireplace_all_copy()</a></code><br><code class="computeroutput"><a href="../erase_all.html" title="Function template erase_all">erase_all()</a></code><br><code class="computeroutput"><a href="../erase_all_copy.html" title="Function erase_all_copy">erase_all_copy()</a></code><br><code class="computeroutput"><a href="../ierase_all.html" title="Function template ierase_all">ierase_all()</a></code><br><code class="computeroutput"><a href="../ierase_all_copy.html" title="Function ierase_all_copy">ierase_all_copy()</a></code>
+</td>
+</tr>
+<tr>
+<td align="left">replace/erase_head</td>
+<td align="left">Replace/Erase the head of the input</td>
+<td align="left">
+<code class="computeroutput"><a href="../replace_head.html" title="Function template replace_head">replace_head()</a></code><br><code class="computeroutput"><a href="../replace_head_copy.html" title="Function replace_head_copy">replace_head_copy()</a></code><br><code class="computeroutput"><a href="../erase_head.html" title="Function template erase_head">erase_head()</a></code><br><code class="computeroutput"><a href="../erase_head_copy.html" title="Function erase_head_copy">erase_head_copy()</a></code><br>
+</td>
+</tr>
+<tr>
+<td align="left">replace/erase_tail</td>
+<td align="left">Replace/Erase the tail of the input</td>
+<td align="left">
+<code class="computeroutput"><a href="../replace_tail.html" title="Function template replace_tail">replace_tail()</a></code><br><code class="computeroutput"><a href="../replace_tail_copy.html" title="Function replace_tail_copy">replace_tail_copy()</a></code><br><code class="computeroutput"><a href="../erase_tail.html" title="Function template erase_tail">erase_tail()</a></code><br><code class="computeroutput"><a href="../erase_tail_copy.html" title="Function erase_tail_copy">erase_tail_copy()</a></code><br>
+</td>
+</tr>
+<tr>
+<td align="left">replace/erase_regex</td>
+<td align="left">Replace/Erase a substring matching the given regular expression</td>
+<td align="left">
+<code class="computeroutput"><a href="../replace_regex.html" title="Function template replace_regex">replace_regex()</a></code><br><code class="computeroutput"><a href="../replace_regex_copy.html" title="Function replace_regex_copy">replace_regex_copy()</a></code><br><code class="computeroutput"><a href="../erase_regex.html" title="Function template erase_regex">erase_regex()</a></code><br><code class="computeroutput"><a href="../erase_regex_copy.html" title="Function erase_regex_copy">erase_regex_copy()</a></code><br>
+</td>
+</tr>
+<tr>
+<td align="left">replace/erase_regex_all</td>
+<td align="left">Replace/Erase all substrings matching the given regular expression</td>
+<td align="left">
+<code class="computeroutput"><a href="../replace_all_regex.html" title="Function template replace_all_regex">replace_all_regex()</a></code><br><code class="computeroutput"><a href="../replace_all_regex_copy.html" title="Function replace_all_regex_copy">replace_all_regex_copy()</a></code><br><code class="computeroutput"><a href="../erase_all_regex.html" title="Function template erase_all_regex">erase_all_regex()</a></code><br><code class="computeroutput"><a href="../erase_all_regex_copy.html" title="Function erase_all_regex_copy">erase_all_regex_copy()</a></code><br>
+</td>
+</tr>
+<tr>
+<td align="left">find_format</td>
+<td align="left">Generic replace algorithm</td>
+<td align="left">
+<code class="computeroutput"><a href="../find_format.html" title="Function template find_format">find_format()</a></code><br><code class="computeroutput"><a href="../find_format_copy.html" title="Function find_format_copy">find_format_copy()</a></code><br><code class="computeroutput"><a href="../find_format_all.html" title="Function template find_format_all">find_format_all()</a></code><br><code class="computeroutput"><a href="../find_format_all_copy.html" title="Function find_format_all_copy">find_format_all_copy()()</a></code>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="table">
+<a name="id2744680"></a><p class="title"><b>Table 11.6. Split</b></p>
+<table class="table" summary="Split">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Algorithm name</th>
+<th align="left">Description</th>
+<th align="left">Functions</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left">find_all</td>
+<td align="left">Find/Extract all matching substrings in the input</td>
+<td align="left">
+<code class="computeroutput"><a href="../find_all.html" title="Function template find_all">find_all()</a></code><br><code class="computeroutput"><a href="../ifind_all.html" title="Function template ifind_all">ifind_all()</a></code><br><code class="computeroutput"><a href="../find_all_regex.html" title="Function template find_all_regex">find_all_regex()</a></code>
+</td>
+</tr>
+<tr>
+<td align="left">split</td>
+<td align="left">Split input into parts</td>
+<td align="left">
+<code class="computeroutput"><a href="../id2580251.html" title="Function template split">split()</a></code><br><code class="computeroutput"><a href="../split_regex.html" title="Function template split_regex">split_regex()</a></code>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2744766"></a>Finders and Formatters</h4></div></div></div>
+<div class="table">
+<a name="id2744769"></a><p class="title"><b>Table 11.7. Finders</b></p>
+<table class="table" summary="Finders">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Finder</th>
+<th align="left">Description</th>
+<th align="left">Generators</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left">first_finder</td>
+<td align="left">Search for the first match of the string in an input</td>
+<td align="left"><code class="computeroutput"><a href="../first_finder.html" title="Function first_finder">first_finder()</a></code></td>
+</tr>
+<tr>
+<td align="left">last_finder</td>
+<td align="left">Search for the last match of the string in an input</td>
+<td align="left"><code class="computeroutput"><a href="../last_finder.html" title="Function last_finder">last_finder()</a></code></td>
+</tr>
+<tr>
+<td align="left">nth_finder</td>
+<td align="left">Search for the nth (zero-indexed) match of the string in an input</td>
+<td align="left"><code class="computeroutput"><a href="../nth_finder.html" title="Function nth_finder">nth_finder()</a></code></td>
+</tr>
+<tr>
+<td align="left">head_finder</td>
+<td align="left">Retrieve the head of an input</td>
+<td align="left"><code class="computeroutput"><a href="../head_finder.html" title="Function head_finder">head_finder()</a></code></td>
+</tr>
+<tr>
+<td align="left">tail_finder</td>
+<td align="left">Retrieve the tail of an input</td>
+<td align="left"><code class="computeroutput"><a href="../tail_finder.html" title="Function tail_finder">tail_finder()</a></code></td>
+</tr>
+<tr>
+<td align="left">token_finder</td>
+<td align="left">Search for a matching token in an input</td>
+<td align="left"><code class="computeroutput"><a href="../token_finder.html" title="Function template token_finder">token_finder()</a></code></td>
+</tr>
+<tr>
+<td align="left">range_finder</td>
+<td align="left">Do no search, always returns the given range</td>
+<td align="left"><code class="computeroutput"><a href="../range_finder.html" title="Function range_finder">range_finder()</a></code></td>
+</tr>
+<tr>
+<td align="left">regex_finder</td>
+<td align="left">Search for a substring matching the given regex</td>
+<td align="left"><code class="computeroutput"><a href="../id2559243.html" title="Function template regex_finder">regex_finder()</a></code></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="table">
+<a name="id2744934"></a><p class="title"><b>Table 11.8. Formatters</b></p>
+<table class="table" summary="Formatters">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Formatter</th>
+<th align="left">Description</th>
+<th align="left">Generators</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left">const_formatter</td>
+<td align="left">Constant formatter. Always return the specified string</td>
+<td align="left"><code class="computeroutput"><a href="../const_formatter.html" title="Function template const_formatter">const_formatter()</a></code></td>
+</tr>
+<tr>
+<td align="left">identity_formatter</td>
+<td align="left">Identity formatter. Return unmodified input input</td>
+<td align="left"><code class="computeroutput"><a href="../identity_formatter.html" title="Function template identity_formatter">identity_formatter()</a></code></td>
+</tr>
+<tr>
+<td align="left">empty_formatter</td>
+<td align="left">Null formatter. Always return an empty string</td>
+<td align="left"><code class="computeroutput"><a href="../empty_formatter.html" title="Function template empty_formatter">empty_formatter()</a></code></td>
+</tr>
+<tr>
+<td align="left">regex_formatter</td>
+<td align="left">Regex formatter. Format regex match using the specification in the format string</td>
+<td align="left"><code class="computeroutput"><a href="../id2586835.html" title="Function template regex_formatter">regex_formatter()</a></code></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2745026"></a>Iterators</h4></div></div></div>
+<div class="table">
+<a name="id2745029"></a><p class="title"><b>Table 11.9. Find Iterators</b></p>
+<table class="table" summary="Find Iterators">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Iterator name</th>
+<th align="left">Description</th>
+<th align="left">Iterator class</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left">find_iterator</td>
+<td align="left">Iterates through matching substrings in the input</td>
+<td align="left"><code class="computeroutput"><a href="../find_iterator.html" title="Class template find_iterator">find_iterator</a></code></td>
+</tr>
+<tr>
+<td align="left">split_iterator</td>
+<td align="left">Iterates through gaps between matching substrings in the input</td>
+<td align="left"><code class="computeroutput"><a href="../split_iterator.html" title="Class template split_iterator">split_iterator</a></code></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2745083"></a>Classification</h4></div></div></div>
+<div class="table">
+<a name="id2745087"></a><p class="title"><b>Table 11.10. Predicates</b></p>
+<table class="table" summary="Predicates">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Predicate name</th>
+<th align="left">Description</th>
+<th align="left">Generator</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left">is_classified</td>
+<td align="left">Generic <code class="computeroutput">ctype</code> mask based classification</td>
+<td align="left"><code class="computeroutput"><a href="../is_classified.html" title="Function is_classified">is_classified()</a></code></td>
+</tr>
+<tr>
+<td align="left">is_space</td>
+<td align="left">Recognize spaces</td>
+<td align="left"><code class="computeroutput"><a href="../is_space.html" title="Function is_space">is_space()</a></code></td>
+</tr>
+<tr>
+<td align="left">is_alnum</td>
+<td align="left">Recognize alphanumeric characters</td>
+<td align="left"><code class="computeroutput"><a href="../is_alnum.html" title="Function is_alnum">is_alnum()</a></code></td>
+</tr>
+<tr>
+<td align="left">is_alpha</td>
+<td align="left">Recognize letters</td>
+<td align="left"><code class="computeroutput"><a href="../is_alpha.html" title="Function is_alpha">is_alpha()</a></code></td>
+</tr>
+<tr>
+<td align="left">is_cntrl</td>
+<td align="left">Recognize control characters</td>
+<td align="left"><code class="computeroutput"><a href="../is_cntrl.html" title="Function is_cntrl">is_cntrl()</a></code></td>
+</tr>
+<tr>
+<td align="left">is_digit</td>
+<td align="left">Recognize decimal digits</td>
+<td align="left"><code class="computeroutput"><a href="../is_digit.html" title="Function is_digit">is_digit()</a></code></td>
+</tr>
+<tr>
+<td align="left">is_graph</td>
+<td align="left">Recognize graphical characters</td>
+<td align="left"><code class="computeroutput"><a href="../is_graph.html" title="Function is_graph">is_graph()</a></code></td>
+</tr>
+<tr>
+<td align="left">is_lower</td>
+<td align="left">Recognize lower case characters</td>
+<td align="left"><code class="computeroutput"><a href="../is_lower.html" title="Function is_lower">is_lower()</a></code></td>
+</tr>
+<tr>
+<td align="left">is_print</td>
+<td align="left">Recognize printable characters</td>
+<td align="left"><code class="computeroutput"><a href="../is_print.html" title="Function is_print">is_print()</a></code></td>
+</tr>
+<tr>
+<td align="left">is_punct</td>
+<td align="left">Recognize punctuation characters</td>
+<td align="left"><code class="computeroutput"><a href="../is_punct.html" title="Function is_punct">is_punct()</a></code></td>
+</tr>
+<tr>
+<td align="left">is_upper</td>
+<td align="left">Recognize uppercase characters</td>
+<td align="left"><code class="computeroutput"><a href="../is_upper.html" title="Function is_upper">is_upper()</a></code></td>
+</tr>
+<tr>
+<td align="left">is_xdigit</td>
+<td align="left">Recognize hexadecimal digits</td>
+<td align="left"><code class="computeroutput"><a href="../is_xdigit.html" title="Function is_xdigit">is_xdigit()</a></code></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: July 16, 2004 at 09:06:39 GMT</p></small></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="usage.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="design.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/string_algo/rationale.html b/doc/html/string_algo/rationale.html
new file mode 100644
index 0000000000..b2df865f1f
--- /dev/null
+++ b/doc/html/string_algo/rationale.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Rationale</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../string_algo.html" title="Chapter 11. Boost String Algorithms Library">
+<link rel="prev" href="../trim.html" title="Function template trim">
+<link rel="next" href="env.html" title="Environment">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../trim.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="env.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="string_algo.rationale"></a>Rationale</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="rationale.html#id2774637">Locales</a></span></dt>
+<dt><span class="section"><a href="rationale.html#string_algo.regex">Regular Expressions</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2774637"></a>Locales</h4></div></div></div>
+<p>
+ Locales have a very close relation to string processing. They contain information about
+ the character sets and are used, for example, to change the case of characters and
+ to classify the characters.
+ </p>
+<p>
+ C++ allows to work with multiple different instances of locales at once. If an algorithm
+ manipulates some data in a way that requires the usage of locales, there must be a way
+ to specify them. However, one instance of locales is sufficient for most of the applications,
+ and for a user it could be very tedious to specify which locales to use at every place
+ where it is needed.
+ </p>
+<p>
+ Fortunately, the C++ standard allows to specify the <span class="emphasis"><em>global</em></span> locales (using static member
+ function <code class="computeroutput">std:locale::global()</code>). When instantiating an
+ <code class="computeroutput">std::locale</code> class without explicit information, the instance will
+ be initialized with the <span class="emphasis"><em>global</em></span> locale. This implies, that if an algorithm needs a locale,
+ it should have an <code class="computeroutput">std::locale</code> parameter defaulting to <code class="computeroutput">std::locale()</code>.
+ If a user needs to specify locales explicitly, she can do so. Otherwise the <span class="emphasis"><em>global</em></span>
+ locales are used.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="string_algo.regex"></a>Regular Expressions</h4></div></div></div>
+<p>
+ Regular expressions are an essential part of text processing. For this reason, the library
+ also provides regex variants of some algorithms. The library does not attempt to replace
+ Boost.Regex; it merely wraps its functionality in a new interface.
+ As a part of this library, regex algorithms integrate smoothly with other components, which
+ brings additional value.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: July 16, 2004 at 09:06:39 GMT</p></small></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../trim.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="env.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/string_algo/reference.html b/doc/html/string_algo/reference.html
new file mode 100644
index 0000000000..6b12c892d2
--- /dev/null
+++ b/doc/html/string_algo/reference.html
@@ -0,0 +1,763 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Reference</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../string_algo.html" title="Chapter 11. Boost String Algorithms Library">
+<link rel="prev" href="concept.html" title="Concepts">
+<link rel="next" href="../to_lower_copy.html" title="Function to_lower_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="concept.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../to_lower_copy.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="string_algo.reference"></a>Reference</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="reference.html#id2352615">Header &lt;boost/algorithm/string/case_conv.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2336200">Header &lt;boost/algorithm/string/classification.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2558715">Header &lt;boost/algorithm/string/compare.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2353460">Header &lt;boost/algorithm/string/concept.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2384198">Header &lt;boost/algorithm/string/constants.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2571451">Header &lt;boost/algorithm/string/erase.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2487443">Header &lt;boost/algorithm/string/find.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2441187">Header &lt;boost/algorithm/string/find_format.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2382464">Header &lt;boost/algorithm/string/find_iterator.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2447201">Header &lt;boost/algorithm/string/finder.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2356089">Header &lt;boost/algorithm/string/formatter.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2589054">Header &lt;boost/algorithm/string/predicate.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2556226">Header &lt;boost/algorithm/string/regex.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2382044">Header &lt;boost/algorithm/string/regex_find_format.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2553153">Header &lt;boost/algorithm/string/replace.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2372677">Header &lt;boost/algorithm/string/sequence_traits.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2541245">Header &lt;boost/algorithm/string/split.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2552168">Header &lt;boost/algorithm/string/std_containers_traits.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2552179">Header &lt;boost/algorithm/string.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2573542">Header &lt;boost/algorithm/string_regex.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2573553">Header &lt;boost/algorithm/string/trim.hpp&gt;</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2352615"></a>Header &lt;<a href="../../../boost/algorithm/string/case_conv.hpp" target="_top">boost/algorithm/string/case_conv.hpp</a>&gt;</h4></div></div></div>
+<p>Defines sequence case-conversion algorithms. Algorithms convert each element in the input sequence to the desired case using provided locales.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> algorithm {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../to_lower_copy.html" title="Function to_lower_copy">to_lower_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> RangeT &amp;,
+                    <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+      <span class="type">SequenceT</span> <a href="../to_lower_copy.html" title="Function to_lower_copy">to_lower_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;,
+                              <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> WritableRangeT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../to_lower.html" title="Function template to_lower">to_lower</a>(WritableRangeT &amp;, <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../to_upper_copy.html" title="Function to_upper_copy">to_upper_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> RangeT &amp;,
+                    <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+      <span class="type">SequenceT</span> <a href="../to_upper_copy.html" title="Function to_upper_copy">to_upper_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;,
+                              <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> WritableRangeT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../to_upper.html" title="Function template to_upper">to_upper</a>(WritableRangeT &amp;, <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2336200"></a>Header &lt;<a href="../../../boost/algorithm/string/classification.hpp" target="_top">boost/algorithm/string/classification.hpp</a>&gt;</h4></div></div></div>
+<p>Classification predicates are included in the library to give some more convenience when using algorithms like <code class="computeroutput">trim()</code> and <code class="computeroutput">all()</code> . They wrap functionality of STL classification functions ( e.g. <code class="computeroutput">std::isspace()</code> ) into generic functors.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> algorithm {
+    <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../is_classified.html" title="Function is_classified">is_classified</a>(std::ctype_base::mask,
+                              <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../is_space.html" title="Function is_space">is_space</a>(<span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../is_alnum.html" title="Function is_alnum">is_alnum</a>(<span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../is_alpha.html" title="Function is_alpha">is_alpha</a>(<span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../is_cntrl.html" title="Function is_cntrl">is_cntrl</a>(<span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../is_digit.html" title="Function is_digit">is_digit</a>(<span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../is_graph.html" title="Function is_graph">is_graph</a>(<span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../is_lower.html" title="Function is_lower">is_lower</a>(<span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../is_print.html" title="Function is_print">is_print</a>(<span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../is_punct.html" title="Function is_punct">is_punct</a>(<span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../is_upper.html" title="Function is_upper">is_upper</a>(<span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../is_xdigit.html" title="Function is_xdigit">is_xdigit</a>(<span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT&gt; <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../is_any_of.html" title="Function template is_any_of">is_any_of</a>(<span class="bold"><strong>const</strong></span> RangeT &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT&gt; <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../is_from_range.html" title="Function template is_from_range">is_from_range</a>(CharT, CharT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Pred1T, <span class="bold"><strong>typename</strong></span> Pred2T&gt;
+      <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../id2568583.html" title="Function template operator&amp;&amp;"><span class="bold"><strong>operator</strong></span>&amp;&amp;</a>(<span class="bold"><strong>const</strong></span> predicate_facade&lt; Pred1T &gt; &amp;,
+                             <span class="bold"><strong>const</strong></span> predicate_facade&lt; Pred2T &gt; &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Pred1T, <span class="bold"><strong>typename</strong></span> Pred2T&gt;
+      <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../id2571496.html" title="Function template operator||"><span class="bold"><strong>operator</strong></span>||</a>(<span class="bold"><strong>const</strong></span> predicate_facade&lt; Pred1T &gt; &amp;,
+                             <span class="bold"><strong>const</strong></span> predicate_facade&lt; Pred2T &gt; &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PredT&gt;
+      <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../id2374912.html" title="Function template operator!"><span class="bold"><strong>operator</strong></span>!</a>(<span class="bold"><strong>const</strong></span> predicate_facade&lt; PredT &gt; &amp;);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2558715"></a>Header &lt;<a href="../../../boost/algorithm/string/compare.hpp" target="_top">boost/algorithm/string/compare.hpp</a>&gt;</h4></div></div></div>
+<p>Defines element comparison predicates. Many algorithms in this library can take an additional argument with a predicate used to compare elements. This makes it possible, for instance, to have case insensitive versions of the algorithms.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> algorithm {
+    <span class="bold"><strong>struct</strong></span> <a href="../is_equal.html" title="Struct is_equal">is_equal</a>;
+    <span class="bold"><strong>struct</strong></span> <a href="../is_iequal.html" title="Struct is_iequal">is_iequal</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2353460"></a>Header &lt;<a href="../../../boost/algorithm/string/concept.hpp" target="_top">boost/algorithm/string/concept.hpp</a>&gt;</h4></div></div></div>
+<p>Defines concepts used in string_algo library</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> algorithm {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> FinderT, <span class="bold"><strong>typename</strong></span> IteratorT&gt; <span class="bold"><strong>struct</strong></span> <a href="../FinderConcept.html" title="Struct template FinderConcept">FinderConcept</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> FormatterT, <span class="bold"><strong>typename</strong></span> FinderT, <span class="bold"><strong>typename</strong></span> IteratorT&gt;
+     <span class="bold"><strong>struct</strong></span> <a href="../FormatterConcept.html" title="Struct template FormatterConcept">FormatterConcept</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2384198"></a>Header &lt;<a href="../../../boost/algorithm/string/constants.hpp" target="_top">boost/algorithm/string/constants.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> algorithm {
+    <span class="bold"><strong>enum</strong></span> <a href="../id2567673.html" title="Type token_compress_mode_type">token_compress_mode_type</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2571451"></a>Header &lt;<a href="../../../boost/algorithm/string/erase.hpp" target="_top">boost/algorithm/string/erase.hpp</a>&gt;</h4></div></div></div>
+<p>Defines various erase algorithms. Each algorithm removes part(s) of the input according to a searching criteria.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> algorithm {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../erase_range_copy.html" title="Function erase_range_copy">erase_range_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> RangeT &amp;,
+                       <span class="bold"><strong>const</strong></span> iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_const_iterator&lt; RangeT &gt;::type &gt; &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+      <span class="type">SequenceT</span> <a href="../erase_range_copy.html" title="Function erase_range_copy">erase_range_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;,
+                                 <span class="bold"><strong>const</strong></span> iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_const_iterator&lt; SequenceT &gt;::type &gt; &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../erase_range.html" title="Function template erase_range">erase_range</a>(SequenceT &amp;,
+                       <span class="bold"><strong>const</strong></span> iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_iterator&lt; SequenceT &gt;::type &gt; &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../erase_first_copy.html" title="Function erase_first_copy">erase_first_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type">SequenceT</span> <a href="../erase_first_copy.html" title="Function erase_first_copy">erase_first_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, <span class="bold"><strong>const</strong></span> RangeT &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../erase_first.html" title="Function template erase_first">erase_first</a>(SequenceT &amp;, <span class="bold"><strong>const</strong></span> RangeT &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../ierase_first_copy.html" title="Function ierase_first_copy">ierase_first_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                        <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type">SequenceT</span> <a href="../ierase_first_copy.html" title="Function ierase_first_copy">ierase_first_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, <span class="bold"><strong>const</strong></span> RangeT &amp;,
+                                  <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../ierase_first.html" title="Function template ierase_first">ierase_first</a>(SequenceT &amp;, <span class="bold"><strong>const</strong></span> RangeT &amp;,
+                        <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../erase_last_copy.html" title="Function erase_last_copy">erase_last_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type">SequenceT</span> <a href="../erase_last_copy.html" title="Function erase_last_copy">erase_last_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, <span class="bold"><strong>const</strong></span> RangeT &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../erase_last.html" title="Function template erase_last">erase_last</a>(SequenceT &amp;, <span class="bold"><strong>const</strong></span> RangeT &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../ierase_last_copy.html" title="Function ierase_last_copy">ierase_last_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                       <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type">SequenceT</span> <a href="../ierase_last_copy.html" title="Function ierase_last_copy">ierase_last_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, <span class="bold"><strong>const</strong></span> RangeT &amp;,
+                                 <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../ierase_last.html" title="Function template ierase_last">ierase_last</a>(SequenceT &amp;, <span class="bold"><strong>const</strong></span> RangeT &amp;,
+                       <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../erase_nth_copy.html" title="Function erase_nth_copy">erase_nth_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                     <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type">SequenceT</span> <a href="../erase_nth_copy.html" title="Function erase_nth_copy">erase_nth_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, <span class="bold"><strong>const</strong></span> RangeT &amp;,
+                               <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../erase_nth.html" title="Function template erase_nth">erase_nth</a>(SequenceT &amp;, <span class="bold"><strong>const</strong></span> RangeT &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../ierase_nth_copy.html" title="Function ierase_nth_copy">ierase_nth_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                      <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type">SequenceT</span> <a href="../ierase_nth_copy.html" title="Function ierase_nth_copy">ierase_nth_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, <span class="bold"><strong>const</strong></span> RangeT &amp;,
+                                <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>,
+                                <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../ierase_nth.html" title="Function template ierase_nth">ierase_nth</a>(SequenceT &amp;, <span class="bold"><strong>const</strong></span> RangeT &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>,
+                      <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../erase_all_copy.html" title="Function erase_all_copy">erase_all_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type">SequenceT</span> <a href="../erase_all_copy.html" title="Function erase_all_copy">erase_all_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, <span class="bold"><strong>const</strong></span> RangeT &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../erase_all.html" title="Function template erase_all">erase_all</a>(SequenceT &amp;, <span class="bold"><strong>const</strong></span> RangeT &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../ierase_all_copy.html" title="Function ierase_all_copy">ierase_all_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                      <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type">SequenceT</span> <a href="../ierase_all_copy.html" title="Function ierase_all_copy">ierase_all_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, <span class="bold"><strong>const</strong></span> RangeT &amp;,
+                                <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../ierase_all.html" title="Function template ierase_all">ierase_all</a>(SequenceT &amp;, <span class="bold"><strong>const</strong></span> RangeT &amp;,
+                      <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../erase_head_copy.html" title="Function erase_head_copy">erase_head_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> RangeT &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+      <span class="type">SequenceT</span> <a href="../erase_head_copy.html" title="Function erase_head_copy">erase_head_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../erase_head.html" title="Function template erase_head">erase_head</a>(SequenceT &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../erase_tail_copy.html" title="Function erase_tail_copy">erase_tail_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> RangeT &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+      <span class="type">SequenceT</span> <a href="../erase_tail_copy.html" title="Function erase_tail_copy">erase_tail_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../erase_tail.html" title="Function template erase_tail">erase_tail</a>(SequenceT &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2487443"></a>Header &lt;<a href="../../../boost/algorithm/string/find.hpp" target="_top">boost/algorithm/string/find.hpp</a>&gt;</h4></div></div></div>
+<p>Defines a set of find algorithms. The algorithms are searching for a substring of the input. The result is given as an <code class="computeroutput">iterator_range</code> delimiting the substring.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> algorithm {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> FinderT&gt;
+      <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; RangeT &gt;::type &gt;</span>
+      <a href="../find.html" title="Function template find">find</a>(RangeT &amp;, FinderT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; Range1T &gt;::type &gt;</span>
+      <a href="../find_first.html" title="Function template find_first">find_first</a>(Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; Range1T &gt;::type &gt;</span>
+      <a href="../ifind_first.html" title="Function template ifind_first">ifind_first</a>(Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                  <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; Range1T &gt;::type &gt;</span>
+      <a href="../find_last.html" title="Function template find_last">find_last</a>(Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; Range1T &gt;::type &gt;</span>
+      <a href="../ifind_last.html" title="Function template ifind_last">ifind_last</a>(Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                 <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; Range1T &gt;::type &gt;</span>
+      <a href="../find_nth.html" title="Function template find_nth">find_nth</a>(Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; Range1T &gt;::type &gt;</span>
+      <a href="../ifind_nth.html" title="Function template ifind_nth">ifind_nth</a>(Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>,
+                <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; RangeT &gt;::type &gt;</span>
+      <a href="../find_head.html" title="Function template find_head">find_head</a>(RangeT &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; RangeT &gt;::type &gt;</span>
+      <a href="../find_tail.html" title="Function template find_tail">find_tail</a>(RangeT &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+      <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; RangeT &gt;::type &gt;</span>
+      <a href="../find_token.html" title="Function template find_token">find_token</a>(RangeT &amp;, PredicateT,
+                 token_compress_mode_type = token_compress_off);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2441187"></a>Header &lt;<a href="../../../boost/algorithm/string/find_format.hpp" target="_top">boost/algorithm/string/find_format.hpp</a>&gt;</h4></div></div></div>
+<p>Defines generic replace algorithms. Each algorithm replaces part(s) of the input. The part to be replaced is looked up using a Finder object. Result of finding is then used by a Formatter object to generate the replacement.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> algorithm {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> FinderT,
+             <span class="bold"><strong>typename</strong></span> FormatterT&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../find_format_copy.html" title="Function find_format_copy">find_format_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> RangeT &amp;, FinderT, FormatterT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> FinderT, <span class="bold"><strong>typename</strong></span> FormatterT&gt;
+      <span class="type">SequenceT</span> <a href="../find_format_copy.html" title="Function find_format_copy">find_format_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, FinderT, FormatterT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> FinderT, <span class="bold"><strong>typename</strong></span> FormatterT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../find_format.html" title="Function template find_format">find_format</a>(SequenceT &amp;, FinderT, FormatterT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> FinderT,
+             <span class="bold"><strong>typename</strong></span> FormatterT&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../find_format_all_copy.html" title="Function find_format_all_copy">find_format_all_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> RangeT &amp;, FinderT,
+                           FormatterT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> FinderT, <span class="bold"><strong>typename</strong></span> FormatterT&gt;
+      <span class="type">SequenceT</span> <a href="../find_format_all_copy.html" title="Function find_format_all_copy">find_format_all_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, FinderT, FormatterT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> FinderT, <span class="bold"><strong>typename</strong></span> FormatterT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../find_format_all.html" title="Function template find_format_all">find_format_all</a>(SequenceT &amp;, FinderT, FormatterT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+      <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../id2559243.html" title="Function template regex_finder">regex_finder</a>(<span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp;,
+                               match_flag_type = match_default);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT, <span class="bold"><strong>typename</strong></span> AllocT&gt;
+      <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../id2586835.html" title="Function template regex_formatter">regex_formatter</a>(<span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, TraitsT, AllocT &gt; &amp;,
+                                  match_flag_type = format_default);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2382464"></a>Header &lt;<a href="../../../boost/algorithm/string/find_iterator.hpp" target="_top">boost/algorithm/string/find_iterator.hpp</a>&gt;</h4></div></div></div>
+<p>Defines find iterator classes. Find iterator repeatly applies a Finder to the specified input string to search for matches. Dereferencing the iterator yields the current match or a range between the last and the current match depending on the iterator used.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> algorithm {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> IteratorT&gt; <span class="bold"><strong>class</strong></span> <a href="../find_iterator.html" title="Class template find_iterator">find_iterator</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> IteratorT&gt; <span class="bold"><strong>class</strong></span> <a href="../split_iterator.html" title="Class template split_iterator">split_iterator</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> FinderT&gt;
+      <span class="type"><a href="../find_iterator.html" title="Class template find_iterator">find_iterator</a>&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; RangeT &gt;::type &gt;</span>
+      <a href="../make_find_iterator.html" title="Function template make_find_iterator">make_find_iterator</a>(RangeT &amp;, FinderT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> FinderT&gt;
+      <span class="type"><a href="../split_iterator.html" title="Class template split_iterator">split_iterator</a>&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; RangeT &gt;::type &gt;</span>
+      <a href="../make_split_iterator.html" title="Function template make_split_iterator">make_split_iterator</a>(RangeT &amp;, FinderT);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2447201"></a>Header &lt;<a href="../../../boost/algorithm/string/finder.hpp" target="_top">boost/algorithm/string/finder.hpp</a>&gt;</h4></div></div></div>
+<p>Defines Finder generators. Finder object is a functor which is able to find a substring matching a specific criteria in the input. Finders are used as a pluggable components for replace, find and split facilities. This header contains generator functions for finders provided in this library.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> algorithm {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ContainerT&gt; <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../first_finder.html" title="Function first_finder">first_finder</a>(<span class="bold"><strong>const</strong></span> ContainerT &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ContainerT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+      <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../first_finder.html" title="Function first_finder">first_finder</a>(<span class="bold"><strong>const</strong></span> ContainerT &amp;, PredicateT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ContainerT&gt; <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../last_finder.html" title="Function last_finder">last_finder</a>(<span class="bold"><strong>const</strong></span> ContainerT &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ContainerT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+      <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../last_finder.html" title="Function last_finder">last_finder</a>(<span class="bold"><strong>const</strong></span> ContainerT &amp;, PredicateT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ContainerT&gt;
+      <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../nth_finder.html" title="Function nth_finder">nth_finder</a>(<span class="bold"><strong>const</strong></span> ContainerT &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ContainerT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+      <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../nth_finder.html" title="Function nth_finder">nth_finder</a>(<span class="bold"><strong>const</strong></span> ContainerT &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>, PredicateT);
+    <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../head_finder.html" title="Function head_finder">head_finder</a>(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>);
+    <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../tail_finder.html" title="Function tail_finder">tail_finder</a>(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PredicateT&gt;
+      <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../token_finder.html" title="Function template token_finder">token_finder</a>(PredicateT,
+                               token_compress_mode_type = token_compress_off);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ForwardIteratorT&gt;
+      <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../range_finder.html" title="Function range_finder">range_finder</a>(ForwardIteratorT, ForwardIteratorT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ForwardIteratorT&gt;
+      <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../range_finder.html" title="Function range_finder">range_finder</a>(iterator_range&lt; ForwardIteratorT &gt;);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2356089"></a>Header &lt;<a href="../../../boost/algorithm/string/formatter.hpp" target="_top">boost/algorithm/string/formatter.hpp</a>&gt;</h4></div></div></div>
+<p>Defines Formatter generators. Formatter is a functor which formats a string according to given parameters. A Formatter works in conjunction with a Finder. A Finder can provide additional information for a specific Formatter. An example of such a cooperation is regex_finder and regex_formatter.</p>
+<p>Formatters are used as pluggable components for replace facilities. This header contains generator functions for the Formatters provided in this library.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> algorithm {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT&gt; <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../const_formatter.html" title="Function template const_formatter">const_formatter</a>(<span class="bold"><strong>const</strong></span> RangeT &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT&gt; <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../identity_formatter.html" title="Function template identity_formatter">identity_formatter</a>();
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT&gt; <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../empty_formatter.html" title="Function template empty_formatter">empty_formatter</a>(<span class="bold"><strong>const</strong></span> RangeT &amp;);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2589054"></a>Header &lt;<a href="../../../boost/algorithm/string/predicate.hpp" target="_top">boost/algorithm/string/predicate.hpp</a>&gt;</h4></div></div></div>
+<p>Defines string-related predicates. The predicates determine whether a substring is contained in the input string under various conditions: a string starts with the substring, ends with the substring, simply contains the substring or if both strings are equal. Additionaly the algorithm <code class="computeroutput">all()</code> checks all elements of a container to satisfy a condition.</p>
+<p>All predicates provide the strong exception guarantee.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> algorithm {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+      <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../starts_with.html" title="Function starts_with">starts_with</a>(<span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;, PredicateT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../starts_with.html" title="Function starts_with">starts_with</a>(<span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../istarts_with.html" title="Function template istarts_with">istarts_with</a>(<span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                        <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+      <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../ends_with.html" title="Function ends_with">ends_with</a>(<span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;, PredicateT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../ends_with.html" title="Function ends_with">ends_with</a>(<span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../iends_with.html" title="Function template iends_with">iends_with</a>(<span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                      <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+      <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../contains.html" title="Function contains">contains</a>(<span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;, PredicateT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../contains.html" title="Function contains">contains</a>(<span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../icontains.html" title="Function template icontains">icontains</a>(<span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                     <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+      <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../equals.html" title="Function equals">equals</a>(<span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;, PredicateT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../equals.html" title="Function equals">equals</a>(<span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../iequals.html" title="Function template iequals">iequals</a>(<span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                   <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+      <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../all.html" title="Function template all">all</a>(<span class="bold"><strong>const</strong></span> RangeT &amp;, PredicateT);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2556226"></a>Header &lt;<a href="../../../boost/algorithm/string/regex.hpp" target="_top">boost/algorithm/string/regex.hpp</a>&gt;</h4></div></div></div>
+<p>Defines regex variants of the algorithms.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> algorithm {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+      <span class="type">iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_result_iterator&lt; RangeT &gt;::type &gt;</span>
+      <a href="../find_regex.html" title="Function template find_regex">find_regex</a>(RangeT &amp;, <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp;,
+                 match_flag_type = match_default);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> CharT,
+             <span class="bold"><strong>typename</strong></span> RegexTraitsT, <span class="bold"><strong>typename</strong></span> FormatStringTraitsT,
+             <span class="bold"><strong>typename</strong></span> FormatStringAllocatorT&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../replace_regex_copy.html" title="Function replace_regex_copy">replace_regex_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> RangeT &amp;,
+                         <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp;,
+                         <span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, FormatStringTraitsT, FormatStringAllocatorT &gt; &amp;,
+                         match_flag_type = match_default|format_default);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT,
+             <span class="bold"><strong>typename</strong></span> FormatStringTraitsT, <span class="bold"><strong>typename</strong></span> FormatStringAllocatorT&gt;
+      <span class="type">SequenceT</span> <a href="../replace_regex_copy.html" title="Function replace_regex_copy">replace_regex_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;,
+                                   <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp;,
+                                   <span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, FormatStringTraitsT, FormatStringAllocatorT &gt; &amp;,
+                                   match_flag_type = match_default|format_default);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT,
+             <span class="bold"><strong>typename</strong></span> FormatStringTraitsT, <span class="bold"><strong>typename</strong></span> FormatStringAllocatorT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../replace_regex.html" title="Function template replace_regex">replace_regex</a>(SequenceT &amp;,
+                         <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp;,
+                         <span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, FormatStringTraitsT, FormatStringAllocatorT &gt; &amp;,
+                         match_flag_type = match_default|format_default);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> CharT,
+             <span class="bold"><strong>typename</strong></span> RegexTraitsT, <span class="bold"><strong>typename</strong></span> FormatStringTraitsT,
+             <span class="bold"><strong>typename</strong></span> FormatStringAllocatorT&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../replace_all_regex_copy.html" title="Function replace_all_regex_copy">replace_all_regex_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> RangeT &amp;,
+                             <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp;,
+                             <span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, FormatStringTraitsT, FormatStringAllocatorT &gt; &amp;,
+                             match_flag_type = match_default|format_default);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT,
+             <span class="bold"><strong>typename</strong></span> FormatStringTraitsT, <span class="bold"><strong>typename</strong></span> FormatStringAllocatorT&gt;
+      <span class="type">SequenceT</span> <a href="../replace_all_regex_copy.html" title="Function replace_all_regex_copy">replace_all_regex_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;,
+                                       <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp;,
+                                       <span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, FormatStringTraitsT, FormatStringAllocatorT &gt; &amp;,
+                                       match_flag_type = match_default|format_default);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT,
+             <span class="bold"><strong>typename</strong></span> FormatStringTraitsT, <span class="bold"><strong>typename</strong></span> FormatStringAllocatorT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../replace_all_regex.html" title="Function template replace_all_regex">replace_all_regex</a>(SequenceT &amp;,
+                             <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp;,
+                             <span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, FormatStringTraitsT, FormatStringAllocatorT &gt; &amp;,
+                             match_flag_type = match_default|format_default);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> CharT,
+             <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../erase_regex_copy.html" title="Function erase_regex_copy">erase_regex_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> RangeT &amp;,
+                       <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp;,
+                       match_flag_type = match_default);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+      <span class="type">SequenceT</span> <a href="../erase_regex_copy.html" title="Function erase_regex_copy">erase_regex_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;,
+                                 <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp;,
+                                 match_flag_type = match_default);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../erase_regex.html" title="Function template erase_regex">erase_regex</a>(SequenceT &amp;,
+                       <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp;,
+                       match_flag_type = match_default);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> CharT,
+             <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../erase_all_regex_copy.html" title="Function erase_all_regex_copy">erase_all_regex_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> RangeT &amp;,
+                           <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp;,
+                           match_flag_type = match_default);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+      <span class="type">SequenceT</span> <a href="../erase_all_regex_copy.html" title="Function erase_all_regex_copy">erase_all_regex_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;,
+                                     <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp;,
+                                     match_flag_type = match_default);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../erase_all_regex.html" title="Function template erase_all_regex">erase_all_regex</a>(SequenceT &amp;,
+                           <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp;,
+                           match_flag_type = match_default);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceSequenceT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> CharT,
+             <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+      <span class="type">SequenceSequenceT &amp;</span>
+      <a href="../find_all_regex.html" title="Function template find_all_regex">find_all_regex</a>(SequenceSequenceT &amp;, <span class="bold"><strong>const</strong></span> RangeT &amp;,
+                     <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp;,
+                     match_flag_type = match_default);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceSequenceT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> CharT,
+             <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+      <span class="type">SequenceSequenceT &amp;</span>
+      <a href="../split_regex.html" title="Function template split_regex">split_regex</a>(SequenceSequenceT &amp;, <span class="bold"><strong>const</strong></span> RangeT &amp;,
+                  <span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp;,
+                  match_flag_type = match_default);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2382044"></a>Header &lt;<a href="../../../boost/algorithm/string/regex_find_format.hpp" target="_top">boost/algorithm/string/regex_find_format.hpp</a>&gt;</h4></div></div></div>
+<p>Defines the <code class="computeroutput">regex_finder</code> and <code class="computeroutput">regex_formatter</code> generators. These two functors are designed to work together. <code class="computeroutput">regex_formatter</code> uses additional information about a match contained in the regex_finder search result.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> algorithm {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> RegexTraitsT&gt;
+      <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../id2569821.html" title="Function template regex_finder">regex_finder</a>(<span class="bold"><strong>const</strong></span> basic_regex&lt; CharT, RegexTraitsT &gt; &amp;,
+                               match_flag_type = match_default);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> TraitsT, <span class="bold"><strong>typename</strong></span> AllocT&gt;
+      <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a href="../id2501105.html" title="Function template regex_formatter">regex_formatter</a>(<span class="bold"><strong>const</strong></span> std::basic_string&lt; CharT, TraitsT, AllocT &gt; &amp;,
+                                  match_flag_type = format_default);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2553153"></a>Header &lt;<a href="../../../boost/algorithm/string/replace.hpp" target="_top">boost/algorithm/string/replace.hpp</a>&gt;</h4></div></div></div>
+<p>Defines various replace algorithms. Each algorithm replaces part(s) of the input according to set of searching and replace criteria.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> algorithm {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../replace_range_copy.html" title="Function replace_range_copy">replace_range_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> Range1T &amp;,
+                         <span class="bold"><strong>const</strong></span> iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_const_iterator&lt; Range1T &gt;::type &gt; &amp;,
+                         <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type">SequenceT</span> <a href="../replace_range_copy.html" title="Function replace_range_copy">replace_range_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;,
+                                   <span class="bold"><strong>const</strong></span> iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_const_iterator&lt; SequenceT &gt;::type &gt; &amp;,
+                                   <span class="bold"><strong>const</strong></span> RangeT &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../replace_range.html" title="Function template replace_range">replace_range</a>(SequenceT &amp;,
+                         <span class="bold"><strong>const</strong></span> iterator_range&lt; <span class="bold"><strong>typename</strong></span> range_iterator&lt; SequenceT &gt;::type &gt; &amp;,
+                         <span class="bold"><strong>const</strong></span> RangeT &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T,
+             <span class="bold"><strong>typename</strong></span> Range3T&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../replace_first_copy.html" title="Function replace_first_copy">replace_first_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                         <span class="bold"><strong>const</strong></span> Range3T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">SequenceT</span> <a href="../replace_first_copy.html" title="Function replace_first_copy">replace_first_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, <span class="bold"><strong>const</strong></span> Range1T &amp;,
+                                   <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../replace_first.html" title="Function template replace_first">replace_first</a>(SequenceT &amp;, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T,
+             <span class="bold"><strong>typename</strong></span> Range3T&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../ireplace_first_copy.html" title="Function ireplace_first_copy">ireplace_first_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                          <span class="bold"><strong>const</strong></span> Range3T &amp;,
+                          <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range2T, <span class="bold"><strong>typename</strong></span> Range1T&gt;
+      <span class="type">SequenceT</span> <a href="../ireplace_first_copy.html" title="Function ireplace_first_copy">ireplace_first_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                                    <span class="bold"><strong>const</strong></span> Range1T &amp;,
+                                    <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../ireplace_first.html" title="Function template ireplace_first">ireplace_first</a>(SequenceT &amp;, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                          <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T,
+             <span class="bold"><strong>typename</strong></span> Range3T&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../replace_last_copy.html" title="Function replace_last_copy">replace_last_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                        <span class="bold"><strong>const</strong></span> Range3T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">SequenceT</span> <a href="../replace_last_copy.html" title="Function replace_last_copy">replace_last_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, <span class="bold"><strong>const</strong></span> Range1T &amp;,
+                                  <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../replace_last.html" title="Function template replace_last">replace_last</a>(SequenceT &amp;, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T,
+             <span class="bold"><strong>typename</strong></span> Range3T&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../ireplace_last_copy.html" title="Function ireplace_last_copy">ireplace_last_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                         <span class="bold"><strong>const</strong></span> Range3T &amp;,
+                         <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">SequenceT</span> <a href="../ireplace_last_copy.html" title="Function ireplace_last_copy">ireplace_last_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, <span class="bold"><strong>const</strong></span> Range1T &amp;,
+                                   <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                                   <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../ireplace_last.html" title="Function template ireplace_last">ireplace_last</a>(SequenceT &amp;, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                         <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T,
+             <span class="bold"><strong>typename</strong></span> Range3T&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../replace_nth_copy.html" title="Function replace_nth_copy">replace_nth_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                       <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>const</strong></span> Range3T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">SequenceT</span> <a href="../replace_nth_copy.html" title="Function replace_nth_copy">replace_nth_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, <span class="bold"><strong>const</strong></span> Range1T &amp;,
+                                 <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../replace_nth.html" title="Function template replace_nth">replace_nth</a>(SequenceT &amp;, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>,
+                       <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T,
+             <span class="bold"><strong>typename</strong></span> Range3T&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../ireplace_nth_copy.html" title="Function ireplace_nth_copy">ireplace_nth_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                        <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>const</strong></span> Range3T &amp;,
+                        <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">SequenceT</span> <a href="../ireplace_nth_copy.html" title="Function ireplace_nth_copy">ireplace_nth_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, <span class="bold"><strong>const</strong></span> Range1T &amp;,
+                                  <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                                  <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../ireplace_nth.html" title="Function template ireplace_nth">ireplace_nth</a>(SequenceT &amp;, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>,
+                        <span class="bold"><strong>const</strong></span> Range2T &amp;, <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T,
+             <span class="bold"><strong>typename</strong></span> Range3T&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../replace_all_copy.html" title="Function replace_all_copy">replace_all_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                       <span class="bold"><strong>const</strong></span> Range3T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">SequenceT</span> <a href="../replace_all_copy.html" title="Function replace_all_copy">replace_all_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, <span class="bold"><strong>const</strong></span> Range1T &amp;,
+                                 <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../replace_all.html" title="Function template replace_all">replace_all</a>(SequenceT &amp;, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T,
+             <span class="bold"><strong>typename</strong></span> Range3T&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../ireplace_all_copy.html" title="Function ireplace_all_copy">ireplace_all_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                        <span class="bold"><strong>const</strong></span> Range3T &amp;, <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">SequenceT</span> <a href="../ireplace_all_copy.html" title="Function ireplace_all_copy">ireplace_all_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, <span class="bold"><strong>const</strong></span> Range1T &amp;,
+                                  <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                                  <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../ireplace_all.html" title="Function template ireplace_all">ireplace_all</a>(SequenceT &amp;, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                        <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../replace_head_copy.html" title="Function replace_head_copy">replace_head_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>,
+                        <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type">SequenceT</span> <a href="../replace_head_copy.html" title="Function replace_head_copy">replace_head_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>,
+                                  <span class="bold"><strong>const</strong></span> RangeT &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../replace_head.html" title="Function template replace_head">replace_head</a>(SequenceT &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>const</strong></span> RangeT &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../replace_tail_copy.html" title="Function replace_tail_copy">replace_tail_copy</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> Range1T &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>,
+                        <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type">SequenceT</span> <a href="../replace_tail_copy.html" title="Function replace_tail_copy">replace_tail_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>,
+                                  <span class="bold"><strong>const</strong></span> RangeT &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../replace_tail.html" title="Function template replace_tail">replace_tail</a>(SequenceT &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>const</strong></span> RangeT &amp;);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2372677"></a>Header &lt;<a href="../../../boost/algorithm/string/sequence_traits.hpp" target="_top">boost/algorithm/string/sequence_traits.hpp</a>&gt;</h4></div></div></div>
+<p>Traits defined in this header are used by various algorithms to achieve better performance for specific containers. Traits provide fail-safe defaults. If a container supports some of these features, it is possible to specialize the specific trait for this container. For lacking compilers, it is possible of define an override for a specific tester function.</p>
+<p>Due to a language restriction, it is not currently possible to define specializations for stl containers without including the corresponding header. To decrease the overhead needed by this inclusion, user can selectively include a specialization header for a specific container. They are located in boost/algorithm/string/stl directory. Alternatively she can include boost/algorithm/string/std_collection_traits.hpp header which contains specializations for all stl containers.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> algorithm {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="bold"><strong>class</strong></span> <a href="../has_native_replace.html" title="Class template has_native_replace">has_native_replace</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="bold"><strong>class</strong></span> <a href="../has_stable_iterators.html" title="Class template has_stable_iterators">has_stable_iterators</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="bold"><strong>class</strong></span> <a href="../has_const_time_insert.html" title="Class template has_const_time_insert">has_const_time_insert</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="bold"><strong>class</strong></span> <a href="../has_const_time_erase.html" title="Class template has_const_time_erase">has_const_time_erase</a>;
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2541245"></a>Header &lt;<a href="../../../boost/algorithm/string/split.hpp" target="_top">boost/algorithm/string/split.hpp</a>&gt;</h4></div></div></div>
+<p>Defines basic split algorithms. Split algorithms can be used to divide a string into several parts according to given criteria.</p>
+<p>Each part is copied and added as a new element to the output container. Thus the result container must be able to hold copies of the matches (in a compatible structure like std::string) or a reference to it (e.g. using the iterator range class). Examples of such a container are <code class="computeroutput">std::vector&lt;std::string&gt;</code> or <code class="computeroutput">std::list&lt;boost::iterator_range&lt;std::string::iterator&gt;&gt;</code></p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> algorithm {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceSequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">SequenceSequenceT &amp;</span>
+      <a href="../find_all.html" title="Function template find_all">find_all</a>(SequenceSequenceT &amp;, Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceSequenceT, <span class="bold"><strong>typename</strong></span> Range1T, <span class="bold"><strong>typename</strong></span> Range2T&gt;
+      <span class="type">SequenceSequenceT &amp;</span>
+      <a href="../ifind_all.html" title="Function template ifind_all">ifind_all</a>(SequenceSequenceT &amp;, Range1T &amp;, <span class="bold"><strong>const</strong></span> Range2T &amp;,
+                <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceSequenceT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+      <span class="type">SequenceSequenceT &amp;</span>
+      <a href="../id2580251.html" title="Function template split">split</a>(SequenceSequenceT &amp;, RangeT &amp;, PredicateT,
+            token_compress_mode_type = token_compress_off);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2552168"></a>Header &lt;<a href="../../../boost/algorithm/string/std_containers_traits.hpp" target="_top">boost/algorithm/string/std_containers_traits.hpp</a>&gt;</h4></div></div></div>
+<p>This file includes sequence traits for stl containers.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2552179"></a>Header &lt;<a href="../../../boost/algorithm/string.hpp" target="_top">boost/algorithm/string.hpp</a>&gt;</h4></div></div></div>
+<p>Cumulative include for string_algo library</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2573542"></a>Header &lt;<a href="../../../boost/algorithm/string_regex.hpp" target="_top">boost/algorithm/string_regex.hpp</a>&gt;</h4></div></div></div>
+<p>Cumulative include for string_algo library. In addtion to string.hpp contains also regex-related stuff.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2573553"></a>Header &lt;<a href="../../../boost/algorithm/string/trim.hpp" target="_top">boost/algorithm/string/trim.hpp</a>&gt;</h4></div></div></div>
+<p>Defines trim algorithms. Trim algorithms are used to remove trailing and leading spaces from a sequence (string). Space is recognized using given locales.</p>
+<p>Parametric (<code class="computeroutput">_if</code> ) variants use a predicate (functor) to select which characters are to be trimmed.. Functions take a selection predicate as a parameter, which is used to determine whether a character is a space. Common predicates are provided in classification.hpp header.</p>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> algorithm {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../trim_left_copy_if.html" title="Function trim_left_copy_if">trim_left_copy_if</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> RangeT &amp;, PredicateT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+      <span class="type">SequenceT</span> <a href="../trim_left_copy_if.html" title="Function trim_left_copy_if">trim_left_copy_if</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, PredicateT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+      <span class="type">SequenceT</span> <a href="../trim_left_copy.html" title="Function template trim_left_copy">trim_left_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;,
+                               <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../trim_left_if.html" title="Function template trim_left_if">trim_left_if</a>(SequenceT &amp;, PredicateT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../trim_left.html" title="Function template trim_left">trim_left</a>(SequenceT &amp;, <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../trim_right_copy_if.html" title="Function trim_right_copy_if">trim_right_copy_if</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> RangeT &amp;, PredicateT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+      <span class="type">SequenceT</span> <a href="../trim_right_copy_if.html" title="Function trim_right_copy_if">trim_right_copy_if</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, PredicateT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+      <span class="type">SequenceT</span> <a href="../trim_right_copy.html" title="Function template trim_right_copy">trim_right_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;,
+                                <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../trim_right_if.html" title="Function template trim_right_if">trim_right_if</a>(SequenceT &amp;, PredicateT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../trim_right.html" title="Function template trim_right">trim_right</a>(SequenceT &amp;, <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+      <span class="type">OutputIteratorT</span>
+      <a href="../trim_copy_if.html" title="Function trim_copy_if">trim_copy_if</a>(OutputIteratorT, <span class="bold"><strong>const</strong></span> RangeT &amp;, PredicateT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+      <span class="type">SequenceT</span> <a href="../trim_copy_if.html" title="Function trim_copy_if">trim_copy_if</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;, PredicateT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+      <span class="type">SequenceT</span> <a href="../trim_copy.html" title="Function template trim_copy">trim_copy</a>(<span class="bold"><strong>const</strong></span> SequenceT &amp;,
+                          <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../trim_if.html" title="Function template trim_if">trim_if</a>(SequenceT &amp;, PredicateT);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+      <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../trim.html" title="Function template trim">trim</a>(SequenceT &amp;, <span class="bold"><strong>const</strong></span> std::locale &amp; = std::locale());
+  }
+}</pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="concept.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../to_lower_copy.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/string_algo/release_notes.html b/doc/html/string_algo/release_notes.html
new file mode 100644
index 0000000000..8a87f28d54
--- /dev/null
+++ b/doc/html/string_algo/release_notes.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Release Notes</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../string_algo.html" title="Chapter 11. Boost String Algorithms Library">
+<link rel="prev" href="../string_algo.html" title="Chapter 11. Boost String Algorithms Library">
+<link rel="next" href="usage.html" title="Usage">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../string_algo.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="usage.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="string_algo.release_notes"></a>Release Notes</h3></div></div></div>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<p><span class="bold"><strong>1.32</strong></span></p>
+<p>Initial release in Boost</p>
+</li>
+<li>
+<p><span class="bold"><strong>1.33</strong></span></p>
+<p>Internal version of collection traits removed, library adapted to Boost.Range</p>
+</li>
+</ul></div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: April 15, 2005 at 21:05:00 GMT</p></small></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../string_algo.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="usage.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/string_algo/usage.html b/doc/html/string_algo/usage.html
new file mode 100644
index 0000000000..d58b9c970e
--- /dev/null
+++ b/doc/html/string_algo/usage.html
@@ -0,0 +1,382 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Usage</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../string_algo.html" title="Chapter 11. Boost String Algorithms Library">
+<link rel="prev" href="release_notes.html" title="Release Notes">
+<link rel="next" href="quickref.html" title="Quick Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="release_notes.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="quickref.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="string_algo.usage"></a>Usage</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="usage.html#id2742478">First Example</a></span></dt>
+<dt><span class="section"><a href="usage.html#id2742674">Case conversion</a></span></dt>
+<dt><span class="section"><a href="usage.html#id2742730">Predicates and Classification</a></span></dt>
+<dt><span class="section"><a href="usage.html#id2742817">Trimming</a></span></dt>
+<dt><span class="section"><a href="usage.html#id2742878">Find algorithms</a></span></dt>
+<dt><span class="section"><a href="usage.html#id2742991">Replace Algorithms</a></span></dt>
+<dt><span class="section"><a href="usage.html#id2743115">Find Iterator</a></span></dt>
+<dt><span class="section"><a href="usage.html#id2743220">Split</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2742478"></a>First Example</h4></div></div></div>
+<p>
+ Using the algorithms is straightforward. Let us have a look at the first example:
+ </p>
+<pre class="programlisting">
+ #include &lt;boost/algorithm/string.hpp&gt;
+ using namespace std;
+ using namespace boost;
+
+ // ...
+
+ string str1(" hello world! ");
+ to_upper(str1); // str1 == " HELLO WORLD! "
+ trim(str1); // str1 == "HELLO WORLD!"
+
+ string str2=
+ to_lower_copy(
+ ireplace_first_copy(
+ str1,"hello","goodbye")); // str2 == "goodbye world!"
+ </pre>
+<p>
+ This example converts str1 to upper case and trims spaces from the start and the end
+ of the string. str2 is then created as a copy of str1 with "hello" replaced with "goodbye".
+ This example demonstrates several important concepts used in the library:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<p><span class="bold"><strong>Container parameters:</strong></span>
+ Unlike in the STL algorithms, parameters are not specified only in the form
+ of iterators. The STL convention allows for great flexibility,
+ but it has several limitations. It is not possible to <span class="emphasis"><em>stack</em></span> algorithms together,
+ because a container is passed in two parameters. Therefore it is not possible to use
+ a return value from another algorithm. It is considerably easier to write
+ <code class="computeroutput">to_lower(str1)</code>, than <code class="computeroutput">to_lower(str1.begin(), str1.end())</code>.
+ </p>
+<p>
+ The magic of <a href="../../../libs/range/index.html" target="_top">Boost.Range</a>
+ provides a uniform way of handling different string types.
+ If there is a need to pass a pair of iterators,
+ <a href="../../../libs/range/doc/utility_class.html" target="_top"><code class="computeroutput">boost::iterator_range</code></a>
+ can be used to package iterators into a structure with a compatible interface.
+ </p>
+</li>
+<li><p><span class="bold"><strong>Copy vs. Mutable:</strong></span>
+ Many algorithms in the library are performing a transformation of the input.
+ The transformation can be done in-place, mutating the input sequence, or a copy
+ of the transformed input can be created, leaving the input intact. None of
+ these possibilities is superior to the other one and both have different
+ advantages and disadvantages. For this reason, both are provided with the library.
+ </p></li>
+<li><p><span class="bold"><strong>Algorithm stacking:</strong></span>
+ Copy versions return a transformed input as a result, thus allow a simple chaining of
+ transformations within one expression (i.e. one can write <code class="computeroutput">trim_copy(to_upper_copy(s))</code>).
+ Mutable versions have <code class="computeroutput">void</code> return, to avoid misuse.
+ </p></li>
+<li><p><span class="bold"><strong>Naming:</strong></span>
+ Naming follows the conventions from the Standard C++ Library. If there is a
+ copy and a mutable version of the same algorithm, the mutable version has no suffix
+ and the copy version has the suffix <span class="emphasis"><em>_copy</em></span>.
+ Some algorithms have the prefix <span class="emphasis"><em>i</em></span>
+ (e.g. <code class="computeroutput"><a href="../ifind_first.html" title="Function template ifind_first">ifind_first()</a></code>).
+ This prefix identifies that the algorithm works in a case-insensitive manner.
+ </p></li>
+</ul></div>
+<p>
+ To use the library, include the <code class="computeroutput"><a href="reference.html#id2552179" title="Header &lt;boost/algorithm/string.hpp&gt;">boost/algorithm/string.hpp</a></code> header.
+ If the regex related functions are needed, include the
+ <code class="computeroutput"><a href="reference.html#id2573542" title="Header &lt;boost/algorithm/string_regex.hpp&gt;">boost/algorithm/string_regex.hpp</a></code> header.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2742674"></a>Case conversion</h4></div></div></div>
+<p>
+ STL has a nice way of converting character case. Unfortunately, it works only
+ for a single character and we want to convert a string,
+ </p>
+<pre class="programlisting">
+ string str1("HeLlO WoRld!");
+ to_upper(str1); // str1=="HELLO WORLD!"
+ </pre>
+<p><code class="computeroutput"><a href="../to_upper.html" title="Function template to_upper">to_upper()</a></code> and <code class="computeroutput"><a href="../to_lower.html" title="Function template to_lower">to_lower()</a></code> convert the case of
+ characters in a string using a specified locale.
+ </p>
+<p>
+ For more information see the reference for <code class="computeroutput"><a href="reference.html#id2352615" title="Header &lt;boost/algorithm/string/case_conv.hpp&gt;">boost/algorithm/string/case_conv.hpp</a></code>.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2742730"></a>Predicates and Classification</h4></div></div></div>
+<p>
+ A part of the library deals with string related predicates. Consider this example:
+ </p>
+<pre class="programlisting">
+ bool is_executable( string&amp; filename )
+ {
+ return
+ iends_with(filename, ".exe") ||
+ iends_with(filename, ".com");
+ }
+
+ // ...
+ string str1("command.com");
+ cout
+ &lt;&lt; str1
+ &lt;&lt; is_executable("command.com")? "is": "is not"
+ &lt;&lt; "an executable"
+ &lt;&lt; endl; // prints "command.com is an executable"
+
+ //..
+ char text1[]="hello world!";
+ cout
+ &lt;&lt; text1
+ &lt;&lt; all( text1, is_lower() )? "is": "is not"
+ &lt;&lt; " written in the lower case"
+ &lt;&lt; endl; // prints "hello world! is written in the lower case"
+ </pre>
+<p>
+ The predicates determine whether if a substring is contained in the input string
+ under various conditions. The conditions are: a string starts with the substring,
+ ends with the substring,
+ simply contains the substring or if both strings are equal. See the reference for
+ <code class="computeroutput"><a href="reference.html#id2589054" title="Header &lt;boost/algorithm/string/predicate.hpp&gt;">boost/algorithm/string/predicate.hpp</a></code> for more details.
+ </p>
+<p>
+ In addition the algorithm <code class="computeroutput"><a href="../all.html" title="Function template all">all()</a></code> checks
+ all elements of a container to satisfy a condition specified by a predicate.
+ This predicate can be any unary predicate, but the library provides a bunch of
+ useful string-related predicates and combinators ready for use.
+ These are located in the <code class="computeroutput"><a href="reference.html#id2336200" title="Header &lt;boost/algorithm/string/classification.hpp&gt;">boost/algorithm/string/classification.hpp</a></code> header.
+ Classification predicates can be combined using logical combinators to form
+ a more complex expressions. For example: <code class="computeroutput">is_from_range('a','z') || is_digit()</code></p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2742817"></a>Trimming</h4></div></div></div>
+<p>
+ When parsing the input from a user, strings usually have unwanted leading or trailing
+ characters. To get rid of them, we need trim functions:
+ </p>
+<pre class="programlisting">
+ string str1=" hello world! ";
+ string str2=trim_left_copy(str1); // str2 == "hello world! "
+ string str3=trim_right_copy(str2); // str3 == " hello world!"
+ trim(str1); // str1 == "hello world!"
+
+ string phone="00423333444";
+ // remove leading 0 from the phone number
+ trim_left_if(phone,is_any_of("0")); // phone == "423333444"
+ </pre>
+<p>
+ It is possible to trim the spaces on the right, on the left or on both sides of a string.
+ And for those cases when there is a need to remove something else than blank space, there
+ are <span class="emphasis"><em>_if</em></span> variants. Using these, a user can specify a functor which will
+ select the <span class="emphasis"><em>space</em></span> to be removed. It is possible to use classification
+ predicates like <code class="computeroutput"><a href="../is_digit.html" title="Function is_digit">is_digit()</a></code> mentioned in the previous paragraph.
+ See the reference for the <code class="computeroutput"><a href="reference.html#id2573553" title="Header &lt;boost/algorithm/string/trim.hpp&gt;">boost/algorithm/string/trim.hpp</a></code>.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2742878"></a>Find algorithms</h4></div></div></div>
+<p>
+ The library contains a set of find algorithms. Here is an example:
+ </p>
+<pre class="programlisting">
+ char text[]="hello dolly!";
+ iterator_range&lt;char*&gt; result=find_last(text,"ll");
+
+ transform( result.begin(), result.end(), result.begin(), bind2nd(plus&lt;char&gt;(), 1) );
+ // text = "hello dommy!"
+
+ to_upper(result); // text == "hello doMMy!"
+
+ // iterator_range is convertible to bool
+ if(find_first(text, "dolly"))
+ {
+ cout &lt;&lt; "Dolly is there" &lt;&lt; endl;
+ }
+ </pre>
+<p>
+ We have used <code class="computeroutput"><a href="../find_last.html" title="Function template find_last">find_last()</a></code> to search the <code class="computeroutput">text</code> for "ll".
+ The result is given in the <a href="../../../libs/range/doc/utility_class.html" target="_top"><code class="computeroutput">boost::iterator_range</code></a>.
+ This range delimits the
+ part of the input which satisfies the find criteria. In our example it is the last occurrence of "ll".
+
+ As we can see, input of the <code class="computeroutput"><a href="../find_last.html" title="Function template find_last">find_last()</a></code> algorithm can be also
+ char[] because this type is supported by
+ <a href="../../../libs/range/index.html" target="_top">Boost.Range</a>.
+
+ The following lines transform the result. Notice that
+ <a href="../../../libs/range/doc/utility_class.html" target="_top"><code class="computeroutput">boost::iterator_range</code></a> has familiar
+ <code class="computeroutput">begin()</code> and <code class="computeroutput">end()</code> methods, so it can be used like any other STL container.
+ Also it is convertible to bool therefore it is easy to use find algorithms for a simple containment checking.
+ </p>
+<p>
+ Find algorithms are located in <code class="computeroutput"><a href="reference.html#id2487443" title="Header &lt;boost/algorithm/string/find.hpp&gt;">boost/algorithm/string/find.hpp</a></code>.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2742991"></a>Replace Algorithms</h4></div></div></div>
+<p>
+ Find algorithms can be used for searching for a specific part of string. Replace goes one step
+ further. After a matching part is found, it is substituted with something else. The substitution is computed
+ from the original, using some transformation.
+ </p>
+<pre class="programlisting">
+ string str1="Hello Dolly, Hello World!"
+ replace_first(str1, "Dolly", "Jane"); // str1 == "Hello Jane, Hello World!"
+ replace_last(str1, "Hello", "Goodbye"); // str1 == "Hello Jane, Goodbye World!"
+ erase_all(str1, " "); // str1 == "HelloJane,GoodbyeWorld!"
+ erase_head(str1, 6); // str1 == "Jane,GoodbyeWorld!"
+ </pre>
+<p>
+ For the complete list of replace and erase functions see the
+ <a href="reference.html" title="Reference">reference</a>.
+ There is a lot of predefined function for common usage, however, the library allows you to
+ define a custom <code class="computeroutput">replace()</code> that suits a specific need. There is a generic <code class="computeroutput"><a href="../find_format.html" title="Function template find_format">find_format()</a></code>
+ function which takes two parameters.
+ The first one is a <a href="concept.html#string_algo.finder_concept" title="Finder Concept">Finder</a> object, the second one is
+ a <a href="concept.html#string_algo.formatter_concept" title="Formatter concept">Formatter</a> object.
+ The Finder object is a functor which performs the searching for the replacement part. The Formatter object
+ takes the result of the Finder (usually a reference to the found substring) and creates a
+ substitute for it. Replace algorithm puts these two together and makes the desired substitution.
+ </p>
+<p>
+ Check <code class="computeroutput"><a href="reference.html#id2553153" title="Header &lt;boost/algorithm/string/replace.hpp&gt;">boost/algorithm/string/replace.hpp</a></code>, <code class="computeroutput"><a href="reference.html#id2571451" title="Header &lt;boost/algorithm/string/erase.hpp&gt;">boost/algorithm/string/erase.hpp</a></code> and
+ <code class="computeroutput"><a href="reference.html#id2441187" title="Header &lt;boost/algorithm/string/find_format.hpp&gt;">boost/algorithm/string/find_format.hpp</a></code> for reference.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2743115"></a>Find Iterator</h4></div></div></div>
+<p>
+ An extension to find algorithms it the Find Iterator. Instead of searching for just a one part of a string,
+ the find iterator allows us to iterate over the substrings matching the specified criteria.
+ This facility is using the <a href="concept.html#string_algo.finder_concept" title="Finder Concept">Finder</a> to incrementally
+ search the string.
+ Dereferencing a find iterator yields an <a href="../../../libs/range/doc/utility_class.html" target="_top"><code class="computeroutput">boost::iterator_range</code></a>
+ object, that delimits the current match.
+ </p>
+<p>
+ There are two iterators provided <code class="computeroutput"><a href="../find_iterator.html" title="Class template find_iterator">find_iterator</a></code> and
+ <code class="computeroutput"><a href="../split_iterator.html" title="Class template split_iterator">split_iterator</a></code>. The former iterates over substrings that are found using the specified
+ Finder. The latter iterates over the gaps between these substrings.
+ </p>
+<pre class="programlisting">
+ string str1("abc-*-ABC-*-aBc");
+ // Find all 'abc' substrings (ignoring the case)
+ // Create a find_iterator
+ typedef find_iterator&lt;string::iterator&gt; string_find_iterator;
+ for(string_find_iterator It=
+ make_find_iterator(str1, first_finder("abc", is_iequal()));
+ It!=string_find_iterator();
+ ++It)
+ {
+ cout &lt;&lt; copy_range&lt;std::string&gt;(*It) &lt;&lt; endl;
+ }
+
+ // Output will be:
+ // abc
+ // ABC
+ // aBC
+
+ typedef split_iterator&lt;string::iterator&gt; string_split_iterator;
+ for(string_find_iterator It=
+ make_split_iterator(str1, first_finder("-*-", is_iequal()));
+ It!=string_find_iterator();
+ ++It)
+ {
+ cout &lt;&lt; copy_range&lt;std::string&gt;(*It) &lt;&lt; endl;
+ }
+
+ // Output will be:
+ // abc
+ // ABC
+ // aBC
+ </pre>
+<p>
+ Note that the find iterators have only one template parameter. It is the base iterator type.
+ The Finder is specified at runtime. This allows us to typedef a find iterator for
+ common string types and reuse it. Additionally make_*_iterator functions help
+ to construct a find iterator for a particular range.
+ </p>
+<p>
+ See the reference in <code class="computeroutput"><a href="reference.html#id2382464" title="Header &lt;boost/algorithm/string/find_iterator.hpp&gt;">boost/algorithm/string/find_iterator.hpp</a></code>.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2743220"></a>Split</h4></div></div></div>
+<p>
+ Split algorithms are an extension to the find iterator for one common usage scenario.
+ These algorithms use a find iterator and store all matches into the provided
+ container. This container must be able to hold copies (e.g. <code class="computeroutput">std::string</code>) or
+ references (e.g. <code class="computeroutput">iterator_range</code>) of the extracted substrings.
+ </p>
+<p>
+ Two algorithms are provided. <code class="computeroutput"><a href="../find_all.html" title="Function template find_all">find_all()</a></code> finds all copies
+ of a string in the input. <code class="computeroutput"><a href="../id2580251.html" title="Function template split">split()</a></code> splits the input into parts.
+ </p>
+<pre class="programlisting">
+ string str1("hello abc-*-ABC-*-aBc goodbye");
+
+ typedef vector&lt; iterator_range&lt;string::iterator&gt; &gt; find_vector_type;
+
+ find_vector_type FindVec; // #1: Search for separators
+ ifind_all( FindVec, str1, "abc" ); // FindVec == { [abc],[ABC],[aBc] }
+
+ typedef vector&lt; string &gt; split_vector_type;
+
+ split_vector_type SplitVec; // #2: Search for tokens
+ split( SplitVec, str1, is_any_of("-*") ); // SplitVec == { "hello abc","ABC","aBc goodbye" }
+ </pre>
+<p><code class="computeroutput">[hello]</code> designates an <code class="computeroutput">iterator_range</code> delimiting this substring.
+ </p>
+<p>
+ First example show how to construct a container to hold references to all extracted
+ substrings. Algorithm <code class="computeroutput"><a href="../ifind_all.html" title="Function template ifind_all">ifind_all()</a></code> puts into FindVec references
+ to all substrings that are in case-insensitive manner equal to "abc".
+ </p>
+<p>
+ Second example uses <code class="computeroutput"><a href="../id2580251.html" title="Function template split">split()</a></code> to split string str1 into parts
+ separated by characters '-' or '*'. These parts are then put into the SplitVec.
+ It is possible to specify if adjacent separators are concatenated or not.
+ </p>
+<p>
+ More information can be found in the reference: <code class="computeroutput"><a href="reference.html#id2541245" title="Header &lt;boost/algorithm/string/split.hpp&gt;">boost/algorithm/string/split.hpp</a></code>.
+ </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: December 01, 2005 at 13:42:02 GMT</p></small></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="release_notes.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="quickref.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/string_parse_tree.html b/doc/html/string_parse_tree.html
new file mode 100644
index 0000000000..87f572861c
--- /dev/null
+++ b/doc/html/string_parse_tree.html
@@ -0,0 +1,110 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct template string_parse_tree</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2393421" title="Header &lt;boost/date_time/string_parse_tree.hpp&gt;">
+<link rel="prev" href="parse_match_result.html" title="Struct template parse_match_result">
+<link rel="next" href="gather_month_strings.html" title="Function template gather_month_strings">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="parse_match_result.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2393421"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="gather_month_strings.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="string_parse_tree"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template string_parse_tree</span></h2>
+<p>boost::date_time::string_parse_tree &#8212; Recursive data structure to allow efficient parsing of various strings. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> charT&gt;
+<span class="bold"><strong>struct</strong></span> string_parse_tree {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::multimap&lt; charT, <a href="string_parse_tree.html" title="Struct template string_parse_tree">string_parse_tree</a> &gt; ptree_coll;             
+  <span class="bold"><strong>typedef</strong></span> ptree_coll::value_type                    value_type;             
+  <span class="bold"><strong>typedef</strong></span> ptree_coll::iterator                      iterator;               
+  <span class="bold"><strong>typedef</strong></span> ptree_coll::const_iterator                const_iterator;         
+  <span class="bold"><strong>typedef</strong></span> std::basic_string&lt; charT &gt;                string_type;            
+  <span class="bold"><strong>typedef</strong></span> std::vector&lt; std::basic_string&lt; charT &gt; &gt; collection_type;        
+  <span class="bold"><strong>typedef</strong></span> parse_match_result&lt; charT &gt;               parse_match_result_type;
+
+  <span class="emphasis"><em>// <a href="string_parse_tree.html#string_parse_treeconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="string_parse_tree.html#id2481266-bb">string_parse_tree</a>(collection_type, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> = 0);
+  <a href="string_parse_tree.html#id2472689-bb">string_parse_tree</a>(<span class="bold"><strong>short</strong></span> = -1);
+
+  <span class="emphasis"><em>// <a href="string_parse_tree.html#id2454061-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="string_parse_tree.html#id2454065-bb">insert</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span>) ;
+  <span class="type"><span class="bold"><strong>short</strong></span></span> <a href="string_parse_tree.html#id2405862-bb">match</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
+              std::istreambuf_iterator&lt; charT &gt; &amp;, parse_match_result_type &amp;,
+              <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">parse_match_result_type</span>
+  <a href="string_parse_tree.html#id2481352-bb">match</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
+        std::istreambuf_iterator&lt; charT &gt; &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="string_parse_tree.html#id2481396-bb">printme</a>(std::ostream &amp;, <span class="bold"><strong>int</strong></span> &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="string_parse_tree.html#id2481209-bb">print</a>(std::ostream &amp;) ;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="string_parse_tree.html#id2481232-bb">printmatch</a>(std::ostream &amp;, charT) ;
+
+  ptree_coll m_next_chars;
+  short m_value;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2650924"></a><h2>Description</h2>
+<p>This class provides a quick lookup by building what amounts to a tree data structure. It also features a match function which can can handle nasty input interators by caching values as it recurses the tree so that it can backtrack as needed. </p>
+<div class="refsect2" lang="en">
+<a name="id2650934"></a><h3>
+<a name="string_parse_treeconstruct-copy-destruct"></a><code class="computeroutput">string_parse_tree</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2481266-bb"></a>string_parse_tree(collection_type names, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> starting_point = 0);</pre>
+<p>Parameter "starting_point" desingates where the numbering begins. A starting_point of zero will start the numbering at zero (Sun=0, Mon=1, ...) were a starting_point of one starts the numbering at one (Jan=1, Feb=2, ...). The default is zero, negative vaules are not allowed </p>
+</li>
+<li><pre class="literallayout"><a name="id2472689-bb"></a>string_parse_tree(<span class="bold"><strong>short</strong></span> value = -1);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2651005"></a><h3>
+<a name="id2454061-bb"></a><code class="computeroutput">string_parse_tree</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2454065-bb"></a>insert(<span class="bold"><strong>const</strong></span> string_type &amp; s, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span> value) ;</pre></li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>short</strong></span></span> <a name="id2405862-bb"></a>match(std::istreambuf_iterator&lt; charT &gt; &amp; sitr,
+            std::istreambuf_iterator&lt; charT &gt; &amp; stream_end,
+            parse_match_result_type &amp; result, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> &amp; level) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Must check match_results::has_remaining() after match() is called. This is required so the user can determine if stream iterator is already pointing to the expected character or not (match() might advance sitr to next char in stream).</p>
+<p>A parse_match_result that has been returned from a failed match attempt can be sent in to the match function of a different string_parse_tree to attempt a match there. Use the iterators for the partially consumed stream, the parse_match_result object, and '0' for the level parameter. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">parse_match_result_type</span>
+<a name="id2481352-bb"></a>match(std::istreambuf_iterator&lt; charT &gt; &amp; sitr,
+      std::istreambuf_iterator&lt; charT &gt; &amp; stream_end) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Must check match_results::has_remaining() after match() is called. This is required so the user can determine if stream iterator is already pointing to the expected character or not (match() might advance sitr to next char in stream). </p>
+</li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2481396-bb"></a>printme(std::ostream &amp; os, <span class="bold"><strong>int</strong></span> &amp; level) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2481209-bb"></a>print(std::ostream &amp; os) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2481232-bb"></a>printmatch(std::ostream &amp; os, charT c) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="parse_match_result.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2393421"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="gather_month_strings.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/subsecond_duration.html b/doc/html/subsecond_duration.html
new file mode 100644
index 0000000000..9fe941bbf5
--- /dev/null
+++ b/doc/html/subsecond_duration.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template subsecond_duration</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2451962" title="Header &lt;boost/date_time/time_duration.hpp&gt;">
+<link rel="prev" href="id2451976.html" title="Class template time_duration">
+<link rel="next" href="time_formats.html" title="Struct template time_formats">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2451976.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2451962"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_formats.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="subsecond_duration"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template subsecond_duration</span></h2>
+<p>boost::date_time::subsecond_duration &#8212; Template for instantiating derived adjusting durations. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> base_duration, boost::int64_t frac_of_second&gt;
+<span class="bold"><strong>class</strong></span> subsecond_duration {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> base_duration::traits_type traits_type;
+
+  <span class="emphasis"><em>// <a href="subsecond_duration.html#subsecond_durationconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="subsecond_duration.html#id2417763-bb">subsecond_duration</a>(boost::int64_t);
+
+  <span class="emphasis"><em>// <a href="subsecond_duration.html#id2417759-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2655506"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2655510"></a><h3>
+<a name="subsecond_durationconstruct-copy-destruct"></a><code class="computeroutput">subsecond_duration</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2417763-bb"></a>subsecond_duration(boost::int64_t ss);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2655542"></a><h3>
+<a name="id2417759-bb"></a><code class="computeroutput">subsecond_duration</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2451976.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2451962"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_formats.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/tail_finder.html b/doc/html/tail_finder.html
new file mode 100644
index 0000000000..c4df126ecc
--- /dev/null
+++ b/doc/html/tail_finder.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function tail_finder</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2447201" title="Header &lt;boost/algorithm/string/finder.hpp&gt;">
+<link rel="prev" href="head_finder.html" title="Function head_finder">
+<link rel="next" href="token_finder.html" title="Function template token_finder">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="head_finder.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2447201"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="token_finder.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="tail_finder"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function tail_finder</span></h2>
+<p>boost::algorithm::tail_finder &#8212; "Tail" finder </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="type"><span class="emphasis"><em>unspecified</em></span></span> tail_finder(<span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> N);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2759996"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">tail_finder</code> . The finder returns a tail of a given input. The tail is a suffix of a string up to n elements in size. If an input has less then n elements, whole input is considered a head. The result is given as an <code class="computeroutput">iterator_range</code> delimiting the match.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">N</span></dt>
+<dd><p>The size of the head </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">tail_finder</code> object </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="head_finder.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2447201"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="token_finder.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/thread.html b/doc/html/thread.html
new file mode 100644
index 0000000000..79cbc82bd8
--- /dev/null
+++ b/doc/html/thread.html
@@ -0,0 +1,224 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class thread</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id2617127" title="Header &lt;boost/thread/thread.hpp&gt;">
+<link rel="prev" href="recursive_timed_mutex.html" title="Class recursive_timed_mutex">
+<link rel="next" href="thread_group.html" title="Class thread_group">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="recursive_timed_mutex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2617127"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="thread_group.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="thread"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class thread</span></h2>
+<p>boost::thread &#8212; <p>The <a href="thread.html" title="Class thread">thread</a> class represents threads of
+ execution, and provides the functionality to create and manage
+ threads within the <span class="bold"><strong>Boost.Threads</strong></span> library. See
+ <a href="threads.html#threads.glossary" title="Glossary">Glossary</a> for a precise description of
+ <a href="threads.html#threads.glossary.thread">thread of execution</a>,
+ and for definitions of threading-related terms and of thread states such as
+ <a href="threads.html#threads.glossary.thread-state">blocked</a>.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> thread : <span class="bold"><strong>private</strong></span> boost::noncopyable <span class="emphasis"><em>// Exposition only</em></span>
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="thread.html#threadconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="thread.html#id2622566-bb">thread</a>();
+  <span class="bold"><strong>explicit</strong></span> <a href="thread.html#id2365210-bb">thread</a>(<span class="bold"><strong>const</strong></span> boost::function0&lt;<span class="bold"><strong>void</strong></span>&gt;&amp;);
+  <a href="thread.html#id2608313-bb">~thread</a>();
+
+  <span class="emphasis"><em>// <a href="thread.html#id2615391-bb">comparison</a></em></span>
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="thread.html#id2554514-bb"><span class="bold"><strong>operator</strong></span>==</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="thread.html#id2533742-bb"><span class="bold"><strong>operator</strong></span>!=</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="thread.html#id2624303-bb">modifier</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="thread.html#id2598034-bb">join</a>();
+
+  <span class="emphasis"><em>// <a href="thread.html#id2547308-bb">static</a></em></span>
+  <span class="bold"><strong>static</strong></span> <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="thread.html#id2449425-bb">sleep</a>(<span class="bold"><strong>const</strong></span> <a href="xtime.html" title="Struct xtime">xtime</a>&amp;);
+  <span class="bold"><strong>static</strong></span> <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="thread.html#id2605693-bb">yield</a>();
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2784013"></a><h2>Description</h2>
+<p>A <a href="threads.html#threads.glossary.thread">thread of execution</a>
+ has an initial function. For the program's initial thread, the initial
+ function is <code class="computeroutput">main()</code>. For other threads, the initial
+ function is <code class="computeroutput">operator()</code> of the function object passed to
+ the <a href="thread.html" title="Class thread">thread</a> object's constructor.</p>
+<p>A thread of execution is said to be "finished"
+ or to have "finished execution" when its initial function returns or
+ is terminated. This includes completion of all thread cleanup
+ handlers, and completion of the normal C++ function return behaviors,
+ such as destruction of automatic storage (stack) objects and releasing
+ any associated implementation resources.</p>
+<p>A thread object has an associated state which is either
+ "joinable" or "non-joinable".</p>
+<p>Except as described below, the policy used by an implementation
+ of <span class="bold"><strong>Boost.Threads</strong></span> to schedule transitions between thread states is
+ unspecified.</p>
+<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Note</h3>Just as the lifetime of a file may be different from the
+ lifetime of an <code class="computeroutput">iostream</code> object which represents the file, the lifetime
+ of a thread of execution may be different from the
+ <a href="thread.html" title="Class thread">thread</a> object which represents the thread of
+ execution. In particular, after a call to <code class="computeroutput">join()</code>,
+ the thread of execution will no longer exist even though the
+ <a href="thread.html" title="Class thread">thread</a> object continues to exist until the
+ end of its normal lifetime. The converse is also possible; if
+ a <a href="thread.html" title="Class thread">thread</a> object is destroyed without
+ <code class="computeroutput">join()</code> first having been called, the thread of execution
+ continues until its initial function completes.</div>
+<div class="refsect2" lang="en">
+<a name="id2784121"></a><h3>
+<a name="threadconstruct-copy-destruct"></a><code class="computeroutput">thread</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2622566-bb"></a>thread();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Constructs a <a href="thread.html" title="Class thread">thread</a> object
+ representing the current thread of execution.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">*this</code> is non-joinable.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ <span class="bold"><strong>Danger:</strong></span><code class="computeroutput">*this</code> is valid only within the current thread.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>explicit</strong></span> <a name="id2365210-bb"></a>thread(<span class="bold"><strong>const</strong></span> boost::function0&lt;<span class="bold"><strong>void</strong></span>&gt;&amp; threadfunc);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+
+ Starts a new thread of execution and constructs a
+ <a href="thread.html" title="Class thread">thread</a> object representing it.
+ Copies <code class="computeroutput">threadfunc</code> (which in turn copies
+ the function object wrapped by <code class="computeroutput">threadfunc</code>)
+ to an internal location which persists for the lifetime
+ of the new thread of execution. Calls <code class="computeroutput">operator()</code>
+ on the copy of the <code class="computeroutput">threadfunc</code> function object
+ in the new thread of execution.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">*this</code> is joinable.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ <code class="computeroutput">boost::thread_resource_error</code> if a new thread
+ of execution cannot be started.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2608313-bb"></a>~thread();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Destroys <code class="computeroutput">*this</code>. The actual thread of
+ execution may continue to execute after the
+ <a href="thread.html" title="Class thread">thread</a> object has been destroyed.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ If <code class="computeroutput">*this</code> is joinable the actual thread
+ of execution becomes "detached". Any resources used
+ by the thread will be reclaimed when the thread of execution
+ completes. To ensure such a thread of execution runs to completion
+ before the <a href="thread.html" title="Class thread">thread</a> object is destroyed, call
+ <code class="computeroutput">join()</code>.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2784364"></a><h3>
+<a name="id2615391-bb"></a><code class="computeroutput">thread</code> comparison</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2554514-bb"></a><span class="bold"><strong>operator</strong></span>==( rhs) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ The thread is non-terminated or <code class="computeroutput">*this</code>
+ is joinable.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">true</code> if <code class="computeroutput">*this</code> and
+ <code class="computeroutput">rhs</code> represent the same thread of
+ execution.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2533742-bb"></a><span class="bold"><strong>operator</strong></span>!=( rhs) <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ The thread is non-terminated or <code class="computeroutput">*this</code>
+ is joinable.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">!(*this==rhs)</code>.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2784510"></a><h3>
+<a name="id2624303-bb"></a><code class="computeroutput">thread</code> modifier</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2598034-bb"></a>join();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">*this</code> is joinable.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ The current thread of execution blocks until the
+ initial function of the thread of execution represented by
+ <code class="computeroutput">*this</code> finishes and all resources are
+ reclaimed.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ If <code class="computeroutput">*this == thread()</code> the result is
+ implementation-defined. If the implementation doesn't
+ detect this the result will be
+ <a href="threads.html#threads.glossary.deadlock">deadlock</a>.
+ </p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2784599"></a><h3>
+<a name="id2547308-bb"></a><code class="computeroutput">thread</code> static</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="bold"><strong>static</strong></span> <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2449425-bb"></a>sleep(<span class="bold"><strong>const</strong></span> <a href="xtime.html" title="Struct xtime">xtime</a>&amp; xt);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ The current thread of execution blocks until
+ <code class="computeroutput">xt</code> is reached.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>static</strong></span> <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2605693-bb"></a>yield();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ The current thread of execution is placed in the
+ <a href="threads.html#threads.glossary.thread-state">ready</a>
+ state.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Allow the current thread to give up the rest of its
+ time slice (or other scheduling quota) to another thread.
+ Particularly useful in non-preemptive implementations.</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="recursive_timed_mutex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2617127"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="thread_group.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/thread/acknowledgements.html b/doc/html/thread/acknowledgements.html
new file mode 100644
index 0000000000..23fab35c5d
--- /dev/null
+++ b/doc/html/thread/acknowledgements.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Acknowledgements</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../threads.html" title="Chapter 12. Boost.Threads">
+<link rel="prev" href="../threads/release_notes.html" title="Release Notes">
+<link rel="next" href="../tribool.html" title="Chapter 13. Boost.Tribool">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../threads/release_notes.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../tribool.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="thread.acknowledgements"></a>Acknowledgements</h3></div></div></div>
+<p>William E. Kempf was the architect, designer, and implementor of
+ <span class="bold"><strong>Boost.Threads</strong></span>.</p>
+<p>Mac OS Carbon implementation written by Mac Murrett.</p>
+<p>Dave Moore provided initial submissions and further comments on the
+ <code class="computeroutput">barrier</code>
+ and
+ <code class="computeroutput">thread_pool</code>
+ classes.</p>
+<p>Important contributions were also made by Jeremy Siek (lots of input
+ on the design and on the implementation), Alexander Terekhov (lots of input
+ on the Win32 implementation, especially in regards to boost::condition, as
+ well as a lot of explanation of POSIX behavior), Greg Colvin (lots of input
+ on the design), Paul Mclachlan, Thomas Matelich and Iain Hanson (for help
+ in trying to get the build to work on other platforms), and Kevin S. Van
+ Horn (for several updates/corrections to the documentation).</p>
+<p>Mike Glassford finished changes to <span class="bold"><strong>Boost.Threads</strong></span> that were begun
+ by William Kempf and moved them into the main CVS branch.
+ He also addressed a number of issues that were brought up on the Boost
+ developer's mailing list and provided some additions and changes to the
+ read_write_mutex and related classes.</p>
+<p>The documentation was written by William E. Kempf. Beman Dawes
+ provided additional documentation material and editing.
+ Mike Glassford finished William Kempf's conversion of the documentation to
+ BoostBook format and added a number of new sections.</p>
+<p>Discussions on the boost.org mailing list were essential in the
+ development of <span class="bold"><strong>Boost.Threads</strong></span>
+ . As of August 1, 2001, participants included Alan Griffiths, Albrecht
+ Fritzsche, Aleksey Gurtovoy, Alexander Terekhov, Andrew Green, Andy Sawyer,
+ Asger Alstrup Nielsen, Beman Dawes, Bill Klein, Bill Rutiser, Bill Wade,
+ Branko èibej, Brent Verner, Craig Henderson, Csaba Szepesvari,
+ Dale Peakall, Damian Dixon, Dan Nuffer, Darryl Green, Daryle Walker, David
+ Abrahams, David Allan Finch, Dejan Jelovic, Dietmar Kuehl, Douglas Gregor,
+ Duncan Harris, Ed Brey, Eric Swanson, Eugene Karpachov, Fabrice Truillot,
+ Frank Gerlach, Gary Powell, Gernot Neppert, Geurt Vos, Ghazi Ramadan, Greg
+ Colvin, Gregory Seidman, HYS, Iain Hanson, Ian Bruntlett, J Panzer, Jeff
+ Garland, Jeff Paquette, Jens Maurer, Jeremy Siek, Jesse Jones, Joe Gottman,
+ John (EBo) David, John Bandela, John Maddock, John Max Skaller, John
+ Panzer, Jon Jagger , Karl Nelson, Kevlin Henney, KG Chandrasekhar, Levente
+ Farkas, Lie-Quan Lee, Lois Goldthwaite, Luis Pedro Coelho, Marc Girod, Mark
+ A. Borgerding, Mark Rodgers, Marshall Clow, Matthew Austern, Matthew Hurd,
+ Michael D. Crawford, Michael H. Cox , Mike Haller, Miki Jovanovic, Nathan
+ Myers, Paul Moore, Pavel Cisler, Peter Dimov, Petr Kocmid, Philip Nash,
+ Rainer Deyke, Reid Sweatman, Ross Smith, Scott McCaskill, Shalom Reich,
+ Steve Cleary, Steven Kirk, Thomas Holenstein, Thomas Matelich, Trevor
+ Perrin, Valentin Bonnard, Vesa Karvonen, Wayne Miller, and William
+ Kempf.</p>
+<p>Apologies for anyone inadvertently missed.</p>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: October 16, 2005 at 14:37:34 GMT</p></small></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../threads/release_notes.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../tribool.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/thread/build.html b/doc/html/thread/build.html
new file mode 100644
index 0000000000..cbd0bc7cac
--- /dev/null
+++ b/doc/html/thread/build.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Build</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../threads.html" title="Chapter 12. Boost.Threads">
+<link rel="prev" href="configuration.html" title="Configuration">
+<link rel="next" href="../threads/implementation_notes.html" title="Implementation Notes">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="configuration.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../threads/implementation_notes.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="thread.build"></a>Build</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="build.html#thread.build.building">Building the <span class="bold"><strong>Boost.Threads</strong></span> Libraries</a></span></dt>
+<dt><span class="section"><a href="build.html#thread.build.testing">Testing the <span class="bold"><strong>Boost.Threads</strong></span> Libraries</a></span></dt>
+</dl></div>
+<p>
+ How you build the <span class="bold"><strong>Boost.Threads</strong></span> libraries, and how you build your own applications
+ that use those libraries, are some of the most frequently asked questions. Build
+ processes are difficult to deal with in a portable manner. That's one reason
+ why <span class="bold"><strong>Boost.Threads</strong></span> makes use of <span class="bold"><strong>Boost.Build</strong></span>.
+ In general you should refer to the documentation for <span class="bold"><strong>Boost.Build</strong></span>.
+ This document will only supply you with some simple usage examples for how to
+ use <span class="emphasis"><em>bjam</em></span> to build and test <span class="bold"><strong>Boost.Threads</strong></span>. In addition, this document
+ will try to explain the build requirements so that users may create their own
+ build processes (for instance, create an IDE specific project), both for building
+ and testing <span class="bold"><strong>Boost.Threads</strong></span>, as well as for building their own projects using
+ <span class="bold"><strong>Boost.Threads</strong></span>.
+ </p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="thread.build.building"></a>Building the <span class="bold"><strong>Boost.Threads</strong></span> Libraries</h4></div></div></div>
+<p>
+ To build the <span class="bold"><strong>Boost.Threads</strong></span> libraries using <span class="bold"><strong>Boost.Build</strong></span>, simply change to the
+ directory <span class="emphasis"><em>boost_root</em></span>/libs/thread/build and execute the command:
+ </p>
+<pre class="programlisting">bjam -sTOOLS=<span class="emphasis"><em>toolset</em></span></pre>
+<p>
+ This will create the debug and the release builds of the <span class="bold"><strong>Boost.Threads</strong></span> library.
+ </p>
+<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Note</h3>Invoking the above command in <span class="emphasis"><em>boost_root</em></span> will build all of
+ the Boost distribution, including <span class="bold"><strong>Boost.Threads</strong></span>.</div>
+<p>
+ The Jamfile supplied with <span class="bold"><strong>Boost.Threads</strong></span> produces a dynamic link library named
+ <span class="emphasis"><em>boost_thread{build-specific-tags}.{extension}</em></span>, where the build-specific
+ tags indicate the toolset used to build the library, whether it's a debug or release
+ build, what version of Boost was used, etc.; and the extension is the appropriate extension
+ for a dynamic link library for the platform for which <span class="bold"><strong>Boost.Threads</strong></span> is being built.
+ For instance, a debug library built for Win32 with VC++ 7.1 using Boost 1.31 would
+ be named <span class="emphasis"><em>boost_thread-vc71-mt-gd-1_31.dll</em></span>.
+ </p>
+<p>
+ The source files that are used to create the <span class="bold"><strong>Boost.Threads</strong></span> library
+ are all of the *.cpp files found in <span class="emphasis"><em>boost_root</em></span>/libs/thread/src.
+ These need to be built with the compiler's and linker's multi-threading support enabled.
+ If you want to create your own build solution you'll have to follow these same
+ guidelines. One of the most frequently reported problems when trying to do this
+ occurs from not enabling the compiler's and linker's support for multi-threading.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="thread.build.testing"></a>Testing the <span class="bold"><strong>Boost.Threads</strong></span> Libraries</h4></div></div></div>
+<p>
+ To test the <span class="bold"><strong>Boost.Threads</strong></span> libraries using <span class="bold"><strong>Boost.Build</strong></span>, simply change to the
+ directory <span class="emphasis"><em>boost_root</em></span>/libs/thread/test and execute the command:
+ </p>
+<pre class="programlisting">bjam -sTOOLS=<span class="emphasis"><em>toolset</em></span> test</pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: July 17, 2004 at 04:33:59 GMT</p></small></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="configuration.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../threads/implementation_notes.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/thread/configuration.html b/doc/html/thread/configuration.html
new file mode 100644
index 0000000000..01c7d51285
--- /dev/null
+++ b/doc/html/thread/configuration.html
@@ -0,0 +1,125 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Configuration</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../threads.html" title="Chapter 12. Boost.Threads">
+<link rel="prev" href="../threads/faq.html" title="Frequently Asked Questions">
+<link rel="next" href="build.html" title="Build">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../threads/faq.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="build.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="thread.configuration"></a>Configuration</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="configuration.html#thread.configuration.public">Library Defined Public Macros</a></span></dt>
+<dt><span class="section"><a href="configuration.html#thread.configuration.implementation">Library Defined Implementation Macros</a></span></dt>
+</dl></div>
+<p><span class="bold"><strong>Boost.Threads</strong></span> uses several configuration macros in &lt;boost/config.hpp&gt;,
+ as well as configuration macros meant to be supplied by the application. These
+ macros are documented here.
+ </p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="thread.configuration.public"></a>Library Defined Public Macros</h4></div></div></div>
+<p>
+ These macros are defined by <span class="bold"><strong>Boost.Threads</strong></span> but are expected to be used
+ by application code.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Macro</th>
+<th>Meaning</th>
+</tr></thead>
+<tbody><tr>
+<td>BOOST_HAS_THREADS</td>
+<td>
+ Indicates that threading support is available. This means both that there
+ is a platform specific implementation for <span class="bold"><strong>Boost.Threads</strong></span> and that
+ threading support has been enabled in a platform specific manner. For instance,
+ on the Win32 platform there's an implementation for <span class="bold"><strong>Boost.Threads</strong></span>
+ but unless the program is compiled against one of the multithreading runtimes
+ (often determined by the compiler predefining the macro _MT) the BOOST_HAS_THREADS
+ macro remains undefined.
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="thread.configuration.implementation"></a>Library Defined Implementation Macros</h4></div></div></div>
+<p>
+ These macros are defined by <span class="bold"><strong>Boost.Threads</strong></span> and are implementation details
+ of interest only to implementors.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Macro</th>
+<th>Meaning</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>BOOST_HAS_WINTHREADS</td>
+<td>
+ Indicates that the platform has the Microsoft Win32 threading libraries,
+ and that they should be used to implement <span class="bold"><strong>Boost.Threads</strong></span>.
+ </td>
+</tr>
+<tr>
+<td>BOOST_HAS_PTHREADS</td>
+<td>
+ Indicates that the platform has the POSIX pthreads libraries, and that
+ they should be used to implement <span class="bold"><strong>Boost.Threads</strong></span>.
+ </td>
+</tr>
+<tr>
+<td>BOOST_HAS_FTIME</td>
+<td>
+ Indicates that the implementation should use GetSystemTimeAsFileTime()
+ and the FILETIME type to calculate the current time. This is an implementation
+ detail used by boost::detail::getcurtime().
+ </td>
+</tr>
+<tr>
+<td>BOOST_HAS_GETTTIMEOFDAY</td>
+<td>
+ Indicates that the implementation should use gettimeofday() to calculate
+ the current time. This is an implementation detail used by boost::detail::getcurtime().
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: July 17, 2004 at 04:33:59 GMT</p></small></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../threads/faq.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="build.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/thread_group.html b/doc/html/thread_group.html
new file mode 100644
index 0000000000..040ec78345
--- /dev/null
+++ b/doc/html/thread_group.html
@@ -0,0 +1,132 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class thread_group</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id2617127" title="Header &lt;boost/thread/thread.hpp&gt;">
+<link rel="prev" href="thread.html" title="Class thread">
+<link rel="next" href="thread_specific_ptr.html" title="Class thread_specific_ptr">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="thread.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2617127"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="thread_specific_ptr.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="thread_group"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class thread_group</span></h2>
+<p>boost::thread_group &#8212;
+ The <a href="thread_group.html" title="Class thread_group">thread_group</a> class provides a container
+ for easy grouping of threads to simplify several common thread
+ creation and management idioms.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> thread_group : <span class="bold"><strong>private</strong></span> boost::noncopyable <span class="emphasis"><em>// Exposition only</em></span>
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="thread_group.html#thread_groupconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="thread_group.html#id2531266-bb">thread_group</a>();
+  <a href="thread_group.html#id2605650-bb">~thread_group</a>();
+
+  <span class="emphasis"><em>// <a href="thread_group.html#id2450255-bb">modifier</a></em></span>
+  <span class="type"><a href="thread.html" title="Class thread">thread</a>*</span> <a href="thread_group.html#id2561946-bb">create_thread</a>(<span class="bold"><strong>const</strong></span> boost::function0&lt;<span class="bold"><strong>void</strong></span>&gt;&amp;);
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="thread_group.html#id2584425-bb">add_thread</a>(<a href="thread.html" title="Class thread">thread</a>* thrd);
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="thread_group.html#id2486169-bb">remove_thread</a>(<a href="thread.html" title="Class thread">thread</a>* thrd);
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="thread_group.html#id2626351-bb">join_all</a>();
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2784910"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2784913"></a><h3>
+<a name="thread_groupconstruct-copy-destruct"></a><code class="computeroutput">thread_group</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2531266-bb"></a>thread_group();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Constructs an empty <a href="thread_group.html" title="Class thread_group">thread_group</a>
+ container.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2605650-bb"></a>~thread_group();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Destroys each contained thread object. Destroys <code class="computeroutput">*this</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Behavior is undefined if another thread references
+ <code class="computeroutput">*this </code> during the execution of the destructor.
+ </p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2785006"></a><h3>
+<a name="id2450255-bb"></a><code class="computeroutput">thread_group</code> modifier</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><a href="thread.html" title="Class thread">thread</a>*</span> <a name="id2561946-bb"></a>create_thread(<span class="bold"><strong>const</strong></span> boost::function0&lt;<span class="bold"><strong>void</strong></span>&gt;&amp; threadfunc);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Creates a new <a href="thread.html" title="Class thread">thread</a> object
+ that executes <code class="computeroutput">threadfunc</code> and adds it to the
+ <code class="computeroutput">thread_group</code> container object's list of managed
+ <a href="thread.html" title="Class thread">thread</a> objects.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ Pointer to the newly created
+ <a href="thread.html" title="Class thread">thread</a> object.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2584425-bb"></a>add_thread(<a href="thread.html" title="Class thread">thread</a>* thrd);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Adds <code class="computeroutput">thrd</code> to the
+ <a href="thread_group.html" title="Class thread_group">thread_group</a> object's list of managed
+ <a href="thread.html" title="Class thread">thread</a> objects. The <code class="computeroutput">thrd</code>
+ object must have been allocated via <code class="computeroutput">operator new</code> and will
+ be deleted when the group is destroyed.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2486169-bb"></a>remove_thread(<a href="thread.html" title="Class thread">thread</a>* thrd);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Removes <code class="computeroutput">thread</code> from <code class="computeroutput">*this</code>'s
+ list of managed <a href="thread.html" title="Class thread">thread</a> objects.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ <span class="bold"><strong>???</strong></span> if
+ <code class="computeroutput">thrd</code> is not in <code class="computeroutput">*this</code>'s list
+ of managed <a href="thread.html" title="Class thread">thread</a> objects.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2626351-bb"></a>join_all();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Calls <code class="computeroutput">join()</code> on each of the managed
+ <a href="thread.html" title="Class thread">thread</a> objects.</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="thread.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2617127"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="thread_specific_ptr.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/thread_resource_error.html b/doc/html/thread_resource_error.html
new file mode 100644
index 0000000000..67dcab2231
--- /dev/null
+++ b/doc/html/thread_resource_error.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class thread_resource_error</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id2533190" title="Header &lt;boost/thread/exceptions.hpp&gt;">
+<link rel="prev" href="lock_error.html" title="Class lock_error">
+<link rel="next" href="mutex.html" title="Class mutex">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lock_error.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2533190"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="mutex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="thread_resource_error"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class thread_resource_error</span></h2>
+<p>boost::thread_resource_error &#8212; <p>The <a href="thread_resource_error.html" title="Class thread_resource_error">thread_resource_error</a> class
+ defines an exception type that is thrown by constructors in the
+ <span class="bold"><strong>Boost.Threads</strong></span> library when thread-related resources can not be
+ acquired.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> thread_resource_error : <span class="bold"><strong>public</strong></span> <span class="type">std::runtime_error</span> {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="thread_resource_error.html#thread_resource_errorconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="thread_resource_error.html#id2533198-bb">thread_resource_error</a>();
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2780528"></a><h2>Description</h2>
+<p><a href="thread_resource_error.html" title="Class thread_resource_error">thread_resource_error</a> is used
+ only when thread-related resources cannot be acquired; memory
+ allocation failures are indicated by
+ std::bad_alloc.</p>
+<div class="refsect2" lang="en">
+<a name="id2780542"></a><h3>
+<a name="thread_resource_errorconstruct-copy-destruct"></a><code class="computeroutput">thread_resource_error</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><a name="id2533198-bb"></a>thread_resource_error();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Constructs a <code class="computeroutput">thread_resource_error</code>
+ object.</p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lock_error.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2533190"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="mutex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/thread_specific_ptr.html b/doc/html/thread_specific_ptr.html
new file mode 100644
index 0000000000..2cd54f9fc4
--- /dev/null
+++ b/doc/html/thread_specific_ptr.html
@@ -0,0 +1,251 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class thread_specific_ptr</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id2547002" title="Header &lt;boost/thread/tss.hpp&gt;">
+<link rel="prev" href="thread_group.html" title="Class thread_group">
+<link rel="next" href="id2545607.html" title="Type xtime_clock_types">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="thread_group.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2547002"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2545607.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="thread_specific_ptr"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class thread_specific_ptr</span></h2>
+<p>boost::thread_specific_ptr &#8212;
+ The <a href="thread_specific_ptr.html" title="Class thread_specific_ptr">thread_specific_ptr</a> class defines
+ an interface for using thread specific storage.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> thread_specific_ptr : <span class="bold"><strong>private</strong></span> boost::noncopyable <span class="emphasis"><em>// Exposition only</em></span>
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="thread_specific_ptr.html#thread_specific_ptrconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="thread_specific_ptr.html#id2626071-bb">thread_specific_ptr</a>();
+  <a href="thread_specific_ptr.html#id2597011-bb">thread_specific_ptr</a>(<span class="bold"><strong>void</strong></span> (*cleanup)(<span class="bold"><strong>void</strong></span>*));
+  <a href="thread_specific_ptr.html#id2529847-bb">~thread_specific_ptr</a>();
+
+  <span class="emphasis"><em>// <a href="thread_specific_ptr.html#id2624424-bb">modifier functions</a></em></span>
+  <span class="type">T*</span> <a href="thread_specific_ptr.html#id2624428-bb">release</a>();
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="thread_specific_ptr.html#id2616183-bb">reset</a>(T* = 0);
+
+  <span class="emphasis"><em>// <a href="thread_specific_ptr.html#id2532919-bb">observer functions</a></em></span>
+  <span class="type">T*</span> <a href="thread_specific_ptr.html#id2600607-bb">get</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">T*</span> <a href="thread_specific_ptr.html#id2535273-bb"><span class="bold"><strong>operator</strong></span>-&gt;</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">T&amp;</span> <a href="thread_specific_ptr.html#id2354136-bb"><span class="bold"><strong>operator</strong></span>*()</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2785561"></a><h2>Description</h2>
+<p>Thread specific storage is data associated with
+ individual threads and is often used to make operations
+ that rely on global data
+ <a href="threads.html#threads.glossary.thread-safe">thread-safe</a>.
+ </p>
+<p>Template <a href="thread_specific_ptr.html" title="Class thread_specific_ptr">thread_specific_ptr</a>
+ stores a pointer to an object obtained on a thread-by-thread
+ basis and calls a specified cleanup handler on the contained
+ pointer when the thread terminates. The cleanup handlers are
+ called in the reverse order of construction of the
+ <a href="thread_specific_ptr.html" title="Class thread_specific_ptr">thread_specific_ptr</a>s, and for the
+ initial thread are called by the destructor, providing the
+ same ordering guarantees as for normal declarations. Each
+ thread initially stores the null pointer in each
+ <a href="thread_specific_ptr.html" title="Class thread_specific_ptr">thread_specific_ptr</a> instance.</p>
+<p>The template <a href="thread_specific_ptr.html" title="Class thread_specific_ptr">thread_specific_ptr</a>
+ is useful in the following cases:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>An interface was originally written assuming
+ a single thread of control and it is being ported to a
+ multithreaded environment.</li>
+<li>Each thread of control invokes sequences of
+ methods that share data that are physically unique
+ for each thread, but must be logically accessed
+ through a globally visible access point instead of
+ being explicitly passed.</li>
+</ul></div>
+<div class="refsect2" lang="en">
+<a name="id2785631"></a><h3>
+<a name="thread_specific_ptrconstruct-copy-destruct"></a><code class="computeroutput">thread_specific_ptr</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2626071-bb"></a>thread_specific_ptr();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ The expression <code class="computeroutput">delete get()</code> is well
+ formed.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ A thread-specific data key is allocated and visible to
+ all threads in the process. Upon creation, the value
+ <code class="computeroutput">NULL</code> will be associated with the new key in all
+ active threads. A cleanup method is registered with the key
+ that will call <code class="computeroutput">delete</code> on the value associated
+ with the key for a thread when it exits. When a thread exits,
+ if a key has a registered cleanup method and the thread has a
+ non-<code class="computeroutput">NULL</code> value associated with that key, the value
+ of the key is set to <code class="computeroutput">NULL</code> and then the cleanup
+ method is called with the previously associated value as its
+ sole argument. The order in which registered cleanup methods
+ are called when a thread exits is undefined. If after all the
+ cleanup methods have been called for all non-<code class="computeroutput">NULL</code>
+ values, there are still some non-<code class="computeroutput">NULL</code> values
+ with associated cleanup handlers the result is undefined
+ behavior.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ <a href="thread_resource_error.html" title="Class thread_resource_error">boost::thread_resource_error</a> if
+ the necessary resources can not be obtained.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ There may be an implementation specific limit to the
+ number of thread specific storage objects that can be created,
+ and this limit may be small.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Rationale</span></b>:
+
+ The most common need for cleanup will be to call
+ <code class="computeroutput">delete</code> on the associated value. If other forms
+ of cleanup are required the overloaded constructor should be
+ called instead.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2597011-bb"></a>thread_specific_ptr(<span class="bold"><strong>void</strong></span> (*cleanup)(<span class="bold"><strong>void</strong></span>*) cleanup);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ A thread-specific data key is allocated and visible to
+ all threads in the process. Upon creation, the value
+ <code class="computeroutput">NULL</code> will be associated with the new key in all
+ active threads. The <code class="computeroutput">cleanup</code> method is registered
+ with the key and will be called for a thread with the value
+ associated with the key for that thread when it exits. When a
+ thread exits, if a key has a registered cleanup method and the
+ thread has a non-<code class="computeroutput">NULL</code> value associated with that
+ key, the value of the key is set to <code class="computeroutput">NULL</code> and then
+ the cleanup method is called with the previously associated
+ value as its sole argument. The order in which registered
+ cleanup methods are called when a thread exits is undefined.
+ If after all the cleanup methods have been called for all
+ non-<code class="computeroutput">NULL</code> values, there are still some
+ non-<code class="computeroutput">NULL</code> values with associated cleanup handlers
+ the result is undefined behavior.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ <a href="thread_resource_error.html" title="Class thread_resource_error">boost::thread_resource_error</a> if
+ the necessary resources can not be obtained.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ There may be an implementation specific limit to the
+ number of thread specific storage objects that can be created,
+ and this limit may be small.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Rationale</span></b>:
+
+ There is the occasional need to register
+ specialized cleanup methods, or to register no cleanup method
+ at all (done by passing <code class="computeroutput">NULL</code> to this constructor.
+ </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2529847-bb"></a>~thread_specific_ptr();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Deletes the thread-specific data key allocated by the
+ constructor. The thread-specific data values associated with
+ the key need not be <code class="computeroutput">NULL</code>. It is the responsibility
+ of the application to perform any cleanup actions for data
+ associated with the key.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Does not destroy any data that may be stored in any
+ thread's thread specific storage. For this reason you should
+ not destroy a <a href="thread_specific_ptr.html" title="Class thread_specific_ptr">thread_specific_ptr</a> object
+ until you are certain there are no threads running that have
+ made use of its thread specific storage.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Rationale</span></b>:
+
+ Associated data is not cleaned up because registered
+ cleanup methods need to be run in the thread that allocated the
+ associated data to be guarranteed to work correctly. There's no
+ safe way to inject the call into another thread's execution
+ path, making it impossible to call the cleanup methods safely.
+ </p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2785956"></a><h3>
+<a name="id2624424-bb"></a><code class="computeroutput">thread_specific_ptr</code> modifier functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type">T*</span> <a name="id2624428-bb"></a>release();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">*this</code> holds the null pointer
+ for the current thread.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">this-&gt;get()</code> prior to the call.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Rationale</span></b>:
+
+ This method provides a mechanism for the user to
+ relinquish control of the data associated with the
+ thread-specific key.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2616183-bb"></a>reset(T* p = 0);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ If <code class="computeroutput">this-&gt;get() != p &amp;&amp;
+ this-&gt;get() != NULL</code> then call the
+ associated cleanup function.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">*this</code> holds the pointer
+ <code class="computeroutput">p</code> for the current thread.</p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2786079"></a><h3>
+<a name="id2532919-bb"></a><code class="computeroutput">thread_specific_ptr</code> observer functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type">T*</span> <a name="id2600607-bb"></a>get() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ The object stored in thread specific storage for
+ the current thread for <code class="computeroutput">*this</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ Each thread initially returns 0.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">T*</span> <a name="id2535273-bb"></a><span class="bold"><strong>operator</strong></span>-&gt;() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">this-&gt;get()</code>.</p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">T&amp;</span> <a name="id2354136-bb"></a><span class="bold"><strong>operator</strong></span>*()() <span class="bold"><strong>const</strong></span>;</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">this-&gt;get() != 0</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">this-&gt;get()</code>.</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="thread_group.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2547002"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2545607.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/threads.html b/doc/html/threads.html
new file mode 100644
index 0000000000..91f45a4292
--- /dev/null
+++ b/doc/html/threads.html
@@ -0,0 +1,646 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 12. Boost.Threads</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries">
+<link rel="prev" href="string_algo/credits.html" title="Credits">
+<link rel="next" href="threads/design.html" title="Design">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="string_algo/credits.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="threads/design.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="threads"></a>Chapter 12. Boost.Threads</h2></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">William</span> <span class="othername">E.</span> <span class="surname">Kempf</span>
+</h3></div></div>
+<div><p class="copyright">Copyright © 2001-2003 William E. Kempf</p></div>
+<div><div class="legalnotice">
+<a name="id2774880"></a><p>Permission to use, copy, modify, distribute and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in all
+ copies and that both that copyright notice and this permission notice
+ appear in supporting documentation. William E. Kempf makes no
+ representations about the suitability of this software for any purpose.
+ It is provided "as is" without express or implied warranty.</p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="threads.html#threads.overview">Overview</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="threads.html#threads.introduction">Introduction</a></span></dt>
+<dt><span class="section"><a href="threads.html#id2774960">Dangers</a></span></dt>
+<dt><span class="section"><a href="threads.html#id2775138">C++ Standard Library usage in multithreaded programs</a></span></dt>
+<dt><span class="section"><a href="threads.html#id2775288">Common guarantees for all <span class="bold"><strong>Boost.Threads</strong></span> components</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="threads/design.html">Design</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="threads/design.html#threads.design.goals">Goals</a></span></dt>
+<dt><span class="section"><a href="threads/design.html#id2775596">Iterative Phases</a></span></dt>
+<dt><span class="section"><a href="threads/design.html#id2775636">Phase 1, Synchronization Primitives</a></span></dt>
+<dt><span class="section"><a href="threads/design.html#threads.design.phase2">Phase 2, Thread Management and Thread Specific Storage</a></span></dt>
+<dt><span class="section"><a href="threads/design.html#id2775808">The Next Phase</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="threads/concepts.html">Concepts</a></span></dt>
+<dd><dl><dt><span class="section"><a href="threads/concepts.html#threads.concepts.mutexes">Mutexes</a></span></dt></dl></dd>
+<dt><span class="section"><a href="threads/rationale.html">Rationale</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="threads/rationale.html#threads.rationale.Boost.Threads">Rationale for the Creation of <span class="bold"><strong>Boost.Threads</strong></span></a></span></dt>
+<dt><span class="section"><a href="threads/rationale.html#threads.rationale.primitives">Rationale for the Low Level Primitives Supported in <span class="bold"><strong>Boost.Threads</strong></span></a></span></dt>
+<dt><span class="section"><a href="threads/rationale.html#threads.rationale.locks">Rationale for the Lock Design</a></span></dt>
+<dt><span class="section"><a href="threads/rationale.html#threads.rationale.non-copyable">Rationale for NonCopyable Thread Type</a></span></dt>
+<dt><span class="section"><a href="threads/rationale.html#threads.rationale.events">Rationale for not providing <span class="emphasis"><em>Event Variables</em></span></a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="threads/reference.html">Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="threads/reference.html#id2616214">Header &lt;boost/thread/barrier.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="threads/reference.html#id2450200">Header &lt;boost/thread/condition.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="threads/reference.html#id2533190">Header &lt;boost/thread/exceptions.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="threads/reference.html#id2534429">Header &lt;boost/thread/mutex.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="threads/reference.html#id2534986">Header &lt;boost/thread/once.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="threads/reference.html#id2436754">Header &lt;boost/thread/recursive_mutex.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="threads/reference.html#id2617127">Header &lt;boost/thread/thread.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="threads/reference.html#id2547002">Header &lt;boost/thread/tss.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="threads/reference.html#id2416096">Header &lt;boost/thread/xtime.hpp&gt;</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="threads/faq.html">Frequently Asked Questions</a></span></dt>
+<dt><span class="section"><a href="thread/configuration.html">Configuration</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="thread/configuration.html#thread.configuration.public">Library Defined Public Macros</a></span></dt>
+<dt><span class="section"><a href="thread/configuration.html#thread.configuration.implementation">Library Defined Implementation Macros</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="thread/build.html">Build</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="thread/build.html#thread.build.building">Building the <span class="bold"><strong>Boost.Threads</strong></span> Libraries</a></span></dt>
+<dt><span class="section"><a href="thread/build.html#thread.build.testing">Testing the <span class="bold"><strong>Boost.Threads</strong></span> Libraries</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="threads/implementation_notes.html">Implementation Notes</a></span></dt>
+<dd><dl><dt><span class="section"><a href="threads/implementation_notes.html#threads.implementation_notes.win32">Win32</a></span></dt></dl></dd>
+<dt><span class="section"><a href="threads/release_notes.html">Release Notes</a></span></dt>
+<dd><dl><dt><span class="section"><a href="threads/release_notes.html#threads.release_notes.boost_1_32_0">Boost 1.32.0</a></span></dt></dl></dd>
+<dt><span class="glossary"><a href="threads.html#threads.glossary">Glossary</a></span></dt>
+<dt><span class="section"><a href="thread/acknowledgements.html">Acknowledgements</a></span></dt>
+<dt><span class="bibliography"><a href="threads.html#threads.bibliography">Bibliography</a></span></dt>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="threads.overview"></a>Overview</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="threads.html#threads.introduction">Introduction</a></span></dt>
+<dt><span class="section"><a href="threads.html#id2774960">Dangers</a></span></dt>
+<dt><span class="section"><a href="threads.html#id2775138">C++ Standard Library usage in multithreaded programs</a></span></dt>
+<dt><span class="section"><a href="threads.html#id2775288">Common guarantees for all <span class="bold"><strong>Boost.Threads</strong></span> components</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="threads.introduction"></a>Introduction</h4></div></div></div>
+<p><span class="bold"><strong>Boost.Threads</strong></span> allows C++ programs to execute as multiple,
+ asynchronous, independent threads-of-execution. Each thread has its own
+ machine state including program instruction counter and registers. Programs
+ which execute as multiple threads are called multithreaded programs to
+ distinguish them from traditional single-threaded programs. The <a href="threads.html#threads.glossary" title="Glossary">glossary</a> gives a more complete description
+ of the multithreading execution environment.</p>
+<p>Multithreading provides several advantages:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>Programs which would otherwise block waiting for some external
+ event can continue to respond if the blocking operation is placed in a
+ separate thread. Multithreading is usually an absolute requirement for
+ these programs.</p></li>
+<li><p>Well-designed multithreaded programs may execute faster than
+ single-threaded programs, particularly on multiprocessor hardware.
+ Note, however, that poorly-designed multithreaded programs are often
+ slower than single-threaded programs.</p></li>
+<li><p>Some program designs may be easier to formulate using a
+ multithreaded approach. After all, the real world is
+ asynchronous!</p></li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2774960"></a>Dangers</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="threads.html#id2774964">General considerations</a></span></dt>
+<dt><span class="section"><a href="threads.html#id2775042">Testing and debugging considerations</a></span></dt>
+<dt><span class="section"><a href="threads.html#id2775078">Getting a head start</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2774964"></a>General considerations</h5></div></div></div>
+<p>Beyond the errors which can occur in single-threaded programs,
+ multithreaded programs are subject to additional errors:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><a href="threads.html#threads.glossary.race-condition">Race
+ conditions</a></p></li>
+<li><p><a href="threads.html#threads.glossary.deadlock">Deadlock</a>
+ (sometimes called "deadly embrace")</p></li>
+<li><p><a href="threads.html#threads.glossary.priority-failure">Priority
+ failures</a> (priority inversion, infinite overtaking, starvation,
+ etc.)</p></li>
+</ul></div>
+<p>Every multithreaded program must be designed carefully to avoid these
+ errors. These aren't rare or exotic failures - they are virtually guaranteed
+ to occur unless multithreaded code is designed to avoid them. Priority
+ failures are somewhat less common, but are nonetheless serious.</p>
+<p>The <a href="threads/design.html" title="Design"><span class="bold"><strong>Boost.Threads</strong></span> design</a>
+ attempts to minimize these errors, but they will still occur unless the
+ programmer proactively designs to avoid them.</p>
+<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Note</h3>Please also see <a href="threads/implementation_notes.html" title="Implementation Notes">the section called &#8220;Implementation Notes&#8221;</a>
+ for additional, implementation-specific considerations.</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2775042"></a>Testing and debugging considerations</h5></div></div></div>
+<p>Multithreaded programs are non-deterministic. In other words, the
+ same program with the same input data may follow different execution
+ paths each time it is invoked. That can make testing and debugging a
+ nightmare:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>Failures are often not repeatable.</p></li>
+<li><p>Probe effect causes debuggers to produce very different results
+ from non-debug uses.</p></li>
+<li><p>Debuggers require special support to show thread state.</p></li>
+<li><p>Tests on a single processor system may give no indication of
+ serious errors which would appear on multiprocessor systems, and visa
+ versa. Thus test cases should include a varying number of
+ processors.</p></li>
+<li><p>For programs which create a varying number of threads according
+ to workload, tests which don't span the full range of possibilities
+ may miss serious errors.</p></li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2775078"></a>Getting a head start</h5></div></div></div>
+<p>Although it might appear that multithreaded programs are inherently
+ unreliable, many reliable multithreaded programs do exist. Multithreading
+ techniques are known which lead to reliable programs.</p>
+<p>Design patterns for reliable multithreaded programs, including the
+ important <span class="emphasis"><em>monitor</em></span> pattern, are presented in
+ <span class="emphasis"><em>Pattern-Oriented Software Architecture Volume 2 - Patterns for
+ Concurrent and Networked Objects</em></span>[<span class="citation"><a href="threads.html#threads.bib.SchmidtStalRohnertBuschmann">SchmidtStalRohnertBuschmann</a></span>]. Many important multithreading programming
+ considerations (independent of threading library) are discussed in
+ <span class="emphasis"><em>Programming with POSIX Threads</em></span>[<span class="citation"><a href="threads.html#threads.bib.Butenhof97">Butenhof97</a></span>].</p>
+<p>Doing some reading before attempting multithreaded designs will
+ give you a head start toward reliable multithreaded programs.</p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2775138"></a>C++ Standard Library usage in multithreaded programs</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="threads.html#id2775143">Runtime libraries</a></span></dt>
+<dt><span class="section"><a href="threads.html#id2775193">Potentially non-thread-safe functions</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2775143"></a>Runtime libraries</h5></div></div></div>
+<p><span class="bold"><strong>Warning:</strong></span> Multithreaded programs such as
+ those using <span class="bold"><strong>Boost.Threads</strong></span> must link to <a href="threads.html#threads.glossary.thread-safe">thread-safe</a> versions of
+ all runtime libraries used by the program, including the runtime library
+ for the C++ Standard Library. Failure to do so will cause <a href="threads.html#threads.glossary.race-condition">race conditions</a> to occur
+ when multiple threads simultaneously execute runtime library functions for
+ <code class="computeroutput">new</code>, <code class="computeroutput">delete</code>, or other language features which
+ imply shared state.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2775193"></a>Potentially non-thread-safe functions</h5></div></div></div>
+<p>Certain C++ Standard Library functions inherited from C are
+ particular problems because they hold internal state between
+ calls:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">rand</code></p></li>
+<li><p><code class="computeroutput">strtok</code></p></li>
+<li><p><code class="computeroutput">asctime</code></p></li>
+<li><p><code class="computeroutput">ctime</code></p></li>
+<li><p><code class="computeroutput">gmtime</code></p></li>
+<li><p><code class="computeroutput">localtime</code></p></li>
+</ul></div>
+<p>It is possible to write thread-safe implementations of these by
+ using thread specific storage (see
+ <code class="computeroutput"><a href="thread_specific_ptr.html" title="Class thread_specific_ptr">boost::thread_specific_ptr</a></code>), and several C++
+ compiler vendors do just that. The technique is well-know and is explained
+ in [<span class="citation"><a href="threads.html#threads.bib.Butenhof97">Butenhof97</a></span>].</p>
+<p>But at least one vendor (HP-UX) does not provide thread-safe
+ implementations of the above functions in their otherwise thread-safe
+ runtime library. Instead they provide replacement functions with
+ different names and arguments.</p>
+<p><span class="bold"><strong>Recommendation:</strong></span> For the most
+ portable, yet thread-safe code, use Boost replacements for the problem
+ functions. See the Boost Random Number Library
+ and Boost Tokenizer Library.</p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2775288"></a>Common guarantees for all <span class="bold"><strong>Boost.Threads</strong></span> components</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="threads.html#id2775298">Exceptions</a></span></dt>
+<dt><span class="section"><a href="threads.html#id2775375">NonCopyable requirement</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2775298"></a>Exceptions</h5></div></div></div>
+<p><span class="bold"><strong>Boost.Threads</strong></span> destructors never
+ throw exceptions. Unless otherwise specified, other
+ <span class="bold"><strong>Boost.Threads</strong></span> functions that do not have
+ an exception-specification may throw implementation-defined
+ exceptions.</p>
+<p>In particular, <span class="bold"><strong>Boost.Threads</strong></span>
+ reports failure to allocate storage by throwing an exception of type
+ <code class="computeroutput">std::bad_alloc</code> or a class derived from
+ <code class="computeroutput">std::bad_alloc</code>, failure to obtain thread resources other than
+ memory by throwing an exception of type
+ <code class="computeroutput"><a href="thread_resource_error.html" title="Class thread_resource_error">boost::thread_resource_error</a></code>, and certain lock
+ related failures by throwing an exception of type
+ <code class="computeroutput"><a href="lock_error.html" title="Class lock_error">boost::lock_error</a></code>.</p>
+<p><span class="bold"><strong>Rationale:</strong></span> Follows the C++ Standard
+ Library practice of allowing all functions except destructors or other
+ specified functions to throw exceptions on errors.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="id2775375"></a>NonCopyable requirement</h5></div></div></div>
+<p><span class="bold"><strong>Boost.Threads</strong></span> classes documented as
+ meeting the NonCopyable requirement disallow copy construction and copy
+ assignment. For the sake of exposition, the synopsis of such classes show
+ private derivation from <code class="computeroutput">boost::noncopyable</code>. Users
+ should not depend on this derivation, however, as implementations are free
+ to meet the NonCopyable requirement in other ways.</p>
+</div>
+</div>
+</div>
+<div class="glossary">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="threads.glossary"></a>Glossary</h2></div></div></div>
+<p>Definitions are given in terms of the C++ Standard
+ [<span class="citation"><a href="threads.html#threads.bib.ISO98">ISO98</a></span>]. References to the standard are in the form [1.2.3/4], which
+ represents the section number, with the paragraph number following the
+ "/".</p>
+<p>Because the definitions are written in something akin to "standardese",
+ they can be difficult to understand. The intent isn't to confuse, but rather
+ to clarify the additional requirements <span class="bold"><strong>Boost.Threads</strong></span> places on a C++
+ implementation as defined by the C++ Standard.</p>
+<dl>
+<dt>
+<a name="threads.glossary.thread"></a>Thread</dt>
+<dd>
+<p>Thread is short for "thread of execution". A thread of execution is
+ an execution environment [1.9/7] within the execution environment of a C++
+ program [1.9]. The main() function [3.6.1] of the program is the initial
+ function of the initial thread. A program in a multithreading environment
+ always has an initial thread even if the program explicitly creates no
+ additional threads.</p>
+<p>Unless otherwise specified, each thread shares all aspects of its
+ execution environment with other threads in the program. Shared aspects of
+ the execution environment include, but are not limited to, the
+ following:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>Static storage duration (static, extern) objects
+ [3.7.1].</p></li>
+<li><p>Dynamic storage duration (heap) objects [3.7.3]. Thus
+ each memory allocation will return a unique addresses, regardless of the
+ thread making the allocation request.</p></li>
+<li><p>Automatic storage duration (stack) objects [3.7.2]
+ accessed via pointer or reference from another thread.</p></li>
+<li><p>Resources provided by the operating system. For example,
+ files.</p></li>
+<li><p>The program itself. In other words, each thread is
+ executing some function of the same program, not a totally different
+ program.</p></li>
+</ul></div>
+<p>Each thread has its own:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>Registers and current execution sequence (program
+ counter) [1.9/5].</p></li>
+<li><p>Automatic storage duration (stack) objects
+ [3.7.2].</p></li>
+</ul></div>
+</dd>
+<dt>
+<a name="threads.glossary.thread-safe"></a>Thread-safe</dt>
+<dd>
+<p>A program is thread-safe if it has no <a href="threads.html#threads.glossary.race-condition">race conditions</a>, does
+ not <a href="threads.html#threads.glossary.deadlock">deadlock</a>, and has
+ no <a href="threads.html#threads.glossary.priority-failure">priority
+ failures</a>.</p>
+<p>Note that thread-safety does not necessarily imply efficiency, and
+ than while some thread-safety violations can be determined statically at
+ compile time, many thread-safety errors can only only be detected at
+ runtime.</p>
+</dd>
+<dt>
+<a name="threads.glossary.thread-state"></a>Thread State</dt>
+<dd>
+<p>During the lifetime of a thread, it shall be in one of the following
+ states:</p>
+<div class="table">
+<a name="id2787953"></a><p class="title"><b>Table 12.15. Thread States</b></p>
+<table class="table" summary="Thread States">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">State</th>
+<th align="left">Description</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left">Ready</td>
+<td align="left">Ready to run, but waiting for a processor.</td>
+</tr>
+<tr>
+<td align="left">Running</td>
+<td align="left">Currently executing on a processor. Zero or more threads
+ may be running at any time, with a maximum equal to the number of
+ processors.</td>
+</tr>
+<tr>
+<td align="left">Blocked</td>
+<td align="left">Waiting for some resource other than a processor which is
+ not currently available, or for the completion of calls to library
+ functions [1.9/6]. The term "waiting" is synonymous with
+ "blocked"</td>
+</tr>
+<tr>
+<td align="left">Terminated</td>
+<td align="left">Finished execution but not yet detached or joined.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<p>Thread state transitions shall occur only as specified:</p>
+<div class="table">
+<a name="id2788003"></a><p class="title"><b>Table 12.16. Thread States Transitions</b></p>
+<table class="table" summary="Thread States Transitions">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">From</th>
+<th align="left">To</th>
+<th align="left">Cause</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left">[none]</td>
+<td align="left">Ready</td>
+<td align="left"><p>Thread is created by a call to a library function.
+ In the case of the initial thread, creation is implicit and
+ occurs during the startup of the main() function [3.6.1].</p></td>
+</tr>
+<tr>
+<td align="left">Ready</td>
+<td align="left">Running</td>
+<td align="left"><p>Processor becomes available.</p></td>
+</tr>
+<tr>
+<td align="left">Running</td>
+<td align="left">Ready</td>
+<td align="left">Thread preempted.</td>
+</tr>
+<tr>
+<td align="left">Running</td>
+<td align="left">Blocked</td>
+<td align="left">Thread calls a library function which waits for a resource or
+ for the completion of I/O.</td>
+</tr>
+<tr>
+<td align="left">Running</td>
+<td align="left">Terminated</td>
+<td align="left">Thread returns from its initial function, calls a thread
+ termination library function, or is canceled by some other thread
+ calling a thread termination library function.</td>
+</tr>
+<tr>
+<td align="left">Blocked</td>
+<td align="left">Ready</td>
+<td align="left">The resource being waited for becomes available, or the
+ blocking library function completes.</td>
+</tr>
+<tr>
+<td align="left">Terminated</td>
+<td align="left">[none]</td>
+<td align="left">Thread is detached or joined by some other thread calling the
+ appropriate library function, or by program termination
+ [3.6.3].</td>
+</tr>
+</tbody>
+</table>
+</div>
+<p>[Note: if a suspend() function is added to the threading library,
+ additional transitions to the blocked state will have to be added to the
+ above table.]</p>
+</dd>
+<dt>
+<a name="threads.glossary.race-condition"></a>Race Condition</dt>
+<dd>
+<p>A race condition is what occurs when multiple threads read from and write
+ to the same memory without proper synchronization, resulting in an incorrect
+ value being read or written. The result of a race condition may be a bit
+ pattern which isn't even a valid value for the data type. A race condition
+ results in undefined behavior [1.3.12].</p>
+<p>Race conditions can be prevented by serializing memory access using
+ the tools provided by <span class="bold"><strong>Boost.Threads</strong></span>.</p>
+</dd>
+<dt>
+<a name="threads.glossary.deadlock"></a>Deadlock</dt>
+<dd><p>Deadlock is an execution state where for some set of threads, each
+ thread in the set is blocked waiting for some action by one of the other
+ threads in the set. Since each is waiting on the others, none will ever
+ become ready again.</p></dd>
+<dt>
+<a name="threads.glossary.starvation"></a>Starvation</dt>
+<dd><p>The condition in which a thread is not making sufficient progress in
+ its work during a given time interval.</p></dd>
+<dt>
+<a name="threads.glossary.priority-failure"></a>Priority Failure</dt>
+<dd><p>A priority failure (such as priority inversion or infinite overtaking)
+ occurs when threads are executed in such a sequence that required work is not
+ performed in time to be useful.</p></dd>
+<dt>
+<a name="threads.glossary.undefined-behavior"></a>Undefined Behavior</dt>
+<dd>
+<p>The result of certain operations in <span class="bold"><strong>Boost.Threads</strong></span> is undefined;
+ this means that those operations can invoke almost any behavior when
+ they are executed.</p>
+<p>An operation whose behavior is undefined can work "correctly"
+ in some implementations (i.e., do what the programmer thought it
+ would do), while in other implementations it may exhibit almost
+ any "incorrect" behavior--such as returning an invalid value,
+ throwing an exception, generating an access violation, or terminating
+ the process.</p>
+<p>Executing a statement whose behavior is undefined is a
+ programming error.</p>
+</dd>
+<dt>
+<a name="threads.glossary.memory-visibility"></a>Memory Visibility</dt>
+<dd>
+<p>An address [1.7] shall always point to the same memory byte,
+ regardless of the thread or processor dereferencing the address.</p>
+<p>An object [1.8, 1.9] is accessible from multiple threads if it is of
+ static storage duration (static, extern) [3.7.1], or if a pointer or
+ reference to it is explicitly or implicitly dereferenced in multiple
+ threads.</p>
+<p>For an object accessible from multiple threads, the value of the
+ object accessed from one thread may be indeterminate or different from the
+ value accessed from another thread, except under the conditions specified in
+ the following table. For the same row of the table, the value of an object
+ accessible at the indicated sequence point in thread A will be determinate
+ and the same if accessed at or after the indicated sequence point in thread
+ B, provided the object is not otherwise modified. In the table, the
+ "sequence point at a call" is the sequence point after the evaluation of all
+ function arguments [1.9/17], while the "sequence point after a call" is the
+ sequence point after the copying of the returned value... [1.9/17].</p>
+<div class="table">
+<a name="id2788233"></a><p class="title"><b>Table 12.17. Memory Visibility</b></p>
+<table class="table" summary="Memory Visibility">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Thread A</th>
+<th>Thread B</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>The sequence point at a call to a library thread-creation
+ function.</td>
+<td>The first sequence point of the initial function in the new
+ thread created by the Thread A call.</td>
+</tr>
+<tr>
+<td>The sequence point at a call to a library function which
+ locks a mutex, directly or by waiting for a condition
+ variable.</td>
+<td>The sequence point after a call to a library function which
+ unlocks the same mutex.</td>
+</tr>
+<tr>
+<td>The last sequence point before thread termination.</td>
+<td>The sequence point after a call to a library function which
+ joins the terminated thread.</td>
+</tr>
+<tr>
+<td>The sequence point at a call to a library function which
+ signals or broadcasts a condition variable.</td>
+<td>The sequence point after the call to the library function
+ which was waiting on that same condition variable or signal.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<p>The architecture of the execution environment and the observable
+ behavior of the abstract machine [1.9] shall be the same on all
+ processors.</p>
+<p>The latitude granted by the C++ standard for an implementation to
+ alter the definition of observable behavior of the abstract machine to
+ include additional library I/O functions [1.9/6] is extended to include
+ threading library functions.</p>
+<p>When an exception is thrown and there is no matching exception handler
+ in the same thread, behavior is undefined. The preferred behavior is the
+ same as when there is no matching exception handler in a program
+ [15.3/9]. That is, terminate() is called, and it is implementation-defined
+ whether or not the stack is unwound.</p>
+</dd>
+</dl>
+</div>
+<div class="bibliography">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="threads.bibliography"></a>Bibliography</h2></div></div></div>
+<div class="biblioentry">
+<a name="threads.bib.AndrewsSchneider83"></a><p>[<span class="abbrev"><a name="threads.bib.AndrewsSchneider83.abbrev"></a>AndrewsSchnieder83</span>] <span class="biblioset"><i>ACM Computing Surveys</i>. <span class="volumenum">Vol. 15. </span><span class="issuenum">No. 1. </span><span class="date">March, 1983. </span></span><span class="biblioset"><span class="authorgroup"><span class="firstname">Gregory</span> <span class="othername">R.</span> <span class="surname">Andrews</span> and <span class="firstname">Fred</span> <span class="othername">B.</span> <span class="surname">Schneider</span>. </span>&#8220;<a href="http://www.acm.org/pubs/citations/journals/surveys/1983-15-1/p3-andrews/" target="_top">Concepts and Notations for Concurrent Programming</a>&#8221;. </span><p>Good general background reading. Includes descriptions of Path
+ Expressions, Message Passing, and Remote Procedure Call in addition to the
+ basics</p></p>
+</div>
+<div class="biblioentry">
+<a name="threads.bib.Boost"></a><p>[<span class="abbrev"><a name="threads.bib.Boost.abbrev"></a>Boost</span>] <span class="bibliomisc">The <span class="emphasis"><em>Boost</em></span> world wide web site.
+ <a href="http:/www.boost.org" target="_top">http://www.boost.org</a>. </span><p><span class="bold"><strong>Boost.Threads</strong></span> is one of many Boost libraries. The Boost web
+ site includes a great deal of documentation and general information which
+ applies to all Boost libraries. Current copies of the libraries including
+ documentation and test programs may be downloaded from the web
+ site.</p></p>
+</div>
+<div class="biblioentry">
+<a name="threads.bib.Hansen73"></a><p>[<span class="abbrev"><a name="threads.bib.Hansen73.abbrev"></a>Hansen73</span>] <span class="biblioset"><i>ACM Computing Surveys</i>. <span class="volumenum">Vol. 5. </span><span class="issuenum">No. 4. </span><span class="date">December, 1973. </span></span><span class="biblioset"><span class="author"><span class="firstname">Per Brinch</span>. </span>&#8220;<a href="http://www.acm.org/pubs/articles/journals/surveys/1973-5-4/p223-hansen/" target="_top">Concurrent Programming Concepts</a>&#8221;. </span><p>"This paper describes the evolution of language features for
+ multiprogramming from event queues and semaphores to critical regions and
+ monitors." Includes analysis of why events are considered error-prone. Also
+ noteworthy because of an introductory quotation from Christopher Alexander;
+ Brinch Hansen was years ahead of others in recognizing pattern concepts
+ applied to software, too.</p></p>
+</div>
+<div class="biblioentry">
+<a name="threads.bib.Butenhof97"></a><p>[<span class="abbrev"><a name="threads.bib.Butenhof97.abbrev"></a>Butenhof97</span>] <span class="title"><i><a href="http://cseng.aw.com/book/0,3828,0201633922,00.html" target="_top">Programming with POSIX Threads </a></i>. </span><span class="author"><span class="firstname">David</span> <span class="othername">R.</span> <span class="surname">Butenhof</span>. </span><span class="publisher">Addison-Wesley</span><span class="copyright">Copyright © 1997. </span><span class="isbn">ISNB: 0-201-63392-2. </span><p>This is a very readable explanation of threads and how to use
+ them. Many of the insights given apply to all multithreaded programming, not
+ just POSIX Threads</p></p>
+</div>
+<div class="biblioentry">
+<a name="threads.bib.Hoare74"></a><p>[<span class="abbrev"><a name="threads.bib.Hoare74.abbrev"></a>Hoare74</span>] <span class="biblioset"><i>Communications of the ACM</i>. <span class="volumenum">Vol. 17. </span><span class="issuenum">No. 10. </span><span class="date">October, 1974. </span></span><span class="biblioset">&#8220;<a href="http://www.acm.org/classics/feb96/" target="_top">Monitors: An Operating System Structuring Concept</a>&#8221;. <span class="author"><span class="firstname">C.A.R.</span> <span class="surname">Hoare</span>. </span><span class="pagenums">549-557. </span></span><p>Hoare and Brinch Hansen's work on Monitors is the basis for reliable
+ multithreading patterns. This is one of the most often referenced papers in
+ all of computer science, and with good reason.</p></p>
+</div>
+<div class="biblioentry">
+<a name="threads.bib.ISO98"></a><p>[<span class="abbrev"><a name="threads.bib.ISO98.abbrev"></a>ISO98</span>] <span class="title"><i><a href="http://www.ansi.org" target="_top">Programming Language C++</a></i>. </span><span class="orgname">ISO/IEC. </span><span class="releaseinfo">14882:1998(E). </span><p>This is the official C++ Standards document. Available from the ANSI
+ (American National Standards Institute) Electronic Standards Store.</p></p>
+</div>
+<div class="biblioentry">
+<a name="threads.bib.McDowellHelmbold89"></a><p>[<span class="abbrev"><a name="threads.bib.McDowellHelmbold89.abbrev"></a>McDowellHelmbold89</span>] <span class="biblioset"><i>Communications of the ACM</i>. <span class="volumenum">Vol. 21. </span><span class="issuenum">No. 2. </span><span class="date">December, 1989. </span></span><span class="biblioset"><span class="author"><span class="firstname">Charles</span> <span class="othername">E.</span> <span class="surname">McDowell</span>. </span><span class="author"><span class="firstname">David</span> <span class="othername">P.</span> <span class="surname">Helmbold</span>. </span><i><a href="http://www.acm.org/pubs/citations/journals/surveys/1989-21-4/p593-mcdowell/" target="_top">Debugging Concurrent Programs</a></i>. </span><p>Identifies many of the unique failure modes and debugging difficulties
+ associated with concurrent programs.</p></p>
+</div>
+<div class="biblioentry">
+<a name="threads.bib.SchmidtPyarali"></a><p>[<span class="abbrev"><a name="threads.bib.SchmidtPyarali.abbrev"></a>SchmidtPyarali</span>] <span class="title"><i><a href="http://www.cs.wustl.edu/~schmidt/win32-cv-1.html8" target="_top">Strategies for Implementing POSIX Condition Variables on Win32</a></i>. </span><span class="authorgroup"><span class="firstname">Douglas</span> <span class="othername">C.</span> <span class="surname">Schmidt</span> and <span class="firstname">Irfan</span> <span class="surname">Pyarali</span>. </span><span class="orgname">Department of Computer Science, Washington University, St. Louis,
+ Missouri. </span><p>Rationale for understanding <span class="bold"><strong>Boost.Threads</strong></span> condition
+ variables. Note that Alexander Terekhov found some bugs in the
+ implementation given in this article, so pthreads-win32 and <span class="bold"><strong>Boost.Threads</strong></span>
+ are even more complicated yet.</p></p>
+</div>
+<div class="biblioentry">
+<a name="threads.bib.SchmidtStalRohnertBuschmann"></a><p>[<span class="abbrev"><a name="threads.bib.SchmidtStalRohnertBuschmann.abbrev"></a>SchmidtStalRohnertBuschmann</span>] <span class="title"><i><a href="http://www.wiley.com/Corporate/Website/Objects/Products/0,9049,104671,00.html" target="_top">Pattern-Oriented Architecture Volume 2</a></i>. </span><span class="subtitle">Patterns for Concurrent and Networked Objects. </span><span class="titleabbrev">POSA2. </span><span class="authorgroup"><span class="firstname">Douglas</span> <span class="othername">C.</span> <span class="surname">Schmidt</span>, <span class="firstname">Michael</span>, <span class="firstname">Hans</span> <span class="surname">Rohnert</span>, and <span class="firstname">Frank</span> <span class="surname">Buschmann</span>. </span><span class="publisher">Wiley</span><span class="copyright">Copyright © 2000. </span><p>This is a very good explanation of how to apply several patterns
+ useful for concurrent programming. Among the patterns documented is the
+ Monitor Pattern mentioned frequently in the <span class="bold"><strong>Boost.Threads</strong></span>
+ documentation.</p></p>
+</div>
+<div class="biblioentry">
+<a name="threads.bib.Stroustrup"></a><p>[<span class="abbrev"><a name="threads.bib.Stroustrup.abbrev"></a>Stroustrup</span>] <span class="title"><i><a href="http://cseng.aw.com/book/0,3828,0201700735,00.html" target="_top">The C++ Programming Language</a></i>. </span><span class="edition">Special Edition. </span><span class="publisher">Addison-Wesley</span><span class="copyright">Copyright © 2000. </span><span class="isbn">ISBN: 0-201-70073-5. </span><p>The first book a C++ programmer should own. Note that the 3rd edition
+ (and subsequent editions like the Special Edition) has been rewritten to
+ cover the ISO standard language and library.</p></p>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: July 07, 2005 at 18:06:26 GMT</p></small></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="string_algo/credits.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="threads/design.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/threads/concepts.html b/doc/html/threads/concepts.html
new file mode 100644
index 0000000000..1f7f2428ad
--- /dev/null
+++ b/doc/html/threads/concepts.html
@@ -0,0 +1,733 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Concepts</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../threads.html" title="Chapter 12. Boost.Threads">
+<link rel="prev" href="design.html" title="Design">
+<link rel="next" href="rationale.html" title="Rationale">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="design.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="threads.concepts"></a>Concepts</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="concepts.html#threads.concepts.mutexes">Mutexes</a></span></dt></dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="threads.concepts.mutexes"></a>Mutexes</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="concepts.html#threads.concepts.locking-strategies">Locking Strategies</a></span></dt>
+<dt><span class="section"><a href="concepts.html#threads.concepts.sheduling-policies">Scheduling Policies</a></span></dt>
+<dt><span class="section"><a href="concepts.html#threads.concepts.mutex-concepts">Mutex Concepts</a></span></dt>
+<dt><span class="section"><a href="concepts.html#threads.concepts.mutex-models">Mutex Models</a></span></dt>
+<dt><span class="section"><a href="concepts.html#threads.concepts.lock-concepts">Lock Concepts</a></span></dt>
+<dt><span class="section"><a href="concepts.html#threads.concepts.lock-models">Lock Models</a></span></dt>
+</dl></div>
+<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Note</h3>Certain changes to the mutexes and lock concepts are
+ currently under discussion. In particular, the combination of
+ the multiple lock concepts into a single lock concept
+ is likely, and the combination of the multiple mutex
+ concepts into a single mutex concept is also possible.</div>
+<p>A mutex (short for mutual-exclusion) object is used to serialize
+ access to a resource shared between multiple threads. The
+ <a href="concepts.html#threads.concepts.Mutex" title="Mutex Concept">Mutex</a> concept, with
+ <a href="concepts.html#threads.concepts.TryMutex" title="TryMutex Concept">TryMutex</a> and
+ <a href="concepts.html#threads.concepts.TimedMutex" title="TimedMutex Concept">TimedMutex</a> refinements,
+ formalize the requirements. A model that implements Mutex and its
+ refinements has two states: <span class="bold"><strong>locked</strong></span> and
+ <span class="bold"><strong>unlocked</strong></span>. Before using a shared resource, a
+ thread locks a <span class="bold"><strong>Boost.Threads</strong></span> mutex object
+ (an object whose type is a model of
+ <a href="concepts.html#threads.concepts.Mutex" title="Mutex Concept">Mutex</a> or one of it's
+ refinements), ensuring
+ <a href="../threads.html#threads.glossary.thread-safe">thread-safe</a> access to
+ the shared resource. When use of the shared resource is complete, the thread
+ unlocks the mutex object, allowing another thread to acquire the lock and
+ use the shared resource.</p>
+<p>Traditional C thread APIs, like POSIX threads or the Windows thread
+ APIs, expose functions to lock and unlock a mutex object. This is dangerous
+ since it's easy to forget to unlock a locked mutex. When the flow of control
+ is complex, with multiple return points, the likelihood of forgetting to
+ unlock a mutex object becomes even greater. When exceptions are thrown,
+ it becomes nearly impossible to ensure that the mutex object is unlocked
+ properly when using these traditional API's. The result is
+ <a href="../threads.html#threads.glossary.deadlock">deadlock</a>.</p>
+<p>Many C++ threading libraries use a pattern known as <span class="emphasis"><em>Scoped
+ Locking</em></span>[<span class="citation"><a href="../threads.html#threads.bib.SchmidtStalRohnertBuschmann">SchmidtStalRohnertBuschmann</a></span>] to free the programmer from
+ the need to explicitly lock and unlock mutex objects. With this pattern, a
+ <a href="concepts.html#threads.concepts.lock-concepts" title="Lock Concepts">Lock</a> concept is employed where
+ the lock object's constructor locks the associated mutex object and the
+ destructor automatically does the unlocking. The
+ <span class="bold"><strong>Boost.Threads</strong></span> library takes this pattern to
+ the extreme in that Lock concepts are the only way to lock and unlock a
+ mutex object: lock and unlock functions are not exposed by any
+ <span class="bold"><strong>Boost.Threads</strong></span> mutex objects. This helps to
+ ensure safe usage patterns, especially when code throws exceptions.</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.concepts.locking-strategies"></a>Locking Strategies</h5></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="concepts.html#threads.concepts.recursive-locking-strategy">Recursive Locking Strategy</a></span></dt>
+<dt><span class="section"><a href="concepts.html#threads.concepts.checked-locking-strategy">Checked Locking Strategy</a></span></dt>
+<dt><span class="section"><a href="concepts.html#threads.concepts.unchecked-locking-strategy">Unchecked Locking Strategy</a></span></dt>
+<dt><span class="section"><a href="concepts.html#threads.concepts.unspecified-locking-strategy">Unspecified Locking Strategy</a></span></dt>
+</dl></div>
+<p>Every mutex object follows one of several locking strategies. These
+ strategies define the semantics for the locking operation when the calling
+ thread already owns a lock on the mutex object.</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="threads.concepts.recursive-locking-strategy"></a>Recursive Locking Strategy</h6></div></div></div>
+<p>With a recursive locking strategy, when a thread attempts to acquire
+ a lock on the mutex object for which it already owns a lock, the operation
+ is successful. Note the distinction between a thread, which may have
+ multiple locks outstanding on a recursive mutex object, and a lock object,
+ which even for a recursive mutex object cannot have any of its lock
+ functions called multiple times without first calling unlock.</p>
+<p>Internally a lock count is maintained and the owning thread must
+ unlock the mutex object the same number of times that it locked it before
+ the mutex object's state returns to unlocked. Since mutex objects in
+ <span class="bold"><strong>Boost.Threads</strong></span> expose locking
+ functionality only through lock concepts, a thread will always unlock a
+ mutex object the same number of times that it locked it. This helps to
+ eliminate a whole set of errors typically found in traditional C style
+ thread APIs.</p>
+<p>Classes <code class="computeroutput"><a href="../recursive_mutex.html" title="Class recursive_mutex">boost::recursive_mutex</a></code>,
+ <code class="computeroutput"><a href="../recursive_try_mutex.html" title="Class recursive_try_mutex">boost::recursive_try_mutex</a></code> and
+ <code class="computeroutput"><a href="../recursive_timed_mutex.html" title="Class recursive_timed_mutex">boost::recursive_timed_mutex</a></code> use this locking
+ strategy.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="threads.concepts.checked-locking-strategy"></a>Checked Locking Strategy</h6></div></div></div>
+<p>With a checked locking strategy, when a thread attempts to acquire a
+ lock on the mutex object for which the thread already owns a lock, the
+ operation will fail with some sort of error indication. Further, attempts
+ by a thread to unlock a mutex object that was not locked by the thread
+ will also return some sort of error indication. In
+ <span class="bold"><strong>Boost.Threads</strong></span>, an exception of type
+ <code class="computeroutput"><a href="../lock_error.html" title="Class lock_error">boost::lock_error</a></code>
+ would be thrown in these cases.</p>
+<p><span class="bold"><strong>Boost.Threads</strong></span> does not currently
+ provide any mutex objects that use this strategy.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="threads.concepts.unchecked-locking-strategy"></a>Unchecked Locking Strategy</h6></div></div></div>
+<p>With an unchecked locking strategy, when a thread attempts to acquire
+ a lock on a mutex object for which the thread already owns a lock the
+ operation will
+ <a href="../threads.html#threads.glossary.deadlock">deadlock</a>. In general
+ this locking strategy is less safe than a checked or recursive strategy,
+ but it's also a faster strategy and so is employed by many libraries.</p>
+<p><span class="bold"><strong>Boost.Threads</strong></span> does not currently
+ provide any mutex objects that use this strategy.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="threads.concepts.unspecified-locking-strategy"></a>Unspecified Locking Strategy</h6></div></div></div>
+<p>With an unspecified locking strategy, when a thread attempts to
+ acquire a lock on a mutex object for which the thread already owns a lock
+ the operation results in
+ <a href="../threads.html#threads.glossary.undefined-behavior">undefined behavior</a>.
+ </p>
+<p>In general a mutex object with an unspecified locking strategy is
+ unsafe, and it requires programmer discipline to use the mutex object
+ properly. However, this strategy allows an implementation to be as fast as
+ possible with no restrictions on its implementation. This is especially
+ true for portable implementations that wrap the native threading support
+ of a platform. For this reason, the classes
+ <code class="computeroutput"><a href="../mutex.html" title="Class mutex">boost::mutex</a></code>,
+ <code class="computeroutput"><a href="../try_mutex.html" title="Class try_mutex">boost::try_mutex</a></code> and
+ <code class="computeroutput"><a href="../timed_mutex.html" title="Class timed_mutex">boost::timed_mutex</a></code> use this locking strategy
+ despite the lack of safety.</p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.concepts.sheduling-policies"></a>Scheduling Policies</h5></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="concepts.html#threads.concepts.FIFO-scheduling-policy">FIFO Scheduling Policy</a></span></dt>
+<dt><span class="section"><a href="concepts.html#threads.concepts.priority-driven-scheduling-policy">Priority Driven Policy</a></span></dt>
+<dt><span class="section"><a href="concepts.html#threads.concepts.unspecified-scheduling-policy">Unspecified Policy</a></span></dt>
+</dl></div>
+<p>Every mutex object follows one of several scheduling policies. These
+ policies define the semantics when the mutex object is unlocked and there is
+ more than one thread waiting to acquire a lock. In other words, the policy
+ defines which waiting thread shall acquire the lock.</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="threads.concepts.FIFO-scheduling-policy"></a>FIFO Scheduling Policy</h6></div></div></div>
+<p>With a FIFO ("First In First Out") scheduling policy, threads waiting
+ for the lock will acquire it in a first-come-first-served order.
+ This can help prevent a high priority thread from starving lower priority
+ threads that are also waiting on the mutex object's lock.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="threads.concepts.priority-driven-scheduling-policy"></a>Priority Driven Policy</h6></div></div></div>
+<p>With a Priority Driven scheduling policy, the thread with the
+ highest priority acquires the lock. Note that this means that low-priority
+ threads may never acquire the lock if the mutex object has high contention
+ and there is always at least one high-priority thread waiting. This is
+ known as thread starvation. When multiple threads of the same priority are
+ waiting on the mutex object's lock one of the other scheduling priorities
+ will determine which thread shall acquire the lock.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="threads.concepts.unspecified-scheduling-policy"></a>Unspecified Policy</h6></div></div></div>
+<p>The mutex object does not specify a scheduling policy. In order to
+ ensure portability, all <span class="bold"><strong>Boost.Threads</strong></span>
+ mutex objects use an unspecified scheduling policy.</p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.concepts.mutex-concepts"></a>Mutex Concepts</h5></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="concepts.html#threads.concepts.Mutex">Mutex Concept</a></span></dt>
+<dt><span class="section"><a href="concepts.html#threads.concepts.TryMutex">TryMutex Concept</a></span></dt>
+<dt><span class="section"><a href="concepts.html#threads.concepts.TimedMutex">TimedMutex Concept</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="threads.concepts.Mutex"></a>Mutex Concept</h6></div></div></div>
+<p>A Mutex object has two states: locked and unlocked. Mutex object
+ state can only be determined by a lock object meeting the
+ appropriate lock concept requirements
+ and constructed for the Mutex object.</p>
+<p>A Mutex is
+ <a href="../../../libs/utility/utility.htm#Class%20noncopyable" target="_top">
+ NonCopyable</a>.</p>
+<p>For a Mutex type <code class="computeroutput">M</code>
+ and an object <code class="computeroutput">m</code> of that type,
+ the following expressions must be well-formed
+ and have the indicated effects.</p>
+<div class="table">
+<a name="id2776317"></a><p class="title"><b>Table 12.1. Mutex Expressions</b></p>
+<table class="table" summary="Mutex Expressions">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Effects</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>M m;</td>
+<td>
+<p>Constructs a mutex object m.</p>
+<p>Postcondition: m is unlocked.</p>
+</td>
+</tr>
+<tr>
+<td>(&amp;m)-&gt;~M();</td>
+<td>Precondition: m is unlocked. Destroys a mutex object
+ m.</td>
+</tr>
+<tr>
+<td>M::scoped_lock</td>
+<td>A model of
+ <a href="concepts.html#threads.concepts.ScopedLock" title="ScopedLock Concept">ScopedLock</a>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="threads.concepts.TryMutex"></a>TryMutex Concept</h6></div></div></div>
+<p>A TryMutex is a refinement of
+ <a href="concepts.html#threads.concepts.Mutex" title="Mutex Concept">Mutex</a>.
+ For a TryMutex type <code class="computeroutput">M</code>
+ and an object <code class="computeroutput">m</code> of that type,
+ the following expressions must be well-formed
+ and have the indicated effects.</p>
+<div class="table">
+<a name="id2776393"></a><p class="title"><b>Table 12.2. TryMutex Expressions</b></p>
+<table class="table" summary="TryMutex Expressions">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Effects</th>
+</tr></thead>
+<tbody><tr>
+<td>M::scoped_try_lock</td>
+<td>A model of
+ <a href="concepts.html#threads.concepts.ScopedTryLock" title="ScopedTryLock Concept">ScopedTryLock</a>
+</td>
+</tr></tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="threads.concepts.TimedMutex"></a>TimedMutex Concept</h6></div></div></div>
+<p>A TimedMutex is a refinement of
+ <a href="concepts.html#threads.concepts.TryMutex" title="TryMutex Concept">TryMutex</a>.
+ For a TimedMutex type <code class="computeroutput">M</code>
+ and an object <code class="computeroutput">m</code> of that type,
+ the following expressions must be well-formed
+ and have the indicated effects.</p>
+<div class="table">
+<a name="id2776453"></a><p class="title"><b>Table 12.3. TimedMutex Expressions</b></p>
+<table class="table" summary="TimedMutex Expressions">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Effects</th>
+</tr></thead>
+<tbody><tr>
+<td>M::scoped_timed_lock</td>
+<td>A model of
+ <a href="concepts.html#threads.concepts.ScopedTimedLock" title="ScopedTimedLock Concept">ScopedTimedLock</a>
+</td>
+</tr></tbody>
+</table>
+</div>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.concepts.mutex-models"></a>Mutex Models</h5></div></div></div>
+<p><span class="bold"><strong>Boost.Threads</strong></span> currently supplies six models of
+ <a href="concepts.html#threads.concepts.Mutex" title="Mutex Concept">Mutex</a>
+ and its refinements.</p>
+<div class="table">
+<a name="id2776506"></a><p class="title"><b>Table 12.4. Mutex Models</b></p>
+<table class="table" summary="Mutex Models">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Concept</th>
+<th>Refines</th>
+<th>Models</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><a href="concepts.html#threads.concepts.Mutex" title="Mutex Concept">Mutex</a></td>
+<td> </td>
+<td>
+<p><code class="computeroutput"><a href="../mutex.html" title="Class mutex">boost::mutex</a></code></p>
+<p><code class="computeroutput"><a href="../recursive_mutex.html" title="Class recursive_mutex">boost::recursive_mutex</a></code></p>
+</td>
+</tr>
+<tr>
+<td><a href="concepts.html#threads.concepts.TryMutex" title="TryMutex Concept">TryMutex</a></td>
+<td><a href="concepts.html#threads.concepts.Mutex" title="Mutex Concept">Mutex</a></td>
+<td>
+<p><code class="computeroutput"><a href="../try_mutex.html" title="Class try_mutex">boost::try_mutex</a></code></p>
+<p><code class="computeroutput"><a href="../recursive_try_mutex.html" title="Class recursive_try_mutex">boost::recursive_try_mutex</a></code></p>
+</td>
+</tr>
+<tr>
+<td><a href="concepts.html#threads.concepts.TimedMutex" title="TimedMutex Concept">TimedMutex</a></td>
+<td><a href="concepts.html#threads.concepts.TryMutex" title="TryMutex Concept">TryMutex</a></td>
+<td>
+<p><code class="computeroutput"><a href="../timed_mutex.html" title="Class timed_mutex">boost::timed_mutex</a></code></p>
+<p><code class="computeroutput"><a href="../recursive_timed_mutex.html" title="Class recursive_timed_mutex">boost::recursive_timed_mutex</a></code></p>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.concepts.lock-concepts"></a>Lock Concepts</h5></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="concepts.html#threads.concepts.Lock">Lock Concept</a></span></dt>
+<dt><span class="section"><a href="concepts.html#threads.concepts.ScopedLock">ScopedLock Concept</a></span></dt>
+<dt><span class="section"><a href="concepts.html#threads.concepts.TryLock">TryLock Concept</a></span></dt>
+<dt><span class="section"><a href="concepts.html#threads.concepts.ScopedTryLock">ScopedTryLock Concept</a></span></dt>
+<dt><span class="section"><a href="concepts.html#threads.concepts.TimedLock">TimedLock Concept</a></span></dt>
+<dt><span class="section"><a href="concepts.html#threads.concepts.ScopedTimedLock">ScopedTimedLock Concept</a></span></dt>
+</dl></div>
+<p>A lock object provides a safe means for locking and unlocking a mutex
+ object (an object whose type is a model of <a href="concepts.html#threads.concepts.Mutex" title="Mutex Concept">Mutex</a> or one of its refinements). In
+ other words they are an implementation of the <span class="emphasis"><em>Scoped
+ Locking</em></span>[<span class="citation"><a href="../threads.html#threads.bib.SchmidtStalRohnertBuschmann">SchmidtStalRohnertBuschmann</a></span>] pattern. The <a href="concepts.html#threads.concepts.ScopedLock" title="ScopedLock Concept">ScopedLock</a>,
+ <a href="concepts.html#threads.concepts.ScopedTryLock" title="ScopedTryLock Concept">ScopedTryLock</a>, and
+ <a href="concepts.html#threads.concepts.ScopedTimedLock" title="ScopedTimedLock Concept">ScopedTimedLock</a>
+ concepts formalize the requirements.</p>
+<p>Lock objects are constructed with a reference to a mutex object and
+ typically acquire ownership of the mutex object by setting its state to
+ locked. They also ensure ownership is relinquished in the destructor. Lock
+ objects also expose functions to query the lock status and to manually lock
+ and unlock the mutex object.</p>
+<p>Lock objects are meant to be short lived, expected to be used at block
+ scope only. The lock objects are not <a href="../threads.html#threads.glossary.thread-safe">thread-safe</a>. Lock objects must
+ maintain state to indicate whether or not they've been locked and this state
+ is not protected by any synchronization concepts. For this reason a lock
+ object should never be shared between multiple threads.</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="threads.concepts.Lock"></a>Lock Concept</h6></div></div></div>
+<p>For a Lock type <code class="computeroutput">L</code>
+ and an object <code class="computeroutput">lk</code>
+ and const object <code class="computeroutput">clk</code> of that type,
+ the following expressions must be well-formed
+ and have the indicated effects.</p>
+<div class="table">
+<a name="id2776742"></a><p class="title"><b>Table 12.5. Lock Expressions</b></p>
+<table class="table" summary="Lock Expressions">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Effects</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput">(&amp;lk)-&gt;~L();</code></td>
+<td><code class="computeroutput">if (locked()) unlock();</code></td>
+</tr>
+<tr>
+<td><code class="computeroutput">(&amp;clk)-&gt;operator const void*()</code></td>
+<td>Returns type void*, non-zero if the associated mutex
+ object has been locked by <code class="computeroutput">clk</code>, otherwise 0.</td>
+</tr>
+<tr>
+<td><code class="computeroutput">clk.locked()</code></td>
+<td>Returns a <code class="computeroutput">bool</code>, <code class="computeroutput">(&amp;clk)-&gt;operator
+ const void*() != 0</code>
+</td>
+</tr>
+<tr>
+<td><code class="computeroutput">lk.lock()</code></td>
+<td>
+<p>Throws <code class="computeroutput"><a href="../lock_error.html" title="Class lock_error">boost::lock_error</a></code>
+ if <code class="computeroutput">locked()</code>.</p>
+<p>If the associated mutex object is
+ already locked by some other thread, places the current thread in the
+ <a href="../threads.html#threads.glossary.thread-state">Blocked</a> state until
+ the associated mutex is unlocked, after which the current thread
+ is placed in the <a href="../threads.html#threads.glossary.thread-state">Ready</a> state,
+ eventually to be returned to the <a href="../threads.html#threads.glossary.thread-state">Running</a> state. If
+ the associated mutex object is already locked by the same thread
+ the behavior is dependent on the <a href="concepts.html#threads.concepts.locking-strategies" title="Locking Strategies">locking
+ strategy</a> of the associated mutex object.</p>
+<p>Postcondition: <code class="computeroutput">locked() == true</code></p>
+</td>
+</tr>
+<tr>
+<td><code class="computeroutput">lk.unlock()</code></td>
+<td>
+<p>Throws <code class="computeroutput"><a href="../lock_error.html" title="Class lock_error">boost::lock_error</a></code>
+ if <code class="computeroutput">!locked()</code>.</p>
+<p>Unlocks the associated mutex.</p>
+<p>Postcondition: <code class="computeroutput">!locked()</code></p>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="threads.concepts.ScopedLock"></a>ScopedLock Concept</h6></div></div></div>
+<p>A ScopedLock is a refinement of <a href="concepts.html#threads.concepts.Lock" title="Lock Concept">Lock</a>.
+ For a ScopedLock type <code class="computeroutput">L</code>
+ and an object <code class="computeroutput">lk</code> of that type,
+ and an object <code class="computeroutput">m</code> of a type meeting the
+ <a href="concepts.html#threads.concepts.Mutex" title="Mutex Concept">Mutex</a> requirements,
+ and an object <code class="computeroutput">b</code> of type <code class="computeroutput">bool</code>,
+ the following expressions must be well-formed
+ and have the indicated effects.</p>
+<div class="table">
+<a name="id2776979"></a><p class="title"><b>Table 12.6. ScopedLock Expressions</b></p>
+<table class="table" summary="ScopedLock Expressions">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Effects</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput">L lk(m);</code></td>
+<td>Constructs an object <code class="computeroutput">lk</code>, and associates mutex
+ object <code class="computeroutput">m</code> with it, then calls
+ <code class="computeroutput">lock()</code>
+</td>
+</tr>
+<tr>
+<td><code class="computeroutput">L lk(m,b);</code></td>
+<td>Constructs an object <code class="computeroutput">lk</code>, and associates mutex
+ object <code class="computeroutput">m</code> with it, then if <code class="computeroutput">b</code>, calls
+ <code class="computeroutput">lock()</code>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="threads.concepts.TryLock"></a>TryLock Concept</h6></div></div></div>
+<p>A TryLock is a refinement of <a href="concepts.html#threads.concepts.Lock" title="Lock Concept">Lock</a>.
+ For a TryLock type <code class="computeroutput">L</code>
+ and an object <code class="computeroutput">lk</code> of that type,
+ the following expressions must be well-formed
+ and have the indicated effects.</p>
+<div class="table">
+<a name="id2777084"></a><p class="title"><b>Table 12.7. TryLock Expressions</b></p>
+<table class="table" summary="TryLock Expressions">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Effects</th>
+</tr></thead>
+<tbody><tr>
+<td><code class="computeroutput">lk.try_lock()</code></td>
+<td>
+<p>Throws <code class="computeroutput"><a href="../lock_error.html" title="Class lock_error">boost::lock_error</a></code>
+ if locked().</p>
+<p>Makes a
+ non-blocking attempt to lock the associated mutex object,
+ returning <code class="computeroutput">true</code> if the lock attempt is successful,
+ otherwise <code class="computeroutput">false</code>. If the associated mutex object is
+ already locked by the same thread the behavior is dependent on the
+ <a href="concepts.html#threads.concepts.locking-strategies" title="Locking Strategies">locking
+ strategy</a> of the associated mutex object.</p>
+</td>
+</tr></tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="threads.concepts.ScopedTryLock"></a>ScopedTryLock Concept</h6></div></div></div>
+<p>A ScopedTryLock is a refinement of <a href="concepts.html#threads.concepts.TryLock" title="TryLock Concept">TryLock</a>.
+ For a ScopedTryLock type <code class="computeroutput">L</code>
+ and an object <code class="computeroutput">lk</code> of that type,
+ and an object <code class="computeroutput">m</code> of a type meeting the
+ <a href="concepts.html#threads.concepts.TryMutex" title="TryMutex Concept">TryMutex</a> requirements,
+ and an object <code class="computeroutput">b</code> of type <code class="computeroutput">bool</code>,
+ the following expressions must be well-formed
+ and have the indicated effects.</p>
+<div class="table">
+<a name="id2777206"></a><p class="title"><b>Table 12.8. ScopedTryLock Expressions</b></p>
+<table class="table" summary="ScopedTryLock Expressions">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Effects</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput">L lk(m);</code></td>
+<td>Constructs an object <code class="computeroutput">lk</code>, and associates mutex
+ object <code class="computeroutput">m</code> with it, then calls
+ <code class="computeroutput">try_lock()</code>
+</td>
+</tr>
+<tr>
+<td><code class="computeroutput">L lk(m,b);</code></td>
+<td>Constructs an object <code class="computeroutput">lk</code>, and associates mutex
+ object <code class="computeroutput">m</code> with it, then if <code class="computeroutput">b</code>, calls
+ <code class="computeroutput">lock()</code>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="threads.concepts.TimedLock"></a>TimedLock Concept</h6></div></div></div>
+<p>A TimedLock is a refinement of <a href="concepts.html#threads.concepts.TryLock" title="TryLock Concept">TryLock</a>.
+ For a TimedLock type <code class="computeroutput">L</code>
+ and an object <code class="computeroutput">lk</code> of that type,
+ and an object <code class="computeroutput">t</code> of type <code class="computeroutput"><a href="../xtime.html" title="Struct xtime">boost::xtime</a></code>,
+ the following expressions must be well-formed
+ and have the indicated effects.</p>
+<div class="table">
+<a name="id2777328"></a><p class="title"><b>Table 12.9. TimedLock Expressions</b></p>
+<table class="table" summary="TimedLock Expressions">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Effects</th>
+</tr></thead>
+<tbody><tr>
+<td><code class="computeroutput">lk.timed_lock(t)</code></td>
+<td>
+<p>Throws <code class="computeroutput"><a href="../lock_error.html" title="Class lock_error">boost::lock_error</a></code>
+ if locked().</p>
+<p>Makes a blocking attempt
+ to lock the associated mutex object, and returns <code class="computeroutput">true</code>
+ if successful within the specified time <code class="computeroutput">t</code>, otherwise
+ <code class="computeroutput">false</code>. If the associated mutex object is already
+ locked by the same thread the behavior is dependent on the <a href="concepts.html#threads.concepts.locking-strategies" title="Locking Strategies">locking
+ strategy</a> of the associated mutex object.</p>
+</td>
+</tr></tbody>
+</table>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="threads.concepts.ScopedTimedLock"></a>ScopedTimedLock Concept</h6></div></div></div>
+<p>A ScopedTimedLock is a refinement of <a href="concepts.html#threads.concepts.TimedLock" title="TimedLock Concept">TimedLock</a>.
+ For a ScopedTimedLock type <code class="computeroutput">L</code>
+ and an object <code class="computeroutput">lk</code> of that type,
+ and an object <code class="computeroutput">m</code> of a type meeting the
+ <a href="concepts.html#threads.concepts.TimedMutex" title="TimedMutex Concept">TimedMutex</a> requirements,
+ and an object <code class="computeroutput">b</code> of type <code class="computeroutput">bool</code>,
+ and an object <code class="computeroutput">t</code> of type <code class="computeroutput"><a href="../xtime.html" title="Struct xtime">boost::xtime</a></code>,
+ the following expressions must be well-formed
+ and have the indicated effects.</p>
+<div class="table">
+<a name="id2777472"></a><p class="title"><b>Table 12.10. ScopedTimedLock Expressions</b></p>
+<table class="table" summary="ScopedTimedLock Expressions">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Expression</th>
+<th>Effects</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput">L lk(m,t);</code></td>
+<td>Constructs an object <code class="computeroutput">lk</code>, and associates mutex
+ object <code class="computeroutput">m</code> with it, then calls
+ <code class="computeroutput">timed_lock(t)</code>
+</td>
+</tr>
+<tr>
+<td><code class="computeroutput">L lk(m,b);</code></td>
+<td>Constructs an object <code class="computeroutput">lk</code>, and associates mutex
+ object <code class="computeroutput">m</code> with it, then if <code class="computeroutput">b</code>, calls
+ <code class="computeroutput">lock()</code>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.concepts.lock-models"></a>Lock Models</h5></div></div></div>
+<p><span class="bold"><strong>Boost.Threads</strong></span> currently supplies twelve models of
+ <a href="concepts.html#threads.concepts.Lock" title="Lock Concept">Lock</a>
+ and its refinements.</p>
+<div class="table">
+<a name="id2777570"></a><p class="title"><b>Table 12.11. Lock Models</b></p>
+<table class="table" summary="Lock Models">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Concept</th>
+<th>Refines</th>
+<th>Models</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><a href="concepts.html#threads.concepts.Lock" title="Lock Concept">Lock</a></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td><a href="concepts.html#threads.concepts.ScopedLock" title="ScopedLock Concept">ScopedLock</a></td>
+<td><a href="concepts.html#threads.concepts.Lock" title="Lock Concept">Lock</a></td>
+<td>
+<p><code class="computeroutput">boost::mutex::scoped_lock</code></p>
+<p><code class="computeroutput">boost::recursive_mutex::scoped_lock</code></p>
+<p><code class="computeroutput">boost::try_mutex::scoped_lock</code></p>
+<p><code class="computeroutput">boost::recursive_try_mutex::scoped_lock</code></p>
+<p><code class="computeroutput">boost::timed_mutex::scoped_lock</code></p>
+<p><code class="computeroutput">boost::recursive_timed_mutex::scoped_lock</code></p>
+</td>
+</tr>
+<tr>
+<td><a href="concepts.html#threads.concepts.TryLock" title="TryLock Concept">TryLock</a></td>
+<td><a href="concepts.html#threads.concepts.Lock" title="Lock Concept">Lock</a></td>
+<td> </td>
+</tr>
+<tr>
+<td><a href="concepts.html#threads.concepts.ScopedTryLock" title="ScopedTryLock Concept">ScopedTryLock</a></td>
+<td><a href="concepts.html#threads.concepts.TryLock" title="TryLock Concept">TryLock</a></td>
+<td>
+<p><code class="computeroutput">boost::try_mutex::scoped_try_lock</code></p>
+<p><code class="computeroutput">boost::recursive_try_mutex::scoped_try_lock</code></p>
+<p><code class="computeroutput">boost::timed_mutex::scoped_try_lock</code></p>
+<p><code class="computeroutput">boost::recursive_timed_mutex::scoped_try_lock</code></p>
+</td>
+</tr>
+<tr>
+<td><a href="concepts.html#threads.concepts.TimedLock" title="TimedLock Concept">TimedLock</a></td>
+<td><a href="concepts.html#threads.concepts.TryLock" title="TryLock Concept">TryLock</a></td>
+<td> </td>
+</tr>
+<tr>
+<td><a href="concepts.html#threads.concepts.ScopedTimedLock" title="ScopedTimedLock Concept">ScopedTimedLock</a></td>
+<td><a href="concepts.html#threads.concepts.TimedLock" title="TimedLock Concept">TimedLock</a></td>
+<td>
+<p><code class="computeroutput">boost::timed_mutex::scoped_timed_lock</code></p>
+<p><code class="computeroutput">boost::recursive_timed_mutex::scoped_timed_lock</code></p>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: October 16, 2005 at 14:37:34 GMT</p></small></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="design.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/threads/design.html b/doc/html/threads/design.html
new file mode 100644
index 0000000000..ae33ba3242
--- /dev/null
+++ b/doc/html/threads/design.html
@@ -0,0 +1,175 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Design</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../threads.html" title="Chapter 12. Boost.Threads">
+<link rel="prev" href="../threads.html" title="Chapter 12. Boost.Threads">
+<link rel="next" href="concepts.html" title="Concepts">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../threads.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="concepts.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="threads.design"></a>Design</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="design.html#threads.design.goals">Goals</a></span></dt>
+<dt><span class="section"><a href="design.html#id2775596">Iterative Phases</a></span></dt>
+<dt><span class="section"><a href="design.html#id2775636">Phase 1, Synchronization Primitives</a></span></dt>
+<dt><span class="section"><a href="design.html#threads.design.phase2">Phase 2, Thread Management and Thread Specific Storage</a></span></dt>
+<dt><span class="section"><a href="design.html#id2775808">The Next Phase</a></span></dt>
+</dl></div>
+<p>With client/server and three-tier architectures becoming common place
+ in today's world, it's becoming increasingly important for programs to be
+ able to handle parallel processing. Modern day operating systems usually
+ provide some support for this through native thread APIs. Unfortunately,
+ writing portable code that makes use of parallel processing in C++ is made
+ very difficult by a lack of a standard interface for these native APIs.
+ Further, these APIs are almost universally C APIs and fail to take
+ advantage of C++'s strengths, or to address concepts unique to C++, such as
+ exceptions.</p>
+<p>The <span class="bold"><strong>Boost.Threads</strong></span> library is an attempt to define a portable interface
+ for writing parallel processes in C++.</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="threads.design.goals"></a>Goals</h4></div></div></div>
+<p>The <span class="bold"><strong>Boost.Threads</strong></span> library has several goals that should help to set
+ it apart from other solutions. These goals are listed in order of precedence
+ with full descriptions below.
+ </p>
+<div class="variablelist"><dl>
+<dt><span class="term">Portability</span></dt>
+<dd><p><span class="bold"><strong>Boost.Threads</strong></span> was designed to be highly portable. The goal is
+ for the interface to be easily implemented on any platform that
+ supports threads, and possibly even on platforms without native thread
+ support.</p></dd>
+<dt><span class="term">Safety</span></dt>
+<dd>
+<p><span class="bold"><strong>Boost.Threads</strong></span> was designed to be as safe as possible. Writing
+ <a href="../threads.html#threads.glossary.thread-safe">thread-safe</a>
+ code is very difficult and successful libraries must strive to
+ insulate the programmer from dangerous constructs as much as
+ possible. This is accomplished in several ways:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>C++ language features are used to make correct usage easy
+ (if possible) and error-prone usage impossible or at least more
+ difficult. For example, see the <a href="concepts.html#threads.concepts.Mutex" title="Mutex Concept">Mutex</a> and <a href="concepts.html#threads.concepts.Lock" title="Lock Concept">Lock</a> designs, and note
+ how they interact.</p></li>
+<li><p>Certain traditional concurrent programming features are
+ considered so error-prone that they are not provided at all. For
+ example, see <a href="rationale.html#threads.rationale.events" title="Rationale for not providing Event Variables">the section called &#8220;Rationale for not providing <span class="emphasis"><em>Event Variables</em></span>&#8221;</a>.</p></li>
+<li><p>Dangerous features, or features which may be misused, are
+ identified as such in the documentation to make users aware of
+ potential pitfalls.</p></li>
+</ul></div>
+</dd>
+<dt><span class="term">Flexibility</span></dt>
+<dd><p><span class="bold"><strong>Boost.Threads</strong></span> was designed to be flexible. This goal is often
+ at odds with <span class="emphasis"><em>safety</em></span>. When functionality might be
+ compromised by the desire to keep the interface safe, <span class="bold"><strong>Boost.Threads</strong></span>
+ has been designed to provide the functionality, but to make it's use
+ prohibitive for general use. In other words, the interfaces have been
+ designed such that it's usually obvious when something is unsafe, and
+ the documentation is written to explain why.</p></dd>
+<dt><span class="term">Efficiency</span></dt>
+<dd><p><span class="bold"><strong>Boost.Threads</strong></span> was designed to be as efficient as
+ possible. When building a library on top of another library there is
+ always a danger that the result will be so much slower than the
+ "native" API that programmers are inclined to ignore the higher level
+ API. <span class="bold"><strong>Boost.Threads</strong></span> was designed to minimize the chances of this
+ occurring. The interfaces have been crafted to allow an implementation
+ the greatest chance of being as efficient as possible. This goal is
+ often at odds with the goal for <span class="emphasis"><em>safety</em></span>. Every
+ effort was made to ensure efficient implementations, but when in
+ conflict <span class="emphasis"><em>safety</em></span> has always taken
+ precedence.</p></dd>
+</dl></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2775596"></a>Iterative Phases</h4></div></div></div>
+<p>Another goal of <span class="bold"><strong>Boost.Threads</strong></span> was to take a dynamic, iterative
+ approach in its development. The computing industry is still exploring the
+ concepts of parallel programming. Most thread libraries supply only simple
+ primitive concepts for thread synchronization. These concepts are very
+ simple, but it is very difficult to use them safely or to provide formal
+ proofs for constructs built on top of them. There has been a lot of research
+ into other concepts, such as in "Communicating Sequential Processes."
+ <span class="bold"><strong>Boost.Threads</strong></span> was designed in iterative steps, with each step providing
+ the building blocks necessary for the next step and giving the researcher
+ the tools necessary to explore new concepts in a portable manner.</p>
+<p>Given the goal of following a dynamic, iterative approach
+ <span class="bold"><strong>Boost.Threads</strong></span> shall go through several growth cycles. Each phase in its
+ development shall be roughly documented here.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2775636"></a>Phase 1, Synchronization Primitives</h4></div></div></div>
+<p>Boost is all about providing high quality libraries with
+ implementations for many platforms. Unfortunately, there's a big problem
+ faced by developers wishing to supply such high quality libraries, namely
+ thread-safety. The C++ standard doesn't address threads at all, but real
+ world programs often make use of native threading support. A portable
+ library that doesn't address the issue of thread-safety is therefore not
+ much help to a programmer who wants to use the library in his multithreaded
+ application. So there's a very great need for portable primitives that will
+ allow the library developer to create <a href="../threads.html#threads.glossary.thread-safe">thread-safe</a>
+ implementations. This need far out weighs the need for portable methods to
+ create and manage threads.</p>
+<p>Because of this need, the first phase of <span class="bold"><strong>Boost.Threads</strong></span> focuses
+ solely on providing portable primitive concepts for thread
+ synchronization. Types provided in this phase include the
+ <code class="computeroutput"><a href="../mutex.html" title="Class mutex">boost::mutex</a></code>,
+ <code class="computeroutput"><a href="../try_mutex.html" title="Class try_mutex">boost::try_mutex</a></code>,
+ <code class="computeroutput"><a href="../timed_mutex.html" title="Class timed_mutex">boost::timed_mutex</a></code>,
+ <code class="computeroutput"><a href="../recursive_mutex.html" title="Class recursive_mutex">boost::recursive_mutex</a></code>,
+ <code class="computeroutput"><a href="../recursive_try_mutex.html" title="Class recursive_try_mutex">boost::recursive_try_mutex</a></code>,
+ <code class="computeroutput"><a href="../recursive_timed_mutex.html" title="Class recursive_timed_mutex">boost::recursive_timed_mutex</a></code>, and
+ <code class="computeroutput"><a href="../lock_error.html" title="Class lock_error">boost::lock_error</a></code>. These are considered the "core"
+ synchronization primitives, though there are others that will be added in
+ later phases.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="threads.design.phase2"></a>Phase 2, Thread Management and Thread Specific Storage</h4></div></div></div>
+<p>This phase addresses the creation and management of threads and
+ provides a mechanism for thread specific storage (data associated with a
+ thread instance). Thread management is a tricky issue in C++, so this
+ phase addresses only the basic needs of multithreaded program. Later
+ phases are likely to add additional functionality in this area. This
+ phase of <span class="bold"><strong>Boost.Threads</strong></span> adds the <code class="computeroutput"><a href="../thread.html" title="Class thread">boost::thread</a></code> and
+ <code class="computeroutput"><a href="../thread_specific_ptr.html" title="Class thread_specific_ptr">boost::thread_specific_ptr</a></code> types. With these
+ additions the <span class="bold"><strong>Boost.Threads</strong></span> library can be considered minimal but
+ complete.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2775808"></a>The Next Phase</h4></div></div></div>
+<p>The next phase will address more advanced synchronization concepts,
+ such as read/write mutexes and barriers.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: July 17, 2004 at 04:33:59 GMT</p></small></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../threads.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="concepts.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/threads/faq.html b/doc/html/threads/faq.html
new file mode 100644
index 0000000000..3f1af657e1
--- /dev/null
+++ b/doc/html/threads/faq.html
@@ -0,0 +1,292 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Frequently Asked Questions</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../threads.html" title="Chapter 12. Boost.Threads">
+<link rel="prev" href="../xtime.html" title="Struct xtime">
+<link rel="next" href="../thread/configuration.html" title="Configuration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../xtime.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../thread/configuration.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="threads.faq"></a>Frequently Asked Questions</h3></div></div></div>
+<div class="qandaset">
+<dl>
+<dt>1. <a href="faq.html#id2786577">Are lock objects thread safe?</a>
+</dt>
+<dt>2. <a href="faq.html#id2786619">Why was Boost.Threads modeled after (specific library
+ name)?</a>
+</dt>
+<dt>3. <a href="faq.html#id2786652">Why wasn't Boost.Threads modeled after (specific library
+ name)?</a>
+</dt>
+<dt>4. <a href="faq.html#id2786688">Why do Mutexes
+ have noncopyable semantics?</a>
+</dt>
+<dt>5. <a href="faq.html#id2786718">How can you prevent deadlock from occurring when
+ a thread must lock multiple mutexes?</a>
+</dt>
+<dt>6. <a href="faq.html#id2786744">Don't noncopyable Mutex semantics mean that a
+ class with a mutex member will be noncopyable as well?</a>
+</dt>
+<dt>7. <a href="faq.html#id2786812">How can you lock a Mutex member in a const member
+ function, in order to implement the Monitor Pattern?</a>
+</dt>
+<dt>8. <a href="faq.html#id2786850">Why supply boost::condition variables rather than
+ event variables?</a>
+</dt>
+<dt>9. <a href="faq.html#id2786907">Why isn't thread cancellation or termination provided?</a>
+</dt>
+<dt>10. <a href="faq.html#id2786924">Is it safe for threads to share automatic storage duration (stack)
+ objects via pointers or references?</a>
+</dt>
+<dt>11. <a href="faq.html#id2786940">Why has class semaphore disappeared?</a>
+</dt>
+</dl>
+<table border="0" summary="Q and A Set">
+<col align="left" width="1%">
+<tbody>
+<tr class="question">
+<td align="left" valign="top">
+<a name="id2786577"></a><a name="id2786578"></a><b>1.</b>
+</td>
+<td align="left" valign="top"><p>Are lock objects <a href="../threads.html#threads.glossary.thread-safe">thread safe</a>?</p></td>
+</tr>
+<tr class="answer">
+<td align="left" valign="top"><b></b></td>
+<td align="left" valign="top"><p><span class="bold"><strong>No!</strong></span> Lock objects are not meant to
+ be shared between threads. They are meant to be short-lived objects
+ created on automatic storage within a code block. Any other usage is
+ just likely to lead to errors and won't really be of actual benefit anyway.
+ Share <a href="concepts.html#threads.concepts.mutexes" title="Mutexes">Mutexes</a>, not
+ Locks. For more information see the <a href="rationale.html#threads.rationale.locks" title="Rationale for the Lock Design">rationale</a> behind the
+ design for lock objects.</p></td>
+</tr>
+<tr class="question">
+<td align="left" valign="top">
+<a name="id2786619"></a><a name="id2786620"></a><b>2.</b>
+</td>
+<td align="left" valign="top"><p>Why was <span class="bold"><strong>Boost.Threads</strong></span> modeled after (specific library
+ name)?</p></td>
+</tr>
+<tr class="answer">
+<td align="left" valign="top"><b></b></td>
+<td align="left" valign="top"><p>It wasn't. <span class="bold"><strong>Boost.Threads</strong></span> was designed from scratch. Extensive
+ design discussions involved numerous people representing a wide range of
+ experience across many platforms. To ensure portability, the initial
+ implements were done in parallel using POSIX Threads and the Win32
+ threading API. But the <span class="bold"><strong>Boost.Threads</strong></span> design is very much in the spirit
+ of C++, and thus doesn't model such C based APIs.</p></td>
+</tr>
+<tr class="question">
+<td align="left" valign="top">
+<a name="id2786652"></a><a name="id2786653"></a><b>3.</b>
+</td>
+<td align="left" valign="top"><p>Why wasn't <span class="bold"><strong>Boost.Threads</strong></span> modeled after (specific library
+ name)?</p></td>
+</tr>
+<tr class="answer">
+<td align="left" valign="top"><b></b></td>
+<td align="left" valign="top"><p>Existing C++ libraries either seemed dangerous (often failing to
+ take advantage of prior art to reduce errors) or had excessive
+ dependencies on library components unrelated to threading. Existing C
+ libraries couldn't meet our C++ requirements, and were also missing
+ certain features. For instance, the WIN32 thread API lacks condition
+ variables, even though these are critical for the important Monitor
+ pattern [<span class="citation"><a href="../threads.html#threads.bib.SchmidtStalRohnertBuschmann">SchmidtStalRohnertBuschmann</a></span>].</p></td>
+</tr>
+<tr class="question">
+<td align="left" valign="top">
+<a name="id2786688"></a><a name="id2786689"></a><b>4.</b>
+</td>
+<td align="left" valign="top"><p>Why do <a href="concepts.html#threads.concepts.mutexes" title="Mutexes">Mutexes</a>
+ have noncopyable semantics?</p></td>
+</tr>
+<tr class="answer">
+<td align="left" valign="top"><b></b></td>
+<td align="left" valign="top"><p>To ensure that <a href="../threads.html#threads.glossary.deadlock">deadlocks</a> don't occur. The
+ only logical form of copy would be to use some sort of shallow copy
+ semantics in which multiple mutex objects could refer to the same mutex
+ state. This means that if ObjA has a mutex object as part of its state
+ and ObjB is copy constructed from it, then when ObjB::foo() locks the
+ mutex it has effectively locked ObjA as well. This behavior can result
+ in deadlock. Other copy semantics result in similar problems (if you
+ think you can prove this to be wrong then supply us with an alternative
+ and we'll reconsider).</p></td>
+</tr>
+<tr class="question">
+<td align="left" valign="top">
+<a name="id2786718"></a><a name="id2786720"></a><b>5.</b>
+</td>
+<td align="left" valign="top"><p>How can you prevent <a href="../threads.html#threads.glossary.deadlock">deadlock</a> from occurring when
+ a thread must lock multiple mutexes?</p></td>
+</tr>
+<tr class="answer">
+<td align="left" valign="top"><b></b></td>
+<td align="left" valign="top"><p>Always lock them in the same order. One easy way of doing this is
+ to use each mutex's address to determine the order in which they are
+ locked. A future <span class="bold"><strong>Boost.Threads</strong></span> concept may wrap this pattern up in a
+ reusable class.</p></td>
+</tr>
+<tr class="question">
+<td align="left" valign="top">
+<a name="id2786744"></a><a name="id2786745"></a><b>6.</b>
+</td>
+<td align="left" valign="top"><p>Don't noncopyable <a href="concepts.html#threads.concepts.mutexes" title="Mutexes">Mutex</a> semantics mean that a
+ class with a mutex member will be noncopyable as well?</p></td>
+</tr>
+<tr class="answer">
+<td align="left" valign="top"><b></b></td>
+<td align="left" valign="top">
+<p>No, but what it does mean is that the compiler can't generate a
+ copy constructor and assignment operator, so they will have to be coded
+ explicitly. This is a <span class="bold"><strong>good thing</strong></span>,
+ however, since the compiler generated operations would not be <a href="../threads.html#threads.glossary.thread-safe">thread-safe</a>. The following
+ is a simple example of a class with copyable semantics and internal
+ synchronization through a mutex member.</p>
+<pre class="programlisting">
+class counter
+{
+public:
+ // Doesn't need synchronization since there can be no references to *this
+ // until after it's constructed!
+ explicit counter(int initial_value)
+ : m_value(initial_value)
+ {
+ }
+ // We only need to synchronize other for the same reason we don't have to
+ // synchronize on construction!
+ counter(const counter&amp; other)
+ {
+ boost::mutex::scoped_lock scoped_lock(other.m_mutex);
+ m_value = other.m_value;
+ }
+ // For assignment we need to synchronize both objects!
+ const counter&amp; operator=(const counter&amp; other)
+ {
+ if (this == &amp;other)
+ return *this;
+ boost::mutex::scoped_lock lock1(&amp;m_mutex &lt; &amp;other.m_mutex ? m_mutex : other.m_mutex);
+ boost::mutex::scoped_lock lock2(&amp;m_mutex &gt; &amp;other.m_mutex ? m_mutex : other.m_mutex);
+ m_value = other.m_value;
+ return *this;
+ }
+ int value() const
+ {
+ boost::mutex::scoped_lock scoped_lock(m_mutex);
+ return m_value;
+ }
+ int increment()
+ {
+ boost::mutex::scoped_lock scoped_lock(m_mutex);
+ return ++m_value;
+ }
+private:
+ mutable boost::mutex m_mutex;
+ int m_value;
+};
+</pre>
+</td>
+</tr>
+<tr class="question">
+<td align="left" valign="top">
+<a name="id2786812"></a><a name="id2786813"></a><b>7.</b>
+</td>
+<td align="left" valign="top"><p>How can you lock a <a href="concepts.html#threads.concepts.mutexes" title="Mutexes">Mutex</a> member in a const member
+ function, in order to implement the Monitor Pattern?</p></td>
+</tr>
+<tr class="answer">
+<td align="left" valign="top"><b></b></td>
+<td align="left" valign="top"><p>The Monitor Pattern [<span class="citation"><a href="../threads.html#threads.bib.SchmidtStalRohnertBuschmann">SchmidtStalRohnertBuschmann</a></span>] mutex
+ should simply be declared as mutable. See the example code above. The
+ internal state of mutex types could have been made mutable, with all
+ lock calls made via const functions, but this does a poor job of
+ documenting the actual semantics (and in fact would be incorrect since
+ the logical state of a locked mutex clearly differs from the logical
+ state of an unlocked mutex). Declaring a mutex member as mutable clearly
+ documents the intended semantics.</p></td>
+</tr>
+<tr class="question">
+<td align="left" valign="top">
+<a name="id2786850"></a><a name="id2786851"></a><b>8.</b>
+</td>
+<td align="left" valign="top"><p>Why supply <code class="computeroutput"><a href="../condition.html" title="Class condition">boost::condition</a></code> variables rather than
+ event variables?</p></td>
+</tr>
+<tr class="answer">
+<td align="left" valign="top"><b></b></td>
+<td align="left" valign="top"><p>Condition variables result in user code much less prone to <a href="../threads.html#threads.glossary.race-condition">race conditions</a> than
+ event variables. See <a href="rationale.html#threads.rationale.events" title="Rationale for not providing Event Variables">the section called &#8220;Rationale for not providing <span class="emphasis"><em>Event Variables</em></span>&#8221;</a>
+ for analysis. Also see [<span class="citation"><a href="../threads.html#threads.bib.Hoare74">Hoare74</a></span>] and [<span class="citation"><a href="../threads.html#threads.bib.SchmidtStalRohnertBuschmann">SchmidtStalRohnertBuschmann</a></span>].
+ </p></td>
+</tr>
+<tr class="question">
+<td align="left" valign="top">
+<a name="id2786907"></a><a name="id2786908"></a><b>9.</b>
+</td>
+<td align="left" valign="top"><p>Why isn't thread cancellation or termination provided?</p></td>
+</tr>
+<tr class="answer">
+<td align="left" valign="top"><b></b></td>
+<td align="left" valign="top"><p>There's a valid need for thread termination, so at some point
+ <span class="bold"><strong>Boost.Threads</strong></span> probably will include it, but only after we can find a
+ truly safe (and portable) mechanism for this concept.</p></td>
+</tr>
+<tr class="question">
+<td align="left" valign="top">
+<a name="id2786924"></a><a name="id2786925"></a><b>10.</b>
+</td>
+<td align="left" valign="top"><p>Is it safe for threads to share automatic storage duration (stack)
+ objects via pointers or references?</p></td>
+</tr>
+<tr class="answer">
+<td align="left" valign="top"><b></b></td>
+<td align="left" valign="top"><p>Only if you can guarantee that the lifetime of the stack object
+ will not end while other threads might still access the object. Thus the
+ safest practice is to avoid sharing stack objects, particularly in
+ designs where threads are created and destroyed dynamically. Restrict
+ sharing of stack objects to simple designs with very clear and
+ unchanging function and thread lifetimes. (Suggested by Darryl
+ Green).</p></td>
+</tr>
+<tr class="question">
+<td align="left" valign="top">
+<a name="id2786940"></a><a name="id2786941"></a><b>11.</b>
+</td>
+<td align="left" valign="top"><p>Why has class semaphore disappeared?</p></td>
+</tr>
+<tr class="answer">
+<td align="left" valign="top"><b></b></td>
+<td align="left" valign="top"><p>Semaphore was removed as too error prone. The same effect can be
+ achieved with greater safety by the combination of a mutex and a
+ condition variable.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: July 17, 2004 at 04:33:59 GMT</p></small></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../xtime.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../thread/configuration.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/threads/implementation_notes.html b/doc/html/threads/implementation_notes.html
new file mode 100644
index 0000000000..6e5a81ab04
--- /dev/null
+++ b/doc/html/threads/implementation_notes.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Implementation Notes</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../threads.html" title="Chapter 12. Boost.Threads">
+<link rel="prev" href="../thread/build.html" title="Build">
+<link rel="next" href="release_notes.html" title="Release Notes">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../thread/build.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="release_notes.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="threads.implementation_notes"></a>Implementation Notes</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="implementation_notes.html#threads.implementation_notes.win32">Win32</a></span></dt></dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="threads.implementation_notes.win32"></a>Win32</h4></div></div></div>
+<p>
+ In the current Win32 implementation, creating a boost::thread object
+ during dll initialization will result in deadlock because the thread
+ class constructor causes the current thread to wait on the thread that
+ is being created until it signals that it has finished its initialization,
+ and, as stated in the
+ <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/dllmain.asp" target="_top">MSDN Library, "DllMain" article, "Remarks" section</a>,
+ "Because DLL notifications are serialized, entry-point functions should not
+ attempt to communicate with other threads or processes. Deadlocks may occur as a result."
+ (Also see <a href="http://www.microsoft.com/msj/archive/S220.aspx" target="_top">"Under the Hood", January 1996</a>
+ for a more detailed discussion of this issue).
+ </p>
+<p>
+ The following non-exhaustive list details some of the situations that
+ should be avoided until this issue can be addressed:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>Creating a boost::thread object in DllMain() or in any function called by it.</li>
+<li>Creating a boost::thread object in the constructor of a global static object or in any function called by one.</li>
+<li>Creating a boost::thread object in MFC's CWinApp::InitInstance() function or in any function called by it.</li>
+<li>Creating a boost::thread object in the function pointed to by MFC's _pRawDllMain function pointer or in any function called by it.</li>
+</ul></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: July 17, 2004 at 04:33:59 GMT</p></small></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../thread/build.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="release_notes.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/threads/rationale.html b/doc/html/threads/rationale.html
new file mode 100644
index 0000000000..e811dff5a8
--- /dev/null
+++ b/doc/html/threads/rationale.html
@@ -0,0 +1,504 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Rationale</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../threads.html" title="Chapter 12. Boost.Threads">
+<link rel="prev" href="concepts.html" title="Concepts">
+<link rel="next" href="reference.html" title="Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="concepts.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="threads.rationale"></a>Rationale</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="rationale.html#threads.rationale.Boost.Threads">Rationale for the Creation of <span class="bold"><strong>Boost.Threads</strong></span></a></span></dt>
+<dt><span class="section"><a href="rationale.html#threads.rationale.primitives">Rationale for the Low Level Primitives Supported in <span class="bold"><strong>Boost.Threads</strong></span></a></span></dt>
+<dt><span class="section"><a href="rationale.html#threads.rationale.locks">Rationale for the Lock Design</a></span></dt>
+<dt><span class="section"><a href="rationale.html#threads.rationale.non-copyable">Rationale for NonCopyable Thread Type</a></span></dt>
+<dt><span class="section"><a href="rationale.html#threads.rationale.events">Rationale for not providing <span class="emphasis"><em>Event Variables</em></span></a></span></dt>
+</dl></div>
+<p>This page explains the rationale behind various design decisions in the
+ <span class="bold"><strong>Boost.Threads</strong></span> library. Having the rationale documented here should explain
+ how we arrived at the current design as well as prevent future rehashing of
+ discussions and thought processes that have already occurred. It can also give
+ users a lot of insight into the design process required for this
+ library.</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="threads.rationale.Boost.Threads"></a>Rationale for the Creation of <span class="bold"><strong>Boost.Threads</strong></span></h4></div></div></div>
+<p>Processes often have a degree of "potential parallelism" and it can
+ often be more intuitive to design systems with this in mind. Further, these
+ parallel processes can result in more responsive programs. The benefits for
+ multithreaded programming are quite well known to most modern programmers,
+ yet the C++ language doesn't directly support this concept.</p>
+<p>Many platforms support multithreaded programming despite the fact that
+ the language doesn't support it. They do this through external libraries,
+ which are, unfortunately, platform specific. POSIX has tried to address this
+ problem through the standardization of a "pthread" library. However, this is
+ a standard only on POSIX platforms, so its portability is limited.</p>
+<p>Another problem with POSIX and other platform specific thread
+ libraries is that they are almost universally C based libraries. This leaves
+ several C++ specific issues unresolved, such as what happens when an
+ exception is thrown in a thread. Further, there are some C++ concepts, such
+ as destructors, that can make usage much easier than what's available in a C
+ library.</p>
+<p>What's truly needed is C++ language support for threads. However, the
+ C++ standards committee needs existing practice or a good proposal as a
+ starting point for adding this to the standard.</p>
+<p>The <span class="bold"><strong>Boost.Threads</strong></span> library was developed to provide a C++ developer
+ with a portable interface for writing multithreaded programs on numerous
+ platforms. There's a hope that the library can be the basis for a more
+ detailed proposal for the C++ standards committee to consider for inclusion
+ in the next C++ standard.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="threads.rationale.primitives"></a>Rationale for the Low Level Primitives Supported in <span class="bold"><strong>Boost.Threads</strong></span></h4></div></div></div>
+<p>The <span class="bold"><strong>Boost.Threads</strong></span> library supplies a set of low level primitives for
+ writing multithreaded programs, such as mutexes and condition variables. In
+ fact, the first release of <span class="bold"><strong>Boost.Threads</strong></span> supports only these low level
+ primitives. However, computer science research has shown that use of these
+ primitives is difficult since it's difficult to mathematically prove that a
+ usage pattern is correct, meaning it doesn't result in race conditions or
+ deadlocks. There are several algebras (such as CSP, CCS and Join calculus)
+ that have been developed to help write provably correct parallel
+ processes. In order to prove the correctness these processes must be coded
+ using higher level abstractions. So why does <span class="bold"><strong>Boost.Threads</strong></span> support the
+ lower level concepts?</p>
+<p>The reason is simple: the higher level concepts need to be implemented
+ using at least some of the lower level concepts. So having portable lower
+ level concepts makes it easier to develop the higher level concepts and will
+ allow researchers to experiment with various techniques.</p>
+<p>Beyond this theoretical application of higher level concepts, however,
+ the fact remains that many multithreaded programs are written using only the
+ lower level concepts, so they are useful in and of themselves, even if it's
+ hard to prove that their usage is correct. Since many users will be familiar
+ with these lower level concepts but unfamiliar with any of the higher
+ level concepts, supporting the lower level concepts provides
+ greater accessibility.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="threads.rationale.locks"></a>Rationale for the Lock Design</h4></div></div></div>
+<p>Programmers who are used to multithreaded programming issues will
+ quickly note that the <span class="bold"><strong>Boost.Threads</strong></span> design for mutex lock concepts is not
+ <a href="../threads.html#threads.glossary.thread-safe">thread-safe</a> (this is
+ clearly documented as well). At first this may seem like a serious design
+ flaw. Why have a multithreading primitive that's not thread-safe
+ itself?</p>
+<p>A lock object is not a synchronization primitive. A lock object's sole
+ responsibility is to ensure that a mutex is both locked and unlocked in a
+ manner that won't result in the common error of locking a mutex and then
+ forgetting to unlock it. This means that instances of a lock object are only
+ going to be created, at least in theory, within block scope and won't be
+ shared between threads. Only the mutex objects will be created outside of
+ block scope and/or shared between threads. Though it's possible to create a
+ lock object outside of block scope and to share it between threads, to do so
+ would not be a typical usage (in fact, to do so would likely be an
+ error). Nor are there any cases when such usage would be required.</p>
+<p>Lock objects must maintain some state information. In order to allow a
+ program to determine if a try_lock or timed_lock was successful the lock
+ object must retain state indicating the success or failure of the call made
+ in its constructor. If a lock object were to have such state and remain
+ thread-safe it would need to synchronize access to the state information
+ which would result in roughly doubling the time of most operations. Worse,
+ since checking the state can occur only by a call after construction, we'd
+ have a race condition if the lock object were shared between threads.</p>
+<p>So, to avoid the overhead of synchronizing access to the state
+ information and to avoid the race condition, the <span class="bold"><strong>Boost.Threads</strong></span> library
+ simply does nothing to make lock objects thread-safe. Instead, sharing a
+ lock object between threads results in undefined behavior. Since the only
+ proper usage of lock objects is within block scope this isn't a problem, and
+ so long as the lock object is properly used there's no danger of any
+ multithreading issues.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="threads.rationale.non-copyable"></a>Rationale for NonCopyable Thread Type</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="rationale.html#threads.rationale.non-copyable.simple">1. Use case: Simple creation of a thread.</a></span></dt>
+<dt><span class="section"><a href="rationale.html#threads.rationale.non-copyable.joined">2. Use case: Creation of a thread that's later joined.</a></span></dt>
+<dt><span class="section"><a href="rationale.html#threads.rationale.non-copyable.loop">3. Use case: Simple creation of several threads in a loop.</a></span></dt>
+<dt><span class="section"><a href="rationale.html#threads.rationale.non-copyable.loop-join">4. Use case: Creation of several threads in a loop which are later joined.</a></span></dt>
+<dt><span class="section"><a href="rationale.html#threads.rationale.non-copyable.pass">5. Use case: Creation of a thread whose ownership is passed to another object/method.</a></span></dt>
+<dt><span class="section"><a href="rationale.html#threads.rationale.non-copyable.shared">6. Use case: Creation of a thread whose ownership is shared between multiple
+ objects.</a></span></dt>
+<dt><span class="section"><a href="rationale.html#threads.rationale_comparison.non-copyable.simple">1. Comparison: simple creation of a thread.</a></span></dt>
+<dt><span class="section"><a href="rationale.html#threads.rationale_comparison.non-copyable.joined">2. Comparison: creation of a thread that's later joined.</a></span></dt>
+<dt><span class="section"><a href="rationale.html#threads.rationale_comparison.non-copyable.loop">3. Comparison: simple creation of several threads in a loop.</a></span></dt>
+<dt><span class="section"><a href="rationale.html#threads.rationale_comparison.non-copyable.loop-join">4. Comparison: creation of several threads in a loop which are later joined.</a></span></dt>
+<dt><span class="section"><a href="rationale.html#threads.rationale_comparison.non-copyable.pass">5. Comparison: creation of a thread whose ownership is passed to another object/method.</a></span></dt>
+<dt><span class="section"><a href="rationale.html#threads.rationale_comparison.non-copyable.shared">6. Comparison: creation of a thread whose ownership is shared
+ between multiple objects.</a></span></dt>
+</dl></div>
+<p>Programmers who are used to C libraries for multithreaded programming
+ are likely to wonder why <span class="bold"><strong>Boost.Threads</strong></span> uses a noncopyable design for
+ <code class="computeroutput"><a href="../thread.html" title="Class thread">boost::thread</a></code>. After all, the C thread types are
+ copyable, and you often have a need for copying them within user
+ code. However, careful comparison of C designs to C++ designs shows a flaw
+ in this logic.</p>
+<p>All C types are copyable. It is, in fact, not possible to make a
+ noncopyable type in C. For this reason types that represent system resources
+ in C are often designed to behave very similarly to a pointer to dynamic
+ memory. There's an API for acquiring the resource and an API for releasing
+ the resource. For memory we have pointers as the type and alloc/free for
+ the acquisition and release APIs. For files we have FILE* as the type and
+ fopen/fclose for the acquisition and release APIs. You can freely copy
+ instances of the types but must manually manage the lifetime of the actual
+ resource through the acquisition and release APIs.</p>
+<p>C++ designs recognize that the acquisition and release APIs are error
+ prone and try to eliminate possible errors by acquiring the resource in the
+ constructor and releasing it in the destructor. The best example of such a
+ design is the std::iostream set of classes which can represent the same
+ resource as the FILE* type in C. A file is opened in the std::fstream's
+ constructor and closed in its destructor. However, if an iostream were
+ copyable it could lead to a file being closed twice, an obvious error, so
+ the std::iostream types are noncopyable by design. This is the same design
+ used by boost::thread, which is a simple and easy to understand design
+ that's consistent with other C++ standard types.</p>
+<p>During the design of boost::thread it was pointed out that it would be
+ possible to allow it to be a copyable type if some form of "reference
+ management" were used, such as ref-counting or ref-lists, and many argued
+ for a boost::thread_ref design instead. The reasoning was that copying
+ "thread" objects was a typical need in the C libraries, and so presumably
+ would be in the C++ libraries as well. It was also thought that
+ implementations could provide more efficient reference management than
+ wrappers (such as boost::shared_ptr) around a noncopyable thread
+ concept. Analysis of whether or not these arguments would hold true doesn't
+ appear to bear them out. To illustrate the analysis we'll first provide
+ pseudo-code illustrating the six typical usage patterns of a thread
+ object.</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.rationale.non-copyable.simple"></a>1. Use case: Simple creation of a thread.</h5></div></div></div>
+<pre class="programlisting">
+ void foo()
+ {
+ create_thread(&amp;bar);
+ }
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.rationale.non-copyable.joined"></a>2. Use case: Creation of a thread that's later joined.</h5></div></div></div>
+<pre class="programlisting">
+ void foo()
+ {
+ thread = create_thread(&amp;bar);
+ join(thread);
+ }
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.rationale.non-copyable.loop"></a>3. Use case: Simple creation of several threads in a loop.</h5></div></div></div>
+<pre class="programlisting">
+ void foo()
+ {
+ for (int i=0; i&lt;NUM_THREADS; ++i)
+ create_thread(&amp;bar);
+ }
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.rationale.non-copyable.loop-join"></a>4. Use case: Creation of several threads in a loop which are later joined.</h5></div></div></div>
+<pre class="programlisting">
+ void foo()
+ {
+ for (int i=0; i&lt;NUM_THREADS; ++i)
+ threads[i] = create_thread(&amp;bar);
+ for (int i=0; i&lt;NUM_THREADS; ++i)
+ threads[i].join();
+ }
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.rationale.non-copyable.pass"></a>5. Use case: Creation of a thread whose ownership is passed to another object/method.</h5></div></div></div>
+<pre class="programlisting">
+ void foo()
+ {
+ thread = create_thread(&amp;bar);
+ manager.owns(thread);
+ }
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.rationale.non-copyable.shared"></a>6. Use case: Creation of a thread whose ownership is shared between multiple
+ objects.</h5></div></div></div>
+<pre class="programlisting">
+ void foo()
+ {
+ thread = create_thread(&amp;bar);
+ manager1.add(thread);
+ manager2.add(thread);
+ }
+ </pre>
+</div>
+<p>Of these usage patterns there's only one that requires reference
+ management (number 6). Hopefully it's fairly obvious that this usage pattern
+ simply won't occur as often as the other usage patterns. So there really
+ isn't a "typical need" for a thread concept, though there is some
+ need.</p>
+<p>Since the need isn't typical we must use different criteria for
+ deciding on either a thread_ref or thread design. Possible criteria include
+ ease of use and performance. So let's analyze both of these
+ carefully.</p>
+<p>With ease of use we can look at existing experience. The standard C++
+ objects that represent a system resource, such as std::iostream, are
+ noncopyable, so we know that C++ programmers must at least be experienced
+ with this design. Most C++ developers are also used to smart pointers such
+ as boost::shared_ptr, so we know they can at least adapt to a thread_ref
+ concept with little effort. So existing experience isn't going to lead us to
+ a choice.</p>
+<p>The other thing we can look at is how difficult it is to use both
+ types for the six usage patterns above. If we find it overly difficult to
+ use a concept for any of the usage patterns there would be a good argument
+ for choosing the other design. So we'll code all six usage patterns using
+ both designs.</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.rationale_comparison.non-copyable.simple"></a>1. Comparison: simple creation of a thread.</h5></div></div></div>
+<pre class="programlisting">
+ void foo()
+ {
+ thread thrd(&amp;bar);
+ }
+ void foo()
+ {
+ thread_ref thrd = create_thread(&amp;bar);
+ }
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.rationale_comparison.non-copyable.joined"></a>2. Comparison: creation of a thread that's later joined.</h5></div></div></div>
+<pre class="programlisting">
+ void foo()
+ {
+ thread thrd(&amp;bar);
+ thrd.join();
+ }
+ void foo()
+ {
+ thread_ref thrd =
+ create_thread(&amp;bar);thrd-&gt;join();
+ }
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.rationale_comparison.non-copyable.loop"></a>3. Comparison: simple creation of several threads in a loop.</h5></div></div></div>
+<pre class="programlisting">
+ void foo()
+ {
+ for (int i=0; i&lt;NUM_THREADS; ++i)
+ thread thrd(&amp;bar);
+ }
+ void foo()
+ {
+ for (int i=0; i&lt;NUM_THREADS; ++i)
+ thread_ref thrd = create_thread(&amp;bar);
+ }
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.rationale_comparison.non-copyable.loop-join"></a>4. Comparison: creation of several threads in a loop which are later joined.</h5></div></div></div>
+<pre class="programlisting">
+ void foo()
+ {
+ std::auto_ptr&lt;thread&gt; threads[NUM_THREADS];
+ for (int i=0; i&lt;NUM_THREADS; ++i)
+ threads[i] = std::auto_ptr&lt;thread&gt;(new thread(&amp;bar));
+ for (int i= 0; i&lt;NUM_THREADS;
+ ++i)threads[i]-&gt;join();
+ }
+ void foo()
+ {
+ thread_ref threads[NUM_THREADS];
+ for (int i=0; i&lt;NUM_THREADS; ++i)
+ threads[i] = create_thread(&amp;bar);
+ for (int i= 0; i&lt;NUM_THREADS;
+ ++i)threads[i]-&gt;join();
+ }
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.rationale_comparison.non-copyable.pass"></a>5. Comparison: creation of a thread whose ownership is passed to another object/method.</h5></div></div></div>
+<pre class="programlisting">
+ void foo()
+ {
+ thread thrd* = new thread(&amp;bar);
+ manager.owns(thread);
+ }
+ void foo()
+ {
+ thread_ref thrd = create_thread(&amp;bar);
+ manager.owns(thrd);
+ }
+ </pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.rationale_comparison.non-copyable.shared"></a>6. Comparison: creation of a thread whose ownership is shared
+ between multiple objects.</h5></div></div></div>
+<pre class="programlisting">
+ void foo()
+ {
+ boost::shared_ptr&lt;thread&gt; thrd(new thread(&amp;bar));
+ manager1.add(thrd);
+ manager2.add(thrd);
+ }
+ void foo()
+ {
+ thread_ref thrd = create_thread(&amp;bar);
+ manager1.add(thrd);
+ manager2.add(thrd);
+ }
+ </pre>
+</div>
+<p>This shows the usage patterns being nearly identical in complexity for
+ both designs. The only actual added complexity occurs because of the use of
+ operator new in
+ <a href="rationale.html#threads.rationale_comparison.non-copyable.loop-join" title="4. Comparison: creation of several threads in a loop which are later joined.">(4)</a>,
+ <a href="rationale.html#threads.rationale_comparison.non-copyable.pass" title="5. Comparison: creation of a thread whose ownership is passed to another object/method.">(5)</a>, and
+ <a href="rationale.html#threads.rationale_comparison.non-copyable.shared" title="6. Comparison: creation of a thread whose ownership is shared
+ between multiple objects.">(6)</a>;
+ and the use of std::auto_ptr and boost::shared_ptr in
+ <a href="rationale.html#threads.rationale_comparison.non-copyable.loop-join" title="4. Comparison: creation of several threads in a loop which are later joined.">(4)</a> and
+ <a href="rationale.html#threads.rationale_comparison.non-copyable.shared" title="6. Comparison: creation of a thread whose ownership is shared
+ between multiple objects.">(6)</a>
+ respectively. However, that's not really
+ much added complexity, and C++ programmers are used to using these idioms
+ anyway. Some may dislike the presence of operator new in user code, but
+ this can be eliminated by proper design of higher level concepts, such as
+ the boost::thread_group class that simplifies example
+ <a href="rationale.html#threads.rationale_comparison.non-copyable.loop-join" title="4. Comparison: creation of several threads in a loop which are later joined.">(4)</a>
+ down to:</p>
+<pre class="programlisting">
+ void foo()
+ {
+ thread_group threads;
+ for (int i=0; i&lt;NUM_THREADS; ++i)
+ threads.create_thread(&amp;bar);
+ threads.join_all();
+ }
+ </pre>
+<p>So ease of use is really a wash and not much help in picking a
+ design.</p>
+<p>So what about performance? Looking at the above code examples,
+ we can analyze the theoretical impact to performance that both designs
+ have. For <a href="rationale.html#threads.rationale_comparison.non-copyable.simple" title="1. Comparison: simple creation of a thread.">(1)</a>
+ we can see that platforms that don't have a ref-counted native
+ thread type (POSIX, for instance) will be impacted by a thread_ref
+ design. Even if the native thread type is ref-counted there may be an impact
+ if more state information has to be maintained for concepts foreign to the
+ native API, such as clean up stacks for Win32 implementations.
+ For <a href="rationale.html#threads.rationale_comparison.non-copyable.joined" title="2. Comparison: creation of a thread that's later joined.">(2)</a>
+ and <a href="rationale.html#threads.rationale_comparison.non-copyable.loop" title="3. Comparison: simple creation of several threads in a loop.">(3)</a>
+ the performance impact will be identical to
+ <a href="rationale.html#threads.rationale_comparison.non-copyable.simple" title="1. Comparison: simple creation of a thread.">(1)</a>.
+ For <a href="rationale.html#threads.rationale_comparison.non-copyable.loop-join" title="4. Comparison: creation of several threads in a loop which are later joined.">(4)</a>
+ things get a little more interesting and we find that theoretically at least
+ the thread_ref may perform faster since the thread design requires dynamic
+ memory allocation/deallocation. However, in practice there may be dynamic
+ allocation for the thread_ref design as well, it will just be hidden from
+ the user. As long as the implementation has to do dynamic allocations the
+ thread_ref loses again because of the reference management. For
+ <a href="rationale.html#threads.rationale_comparison.non-copyable.pass" title="5. Comparison: creation of a thread whose ownership is passed to another object/method.">(5)</a> we see
+ the same impact as we do for
+ <a href="rationale.html#threads.rationale_comparison.non-copyable.loop-join" title="4. Comparison: creation of several threads in a loop which are later joined.">(4)</a>.
+ For <a href="rationale.html#threads.rationale_comparison.non-copyable.shared" title="6. Comparison: creation of a thread whose ownership is shared
+ between multiple objects.">(6)</a>
+ we still have a possible impact to
+ the thread design because of dynamic allocation but thread_ref no longer
+ suffers because of its reference management, and in fact, theoretically at
+ least, the thread_ref may do a better job of managing the references. All of
+ this indicates that thread wins for
+ <a href="rationale.html#threads.rationale_comparison.non-copyable.simple" title="1. Comparison: simple creation of a thread.">(1)</a>,
+ <a href="rationale.html#threads.rationale_comparison.non-copyable.joined" title="2. Comparison: creation of a thread that's later joined.">(2)</a> and
+ <a href="rationale.html#threads.rationale_comparison.non-copyable.loop" title="3. Comparison: simple creation of several threads in a loop.">(3)</a>; with
+ <a href="rationale.html#threads.rationale_comparison.non-copyable.loop-join" title="4. Comparison: creation of several threads in a loop which are later joined.">(4)</a>
+ and <a href="rationale.html#threads.rationale_comparison.non-copyable.pass" title="5. Comparison: creation of a thread whose ownership is passed to another object/method.">(5)</a> the
+ winner depending on the implementation and the platform but with the thread design
+ probably having a better chance; and with
+ <a href="rationale.html#threads.rationale_comparison.non-copyable.shared" title="6. Comparison: creation of a thread whose ownership is shared
+ between multiple objects.">(6)</a>
+ it will again depend on the
+ implementation and platform but this time we favor thread_ref
+ slightly. Given all of this it's a narrow margin, but the thread design
+ prevails.</p>
+<p>Given this analysis, and the fact that noncopyable objects for system
+ resources are the normal designs that C++ programmers are used to dealing
+ with, the <span class="bold"><strong>Boost.Threads</strong></span> library has gone with a noncopyable design.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="threads.rationale.events"></a>Rationale for not providing <span class="emphasis"><em>Event Variables</em></span></h4></div></div></div>
+<p><span class="emphasis"><em>Event variables</em></span> are simply far too
+ error-prone. <code class="computeroutput"><a href="../condition.html" title="Class condition">boost::condition</a></code> variables are a much safer
+ alternative. [Note that Graphical User Interface <span class="emphasis"><em>events</em></span> are
+ a different concept, and are not what is being discussed here.]</p>
+<p>Event variables were one of the first synchronization primitives. They
+ are still used today, for example, in the native Windows multithreading
+ API. Yet both respected computer science researchers and experienced
+ multithreading practitioners believe event variables are so inherently
+ error-prone that they should never be used, and thus should not be part of a
+ multithreading library.</p>
+<p>Per Brinch Hansen [<span class="citation"><a href="../threads.html#threads.bib.Hansen73">Hansen73</a></span>] analyzed event variables in some
+ detail, pointing out [emphasis his] that "<span class="emphasis"><em>event operations force
+ the programmer to be aware of the relative speeds of the sending and
+ receiving processes</em></span>". His summary:</p>
+<div class="blockquote"><blockquote class="blockquote"><p>We must therefore conclude that event variables of the previous type
+ are impractical for system design. <span class="emphasis"><em>The effect of an interaction
+ between two processes must be independent of the speed at which it is
+ carried out.</em></span></p></blockquote></div>
+<p>Experienced programmers using the Windows platform today report that
+ event variables are a continuing source of errors, even after previous bad
+ experiences caused them to be very careful in their use of event
+ variables. Overt problems can be avoided, for example, by teaming the event
+ variable with a mutex, but that may just convert a <a href="../threads.html#threads.glossary.race-condition">race condition</a> into another
+ problem, such as excessive resource use. One of the most distressing aspects
+ of the experience reports is the claim that many defects are latent. That
+ is, the programs appear to work correctly, but contain hidden timing
+ dependencies which will cause them to fail when environmental factors or
+ usage patterns change, altering relative thread timings.</p>
+<p>The decision to exclude event variables from <span class="bold"><strong>Boost.Threads</strong></span> has been
+ surprising to some Windows programmers. They have written programs which
+ work using event variables, and wonder what the problem is. It seems similar
+ to the "goto considered harmful" controversy of 30 years ago. It isn't that
+ events, like gotos, can't be made to work, but rather that virtually all
+ programs using alternatives will be easier to write, debug, read, maintain,
+ and will be less likely to contain latent defects.</p>
+<p>[Rationale provided by Beman Dawes]</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: July 17, 2004 at 04:33:59 GMT</p></small></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="concepts.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/threads/reference.html b/doc/html/threads/reference.html
new file mode 100644
index 0000000000..2721188252
--- /dev/null
+++ b/doc/html/threads/reference.html
@@ -0,0 +1,130 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Reference</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../threads.html" title="Chapter 12. Boost.Threads">
+<link rel="prev" href="rationale.html" title="Rationale">
+<link rel="next" href="../barrier.html" title="Class barrier">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rationale.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../barrier.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="threads.reference"></a>Reference</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="reference.html#id2616214">Header &lt;boost/thread/barrier.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2450200">Header &lt;boost/thread/condition.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2533190">Header &lt;boost/thread/exceptions.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2534429">Header &lt;boost/thread/mutex.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2534986">Header &lt;boost/thread/once.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2436754">Header &lt;boost/thread/recursive_mutex.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2617127">Header &lt;boost/thread/thread.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2547002">Header &lt;boost/thread/tss.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2416096">Header &lt;boost/thread/xtime.hpp&gt;</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2616214"></a>Header &lt;<a href="../../../boost/thread/barrier.hpp" target="_top">boost/thread/barrier.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>class</strong></span> <a href="../barrier.html" title="Class barrier">barrier</a>;
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2450200"></a>Header &lt;<a href="../../../boost/thread/condition.hpp" target="_top">boost/thread/condition.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>class</strong></span> <a href="../condition.html" title="Class condition">condition</a>;
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2533190"></a>Header &lt;<a href="../../../boost/thread/exceptions.hpp" target="_top">boost/thread/exceptions.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>class</strong></span> <a href="../lock_error.html" title="Class lock_error">lock_error</a>;
+  <span class="bold"><strong>class</strong></span> <a href="../thread_resource_error.html" title="Class thread_resource_error">thread_resource_error</a>;
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2534429"></a>Header &lt;<a href="../../../boost/thread/mutex.hpp" target="_top">boost/thread/mutex.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>class</strong></span> <a href="../mutex.html" title="Class mutex">mutex</a>;
+  <span class="bold"><strong>class</strong></span> <a href="../try_mutex.html" title="Class try_mutex">try_mutex</a>;
+  <span class="bold"><strong>class</strong></span> <a href="../timed_mutex.html" title="Class timed_mutex">timed_mutex</a>;
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2534986"></a>Header &lt;<a href="../../../boost/thread/once.hpp" target="_top">boost/thread/once.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis">
+
+<a href="../BOOST_ONCE_INIT.html" title="Macro BOOST_ONCE_INIT">BOOST_ONCE_INIT</a></pre>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> once_flag; <span class="emphasis"><em>// The <a href="../call_once.html" title="Function call_once">call_once</a> function and
+ <code class="computeroutput">once_flag</code> type (statically initialized to
+ <a href="../BOOST_ONCE_INIT.html" title="Macro BOOST_ONCE_INIT">BOOST_ONCE_INIT</a>) can be used to run a
+ routine exactly once. This can be used to initialize data in a
+ <a href="../threads.html#threads.glossary.thread-safe">thread-safe</a>
+ manner.</em></span>
+   <a href="../call_once.html" title="Function call_once">call_once</a>(<span class="bold"><strong>void</strong></span> (*func)(), once_flag&amp;);
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2436754"></a>Header &lt;<a href="../../../boost/thread/recursive_mutex.hpp" target="_top">boost/thread/recursive_mutex.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>class</strong></span> <a href="../recursive_mutex.html" title="Class recursive_mutex">recursive_mutex</a>;
+  <span class="bold"><strong>class</strong></span> <a href="../recursive_try_mutex.html" title="Class recursive_try_mutex">recursive_try_mutex</a>;
+  <span class="bold"><strong>class</strong></span> <a href="../recursive_timed_mutex.html" title="Class recursive_timed_mutex">recursive_timed_mutex</a>;
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2617127"></a>Header &lt;<a href="../../../boost/thread/thread.hpp" target="_top">boost/thread/thread.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>class</strong></span> <a href="../thread.html" title="Class thread">thread</a>;
+  <span class="bold"><strong>class</strong></span> <a href="../thread_group.html" title="Class thread_group">thread_group</a>;
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2547002"></a>Header &lt;<a href="../../../boost/thread/tss.hpp" target="_top">boost/thread/tss.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>class</strong></span> <a href="../thread_specific_ptr.html" title="Class thread_specific_ptr">thread_specific_ptr</a>;
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2416096"></a>Header &lt;<a href="../../../boost/thread/xtime.hpp" target="_top">boost/thread/xtime.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>enum</strong></span> <a href="../id2545607.html" title="Type xtime_clock_types">xtime_clock_types</a>;
+
+  <span class="bold"><strong>struct</strong></span> <a href="../xtime.html" title="Struct xtime">xtime</a>;
+  <span class="type"><span class="bold"><strong>int</strong></span></span> <a href="../xtime.html#xtime_get">xtime_get</a>(<a href="../xtime.html" title="Struct xtime">xtime</a>*, <span class="bold"><strong>int</strong></span>);
+}</pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rationale.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../barrier.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/threads/release_notes.html b/doc/html/threads/release_notes.html
new file mode 100644
index 0000000000..f12cbeae70
--- /dev/null
+++ b/doc/html/threads/release_notes.html
@@ -0,0 +1,172 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Release Notes</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../threads.html" title="Chapter 12. Boost.Threads">
+<link rel="prev" href="implementation_notes.html" title="Implementation Notes">
+<link rel="next" href="../thread/acknowledgements.html" title="Acknowledgements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_notes.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../thread/acknowledgements.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="threads.release_notes"></a>Release Notes</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="release_notes.html#threads.release_notes.boost_1_32_0">Boost 1.32.0</a></span></dt></dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="threads.release_notes.boost_1_32_0"></a>Boost 1.32.0</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="release_notes.html#threads.release_notes.boost_1_32_0.change_log.documentation">Documentation converted to BoostBook</a></span></dt>
+<dt><span class="section"><a href="release_notes.html#threads.release_notes.boost_1_32_0.change_log.static_link">Statically-link build option added</a></span></dt>
+<dt><span class="section"><a href="release_notes.html#threads.release_notes.boost_1_32_0.change_log.barrier">Barrier functionality added</a></span></dt>
+<dt><span class="section"><a href="release_notes.html#threads.release_notes.boost_1_32_0.change_log.read_write_mutex">Read/write mutex functionality added</a></span></dt>
+<dt><span class="section"><a href="release_notes.html#threads.release_notes.boost_1_32_0.change_log.thread_specific_ptr">Thread-specific pointer functionality changed</a></span></dt>
+<dt><span class="section"><a href="release_notes.html#threads.release_notes.boost_1_32_0.change_log.mutex">Mutex implementation changed for Win32</a></span></dt>
+<dt><span class="section"><a href="release_notes.html#threads.release_notes.boost_1_32_0.change_log.wince">Windows CE support improved</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.release_notes.boost_1_32_0.change_log.documentation"></a>Documentation converted to BoostBook</h5></div></div></div>
+<p>The documentation was converted to BoostBook format,
+ and a number of errors and inconsistencies were
+ fixed in the process.
+ Since this was a fairly large task, there are likely to be
+ more errors and inconsistencies remaining. If you find any,
+ please report them!</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.release_notes.boost_1_32_0.change_log.static_link"></a>Statically-link build option added</h5></div></div></div>
+<p>The option to link <span class="bold"><strong>Boost.Threads</strong></span> as a static
+ library has been added (with some limitations on Win32 platforms).
+ This feature was originally removed from an earlier version
+ of Boost because <code class="computeroutput"><a href="../thread_specific_ptr.html" title="Class thread_specific_ptr">boost::thread_specific_ptr</a></code>
+ required that <span class="bold"><strong>Boost.Threads</strong></span> be dynamically linked in order
+ for its cleanup functionality to work on Win32 platforms.
+ Because this limitation never applied to non-Win32 platforms,
+ because significant progress has been made in removing
+ the limitation on Win32 platforms (many thanks to
+ Aaron LaFramboise and Roland Scwarz!), and because the lack
+ of static linking is one of the most common complaints of
+ <span class="bold"><strong>Boost.Threads</strong></span> users, this decision was reversed.</p>
+<p>On non-Win32 platforms:
+ To choose the dynamically linked version of <span class="bold"><strong>Boost.Threads</strong></span>
+ using Boost's auto-linking feature, #define BOOST_THREAD_USE_DLL;
+ to choose the statically linked version,
+ #define BOOST_THREAD_USE_LIB.
+ If neither symbols is #defined, the default will be chosen.
+ Currently the default is the statically linked version.</p>
+<p>On Win32 platforms using VC++:
+ Use the same #defines as for non-Win32 platforms
+ (BOOST_THREAD_USE_DLL and BOOST_THREAD_USE_LIB).
+ If neither is #defined, the default will be chosen.
+ Currently the default is the statically linked version
+ if the VC++ run-time library is set to
+ "Multi-threaded" or "Multi-threaded Debug", and
+ the dynamically linked version
+ if the VC++ run-time library is set to
+ "Multi-threaded DLL" or "Multi-threaded Debug DLL".</p>
+<p>On Win32 platforms using compilers other than VC++:
+ Use the same #defines as for non-Win32 platforms
+ (BOOST_THREAD_USE_DLL and BOOST_THREAD_USE_LIB).
+ If neither is #defined, the default will be chosen.
+ Currently the default is the dynamically linked version
+ because it has not yet been possible to implement automatic
+ tss cleanup in the statically linked version for compilers
+ other than VC++, although it is hoped that this will be
+ possible in a future version of <span class="bold"><strong>Boost.Threads</strong></span>.
+
+ Note for advanced users: <span class="bold"><strong>Boost.Threads</strong></span> provides several "hook"
+ functions to allow users to experiment with the statically
+ linked version on Win32 with compilers other than VC++.
+ These functions are on_process_enter(), on_process_exit(),
+ on_thread_enter(), and on_thread_exit(), and are defined
+ in tls_hooks.cpp. See the comments in that file for more
+ information.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.release_notes.boost_1_32_0.change_log.barrier"></a>Barrier functionality added</h5></div></div></div>
+<p>A new class, <code class="computeroutput"><a href="../barrier.html" title="Class barrier">boost::barrier</a></code>, was added.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.release_notes.boost_1_32_0.change_log.read_write_mutex"></a>Read/write mutex functionality added</h5></div></div></div>
+<p>New classes,
+ <code class="computeroutput">boost::read_write_mutex</code>,
+ <code class="computeroutput">boost::try_read_write_mutex</code>, and
+ <code class="computeroutput">boost::timed_read_write_mutex</code>
+ were added.
+
+ </p>
+<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Note</h3>Since the read/write mutex and related classes are new,
+ both interface and implementation are liable to change
+ in future releases of <span class="bold"><strong>Boost.Threads</strong></span>.
+ The lock concepts and lock promotion in particular are
+ still under discussion and very likely to change.</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.release_notes.boost_1_32_0.change_log.thread_specific_ptr"></a>Thread-specific pointer functionality changed</h5></div></div></div>
+<p>The <code class="computeroutput"><a href="../thread_specific_ptr.html" title="Class thread_specific_ptr">boost::thread_specific_ptr</a></code>
+ constructor now takes an optional pointer to a cleanup function that
+ is called to release the thread-specific data that is being pointed
+ to by <code class="computeroutput"><a href="../thread_specific_ptr.html" title="Class thread_specific_ptr">boost::thread_specific_ptr</a></code> objects.</p>
+<p>Fixed: the number of available thread-specific storage "slots"
+ is too small on some platforms.</p>
+<p>Fixed: <code class="computeroutput">thread_specific_ptr::reset()</code>
+ doesn't check error returned by <code class="computeroutput">tss::set()</code>
+ (the <code class="computeroutput">tss::set()</code> function now throws
+ if it fails instead of returning an error code).</p>
+<p>Fixed: calling
+ <code class="computeroutput">boost::thread_specific_ptr::reset()</code> or
+ <code class="computeroutput">boost::thread_specific_ptr::release()</code>
+ causes double-delete: once when
+ <code class="computeroutput">boost::thread_specific_ptr::reset()</code> or
+ <code class="computeroutput">boost::thread_specific_ptr::release()</code>
+ is called and once when
+ <code class="computeroutput">boost::thread_specific_ptr::~thread_specific_ptr()</code>
+ is called.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.release_notes.boost_1_32_0.change_log.mutex"></a>Mutex implementation changed for Win32</h5></div></div></div>
+<p>On Win32, <code class="computeroutput"><a href="../mutex.html" title="Class mutex">boost::mutex</a></code>,
+ <code class="computeroutput"><a href="../try_mutex.html" title="Class try_mutex">boost::try_mutex</a></code>, <code class="computeroutput"><a href="../recursive_mutex.html" title="Class recursive_mutex">boost::recursive_mutex</a></code>,
+ and <code class="computeroutput"><a href="../recursive_try_mutex.html" title="Class recursive_try_mutex">boost::recursive_try_mutex</a></code> now use a Win32 critical section
+ whenever possible; otherwise they use a Win32 mutex. As before,
+ <code class="computeroutput"><a href="../timed_mutex.html" title="Class timed_mutex">boost::timed_mutex</a></code> and
+ <code class="computeroutput"><a href="../recursive_timed_mutex.html" title="Class recursive_timed_mutex">boost::recursive_timed_mutex</a></code> use a Win32 mutex.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="threads.release_notes.boost_1_32_0.change_log.wince"></a>Windows CE support improved</h5></div></div></div>
+<p>Minor changes were made to make Boost.Threads work on Windows CE.</p>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: August 05, 2004 at 18:07:20 GMT</p></small></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_notes.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../threads.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../thread/acknowledgements.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/time_facet.html b/doc/html/time_facet.html
new file mode 100644
index 0000000000..7089e5765c
--- /dev/null
+++ b/doc/html/time_facet.html
@@ -0,0 +1,146 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template time_facet</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2417782" title="Header &lt;boost/date_time/time_facet.hpp&gt;">
+<link rel="prev" href="time_formats.html" title="Struct template time_formats">
+<link rel="next" href="time_input_facet.html" title="Class template time_input_facet">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_formats.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2417782"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_input_facet.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="time_facet"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template time_facet</span></h2>
+<p>boost::date_time::time_facet &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type, <span class="bold"><strong>typename</strong></span> CharT,
+         <span class="bold"><strong>typename</strong></span> OutItrT = std::ostreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt; &gt;
+<span class="bold"><strong>class</strong></span> time_facet : <span class="bold"><strong>public</strong></span> boost::date_time::date_facet&lt; time_type::date_type, CharT, OutItrT &gt;
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> time_type::date_type                                                          date_type;                    
+  <span class="bold"><strong>typedef</strong></span> time_type::time_duration_type                                                 time_duration_type;           
+  <span class="bold"><strong>typedef</strong></span> <a href="period.html" title="Class template period">boost::date_time::period</a>&lt; time_type, time_duration_type &gt;                     period_type;                  
+  <span class="bold"><strong>typedef</strong></span> <a href="date_facet.html" title="Class template date_facet">boost::date_time::date_facet</a>&lt; <span class="bold"><strong>typename</strong></span> time_type::date_type, CharT, OutItrT &gt; base_type;                    
+  <span class="bold"><strong>typedef</strong></span> base_type::string_type                                                        string_type;                  
+  <span class="bold"><strong>typedef</strong></span> base_type::char_type                                                          char_type;                    
+  <span class="bold"><strong>typedef</strong></span> base_type::period_formatter_type                                              period_formatter_type;        
+  <span class="bold"><strong>typedef</strong></span> base_type::special_values_formatter_type                                      special_values_formatter_type;
+  <span class="bold"><strong>typedef</strong></span> base_type::date_gen_formatter_type                                            date_gen_formatter_type;      
+
+  <span class="emphasis"><em>// <a href="time_facet.html#time_facetconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="time_facet.html#id2451781-bb">time_facet</a>(::size_t = 0);
+  <a href="time_facet.html#id2451803-bb">time_facet</a>(<span class="bold"><strong>const</strong></span> char_type *,
+             period_formatter_type = period_formatter_type(),
+             <span class="bold"><strong>const</strong></span> special_values_formatter_type &amp; = special_values_formatter_type(),
+             date_gen_formatter_type = date_gen_formatter_type(),
+             ::size_t = 0);
+
+  <span class="emphasis"><em>// <a href="time_facet.html#id2442387-bb">public member functions</a></em></span>
+  <span class="type">std::locale::id &amp;</span> <a href="time_facet.html#id2442392-bb">__get_id</a>(<span class="bold"><strong>void</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="time_facet.html#id2442414-bb">time_duration_format</a>(<span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span>) ;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="time_facet.html#id2442440-bb">set_iso_format</a>() ;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="time_facet.html#id2442452-bb">set_iso_extended_format</a>() ;
+  <span class="type">OutItrT</span> <a href="time_facet.html#id2442465-bb">put</a>(OutItrT, std::ios_base &amp;, char_type, <span class="bold"><strong>const</strong></span> time_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">OutItrT</span> <a href="time_facet.html#id2479271-bb">put</a>(OutItrT, std::ios_base &amp;, char_type, <span class="bold"><strong>const</strong></span> time_duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">OutItrT</span> <a href="time_facet.html#id2479327-bb">put</a>(OutItrT, std::ios_base &amp;, char_type, <span class="bold"><strong>const</strong></span> period_type &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="time_facet.html#id2478751-bb">protected static functions</a></em></span>
+  <span class="type">string_type</span> <a href="time_facet.html#id2478756-bb">fractional_seconds_as_string</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;, <span class="bold"><strong>bool</strong></span>) ;
+
+  <span class="bold"><strong>static</strong></span> const char_type * fractional_seconds_format;
+  <span class="bold"><strong>static</strong></span> const char_type * fractional_seconds_or_none_format;
+  <span class="bold"><strong>static</strong></span> const char_type * seconds_with_fractional_seconds_format;
+  <span class="bold"><strong>static</strong></span> const char_type * seconds_format;
+  <span class="bold"><strong>static</strong></span> const char_type * standard_format;
+  <span class="bold"><strong>static</strong></span> const char_type * zone_abbrev_format;
+  <span class="bold"><strong>static</strong></span> const char_type * zone_name_format;
+  <span class="bold"><strong>static</strong></span> const char_type * zone_iso_format;
+  <span class="bold"><strong>static</strong></span> const char_type * zone_iso_extended_format;
+  <span class="bold"><strong>static</strong></span> const char_type * posix_zone_string_format;
+  <span class="bold"><strong>static</strong></span> const char_type * duration_seperator;
+  <span class="bold"><strong>static</strong></span> const char_type * duration_sign_always;
+  <span class="bold"><strong>static</strong></span> const char_type * duration_sign_negative_only;
+  <span class="bold"><strong>static</strong></span> const char_type * negative_sign;
+  <span class="bold"><strong>static</strong></span> const char_type * positive_sign;
+  <span class="bold"><strong>static</strong></span> const char_type * iso_time_format_specifier;
+  <span class="bold"><strong>static</strong></span> const char_type * iso_time_format_extended_specifier;
+  <span class="bold"><strong>static</strong></span> const char_type * default_time_format;
+  <span class="bold"><strong>static</strong></span> const char_type * default_time_duration_format;
+  <span class="bold"><strong>static</strong></span> std::locale::id id;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2656501"></a><h2>Description</h2>
+<p>Facet used for format-based output of time types This class provides for the use of format strings to output times. In addition to the flags for formatting date elements, the following are the allowed format flags:</p>
+<div class="itemizedlist"><ul type="disc">
+<li><p>x X =&gt; default format - enables addition of more flags to default (ie. "%x %X %z")</p></li>
+<li><p>f =&gt; fractional seconds ".123456"</p></li>
+<li><p>F =&gt; fractional seconds or none: like frac sec but empty if frac sec == 0</p></li>
+<li><p>s =&gt; seconds w/ fractional sec "02.123" (this is the same as "%S%f)</p></li>
+<li><p>S =&gt; seconds "02"</p></li>
+<li><p>z =&gt; abbreviated time zone "EDT"</p></li>
+<li><p>Z =&gt; full time zone name "Eastern Daylight Time" </p></li>
+</ul></div>
+<div class="refsect2" lang="en">
+<a name="id2656548"></a><h3>
+<a name="time_facetconstruct-copy-destruct"></a><code class="computeroutput">time_facet</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2451781-bb"></a>time_facet(::size_t a_ref = 0);</pre></li>
+<li><pre class="literallayout"><a name="id2451803-bb"></a>time_facet(<span class="bold"><strong>const</strong></span> char_type * a_format,
+           period_formatter_type period_formatter = period_formatter_type(),
+           <span class="bold"><strong>const</strong></span> special_values_formatter_type &amp; special_value_formatter = special_values_formatter_type(),
+           date_gen_formatter_type dg_formatter = date_gen_formatter_type(),
+           ::size_t a_ref = 0);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2656615"></a><h3>
+<a name="id2442387-bb"></a><code class="computeroutput">time_facet</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">std::locale::id &amp;</span> <a name="id2442392-bb"></a>__get_id(<span class="bold"><strong>void</strong></span> ) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2442414-bb"></a>time_duration_format(<span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> format) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2442440-bb"></a>set_iso_format() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2442452-bb"></a>set_iso_extended_format() ;</pre></li>
+<li><pre class="literallayout"><span class="type">OutItrT</span> <a name="id2442465-bb"></a>put(OutItrT a_next, std::ios_base &amp; a_ios, char_type a_fill,
+            <span class="bold"><strong>const</strong></span> time_type &amp; a_time) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">OutItrT</span> <a name="id2479271-bb"></a>put(OutItrT a_next, std::ios_base &amp; a_ios, char_type a_fill,
+            <span class="bold"><strong>const</strong></span> time_duration_type &amp; a_time_dur) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">OutItrT</span> <a name="id2479327-bb"></a>put(OutItrT next, std::ios_base &amp; a_ios, char_type fill,
+            <span class="bold"><strong>const</strong></span> period_type &amp; p) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2656847"></a><h3>
+<a name="id2478751-bb"></a><code class="computeroutput">time_facet</code> protected static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">string_type</span> <a name="id2478756-bb"></a>fractional_seconds_as_string(<span class="bold"><strong>const</strong></span> time_duration_type &amp; a_time,
+                                         <span class="bold"><strong>bool</strong></span> null_when_zero) ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_formats.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2417782"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_input_facet.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/time_formats.html b/doc/html/time_formats.html
new file mode 100644
index 0000000000..76397dcae4
--- /dev/null
+++ b/doc/html/time_formats.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct template time_formats</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2417782" title="Header &lt;boost/date_time/time_facet.hpp&gt;">
+<link rel="prev" href="subsecond_duration.html" title="Class template subsecond_duration">
+<link rel="next" href="time_facet.html" title="Class template time_facet">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="subsecond_duration.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2417782"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_facet.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="time_formats"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template time_formats</span></h2>
+<p>boost::date_time::time_formats &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT&gt;
+<span class="bold"><strong>struct</strong></span> time_formats {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> CharT char_type;
+
+  <span class="bold"><strong>static</strong></span> const char_type fractional_seconds_format;
+  <span class="bold"><strong>static</strong></span> const char_type fractional_seconds_or_none_format;
+  <span class="bold"><strong>static</strong></span> const char_type seconds_with_fractional_seconds_format;
+  <span class="bold"><strong>static</strong></span> const char_type seconds_format;
+  <span class="bold"><strong>static</strong></span> const char_type standard_format;
+  <span class="bold"><strong>static</strong></span> const char_type zone_abbrev_format;
+  <span class="bold"><strong>static</strong></span> const char_type zone_name_format;
+  <span class="bold"><strong>static</strong></span> const char_type zone_iso_format;
+  <span class="bold"><strong>static</strong></span> const char_type zone_iso_extended_format;
+  <span class="bold"><strong>static</strong></span> const char_type posix_zone_string_format;
+  <span class="bold"><strong>static</strong></span> const char_type duration_sign_negative_only;
+  <span class="bold"><strong>static</strong></span> const char_type duration_sign_always;
+  <span class="bold"><strong>static</strong></span> const char_type duration_seperator;
+  <span class="bold"><strong>static</strong></span> const char_type negative_sign;
+  <span class="bold"><strong>static</strong></span> const char_type positive_sign;
+  <span class="bold"><strong>static</strong></span> const char_type iso_time_format_specifier;
+  <span class="bold"><strong>static</strong></span> const char_type iso_time_format_extended_specifier;
+  <span class="bold"><strong>static</strong></span> const char_type default_time_format;
+  <span class="bold"><strong>static</strong></span> const char_type default_time_input_format;
+  <span class="bold"><strong>static</strong></span> const char_type default_time_duration_format;
+};</pre></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="subsecond_duration.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2417782"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="time_facet.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/time_from_ftime.html b/doc/html/time_from_ftime.html
new file mode 100644
index 0000000000..e109646c99
--- /dev/null
+++ b/doc/html/time_from_ftime.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template time_from_ftime</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2417254" title="Header &lt;boost/date_time/filetime_functions.hpp&gt;">
+<link rel="prev" href="day_calc_dst_rule.html" title="Class template day_calc_dst_rule">
+<link rel="next" href="format_date_parser.html" title="Class template format_date_parser">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="day_calc_dst_rule.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2417254"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="format_date_parser.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="time_from_ftime"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template time_from_ftime</span></h2>
+<p>boost::date_time::time_from_ftime &#8212; Create a time object from an initialized FILETIME struct. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type&gt; <span class="type">time_type</span> time_from_ftime(<span class="bold"><strong>const</strong></span> FILETIME &amp; ft);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2634196"></a><h2>Description</h2>
+<p>Create a time object from an initialized FILETIME struct. A FILETIME struct holds 100-nanosecond units (0.0000001). When built with microsecond resolution the FILETIME's sub second value will be truncated. Nanosecond resolution has no truncation. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="day_calc_dst_rule.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2417254"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="format_date_parser.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/time_input_facet.html b/doc/html/time_input_facet.html
new file mode 100644
index 0000000000..2a6573925e
--- /dev/null
+++ b/doc/html/time_input_facet.html
@@ -0,0 +1,169 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template time_input_facet</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2417782" title="Header &lt;boost/date_time/time_facet.hpp&gt;">
+<link rel="prev" href="time_facet.html" title="Class template time_facet">
+<link rel="next" href="id2406096.html" title="Class template ostream_time_duration_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_facet.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2417782"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2406096.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="time_input_facet"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template time_input_facet</span></h2>
+<p>boost::date_time::time_input_facet &#8212; Facet for format-based input. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type, <span class="bold"><strong>typename</strong></span> CharT,
+         <span class="bold"><strong>typename</strong></span> InItrT = std::istreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt; &gt;
+<span class="bold"><strong>class</strong></span> time_input_facet : <span class="bold"><strong>public</strong></span> boost::date_time::date_input_facet&lt; time_type::date_type, CharT, InItrT &gt;
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> time_type::date_type                                                               date_type;                 
+  <span class="bold"><strong>typedef</strong></span> time_type::time_duration_type                                                      time_duration_type;        
+  <span class="bold"><strong>typedef</strong></span> time_duration_type::fractional_seconds_type                                        fracional_seconds_type;    
+  <span class="bold"><strong>typedef</strong></span> <a href="period.html" title="Class template period">boost::date_time::period</a>&lt; time_type, time_duration_type &gt;                          period_type;               
+  <span class="bold"><strong>typedef</strong></span> <a href="date_input_facet.html" title="Class template date_input_facet">boost::date_time::date_input_facet</a>&lt; <span class="bold"><strong>typename</strong></span> time_type::date_type, CharT, InItrT &gt; base_type;                 
+  <span class="bold"><strong>typedef</strong></span> base_type::duration_type                                                           date_duration_type;        
+  <span class="bold"><strong>typedef</strong></span> base_type::year_type                                                               year_type;                 
+  <span class="bold"><strong>typedef</strong></span> base_type::month_type                                                              month_type;                
+  <span class="bold"><strong>typedef</strong></span> base_type::day_type                                                                day_type;                  
+  <span class="bold"><strong>typedef</strong></span> base_type::string_type                                                             string_type;               
+  <span class="bold"><strong>typedef</strong></span> string_type::const_iterator                                                        const_itr;                 
+  <span class="bold"><strong>typedef</strong></span> base_type::char_type                                                               char_type;                 
+  <span class="bold"><strong>typedef</strong></span> base_type::format_date_parser_type                                                 format_date_parser_type;   
+  <span class="bold"><strong>typedef</strong></span> base_type::period_parser_type                                                      period_parser_type;        
+  <span class="bold"><strong>typedef</strong></span> base_type::special_values_parser_type                                              special_values_parser_type;
+  <span class="bold"><strong>typedef</strong></span> base_type::date_gen_parser_type                                                    date_gen_parser_type;      
+  <span class="bold"><strong>typedef</strong></span> base_type::special_values_parser_type::match_results                               match_results;             
+
+  <span class="emphasis"><em>// <a href="time_input_facet.html#time_input_facetconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="time_input_facet.html#id2471587-bb">time_input_facet</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, ::size_t = 0);
+  <a href="time_input_facet.html#id2471619-bb">time_input_facet</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> format_date_parser_type &amp;,
+                   <span class="bold"><strong>const</strong></span> special_values_parser_type &amp;,
+                   <span class="bold"><strong>const</strong></span> period_parser_type &amp;, <span class="bold"><strong>const</strong></span> date_gen_parser_type &amp;,
+                   ::size_t = 0);
+  <a href="time_input_facet.html#id2481736-bb">time_input_facet</a>(::size_t = 0);
+
+  <span class="emphasis"><em>// <a href="time_input_facet.html#id2460964-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="time_input_facet.html#id2460968-bb">time_duration_format</a>(<span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span>) ;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="time_input_facet.html#id2460994-bb">set_iso_format</a>() ;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="time_input_facet.html#id2477532-bb">set_iso_extended_format</a>() ;
+  <span class="type">InItrT</span> <a href="time_input_facet.html#id2477544-bb">get</a>(InItrT &amp;, InItrT &amp;, std::ios_base &amp;, period_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">InItrT</span> <a href="time_input_facet.html#id2477599-bb">get</a>(InItrT &amp;, InItrT &amp;, std::ios_base &amp;, time_duration_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">InItrT</span> <a href="time_input_facet.html#id2478856-bb">get</a>(InItrT &amp;, InItrT &amp;, std::ios_base &amp;, time_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">InItrT</span> <a href="time_input_facet.html#id2478914-bb">get_local_time</a>(InItrT &amp;, InItrT &amp;, std::ios_base &amp;, time_type &amp;,
+                        string_type &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="time_input_facet.html#id2444097-bb">protected member functions</a></em></span>
+  <span class="type">InItrT</span> <a href="time_input_facet.html#id2444102-bb">get</a>(InItrT &amp;, InItrT &amp;, std::ios_base &amp;, time_type &amp;, string_type &amp;,
+             <span class="bold"><strong>bool</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> temporal_type&gt;
+    <span class="type">InItrT</span> <a href="time_input_facet.html#id2452945-bb">check_special_value</a>(InItrT &amp;, InItrT &amp;, temporal_type &amp;,
+                               char_type = '\0') <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="time_input_facet.html#id2453026-bb">parse_frac_type</a>(InItrT &amp;, InItrT &amp;, fracional_seconds_type &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="time_input_facet.html#id2406025-bb">private member functions</a></em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> int_type&gt;
+    <span class="type">int_type</span> <a href="time_input_facet.html#id2406030-bb">decimal_adjust</a>(int_type, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span>) <span class="bold"><strong>const</strong></span>;
+
+  <span class="bold"><strong>static</strong></span> const char_type * fractional_seconds_format;
+  <span class="bold"><strong>static</strong></span> const char_type * fractional_seconds_or_none_format;
+  <span class="bold"><strong>static</strong></span> const char_type * seconds_with_fractional_seconds_format;
+  <span class="bold"><strong>static</strong></span> const char_type * seconds_format;
+  <span class="bold"><strong>static</strong></span> const char_type * standard_format;
+  <span class="bold"><strong>static</strong></span> const char_type * zone_abbrev_format;
+  <span class="bold"><strong>static</strong></span> const char_type * zone_name_format;
+  <span class="bold"><strong>static</strong></span> const char_type * zone_iso_format;
+  <span class="bold"><strong>static</strong></span> const char_type * zone_iso_extended_format;
+  <span class="bold"><strong>static</strong></span> const char_type * duration_seperator;
+  <span class="bold"><strong>static</strong></span> const char_type * iso_time_format_specifier;
+  <span class="bold"><strong>static</strong></span> const char_type * iso_time_format_extended_specifier;
+  <span class="bold"><strong>static</strong></span> const char_type * default_time_input_format;
+  <span class="bold"><strong>static</strong></span> const char_type * default_time_duration_format;
+  <span class="bold"><strong>static</strong></span> std::locale::id id;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2657700"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2657703"></a><h3>
+<a name="time_input_facetconstruct-copy-destruct"></a><code class="computeroutput">time_input_facet</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2471587-bb"></a>time_input_facet(<span class="bold"><strong>const</strong></span> string_type &amp; format, ::size_t a_ref = 0);</pre></li>
+<li><pre class="literallayout"><a name="id2471619-bb"></a>time_input_facet(<span class="bold"><strong>const</strong></span> string_type &amp; format,
+                 <span class="bold"><strong>const</strong></span> format_date_parser_type &amp; date_parser,
+                 <span class="bold"><strong>const</strong></span> special_values_parser_type &amp; sv_parser,
+                 <span class="bold"><strong>const</strong></span> period_parser_type &amp; per_parser,
+                 <span class="bold"><strong>const</strong></span> date_gen_parser_type &amp; date_gen_parser,
+                 ::size_t a_ref = 0);</pre></li>
+<li><pre class="literallayout"><a name="id2481736-bb"></a>time_input_facet(::size_t a_ref = 0);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2657816"></a><h3>
+<a name="id2460964-bb"></a><code class="computeroutput">time_input_facet</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2460968-bb"></a>time_duration_format(<span class="bold"><strong>const</strong></span> char_type *<span class="bold"><strong>const</strong></span> format) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2460994-bb"></a>set_iso_format() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2477532-bb"></a>set_iso_extended_format() ;</pre></li>
+<li><pre class="literallayout"><span class="type">InItrT</span> <a name="id2477544-bb"></a>get(InItrT &amp; sitr, InItrT &amp; stream_end, std::ios_base &amp; a_ios,
+           period_type &amp; p) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">InItrT</span> <a name="id2477599-bb"></a>get(InItrT &amp; sitr, InItrT &amp; stream_end, std::ios_base &amp; a_ios,
+           time_duration_type &amp; td) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">InItrT</span> <a name="id2478856-bb"></a>get(InItrT &amp; sitr, InItrT &amp; stream_end, std::ios_base &amp; a_ios,
+           time_type &amp; t) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">InItrT</span> <a name="id2478914-bb"></a>get_local_time(InItrT &amp; sitr, InItrT &amp; stream_end,
+                      std::ios_base &amp; a_ios, time_type &amp; t,
+                      string_type &amp; tz_str) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2658029"></a><h3>
+<a name="id2444097-bb"></a><code class="computeroutput">time_input_facet</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">InItrT</span> <a name="id2444102-bb"></a>get(InItrT &amp; sitr, InItrT &amp; stream_end, std::ios_base &amp; a_ios,
+           time_type &amp; t, string_type &amp; tz_str, <span class="bold"><strong>bool</strong></span> time_is_local) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> temporal_type&gt;
+  <span class="type">InItrT</span> <a name="id2452945-bb"></a>check_special_value(InItrT &amp; sitr, InItrT &amp; stream_end,
+                             temporal_type &amp; tt, char_type c = '\0') <span class="bold"><strong>const</strong></span>;</pre>
+<p>First character may have been consumed during original parse attempt. Parameter 'c' should be a copy of that character. Throws ios_base::failure if parse fails. </p>
+</li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2453026-bb"></a>parse_frac_type(InItrT &amp; sitr, InItrT &amp; stream_end,
+                     fracional_seconds_type &amp; frac) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2658153"></a><h3>
+<a name="id2406025-bb"></a><code class="computeroutput">time_input_facet</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> int_type&gt;
+  <span class="type">int_type</span> <a name="id2406030-bb"></a>decimal_adjust(int_type val, <span class="bold"><strong>const</strong></span> <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span> places) <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_facet.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2417782"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2406096.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/time_itr.html b/doc/html/time_itr.html
new file mode 100644
index 0000000000..54f72e1a51
--- /dev/null
+++ b/doc/html/time_itr.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template time_itr</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2405705" title="Header &lt;boost/date_time/time_iterator.hpp&gt;">
+<link rel="prev" href="id2428972.html" title="Class template ostream_time_period_formatter">
+<link rel="next" href="id2440843.html" title="Function template parse_delimited_time_duration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2428972.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2405705"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2440843.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="time_itr"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template time_itr</span></h2>
+<p>boost::date_time::time_itr &#8212; Simple time iterator skeleton class. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type&gt;
+<span class="bold"><strong>class</strong></span> time_itr {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> time_type::time_duration_type time_duration_type;
+
+  <span class="emphasis"><em>// <a href="time_itr.html#time_itrconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="time_itr.html#id2393299-bb">time_itr</a>(time_type, time_duration_type);
+
+  <span class="emphasis"><em>// <a href="time_itr.html#id2405745-bb">public member functions</a></em></span>
+  <span class="type"><a href="time_itr.html" title="Class template time_itr">time_itr</a> &amp;</span> <a href="time_itr.html#id2405749-bb"><span class="bold"><strong>operator</strong></span>++</a>() ;
+  <span class="type"><a href="time_itr.html" title="Class template time_itr">time_itr</a> &amp;</span> <a href="time_itr.html#id2405764-bb"><span class="bold"><strong>operator</strong></span>--</a>() ;
+  <span class="type">time_type</span> <a href="time_itr.html#id2405779-bb"><span class="bold"><strong>operator</strong></span> *</a>() ;
+  <span class="type">time_type *</span> <a href="time_itr.html#id2405791-bb"><span class="bold"><strong>operator</strong></span>-&gt;</a>() ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="time_itr.html#id2405804-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> time_type &amp;) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="time_itr.html#id2393184-bb"><span class="bold"><strong>operator</strong></span>&lt;=</a>(<span class="bold"><strong>const</strong></span> time_type &amp;) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="time_itr.html#id2393207-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> time_type &amp;) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="time_itr.html#id2393229-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> time_type &amp;) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="time_itr.html#id2393252-bb"><span class="bold"><strong>operator</strong></span>&gt;</a>(<span class="bold"><strong>const</strong></span> time_type &amp;) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="time_itr.html#id2393275-bb"><span class="bold"><strong>operator</strong></span>&gt;=</a>(<span class="bold"><strong>const</strong></span> time_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2659283"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2659286"></a><h3>
+<a name="time_itrconstruct-copy-destruct"></a><code class="computeroutput">time_itr</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2393299-bb"></a>time_itr(time_type t, time_duration_type d);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2659319"></a><h3>
+<a name="id2405745-bb"></a><code class="computeroutput">time_itr</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><a href="time_itr.html" title="Class template time_itr">time_itr</a> &amp;</span> <a name="id2405749-bb"></a><span class="bold"><strong>operator</strong></span>++() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a href="time_itr.html" title="Class template time_itr">time_itr</a> &amp;</span> <a name="id2405764-bb"></a><span class="bold"><strong>operator</strong></span>--() ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2405779-bb"></a><span class="bold"><strong>operator</strong></span> *() ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_type *</span> <a name="id2405791-bb"></a><span class="bold"><strong>operator</strong></span>-&gt;() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2405804-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<span class="bold"><strong>const</strong></span> time_type &amp; t) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2393184-bb"></a><span class="bold"><strong>operator</strong></span>&lt;=(<span class="bold"><strong>const</strong></span> time_type &amp; t) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2393207-bb"></a><span class="bold"><strong>operator</strong></span>!=(<span class="bold"><strong>const</strong></span> time_type &amp; t) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2393229-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> time_type &amp; t) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2393252-bb"></a><span class="bold"><strong>operator</strong></span>&gt;(<span class="bold"><strong>const</strong></span> time_type &amp; t) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2393275-bb"></a><span class="bold"><strong>operator</strong></span>&gt;=(<span class="bold"><strong>const</strong></span> time_type &amp; t) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2428972.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2405705"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2440843.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/time_label_invalid.html b/doc/html/time_label_invalid.html
new file mode 100644
index 0000000000..a5dd5f7698
--- /dev/null
+++ b/doc/html/time_label_invalid.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct time_label_invalid</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2475866" title="Header &lt;boost/date_time/local_time/local_date_time.hpp&gt;">
+<link rel="prev" href="ambiguous_result.html" title="Struct ambiguous_result">
+<link rel="next" href="dst_not_valid.html" title="Struct dst_not_valid">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ambiguous_result.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475866"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="dst_not_valid.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="time_label_invalid"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct time_label_invalid</span></h2>
+<p>boost::local_time::time_label_invalid &#8212; simple exception for when time label given cannot exist </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> time_label_invalid {
+  <span class="emphasis"><em>// <a href="time_label_invalid.html#time_label_invalidconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="time_label_invalid.html#id2475927-bb">time_label_invalid</a>(std::string = "");
+
+  <span class="emphasis"><em>// <a href="time_label_invalid.html#id2475923-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2682684"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2682687"></a><h3>
+<a name="time_label_invalidconstruct-copy-destruct"></a><code class="computeroutput">time_label_invalid</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2475927-bb"></a>time_label_invalid(std::string _msg = "");</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2682720"></a><h3>
+<a name="id2475923-bb"></a><code class="computeroutput">time_label_invalid</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ambiguous_result.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2475866"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="dst_not_valid.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/time_resolution_traits.html b/doc/html/time_resolution_traits.html
new file mode 100644
index 0000000000..0819d69b97
--- /dev/null
+++ b/doc/html/time_resolution_traits.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template time_resolution_traits</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2463060" title="Header &lt;boost/date_time/time_resolution_traits.hpp&gt;">
+<link rel="prev" href="id2405655.html" title="Struct time_resolution_traits_adapted64_impl">
+<link rel="next" href="counted_time_rep.html" title="Struct template counted_time_rep">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2405655.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2463060"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="counted_time_rep.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="time_resolution_traits"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template time_resolution_traits</span></h2>
+<p>boost::date_time::time_resolution_traits &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> frac_sec_type, time_resolutions res,
+         #<span class="bold"><strong>if</strong></span>(defined(BOOST_MSVC)&amp;&amp;(_MSC_VER&lt;=1200)) boost::int64_t resolution_adjust,
+         #<span class="bold"><strong>else</strong></span> <span class="bold"><strong>typename</strong></span> frac_sec_type::int_type resolution_adjust,
+         #endif <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span> frac_digits, <span class="bold"><strong>typename</strong></span> v_type = boost::int32_t&gt;
+<span class="bold"><strong>class</strong></span> time_resolution_traits {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> frac_sec_type::int_type  fractional_seconds_type;
+  <span class="bold"><strong>typedef</strong></span> frac_sec_type::int_type  tick_type;              
+  <span class="bold"><strong>typedef</strong></span> frac_sec_type::impl_type impl_type;              
+  <span class="bold"><strong>typedef</strong></span> v_type                   day_type;               
+  <span class="bold"><strong>typedef</strong></span> v_type                   hour_type;              
+  <span class="bold"><strong>typedef</strong></span> v_type                   min_type;               
+  <span class="bold"><strong>typedef</strong></span> v_type                   sec_type;               
+
+  <span class="emphasis"><em>// <a href="time_resolution_traits.html#id2443516-bb">public member functions</a></em></span>
+  <span class="type"></span> <a href="time_resolution_traits.html#id2443520-bb">BOOST_STATIC_CONSTANT</a>(<span class="bold"><strong>int</strong></span>, ticks_per_second = resolution_adjust) ;
+
+  <span class="emphasis"><em>// <a href="time_resolution_traits.html#id2443557-bb">public static functions</a></em></span>
+  <span class="type">frac_sec_type::int_type</span> <a href="time_resolution_traits.html#id2443561-bb">as_number</a>(<span class="bold"><strong>typename</strong></span> frac_sec_type::impl_type) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="time_resolution_traits.html#id2443583-bb">is_adapted</a>() ;
+  <span class="type">time_resolutions</span> <a href="time_resolution_traits.html#id2443596-bb">resolution</a>() ;
+  <span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a href="time_resolution_traits.html#id2443608-bb">num_fractional_digits</a>() ;
+  <span class="type">fractional_seconds_type</span> <a href="time_resolution_traits.html#id2443620-bb">res_adjust</a>() ;
+  <span class="type">tick_type</span> <a href="time_resolution_traits.html#id2443633-bb">to_tick_count</a>(hour_type, min_type, sec_type,
+                          fractional_seconds_type) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2661062"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2661065"></a><h3>
+<a name="id2443516-bb"></a><code class="computeroutput">time_resolution_traits</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"></span> <a name="id2443520-bb"></a>BOOST_STATIC_CONSTANT(<span class="bold"><strong>int</strong></span> , ticks_per_second = resolution_adjust) ;</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2661106"></a><h3>
+<a name="id2443557-bb"></a><code class="computeroutput">time_resolution_traits</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">frac_sec_type::int_type</span> <a name="id2443561-bb"></a>as_number(<span class="bold"><strong>typename</strong></span> frac_sec_type::impl_type i) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2443583-bb"></a>is_adapted() ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_resolutions</span> <a name="id2443596-bb"></a>resolution() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span></span> <a name="id2443608-bb"></a>num_fractional_digits() ;</pre></li>
+<li><pre class="literallayout"><span class="type">fractional_seconds_type</span> <a name="id2443620-bb"></a>res_adjust() ;</pre></li>
+<li><pre class="literallayout"><span class="type">tick_type</span> <a name="id2443633-bb"></a>to_tick_count(hour_type hours, min_type minutes, sec_type seconds,
+                        fractional_seconds_type fs) ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2405655.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2463060"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="counted_time_rep.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/time_zone.html b/doc/html/time_zone.html
new file mode 100644
index 0000000000..fa1e4c8262
--- /dev/null
+++ b/doc/html/time_zone.html
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class time_zone</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2448620" title="Header &lt;boost/date_time/local_time/time_zone.hpp&gt;">
+<link rel="prev" href="posix_time_zone.html" title="Class posix_time_zone">
+<link rel="next" href="function.html" title="Chapter 4. Boost.Function">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="posix_time_zone.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2448620"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="function.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="time_zone"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class time_zone</span></h2>
+<p>boost::local_time::time_zone &#8212; A real time zone. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> time_zone {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> boost::posix_time::time_duration time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> time_zone_base                   base_type;         
+  <span class="bold"><strong>typedef</strong></span> base_type::string_type           string_type;       
+  <span class="bold"><strong>typedef</strong></span> base_type::stringstream_type     stringstream_type; 
+
+  <span class="emphasis"><em>// <a href="time_zone.html#time_zoneconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="time_zone.html#id2448859-bb">time_zone</a>(<span class="bold"><strong>const</strong></span> time_zone_names &amp;, <span class="bold"><strong>const</strong></span> time_duration_type &amp;,
+            <span class="bold"><strong>const</strong></span> dst_adjustment_offsets &amp;,
+            boost::shared_ptr&lt; dst_calc_rule &gt;);
+  <a href="time_zone.html#id2448902-bb">~time_zone</a>();
+
+  <span class="emphasis"><em>// <a href="time_zone.html#id2448681-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="time_zone.html#id2448686-bb">dst_zone_abbrev</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="time_zone.html#id2448698-bb">std_zone_abbrev</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="time_zone.html#id2448711-bb">dst_zone_name</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="time_zone.html#id2448724-bb">std_zone_name</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>bool</strong></span></span> <a href="time_zone.html#id2448736-bb">has_dst</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> posix_time::ptime</span> <a href="time_zone.html#id2448753-bb">dst_local_start_time</a>(gregorian::greg_year) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> posix_time::ptime</span> <a href="time_zone.html#id2448780-bb">dst_local_end_time</a>(gregorian::greg_year) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> time_duration_type</span> <a href="time_zone.html#id2448807-bb">base_utc_offset</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> time_duration_type</span> <a href="time_zone.html#id2448823-bb">dst_offset</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> string_type</span> <a href="time_zone.html#id2448840-bb">to_posix_string</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2687354"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2687357"></a><h3>
+<a name="time_zoneconstruct-copy-destruct"></a><code class="computeroutput">time_zone</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2448859-bb"></a>time_zone(<span class="bold"><strong>const</strong></span> time_zone_names &amp; zone_names,
+          <span class="bold"><strong>const</strong></span> time_duration_type &amp; base_utc_offset,
+          <span class="bold"><strong>const</strong></span> dst_adjustment_offsets &amp; dst_offset,
+          boost::shared_ptr&lt; dst_calc_rule &gt; calc_rule);</pre></li>
+<li><pre class="literallayout"><a name="id2448902-bb"></a>~time_zone();</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2687429"></a><h3>
+<a name="id2448681-bb"></a><code class="computeroutput">time_zone</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2448686-bb"></a>dst_zone_abbrev() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2448698-bb"></a>std_zone_abbrev() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2448711-bb"></a>dst_zone_name() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2448724-bb"></a>std_zone_name() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>bool</strong></span></span> <a name="id2448736-bb"></a>has_dst() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> posix_time::ptime</span> <a name="id2448753-bb"></a>dst_local_start_time(gregorian::greg_year y) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> posix_time::ptime</span> <a name="id2448780-bb"></a>dst_local_end_time(gregorian::greg_year y) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> time_duration_type</span> <a name="id2448807-bb"></a>base_utc_offset() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> time_duration_type</span> <a name="id2448823-bb"></a>dst_offset() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> string_type</span> <a name="id2448840-bb"></a>to_posix_string() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="posix_time_zone.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2448620"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="function.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/time_zone_base.html b/doc/html/time_zone_base.html
new file mode 100644
index 0000000000..cc20871032
--- /dev/null
+++ b/doc/html/time_zone_base.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template time_zone_base</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2443927" title="Header &lt;boost/date_time/time_zone_base.hpp&gt;">
+<link rel="prev" href="split_timedate_system.html" title="Class template split_timedate_system">
+<link rel="next" href="id2473370.html" title="Class template dst_adjustment_offsets">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="split_timedate_system.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2443927"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2473370.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="time_zone_base"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template time_zone_base</span></h2>
+<p>boost::date_time::time_zone_base &#8212; Interface class for dynamic time zones. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_type, <span class="bold"><strong>typename</strong></span> CharT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> time_zone_base {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::basic_string&lt; CharT &gt;       string_type;       
+  <span class="bold"><strong>typedef</strong></span> std::basic_stringstream&lt; CharT &gt; stringstream_type; 
+  <span class="bold"><strong>typedef</strong></span> time_type::date_type::year_type  year_type;         
+  <span class="bold"><strong>typedef</strong></span> time_type::time_duration_type    time_duration_type;
+
+  <span class="emphasis"><em>// <a href="time_zone_base.html#time_zone_baseconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="time_zone_base.html#id2473364-bb">time_zone_base</a>();
+  <a href="time_zone_base.html#id2473366-bb">~time_zone_base</a>();
+
+  <span class="emphasis"><em>// <a href="time_zone_base.html#id2413510-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>virtual</strong></span> string_type</span> <a href="time_zone_base.html#id2413514-bb">dst_zone_abbrev</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> string_type</span> <a href="time_zone_base.html#id2413532-bb">std_zone_abbrev</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> string_type</span> <a href="time_zone_base.html#id2413549-bb">dst_zone_name</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> string_type</span> <a href="time_zone_base.html#id2413567-bb">std_zone_name</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>bool</strong></span></span> <a href="time_zone_base.html#id2413585-bb">has_dst</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> time_type</span> <a href="time_zone_base.html#id2413602-bb">dst_local_start_time</a>(year_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> time_type</span> <a href="time_zone_base.html#id2413629-bb">dst_local_end_time</a>(year_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> time_duration_type</span> <a href="time_zone_base.html#id2413657-bb">base_utc_offset</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> time_duration_type</span> <a href="time_zone_base.html#id2413674-bb">dst_offset</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> string_type</span> <a href="time_zone_base.html#id2413690-bb">to_posix_string</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2664273"></a><h2>Description</h2>
+<p>This class represents the base interface for all timezone representations. Subclasses may provide different systems for identifying a particular zone. For example some may provide a geographical based zone construction while others may specify the offset from GMT. Another possible implementation would be to convert from POSIX timezone strings. Regardless of the construction technique, this is the interface that these time zone types must provide.</p>
+<p>Note that this class is intended to be used as a shared resource (hence the derivation from boost::counted_base. </p>
+<div class="refsect2" lang="en">
+<a name="id2664290"></a><h3>
+<a name="time_zone_baseconstruct-copy-destruct"></a><code class="computeroutput">time_zone_base</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2473364-bb"></a>time_zone_base();</pre></li>
+<li><pre class="literallayout"><a name="id2473366-bb"></a>~time_zone_base();</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2664339"></a><h3>
+<a name="id2413510-bb"></a><code class="computeroutput">time_zone_base</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> string_type</span> <a name="id2413514-bb"></a>dst_zone_abbrev() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> string_type</span> <a name="id2413532-bb"></a>std_zone_abbrev() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> string_type</span> <a name="id2413549-bb"></a>dst_zone_name() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> string_type</span> <a name="id2413567-bb"></a>std_zone_name() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>bool</strong></span></span> <a name="id2413585-bb"></a>has_dst() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> time_type</span> <a name="id2413602-bb"></a>dst_local_start_time(year_type y) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> time_type</span> <a name="id2413629-bb"></a>dst_local_end_time(year_type y) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> time_duration_type</span> <a name="id2413657-bb"></a>base_utc_offset() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> time_duration_type</span> <a name="id2413674-bb"></a>dst_offset() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> string_type</span> <a name="id2413690-bb"></a>to_posix_string() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="split_timedate_system.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2443927"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2473370.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/time_zone_names_base.html b/doc/html/time_zone_names_base.html
new file mode 100644
index 0000000000..1146993e44
--- /dev/null
+++ b/doc/html/time_zone_names_base.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template time_zone_names_base</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2473483" title="Header &lt;boost/date_time/time_zone_names.hpp&gt;">
+<link rel="prev" href="id2473370.html" title="Class template dst_adjustment_offsets">
+<link rel="next" href="data_not_accessible.html" title="Struct data_not_accessible">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2473370.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2473483"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="data_not_accessible.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="time_zone_names_base"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template time_zone_names_base</span></h2>
+<p>boost::date_time::time_zone_names_base &#8212; Base type that holds various string names for timezone output. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> time_zone_names_base {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> std::basic_string&lt; CharT &gt; string_type;
+
+  <span class="emphasis"><em>// <a href="time_zone_names_base.html#time_zone_names_baseconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="time_zone_names_base.html#id2473595-bb">time_zone_names_base</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
+                       <span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;);
+
+  <span class="emphasis"><em>// <a href="time_zone_names_base.html#id2473539-bb">public member functions</a></em></span>
+  <span class="type">string_type</span> <a href="time_zone_names_base.html#id2473544-bb">dst_zone_abbrev</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">string_type</span> <a href="time_zone_names_base.html#id2473556-bb">std_zone_abbrev</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">string_type</span> <a href="time_zone_names_base.html#id2473569-bb">dst_zone_name</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">string_type</span> <a href="time_zone_names_base.html#id2473581-bb">std_zone_name</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2665112"></a><h2>Description</h2>
+<p>Class that holds various types of strings used for timezones. For example, for the western United States there is the full name: Pacific Standard Time and the abbreviated name: PST. During daylight savings there are additional names: Pacific Daylight Time and PDT. CharT Allows class to support different character types </p>
+<div class="refsect2" lang="en">
+<a name="id2665123"></a><h3>
+<a name="time_zone_names_baseconstruct-copy-destruct"></a><code class="computeroutput">time_zone_names_base</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2473595-bb"></a>time_zone_names_base(<span class="bold"><strong>const</strong></span> string_type &amp; std_zone_name,
+                     <span class="bold"><strong>const</strong></span> string_type &amp; std_zone_abbrev,
+                     <span class="bold"><strong>const</strong></span> string_type &amp; dst_zone_name,
+                     <span class="bold"><strong>const</strong></span> string_type &amp; dst_zone_abbrev);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2665187"></a><h3>
+<a name="id2473539-bb"></a><code class="computeroutput">time_zone_names_base</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">string_type</span> <a name="id2473544-bb"></a>dst_zone_abbrev() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">string_type</span> <a name="id2473556-bb"></a>std_zone_abbrev() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">string_type</span> <a name="id2473569-bb"></a>dst_zone_name() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">string_type</span> <a name="id2473581-bb"></a>std_zone_name() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2473370.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2473483"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="data_not_accessible.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/timed_mutex.html b/doc/html/timed_mutex.html
new file mode 100644
index 0000000000..23da6a991a
--- /dev/null
+++ b/doc/html/timed_mutex.html
@@ -0,0 +1,143 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class timed_mutex</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id2534429" title="Header &lt;boost/thread/mutex.hpp&gt;">
+<link rel="prev" href="try_mutex.html" title="Class try_mutex">
+<link rel="next" href="BOOST_ONCE_INIT.html" title="Macro BOOST_ONCE_INIT">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="try_mutex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2534429"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_ONCE_INIT.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="timed_mutex"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class timed_mutex</span></h2>
+<p>boost::timed_mutex &#8212; <p>The <a href="timed_mutex.html" title="Class timed_mutex">timed_mutex</a> class is a model of the
+ <a href="threads/concepts.html#threads.concepts.TimedMutex" title="TimedMutex Concept">TimedMutex</a> concept.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> timed_mutex : <span class="bold"><strong>private</strong></span> boost::noncopyable <span class="emphasis"><em>// Exposition only</em></span>
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_lock;      
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_try_lock;  
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_timed_lock;
+
+  <span class="emphasis"><em>// <a href="timed_mutex.html#timed_mutexconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="timed_mutex.html#id2530793-bb">timed_mutex</a>();
+  <a href="timed_mutex.html#id2610124-bb">~timed_mutex</a>();
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2781653"></a><h2>Description</h2>
+<p>The <a href="timed_mutex.html" title="Class timed_mutex">timed_mutex</a> class is a model of the
+ <a href="threads/concepts.html#threads.concepts.TimedMutex" title="TimedMutex Concept">TimedMutex</a> concept.
+ It should be used to synchronize access to shared resources using
+ <a href="threads/concepts.html#threads.concepts.unspecified-locking-strategy" title="Unspecified Locking Strategy">Unspecified</a>
+ locking mechanics.</p>
+<p>For classes that model related mutex concepts, see
+ <a href="mutex.html" title="Class mutex">mutex</a> and <a href="try_mutex.html" title="Class try_mutex">try_mutex</a>.</p>
+<p>For <a href="threads/concepts.html#threads.concepts.recursive-locking-strategy" title="Recursive Locking Strategy">Recursive</a>
+ locking mechanics, see <a href="recursive_mutex.html" title="Class recursive_mutex">recursive_mutex</a>,
+ <a href="recursive_try_mutex.html" title="Class recursive_try_mutex">recursive_try_mutex</a>, and <a href="recursive_timed_mutex.html" title="Class recursive_timed_mutex">recursive_timed_mutex</a>.
+ </p>
+<p>The <a href="timed_mutex.html" title="Class timed_mutex">timed_mutex</a> class supplies the following typedefs,
+ which <a href="threads/concepts.html#threads.concepts.lock-models" title="Lock Models">model</a>
+ the specified locking strategies:
+
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Lock Name</th>
+<th align="left">Lock Concept</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left">scoped_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedLock" title="ScopedLock Concept">ScopedLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_try_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedTryLock" title="ScopedTryLock Concept">ScopedTryLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_timed_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedTimedLock" title="ScopedTimedLock Concept">ScopedTimedLock</a></td>
+</tr>
+</tbody>
+</table></div>
+<p>The <a href="timed_mutex.html" title="Class timed_mutex">timed_mutex</a> class uses an
+ <a href="threads/concepts.html#threads.concepts.unspecified-locking-strategy" title="Unspecified Locking Strategy">Unspecified</a>
+ locking strategy, so attempts to recursively lock a <a href="timed_mutex.html" title="Class timed_mutex">timed_mutex</a>
+ object or attempts to unlock one by threads that don't own a lock on it result in
+ <span class="bold"><strong>undefined behavior</strong></span>.
+ This strategy allows implementations to be as efficient as possible
+ on any given platform. It is, however, recommended that
+ implementations include debugging support to detect misuse when
+ <code class="computeroutput">NDEBUG</code> is not defined.</p>
+<p>Like all
+ <a href="threads/concepts.html#threads.concepts.mutex-models" title="Mutex Models">mutex models</a>
+ in <span class="bold"><strong>Boost.Threads</strong></span>, <a href="timed_mutex.html" title="Class timed_mutex">timed_mutex</a> leaves the
+ <a href="threads/concepts.html#threads.concepts.sheduling-policies" title="Scheduling Policies">scheduling policy</a>
+ as <a href="threads/concepts.html#threads.concepts.unspecified-scheduling-policy" title="Unspecified Policy">Unspecified</a>.
+ Programmers should make no assumptions about the order in which
+ waiting threads acquire a lock.</p>
+<div class="refsect2" lang="en">
+<a name="id2781884"></a><h3>
+<a name="timed_mutexconstruct-copy-destruct"></a><code class="computeroutput">timed_mutex</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2530793-bb"></a>timed_mutex();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Constructs a <a href="timed_mutex.html" title="Class timed_mutex">timed_mutex</a> object.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">*this</code> is in an unlocked state.
+ </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2610124-bb"></a>~timed_mutex();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Destroys a <a href="timed_mutex.html" title="Class timed_mutex">timed_mutex</a> object.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">*this</code> is in an unlocked state.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ <span class="bold"><strong>Danger:</strong></span> Destruction of a
+ locked mutex is a serious programming error resulting in undefined
+ behavior such as a program crash.</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="try_mutex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2534429"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_ONCE_INIT.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/timed_read_write_mutex.html b/doc/html/timed_read_write_mutex.html
new file mode 100644
index 0000000000..5bd039aac0
--- /dev/null
+++ b/doc/html/timed_read_write_mutex.html
@@ -0,0 +1,181 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class timed_read_write_mutex</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id693680" title="Header &lt;boost/thread/read_write_mutex.hpp&gt;">
+<link rel="prev" href="try_read_write_mutex.html" title="Class try_read_write_mutex">
+<link rel="next" href="thread.html" title="Class thread">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="try_read_write_mutex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id693680"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="thread.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="timed_read_write_mutex"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class timed_read_write_mutex</span></h2>
+<p>boost::timed_read_write_mutex &#8212; <p>The <a href="timed_read_write_mutex.html" title="Class timed_read_write_mutex">timed_read_write_mutex</a> class is a model of the
+ <a href="threads/concepts.html#threads.concepts.TimedReadWriteMutex" title="TimedReadWriteMutex Concept">TimedReadWriteMutex</a> concept.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> timed_read_write_mutex {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_read_write_lock;      
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_try_read_write_lock;  
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_timed_read_write_lock;
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_read_lock;            
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_try_read_lock;        
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_timed_read_lock;      
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_write_lock;           
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_try_write_lock;       
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_timed_write_lock;     
+
+  <span class="emphasis"><em>// <a href="timed_read_write_mutex.html#timed_read_write_mutexconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="timed_read_write_mutex.html#id894380-bb">timed_read_write_mutex</a>(boost::read_write_scheduling_policy);
+  <a href="timed_read_write_mutex.html#id999914-bb">~timed_read_write_mutex</a>();
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1562699"></a><h2>Description</h2>
+<p>The <a href="timed_read_write_mutex.html" title="Class timed_read_write_mutex">timed_read_write_mutex</a> class is a model of the
+ <a href="threads/concepts.html#threads.concepts.TimedReadWriteMutex" title="TimedReadWriteMutex Concept">TimedReadWriteMutex</a> concept.
+ It should be used to synchronize access to shared resources using
+ <a href="threads/concepts.html#threads.concepts.read-write-locking-strategies.unspecified" title="Unspecified Locking Strategy">Unspecified</a>
+ locking mechanics.</p>
+<p>For classes that model related mutex concepts, see
+ <a href="read_write_mutex.html" title="Class read_write_mutex">read_write_mutex</a> and <a href="try_read_write_mutex.html" title="Class try_read_write_mutex">try_read_write_mutex</a>.</p>
+<p>The <a href="timed_read_write_mutex.html" title="Class timed_read_write_mutex">timed_read_write_mutex</a> class supplies the following typedefs,
+ which <a href="threads/concepts.html#threads.concepts.read-write-lock-models" title="Lock Models">model</a>
+ the specified locking strategies:
+
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Lock Name</th>
+<th align="left">Lock Concept</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left">scoped_read_write_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedReadWriteLock" title="ScopedReadWriteLock Concept">ScopedReadWriteLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_try_read_write_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedTryReadWriteLock" title="ScopedTryReadWriteLock Expressions">ScopedTryReadWriteLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_timed_read_write_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedTimedReadWriteLock" title="ScopedTimedReadWriteLock Concept">ScopedTimedReadWriteLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_read_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedLock" title="ScopedLock Concept">ScopedLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_try_read_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedTryLock" title="ScopedTryLock Concept">ScopedTryLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_timed_read_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedTimedLock" title="ScopedTimedLock Concept">ScopedTimedLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_write_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedLock" title="ScopedLock Concept">ScopedLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_try_write_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedTryLock" title="ScopedTryLock Concept">ScopedTryLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_timed_write_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedTimedLock" title="ScopedTimedLock Concept">ScopedTimedLock</a></td>
+</tr>
+</tbody>
+</table></div>
+<p>The <a href="timed_read_write_mutex.html" title="Class timed_read_write_mutex">timed_read_write_mutex</a> class uses an
+ <a href="threads/concepts.html#threads.concepts.read-write-locking-strategies.unspecified" title="Unspecified Locking Strategy">Unspecified</a>
+ locking strategy, so attempts to recursively lock a <a href="timed_read_write_mutex.html" title="Class timed_read_write_mutex">timed_read_write_mutex</a>
+ object or attempts to unlock one by threads that don't own a lock on it result in
+ <span class="bold"><strong>undefined behavior</strong></span>.
+ This strategy allows implementations to be as efficient as possible
+ on any given platform. It is, however, recommended that
+ implementations include debugging support to detect misuse when
+ <code class="computeroutput">NDEBUG</code> is not defined.</p>
+<p>Like all
+ <a href="threads/concepts.html#threads.concepts.read-write-mutex-models" title="Mutex Models">read/write mutex models</a>
+ in , <a href="timed_read_write_mutex.html" title="Class timed_read_write_mutex">timed_read_write_mutex</a> has two types of
+ <a href="threads/concepts.html#threads.concepts.read-write-scheduling-policies" title="Scheduling Policies">scheduling policies</a>, an
+ <a href="threads/concepts.html#threads.concepts.read-write-scheduling-policies.inter-class" title="Inter-Class Scheduling Policies">inter-class sheduling policy</a>
+ between threads trying to obtain different types of locks and an
+ <a href="threads/concepts.html#threads.concepts.read-write-scheduling-policies.intra-class" title="Intra-Class Scheduling Policies">intra-class sheduling policy</a>
+ between threads trying to obtain the same type of lock.
+ The <a href="timed_read_write_mutex.html" title="Class timed_read_write_mutex">timed_read_write_mutex</a> class allows the
+ programmer to choose what
+ <a href="threads/concepts.html#threads.concepts.read-write-scheduling-policies.inter-class" title="Inter-Class Scheduling Policies">inter-class sheduling policy</a>
+ will be used; however, like all read/write mutex models,
+ <a href="timed_read_write_mutex.html" title="Class timed_read_write_mutex">timed_read_write_mutex</a> leaves the
+ <a href="threads/concepts.html#threads.concepts.read-write-scheduling-policies.intra-class" title="Intra-Class Scheduling Policies">intra-class sheduling policy</a> as
+ <a href="threads/concepts.html#threads.concepts.unspecified-scheduling-policy" title="Unspecified Policy">Unspecified</a>.
+ </p>
+<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Note</h3>Self-deadlock is virtually guaranteed if a thread tries to
+ lock the same <a href="timed_read_write_mutex.html" title="Class timed_read_write_mutex">timed_read_write_mutex</a> multiple times
+ unless all locks are read-locks (but see below)</div>
+<div class="refsect2" lang="en">
+<a name="id1563031"></a><h3>
+<a name="timed_read_write_mutexconstruct-copy-destruct"></a><code class="computeroutput">timed_read_write_mutex</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id894380-bb"></a>timed_read_write_mutex(boost::read_write_scheduling_policy count);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Constructs a <a href="timed_read_write_mutex.html" title="Class timed_read_write_mutex">timed_read_write_mutex</a> object.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">*this</code> is in an unlocked state.
+ </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id999914-bb"></a>~timed_read_write_mutex();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Destroys a <a href="timed_read_write_mutex.html" title="Class timed_read_write_mutex">timed_read_write_mutex</a> object.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">*this</code> is in an unlocked state.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ <span class="bold"><strong>Danger:</strong></span> Destruction of a
+ locked mutex is a serious programming error resulting in undefined
+ behavior such as a program crash.</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="try_read_write_mutex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id693680"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="thread.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/to_lower.html b/doc/html/to_lower.html
new file mode 100644
index 0000000000..f8da4df0a8
--- /dev/null
+++ b/doc/html/to_lower.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template to_lower</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2352615" title="Header &lt;boost/algorithm/string/case_conv.hpp&gt;">
+<link rel="prev" href="to_lower_copy.html" title="Function to_lower_copy">
+<link rel="next" href="to_upper_copy.html" title="Function to_upper_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="to_lower_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2352615"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="to_upper_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="to_lower"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template to_lower</span></h2>
+<p>boost::algorithm::to_lower &#8212; Convert to lower case. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> WritableRangeT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> to_lower(WritableRangeT &amp; Input,
+                <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2746707"></a><h2>Description</h2>
+<p>Each element of the input sequence is converted to lower case. The input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>A range </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>a locale used for conversion </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="to_lower_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2352615"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="to_upper_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/to_lower_copy.html b/doc/html/to_lower_copy.html
new file mode 100644
index 0000000000..43951e2d9c
--- /dev/null
+++ b/doc/html/to_lower_copy.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function to_lower_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2352615" title="Header &lt;boost/algorithm/string/case_conv.hpp&gt;">
+<link rel="prev" href="string_algo/reference.html" title="Reference">
+<link rel="next" href="to_lower.html" title="Function template to_lower">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="string_algo/reference.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2352615"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="to_lower.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="to_lower_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function to_lower_copy</span></h2>
+<p>boost::algorithm::to_lower_copy &#8212; Convert to lower case. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type">OutputIteratorT</span>
+  to_lower_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> RangeT &amp; Input,
+                <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+  <span class="type">SequenceT</span> to_lower_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input,
+                          <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2746597"></a><h2>Description</h2>
+<p>Each element of the input sequence is converted to lower case. The result is a copy of the input converted to lower case. It is returned as a sequence or copied to the output iterator.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input range </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for conversion </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="string_algo/reference.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2352615"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="to_lower.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/to_upper.html b/doc/html/to_upper.html
new file mode 100644
index 0000000000..932b197412
--- /dev/null
+++ b/doc/html/to_upper.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template to_upper</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2352615" title="Header &lt;boost/algorithm/string/case_conv.hpp&gt;">
+<link rel="prev" href="to_upper_copy.html" title="Function to_upper_copy">
+<link rel="next" href="is_classified.html" title="Function is_classified">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="to_upper_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2352615"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_classified.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="to_upper"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template to_upper</span></h2>
+<p>boost::algorithm::to_upper &#8212; Convert to upper case. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> WritableRangeT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> to_upper(WritableRangeT &amp; Input,
+                <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2746938"></a><h2>Description</h2>
+<p>Each element of the input sequence is converted to upper case. The input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input range </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>a locale used for conversion </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="to_upper_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2352615"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="is_classified.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/to_upper_copy.html b/doc/html/to_upper_copy.html
new file mode 100644
index 0000000000..a9524c640d
--- /dev/null
+++ b/doc/html/to_upper_copy.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function to_upper_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2352615" title="Header &lt;boost/algorithm/string/case_conv.hpp&gt;">
+<link rel="prev" href="to_lower.html" title="Function template to_lower">
+<link rel="next" href="to_upper.html" title="Function template to_upper">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="to_lower.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2352615"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="to_upper.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="to_upper_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function to_upper_copy</span></h2>
+<p>boost::algorithm::to_upper_copy &#8212; Convert to upper case. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT&gt;
+  <span class="type">OutputIteratorT</span>
+  to_upper_copy(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> RangeT &amp; Input,
+                <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+  <span class="type">SequenceT</span> to_upper_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input,
+                          <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2746829"></a><h2>Description</h2>
+<p>Each element of the input sequence is converted to upper case. The result is a copy of the input converted to upper case. It is returned as a sequence or copied to the output iterator</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input range </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for conversion </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="to_lower.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2352615"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="to_upper.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/token_finder.html b/doc/html/token_finder.html
new file mode 100644
index 0000000000..aeaf76e5de
--- /dev/null
+++ b/doc/html/token_finder.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template token_finder</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2447201" title="Header &lt;boost/algorithm/string/finder.hpp&gt;">
+<link rel="prev" href="tail_finder.html" title="Function tail_finder">
+<link rel="next" href="range_finder.html" title="Function range_finder">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tail_finder.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2447201"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="range_finder.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="token_finder"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template token_finder</span></h2>
+<p>boost::algorithm::token_finder &#8212; "Token" finder </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PredicateT&gt;
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> token_finder(PredicateT Pred,
+                           token_compress_mode_type eCompress = token_compress_off);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2760092"></a><h2>Description</h2>
+<p>Construct the <code class="computeroutput">token_finder</code> . The finder searches for a token specified by a predicate. It is similar to std::find_if algorithm, with an exception that it return a range of instead of a single iterator.</p>
+<p>If "compress token mode" is enabled, adjacent matching tokens are concatenated into one match. Thus the finder can be used to search for continuous segments of characters satisfying the given predicate.</p>
+<p>The result is given as an <code class="computeroutput">iterator_range</code> delimiting the match.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Pred</span></dt>
+<dd><p>An element selection predicate </p></dd>
+<dt><span class="term">eCompress</span></dt>
+<dd><p>Compress flag </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An instance of the <code class="computeroutput">token_finder</code> object </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tail_finder.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2447201"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="range_finder.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/trackable.html b/doc/html/trackable.html
new file mode 100644
index 0000000000..f16e807cb8
--- /dev/null
+++ b/doc/html/trackable.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class trackable</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="signals/reference.html#id2587580" title="Header &lt;boost/signals/trackable.hpp&gt;">
+<link rel="prev" href="slot.html" title="Class template slot">
+<link rel="next" href="connection.html" title="Class connection">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="slot.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id2587580"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="connection.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="trackable"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class trackable</span></h2>
+<p>boost::signals::trackable &#8212; Enables safe use of multicast callbacks.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> trackable {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="trackable.html#trackableconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="trackable.html#id2501283-bb">trackable</a>();
+  <a href="trackable.html#id2558432-bb">trackable</a>(<span class="bold"><strong>const</strong></span> <a href="trackable.html" title="Class trackable">trackable</a>&amp;);
+  trackable&amp; <a href="trackable.html#id2345319-bb"><span class="bold"><strong>operator</strong></span>=</a>(<span class="bold"><strong>const</strong></span> <a href="trackable.html" title="Class trackable">trackable</a>&amp;);
+  <a href="trackable.html#id2553044-bb">~trackable</a>();
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2736040"></a><h2>Description</h2>
+<p>The <code class="computeroutput">trackable</code> class provides automatic
+ disconnection of signals and slots when objects bound in
+ slots (via pointer or reference) are destroyed. The
+ <code class="computeroutput">trackable</code> class may only be used as a public
+ base class for some other class; when used as such, that
+ class may be bound to function objects used as part of
+ slots. The manner in which a <code class="computeroutput">trackable</code> object
+ tracks the set of signal-slot connections it is a part of is
+ unspecified.</p>
+<p>The actual use of <code class="computeroutput">trackable</code> is contingent
+ on the presence of appropriate
+ <a href="visit_each.html" title="Function template visit_each">visit_each</a> overloads for any
+ type that may contain pointers or references to trackable
+ objects.</p>
+<div class="refsect2" lang="en">
+<a name="id2736089"></a><h3>
+<a name="trackableconstruct-copy-destruct"></a><code class="computeroutput">trackable</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2501283-bb"></a>trackable();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Sets the list of connected slots to empty.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2558432-bb"></a>trackable(<span class="bold"><strong>const</strong></span> <a href="trackable.html" title="Class trackable">trackable</a>&amp; other);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Sets the list of connected slots to empty.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Rationale</span></b>:
+
+ Signal-slot connections can only be created via calls to an explicit connect method, and therefore cannot be created here when trackable objects are copied.</p>
+</li>
+<li>
+<pre class="literallayout">trackable&amp; <a name="id2345319-bb"></a><span class="bold"><strong>operator</strong></span>=(<span class="bold"><strong>const</strong></span> <a href="trackable.html" title="Class trackable">trackable</a>&amp; other);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Sets the list of connected slots to empty.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">*this</code><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Rationale</span></b>:
+
+ Signal-slot connections can only be created via calls to an explicit connect method, and therefore cannot be created here when trackable objects are copied.</p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2553044-bb"></a>~trackable();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Disconnects all signal/slot connections that
+ contain a pointer or reference to this trackable object that
+ can be found by
+ <a href="visit_each.html" title="Function template visit_each">visit_each</a>.</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="slot.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id2587580"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="connection.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/tribool.html b/doc/html/tribool.html
new file mode 100644
index 0000000000..dd8c38d864
--- /dev/null
+++ b/doc/html/tribool.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 13. Boost.Tribool</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries">
+<link rel="prev" href="thread/acknowledgements.html" title="Acknowledgements">
+<link rel="next" href="tribool/tutorial.html" title="Tutorial">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="thread/acknowledgements.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="tribool/tutorial.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="tribool"></a>Chapter 13. Boost.Tribool</h2></div>
+<div><div class="author">
+<h3 class="author">
+<span class="firstname">Douglas</span> <span class="surname">Gregor</span>
+</h3>
+<code class="email">&lt;<a href="mailto:dgregor%20-at-%20cs.indiana.edu">dgregor -at- cs.indiana.edu</a>&gt;</code>
+</div></div>
+<div><p class="copyright">Copyright © 2002-2004 Douglas Gregor</p></div>
+<div><div class="legalnotice">
+<a name="id2788970"></a><p>Use, modification and distribution is subject to the Boost
+ Software License, Version 1.0. (See accompanying file
+ <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="tribool.html#tribool.introduction">Introduction</a></span></dt>
+<dt><span class="section"><a href="tribool/tutorial.html">Tutorial</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="tribool/tutorial.html#id2789023">Basic usage</a></span></dt>
+<dt><span class="section"><a href="tribool/tutorial.html#id2789492">Renaming the indeterminate state</a></span></dt>
+<dt><span class="section"><a href="tribool/tutorial.html#id2789574"><code class="computeroutput">tribool</code> input/output</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="tribool/reference.html">Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="tribool/reference.html#id2426531">Header &lt;boost/logic/tribool.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="tribool/reference.html#id2521690">Header &lt;boost/logic/tribool_fwd.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="tribool/reference.html#id2561687">Header &lt;boost/logic/tribool_io.hpp&gt;</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="tribool/tests.html">Testsuite</a></span></dt>
+<dd><dl><dt><span class="section"><a href="tribool/tests.html#tribool.tests.acceptance">Acceptance tests</a></span></dt></dl></dd>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tribool.introduction"></a>Introduction</h3></div></div></div>
+<p>The 3-state boolean library contains a single class,
+ <code class="computeroutput"><a href="boost/logic/tribool.html" title="Class tribool">boost::logic::tribool</a></code>, along with
+ support functions and operator overloads that implement 3-state
+ boolean logic. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: July 25, 2004 at 03:01:38 GMT</p></small></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="thread/acknowledgements.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="tribool/tutorial.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/tribool/reference.html b/doc/html/tribool/reference.html
new file mode 100644
index 0000000000..13bc8bffc5
--- /dev/null
+++ b/doc/html/tribool/reference.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Reference</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../tribool.html" title="Chapter 13. Boost.Tribool">
+<link rel="prev" href="tutorial.html" title="Tutorial">
+<link rel="next" href="../boost/logic/tribool.html" title="Class tribool">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tribool.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../boost/logic/tribool.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tribool.reference"></a>Reference</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="reference.html#id2426531">Header &lt;boost/logic/tribool.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2521690">Header &lt;boost/logic/tribool_fwd.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2561687">Header &lt;boost/logic/tribool_io.hpp&gt;</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2426531"></a>Header &lt;<a href="../../../boost/logic/tribool.hpp" target="_top">boost/logic/tribool.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis">
+
+<a href="../BOOST_TRIBOOL_THIRD_STATE.html" title="Macro BOOST_TRIBOOL_THIRD_STATE">BOOST_TRIBOOL_THIRD_STATE</a>(Name)</pre>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> logic {
+    <span class="bold"><strong>class</strong></span> <a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>;
+    <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="../indeterminate.html" title="Function indeterminate">indeterminate</a>(<a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>, <span class="emphasis"><em>unspecified</em></span> = <span class="emphasis"><em>unspecified</em></span>);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2427956.html" title="Function operator!"><span class="bold"><strong>operator</strong></span>!</a>(<a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2535733.html" title="Function operator&amp;&amp;"><span class="bold"><strong>operator</strong></span>&amp;&amp;</a>(<a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>, <a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2535733.html" title="Function operator&amp;&amp;"><span class="bold"><strong>operator</strong></span>&amp;&amp;</a>(<a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>, <span class="bold"><strong>bool</strong></span>);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2535733.html" title="Function operator&amp;&amp;"><span class="bold"><strong>operator</strong></span>&amp;&amp;</a>(<span class="bold"><strong>bool</strong></span>, <a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2535733.html" title="Function operator&amp;&amp;"><span class="bold"><strong>operator</strong></span>&amp;&amp;</a>(indeterminate_keyword_t, <a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2535733.html" title="Function operator&amp;&amp;"><span class="bold"><strong>operator</strong></span>&amp;&amp;</a>(<a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>, indeterminate_keyword_t);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2394886.html" title="Function operator||"><span class="bold"><strong>operator</strong></span>||</a>(<a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>, <a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2394886.html" title="Function operator||"><span class="bold"><strong>operator</strong></span>||</a>(<a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>, <span class="bold"><strong>bool</strong></span>);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2394886.html" title="Function operator||"><span class="bold"><strong>operator</strong></span>||</a>(<span class="bold"><strong>bool</strong></span>, <a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2394886.html" title="Function operator||"><span class="bold"><strong>operator</strong></span>||</a>(indeterminate_keyword_t, <a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2394886.html" title="Function operator||"><span class="bold"><strong>operator</strong></span>||</a>(<a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>, indeterminate_keyword_t);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2605064.html" title="Function operator=="><span class="bold"><strong>operator</strong></span>==</a>(<a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>, <a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2605064.html" title="Function operator=="><span class="bold"><strong>operator</strong></span>==</a>(<a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>, <span class="bold"><strong>bool</strong></span>);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2605064.html" title="Function operator=="><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>bool</strong></span>, <a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2605064.html" title="Function operator=="><span class="bold"><strong>operator</strong></span>==</a>(indeterminate_keyword_t, <a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2605064.html" title="Function operator=="><span class="bold"><strong>operator</strong></span>==</a>(<a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>, indeterminate_keyword_t);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2400763.html" title="Function operator!="><span class="bold"><strong>operator</strong></span>!=</a>(<a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>, <a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2400763.html" title="Function operator!="><span class="bold"><strong>operator</strong></span>!=</a>(<a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>, <span class="bold"><strong>bool</strong></span>);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2400763.html" title="Function operator!="><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>bool</strong></span>, <a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2400763.html" title="Function operator!="><span class="bold"><strong>operator</strong></span>!=</a>(indeterminate_keyword_t, <a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>);
+    <span class="type"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></span> <a href="../id2400763.html" title="Function operator!="><span class="bold"><strong>operator</strong></span>!=</a>(<a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>, indeterminate_keyword_t);
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2521690"></a>Header &lt;<a href="../../../boost/logic/tribool_fwd.hpp" target="_top">boost/logic/tribool_fwd.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> logic {
+  }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2561687"></a>Header &lt;<a href="../../../boost/logic/tribool_io.hpp" target="_top">boost/logic/tribool_io.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>namespace</strong></span> logic {
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT&gt; <span class="bold"><strong>class</strong></span> <a href="../indeterminate_name.html" title="Class template indeterminate_name">indeterminate_name</a>;
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+      <span class="type">std::basic_string&lt; T &gt;</span> <a href="../id2451531.html" title="Function template get_default_indeterminate_name">get_default_indeterminate_name</a>();
+
+    <span class="emphasis"><em>// Returns the character string "indeterminate". </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;&gt;
+      <span class="type">std::basic_string&lt; <span class="bold"><strong>char</strong></span> &gt;</span> <a name="id2614670"></a>get_default_indeterminate_name&lt;<span class="bold"><strong>char</strong></span> &gt;();
+
+    <span class="emphasis"><em>// Returns the wide character string L"indeterminate". </em></span>
+    <span class="bold"><strong>template</strong></span>&lt;&gt;
+      <span class="type">std::basic_string&lt; <span class="bold"><strong>wchar_t</strong></span> &gt;</span> <a name="id2614685"></a>get_default_indeterminate_name&lt;<span class="bold"><strong>wchar_t</strong></span> &gt;();
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_ostream&lt; CharT, Traits &gt; &amp;</span>
+      <a href="../id2531282.html" title="Function template operator&lt;&lt;"><span class="bold"><strong>operator</strong></span>&lt;&lt;</a>(std::basic_ostream&lt; CharT, Traits &gt; &amp;, <a href="../boost/logic/tribool.html" title="Class tribool">tribool</a>);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_ostream&lt; CharT, Traits &gt; &amp;</span>
+      <a href="../id2423887.html" title="Function template operator&lt;&lt;"><span class="bold"><strong>operator</strong></span>&lt;&lt;</a>(std::basic_ostream&lt; CharT, Traits &gt; &amp;, <span class="emphasis"><em>unspecified</em></span>);
+    <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> Traits&gt;
+      <span class="type">std::basic_istream&lt; CharT, Traits &gt; &amp;</span>
+      <a href="../id2341545.html" title="Function template operator&gt;&gt;"><span class="bold"><strong>operator</strong></span>&gt;&gt;</a>(std::basic_istream&lt; CharT, Traits &gt; &amp;, <a href="../boost/logic/tribool.html" title="Class tribool">tribool</a> &amp;);
+  }
+}</pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tribool.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../boost/logic/tribool.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/tribool/tests.html b/doc/html/tribool/tests.html
new file mode 100644
index 0000000000..8dd4dc3143
--- /dev/null
+++ b/doc/html/tribool/tests.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Testsuite</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../tribool.html" title="Chapter 13. Boost.Tribool">
+<link rel="prev" href="../id2341545.html" title="Function template operator&gt;&gt;">
+<link rel="next" href="../boost_typetraits.html" title="Chapter 14. Boost.TypeTraits">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../id2341545.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tribool.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../boost_typetraits.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tribool.tests"></a>Testsuite</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="tests.html#tribool.tests.acceptance">Acceptance tests</a></span></dt></dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tribool.tests.acceptance"></a>Acceptance tests</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Test</th>
+<th>Type</th>
+<th>Description</th>
+<th>If failing...</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><p><a href="../../../libs/logic/test/tribool_test.cpp" target="_top">tribool_test.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test all features of the
+ <code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">boost::logic::tribool</a></code>
+ class.</p></td>
+<td> </td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/logic/test/tribool_rename_test.cpp" target="_top">tribool_rename_test.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test the use of the
+ <code class="computeroutput"><a href="../BOOST_TRIBOOL_THIRD_STATE.html" title="Macro BOOST_TRIBOOL_THIRD_STATE">BOOST_TRIBOOL_THIRD_STATE</a></code>
+ macro.</p></td>
+<td> </td>
+</tr>
+<tr>
+<td><p><a href="../../../libs/logic/test/tribool_io_test.cpp" target="_top">tribool_io_test.cpp</a></p></td>
+<td><p>run</p></td>
+<td><p>Test tribool input/output.</p></td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../id2341545.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tribool.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../boost_typetraits.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/tribool/tutorial.html b/doc/html/tribool/tutorial.html
new file mode 100644
index 0000000000..b00619f3ea
--- /dev/null
+++ b/doc/html/tribool/tutorial.html
@@ -0,0 +1,181 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Tutorial</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../tribool.html" title="Chapter 13. Boost.Tribool">
+<link rel="prev" href="../tribool.html" title="Chapter 13. Boost.Tribool">
+<link rel="next" href="reference.html" title="Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tribool.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tribool.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tribool.tutorial"></a>Tutorial</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="tutorial.html#id2789023">Basic usage</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2789492">Renaming the indeterminate state</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#id2789574"><code class="computeroutput">tribool</code> input/output</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2789023"></a>Basic usage</h4></div></div></div>
+<p> The <code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> class acts
+ like the built-in <code class="computeroutput">bool</code> type, but for 3-state boolean
+ logic. The three states are <code class="computeroutput">true</code>, <code class="computeroutput">false</code>,
+ and <code class="computeroutput"><a href="../indeterminate.html" title="Function indeterminate">indeterminate</a></code>, where
+ the first two states are equivalent to those of the C++
+ <code class="computeroutput">bool</code> type and the last state represents an unknown
+ boolean value (that may be <code class="computeroutput">true</code> or
+ <code class="computeroutput">false</code>, we don't know).</p>
+<p> The <code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> class
+ supports conversion from <code class="computeroutput">bool</code> values and literals
+ along with its own
+ <code class="computeroutput"><a href="../indeterminate.html" title="Function indeterminate">indeterminate</a></code>
+ keyword:</p>
+<pre class="programlisting"><code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> b(true);
+b = false;
+b = <code class="computeroutput"><a href="../indeterminate.html" title="Function indeterminate">indeterminate</a></code>;
+<code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> b2(b);</pre>
+<p><code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> supports
+ conversions to <code class="computeroutput">bool</code> for use in conditional
+ statements. The conversion to <code class="computeroutput">bool</code> will be
+ <code class="computeroutput">true</code> when the value of the
+ <code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> is always true, and
+ <code class="computeroutput">false</code> otherwise. Consequently, the following idiom
+ may be used to determine which of the three states a
+ <code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> currently
+ holds:</p>
+<pre class="programlisting"><code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> b = some_operation();
+if (b) {
+ // b is true
+}
+else if (!b) {
+ // b is false
+}
+else {
+ // b is indeterminate
+}</pre>
+<p><code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> supports the
+ 3-state logic operators <code class="computeroutput">!</code> (negation),
+ <code class="computeroutput">&amp;&amp;</code> (AND), and <code class="computeroutput">||</code> (OR), with
+ <code class="computeroutput">bool</code> and <code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code>
+ values. For instance:</p>
+<pre class="programlisting"><code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> x = some_op();
+<code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> y = some_other_op();
+if (x &amp;&amp; y) {
+ // both x and y are true
+}
+else if (!(x &amp;&amp; y)) {
+ // either x or y is false
+}
+else {
+ // neither x nor y is false, but we don't know that both are true
+
+ if (x || y) {
+ // either x or y is true
+ }
+}</pre>
+<p> Similarly, <code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code>
+ supports 3-state equality comparisons via the operators
+ <code class="computeroutput">==</code> and <code class="computeroutput">!=</code>. These operators differ from
+ "normal" equality operators in C++ because they return a
+ <code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code>, because potentially we
+ might not know the result of a comparison (try to compare
+ <code class="computeroutput">true</code> and
+ <code class="computeroutput"><a href="../indeterminate.html" title="Function indeterminate">indeterminate</a></code>). For
+ instance:</p>
+<pre class="programlisting"><code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> x(true);
+<code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> y(<code class="computeroutput"><a href="../indeterminate.html" title="Function indeterminate">indeterminate</a></code>);
+
+assert(x == x); // okay, x == x returns true
+assert(x == true); // okay, can compare <code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code>s and bools</pre>
+<p> The <code class="computeroutput"><a href="../indeterminate.html" title="Function indeterminate">indeterminate</a></code> keyword (representing the
+ <code class="computeroutput"><a href="../indeterminate.html" title="Function indeterminate">indeterminate</a></code> <code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> value)
+ doubles as a function to check if the value of a
+ <code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> is indeterminate,
+ e.g.,</p>
+<pre class="programlisting"><code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> x = try_to_do_something_tricky();
+if (<code class="computeroutput"><a href="../indeterminate.html" title="Function indeterminate">indeterminate</a></code>(x)) {
+ // value of x is indeterminate
+}
+else {
+ // report success or failure of x
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2789492"></a>Renaming the indeterminate state</h4></div></div></div>
+<p> Users may introduce additional keywords for the indeterminate
+ value in addition to the implementation-supplied
+ <code class="computeroutput"><a href="../indeterminate.html" title="Function indeterminate">indeterminate</a></code> using the
+ <code class="computeroutput"><a href="../BOOST_TRIBOOL_THIRD_STATE.html" title="Macro BOOST_TRIBOOL_THIRD_STATE">BOOST_TRIBOOL_THIRD_STATE</a></code>
+ macro. For instance, the following macro instantiation (at the
+ global scope) will introduce the keyword <code class="computeroutput">maybe</code> as a
+ synonym for <code class="computeroutput"><a href="../indeterminate.html" title="Function indeterminate">indeterminate</a></code>
+ (also residing in the <code class="computeroutput">boost</code> namespace):</p>
+<pre class="programlisting"><code class="computeroutput"><a href="../BOOST_TRIBOOL_THIRD_STATE.html" title="Macro BOOST_TRIBOOL_THIRD_STATE">BOOST_TRIBOOL_THIRD_STATE</a></code>(maybe)
+<code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> x = maybe;
+if (maybe(x)) { /* ... */ }</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2789574"></a><code class="computeroutput">tribool</code> input/output</h4></div></div></div>
+<p><code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> objects may be
+ read from and written to streams by including the
+ <code class="computeroutput"><a href="reference.html#id2561687" title="Header &lt;boost/logic/tribool_io.hpp&gt;">boost/logic/tribool_io.hpp</a></code> header in a
+ manner very similar to <code class="computeroutput">bool</code> values. When the
+ <code class="computeroutput">boolalpha</code> flag is not set on the input/output stream,
+ the integral values 0, 1, and 2 correspond to <code class="computeroutput">tribool</code>
+ values <code class="computeroutput">false</code>, <code class="computeroutput">true</code>, and
+ <code class="computeroutput">indeterminate</code>, respectively. When
+ <code class="computeroutput">boolalpha</code> is set on the stream, arbitrary strings can
+ be used to represent the three values, the default being "false",
+ "true", and "indeterminate". For instance:</p>
+<pre class="programlisting"><code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> x;
+cin &gt;&gt; x; // Type "0", "1", or "2" to get false, true, or indeterminate
+cout &lt;&lt; boolalpha &lt;&lt; x; // Produces "false", "true", or "indeterminate"</pre>
+<p><code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> input and output
+ is sensitive to the stream's current locale. The strings associated
+ with false and true values are contained in the standard
+ <code class="computeroutput">std::numpunct</code> facet, and the
+ string naming the indeterminate type is contained in the
+ <code class="computeroutput"><a href="../indeterminate_name.html" title="Class template indeterminate_name">indeterminate_name</a></code> facet. To
+ replace the name of the indeterminate state, you need to imbue your
+ stream with a local containing a
+ <code class="computeroutput"><a href="../indeterminate_name.html" title="Class template indeterminate_name">indeterminate_name</a></code> facet, e.g.:</p>
+<pre class="programlisting"><code class="computeroutput"><a href="../BOOST_TRIBOOL_THIRD_STATE.html" title="Macro BOOST_TRIBOOL_THIRD_STATE">BOOST_TRIBOOL_THIRD_STATE</a></code>(maybe)
+locale global;
+locale test_locale(global, new <code class="computeroutput"><a href="../indeterminate_name.html" title="Class template indeterminate_name">indeterminate_name</a></code>&lt;char&gt;("maybe"));
+cout.imbue(test_locale);
+<code class="computeroutput"><a href="../boost/logic/tribool.html" title="Class tribool">tribool</a></code> x(maybe);
+cout &lt;&lt; boolalpha &lt;&lt; x &lt;&lt; endl; // Prints "maybe"</pre>
+<p>If you C++ standard library implementation does not support
+ locales, <code class="computeroutput">tribool</code> input/output will still work, but you
+ will be unable to customize the strings printed/parsed when
+ <code class="computeroutput">boolalpha</code> is set.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tribool.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tribool.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/trim.html b/doc/html/trim.html
new file mode 100644
index 0000000000..508a3d52ac
--- /dev/null
+++ b/doc/html/trim.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template trim</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2573553" title="Header &lt;boost/algorithm/string/trim.hpp&gt;">
+<link rel="prev" href="trim_if.html" title="Function template trim_if">
+<link rel="next" href="string_algo/rationale.html" title="Rationale">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_if.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="string_algo/rationale.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="trim"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template trim</span></h2>
+<p>boost::algorithm::trim &#8212; Trim. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> trim(SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2774598"></a><h2>Description</h2>
+<p>Remove all leading and trailing spaces from the input. The input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for 'space' classification </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_if.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="string_algo/rationale.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/trim_copy.html b/doc/html/trim_copy.html
new file mode 100644
index 0000000000..6c758aa36a
--- /dev/null
+++ b/doc/html/trim_copy.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template trim_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2573553" title="Header &lt;boost/algorithm/string/trim.hpp&gt;">
+<link rel="prev" href="trim_copy_if.html" title="Function trim_copy_if">
+<link rel="next" href="trim_if.html" title="Function template trim_if">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_copy_if.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_if.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="trim_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template trim_copy</span></h2>
+<p>boost::algorithm::trim_copy &#8212; Trim. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+  <span class="type">SequenceT</span> trim_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input,
+                      <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2774422"></a><h2>Description</h2>
+<p>Remove all leading and trailing spaces from the input. The result is a trimmed copy of the input</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for 'space' classification </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ A trimmed copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_copy_if.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_if.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/trim_copy_if.html b/doc/html/trim_copy_if.html
new file mode 100644
index 0000000000..a95c046e42
--- /dev/null
+++ b/doc/html/trim_copy_if.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function trim_copy_if</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2573553" title="Header &lt;boost/algorithm/string/trim.hpp&gt;">
+<link rel="prev" href="trim_right.html" title="Function template trim_right">
+<link rel="next" href="trim_copy.html" title="Function template trim_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_right.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="trim_copy_if"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function trim_copy_if</span></h2>
+<p>boost::algorithm::trim_copy_if &#8212; Trim - parametric. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+  <span class="type">OutputIteratorT</span>
+  trim_copy_if(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> RangeT &amp; Input,
+               PredicateT IsSpace);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+  <span class="type">SequenceT</span> trim_copy_if(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, PredicateT IsSpace);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2774309"></a><h2>Description</h2>
+<p>Remove all trailing and leading spaces from the input. The supplied predicate is used to determine which characters are considered spaces. The result is a trimmed copy of the input. It is returned as a sequence or copied to the output iterator</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input range </p></dd>
+<dt><span class="term">IsSpace</span></dt>
+<dd><p>An unary predicate identifying spaces </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_right.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/trim_if.html b/doc/html/trim_if.html
new file mode 100644
index 0000000000..174dbf7b35
--- /dev/null
+++ b/doc/html/trim_if.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template trim_if</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2573553" title="Header &lt;boost/algorithm/string/trim.hpp&gt;">
+<link rel="prev" href="trim_copy.html" title="Function template trim_copy">
+<link rel="next" href="trim.html" title="Function template trim">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="trim_if"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template trim_if</span></h2>
+<p>boost::algorithm::trim_if &#8212; Trim. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> trim_if(SequenceT &amp; Input, PredicateT IsSpace);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2774518"></a><h2>Description</h2>
+<p>Remove all leading and trailing spaces from the input. The supplied predicate is used to determine which characters are considered spaces. The input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">IsSpace</span></dt>
+<dd><p>An unary predicate identifying spaces </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/trim_left.html b/doc/html/trim_left.html
new file mode 100644
index 0000000000..a4fadf703e
--- /dev/null
+++ b/doc/html/trim_left.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template trim_left</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2573553" title="Header &lt;boost/algorithm/string/trim.hpp&gt;">
+<link rel="prev" href="trim_left_if.html" title="Function template trim_left_if">
+<link rel="next" href="trim_right_copy_if.html" title="Function trim_right_copy_if">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_left_if.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_right_copy_if.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="trim_left"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template trim_left</span></h2>
+<p>boost::algorithm::trim_left &#8212; Left trim. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> trim_left(SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2773780"></a><h2>Description</h2>
+<p>Remove all leading spaces from the input. The Input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for 'space' classification </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_left_if.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_right_copy_if.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/trim_left_copy.html b/doc/html/trim_left_copy.html
new file mode 100644
index 0000000000..a14f12a4b0
--- /dev/null
+++ b/doc/html/trim_left_copy.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template trim_left_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2573553" title="Header &lt;boost/algorithm/string/trim.hpp&gt;">
+<link rel="prev" href="trim_left_copy_if.html" title="Function trim_left_copy_if">
+<link rel="next" href="trim_left_if.html" title="Function template trim_left_if">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_left_copy_if.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_left_if.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="trim_left_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template trim_left_copy</span></h2>
+<p>boost::algorithm::trim_left_copy &#8212; Left trim - parametric. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+  <span class="type">SequenceT</span> trim_left_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input,
+                           <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2773603"></a><h2>Description</h2>
+<p>Remove all leading spaces from the input. The result is a trimmed copy of the input.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>a locale used for 'space' classification </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ A trimmed copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_left_copy_if.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_left_if.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/trim_left_copy_if.html b/doc/html/trim_left_copy_if.html
new file mode 100644
index 0000000000..a4889d29c8
--- /dev/null
+++ b/doc/html/trim_left_copy_if.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function trim_left_copy_if</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2573553" title="Header &lt;boost/algorithm/string/trim.hpp&gt;">
+<link rel="prev" href="id2580251.html" title="Function template split">
+<link rel="next" href="trim_left_copy.html" title="Function template trim_left_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2580251.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_left_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="trim_left_copy_if"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function trim_left_copy_if</span></h2>
+<p>boost::algorithm::trim_left_copy_if &#8212; Left trim - parametric. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+  <span class="type">OutputIteratorT</span>
+  trim_left_copy_if(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> RangeT &amp; Input,
+                    PredicateT IsSpace);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+  <span class="type">SequenceT</span> trim_left_copy_if(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, PredicateT IsSpace);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2773490"></a><h2>Description</h2>
+<p>Remove all leading spaces from the input. The supplied predicate is used to determine which characters are considered spaces. The result is a trimmed copy of the input. It is returned as a sequence or copied to the output iterator</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input range </p></dd>
+<dt><span class="term">IsSpace</span></dt>
+<dd><p>An unary predicate identifying spaces </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2580251.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_left_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/trim_left_if.html b/doc/html/trim_left_if.html
new file mode 100644
index 0000000000..4167ffe147
--- /dev/null
+++ b/doc/html/trim_left_if.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template trim_left_if</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2573553" title="Header &lt;boost/algorithm/string/trim.hpp&gt;">
+<link rel="prev" href="trim_left_copy.html" title="Function template trim_left_copy">
+<link rel="next" href="trim_left.html" title="Function template trim_left">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_left_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_left.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="trim_left_if"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template trim_left_if</span></h2>
+<p>boost::algorithm::trim_left_if &#8212; Left trim. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> trim_left_if(SequenceT &amp; Input, PredicateT IsSpace);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2773700"></a><h2>Description</h2>
+<p>Remove all leading spaces from the input. The supplied predicate is used to determine which characters are considered spaces. The input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">IsSpace</span></dt>
+<dd><p>An unary predicate identifying spaces </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_left_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_left.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/trim_right.html b/doc/html/trim_right.html
new file mode 100644
index 0000000000..ada06d365b
--- /dev/null
+++ b/doc/html/trim_right.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template trim_right</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2573553" title="Header &lt;boost/algorithm/string/trim.hpp&gt;">
+<link rel="prev" href="trim_right_if.html" title="Function template trim_right_if">
+<link rel="next" href="trim_copy_if.html" title="Function trim_copy_if">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_right_if.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_copy_if.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="trim_right"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template trim_right</span></h2>
+<p>boost::algorithm::trim_right &#8212; Right trim. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> trim_right(SequenceT &amp; Input, <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2774191"></a><h2>Description</h2>
+<p>Remove all trailing spaces from the input. The input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for 'space' classification </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_right_if.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_copy_if.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/trim_right_copy.html b/doc/html/trim_right_copy.html
new file mode 100644
index 0000000000..427f68da39
--- /dev/null
+++ b/doc/html/trim_right_copy.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template trim_right_copy</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2573553" title="Header &lt;boost/algorithm/string/trim.hpp&gt;">
+<link rel="prev" href="trim_right_copy_if.html" title="Function trim_right_copy_if">
+<link rel="next" href="trim_right_if.html" title="Function template trim_right_if">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_right_copy_if.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_right_if.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="trim_right_copy"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template trim_right_copy</span></h2>
+<p>boost::algorithm::trim_right_copy &#8212; Right trim. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT&gt;
+  <span class="type">SequenceT</span> trim_right_copy(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input,
+                            <span class="bold"><strong>const</strong></span> std::locale &amp; Loc = std::locale());</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2774013"></a><h2>Description</h2>
+<p>Remove all trailing spaces from the input. The result is a trimmed copy of the input</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">Loc</span></dt>
+<dd><p>A locale used for 'space' classification </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ A trimmed copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ This function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_right_copy_if.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_right_if.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/trim_right_copy_if.html b/doc/html/trim_right_copy_if.html
new file mode 100644
index 0000000000..e7448581f0
--- /dev/null
+++ b/doc/html/trim_right_copy_if.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function trim_right_copy_if</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2573553" title="Header &lt;boost/algorithm/string/trim.hpp&gt;">
+<link rel="prev" href="trim_left.html" title="Function template trim_left">
+<link rel="next" href="trim_right_copy.html" title="Function template trim_right_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_left.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_right_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="trim_right_copy_if"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function trim_right_copy_if</span></h2>
+<p>boost::algorithm::trim_right_copy_if &#8212; Right trim - parametric. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> OutputIteratorT, <span class="bold"><strong>typename</strong></span> RangeT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+  <span class="type">OutputIteratorT</span>
+  trim_right_copy_if(OutputIteratorT Output, <span class="bold"><strong>const</strong></span> RangeT &amp; Input,
+                     PredicateT IsSpace);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+  <span class="type">SequenceT</span> trim_right_copy_if(<span class="bold"><strong>const</strong></span> SequenceT &amp; Input, PredicateT IsSpace);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2773900"></a><h2>Description</h2>
+<p>Remove all trailing spaces from the input. The supplied predicate is used to determine which characters are considered spaces. The result is a trimmed copy of the input. It is returned as a sequence or copied to the output iterator</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input range </p></dd>
+<dt><span class="term">IsSpace</span></dt>
+<dd><p>An unary predicate identifying spaces </p></dd>
+<dt><span class="term">Output</span></dt>
+<dd><p>An output iterator to which the result will be copied </p></dd>
+</dl>
+</div>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ An output iterator pointing just after the last inserted character or a copy of the input<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The second variant of this function provides the strong exception-safety guarantee </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_left.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_right_copy.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/trim_right_if.html b/doc/html/trim_right_if.html
new file mode 100644
index 0000000000..cca0e97e7f
--- /dev/null
+++ b/doc/html/trim_right_if.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template trim_right_if</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="string_algo/reference.html#id2573553" title="Header &lt;boost/algorithm/string/trim.hpp&gt;">
+<link rel="prev" href="trim_right_copy.html" title="Function template trim_right_copy">
+<link rel="next" href="trim_right.html" title="Function template trim_right">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_right_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_right.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="trim_right_if"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template trim_right_if</span></h2>
+<p>boost::algorithm::trim_right_if &#8212; Right trim - parametric. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> SequenceT, <span class="bold"><strong>typename</strong></span> PredicateT&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> trim_right_if(SequenceT &amp; Input, PredicateT IsSpace);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2774111"></a><h2>Description</h2>
+<p>Remove all trailing spaces from the input. The supplied predicate is used to determine which characters are considered spaces. The input sequence is modified in-place.</p>
+<p></p>
+<div class="variablelist">
+<p class="title"><b>Parameters</b></p>
+<dl>
+<dt><span class="term">Input</span></dt>
+<dd><p>An input sequence </p></dd>
+<dt><span class="term">IsSpace</span></dt>
+<dd><p>An unary predicate identifying spaces </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Pavol Droba</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trim_right_copy.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="string_algo/reference.html#id2573553"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="trim_right.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/try_mutex.html b/doc/html/try_mutex.html
new file mode 100644
index 0000000000..33e1c4c11d
--- /dev/null
+++ b/doc/html/try_mutex.html
@@ -0,0 +1,139 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class try_mutex</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id2534429" title="Header &lt;boost/thread/mutex.hpp&gt;">
+<link rel="prev" href="mutex.html" title="Class mutex">
+<link rel="next" href="timed_mutex.html" title="Class timed_mutex">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mutex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2534429"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="timed_mutex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="try_mutex"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class try_mutex</span></h2>
+<p>boost::try_mutex &#8212; <p>The <a href="try_mutex.html" title="Class try_mutex">try_mutex</a> class is a model of the
+ <a href="threads/concepts.html#threads.concepts.TryMutex" title="TryMutex Concept">TryMutex</a> concept.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> try_mutex : <span class="bold"><strong>private</strong></span> boost::noncopyable <span class="emphasis"><em>// Exposition only</em></span>
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_lock;    
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_try_lock;
+
+  <span class="emphasis"><em>// <a href="try_mutex.html#try_mutexconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="try_mutex.html#id2597718-bb">try_mutex</a>();
+  <a href="try_mutex.html#id2596969-bb">~try_mutex</a>();
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2781196"></a><h2>Description</h2>
+<p>The <a href="try_mutex.html" title="Class try_mutex">try_mutex</a> class is a model of the
+ <a href="threads/concepts.html#threads.concepts.TryMutex" title="TryMutex Concept">TryMutex</a> concept.
+ It should be used to synchronize access to shared resources using
+ <a href="threads/concepts.html#threads.concepts.unspecified-locking-strategy" title="Unspecified Locking Strategy">Unspecified</a>
+ locking mechanics.</p>
+<p>For classes that model related mutex concepts, see
+ <a href="mutex.html" title="Class mutex">mutex</a> and <a href="timed_mutex.html" title="Class timed_mutex">timed_mutex</a>.</p>
+<p>For <a href="threads/concepts.html#threads.concepts.recursive-locking-strategy" title="Recursive Locking Strategy">Recursive</a>
+ locking mechanics, see <a href="recursive_mutex.html" title="Class recursive_mutex">recursive_mutex</a>,
+ <a href="recursive_try_mutex.html" title="Class recursive_try_mutex">recursive_try_mutex</a>, and <a href="recursive_timed_mutex.html" title="Class recursive_timed_mutex">recursive_timed_mutex</a>.
+ </p>
+<p>The <a href="try_mutex.html" title="Class try_mutex">try_mutex</a> class supplies the following typedefs,
+ which <a href="threads/concepts.html#threads.concepts.lock-models" title="Lock Models">model</a>
+ the specified locking strategies:
+
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Lock Name</th>
+<th align="left">Lock Concept</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left">scoped_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedLock" title="ScopedLock Concept">ScopedLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_try_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedTryLock" title="ScopedTryLock Concept">ScopedTryLock</a></td>
+</tr>
+</tbody>
+</table></div>
+<p>The <a href="try_mutex.html" title="Class try_mutex">try_mutex</a> class uses an
+ <a href="threads/concepts.html#threads.concepts.unspecified-locking-strategy" title="Unspecified Locking Strategy">Unspecified</a>
+ locking strategy, so attempts to recursively lock a <a href="try_mutex.html" title="Class try_mutex">try_mutex</a>
+ object or attempts to unlock one by threads that don't own a lock on it result in
+ <span class="bold"><strong>undefined behavior</strong></span>.
+ This strategy allows implementations to be as efficient as possible
+ on any given platform. It is, however, recommended that
+ implementations include debugging support to detect misuse when
+ <code class="computeroutput">NDEBUG</code> is not defined.</p>
+<p>Like all
+ <a href="threads/concepts.html#threads.concepts.mutex-models" title="Mutex Models">mutex models</a>
+ in <span class="bold"><strong>Boost.Threads</strong></span>, <a href="try_mutex.html" title="Class try_mutex">try_mutex</a> leaves the
+ <a href="threads/concepts.html#threads.concepts.sheduling-policies" title="Scheduling Policies">scheduling policy</a>
+ as <a href="threads/concepts.html#threads.concepts.unspecified-scheduling-policy" title="Unspecified Policy">Unspecified</a>.
+ Programmers should make no assumptions about the order in which
+ waiting threads acquire a lock.</p>
+<div class="refsect2" lang="en">
+<a name="id2781416"></a><h3>
+<a name="try_mutexconstruct-copy-destruct"></a><code class="computeroutput">try_mutex</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2597718-bb"></a>try_mutex();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Constructs a <a href="try_mutex.html" title="Class try_mutex">try_mutex</a> object.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">*this</code> is in an unlocked state.
+ </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2596969-bb"></a>~try_mutex();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Destroys a <a href="try_mutex.html" title="Class try_mutex">try_mutex</a> object.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">*this</code> is in an unlocked state.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ <span class="bold"><strong>Danger:</strong></span> Destruction of a
+ locked mutex is a serious programming error resulting in undefined
+ behavior such as a program crash.</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mutex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2534429"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="timed_mutex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/try_read_write_mutex.html b/doc/html/try_read_write_mutex.html
new file mode 100644
index 0000000000..e5f5c091d6
--- /dev/null
+++ b/doc/html/try_read_write_mutex.html
@@ -0,0 +1,167 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class try_read_write_mutex</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id693680" title="Header &lt;boost/thread/read_write_mutex.hpp&gt;">
+<link rel="prev" href="read_write_mutex.html" title="Class read_write_mutex">
+<link rel="next" href="timed_read_write_mutex.html" title="Class timed_read_write_mutex">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="read_write_mutex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id693680"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="timed_read_write_mutex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="try_read_write_mutex"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class try_read_write_mutex</span></h2>
+<p>boost::try_read_write_mutex &#8212; <p>The <a href="try_read_write_mutex.html" title="Class try_read_write_mutex">try_read_write_mutex</a> class is a model of the
+ <a href="threads/concepts.html#threads.concepts.TryReadWriteMutex" title="TryReadWriteMutex Concept">TryReadWriteMutex</a> concept.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> try_read_write_mutex : <span class="bold"><strong>private</strong></span> boost::noncopyable <span class="emphasis"><em>// Exposition only</em></span>
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_read_write_lock;    
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_try_read_write_lock;
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_read_lock;          
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_try_read_lock;      
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_write_lock;         
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>implementation-defined</em></span> scoped_try_write_lock;     
+
+  <span class="emphasis"><em>// <a href="try_read_write_mutex.html#try_read_write_mutexconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="try_read_write_mutex.html#id1184940-bb">try_read_write_mutex</a>(boost::read_write_scheduling_policy);
+  <a href="try_read_write_mutex.html#id1150477-bb">~try_read_write_mutex</a>();
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id1562104"></a><h2>Description</h2>
+<p>The <a href="try_read_write_mutex.html" title="Class try_read_write_mutex">try_read_write_mutex</a> class is a model of the
+ <a href="threads/concepts.html#threads.concepts.TryReadWriteMutex" title="TryReadWriteMutex Concept">TryReadWriteMutex</a> concept.
+ It should be used to synchronize access to shared resources using
+ <a href="threads/concepts.html#threads.concepts.read-write-locking-strategies.unspecified" title="Unspecified Locking Strategy">Unspecified</a>
+ locking mechanics.</p>
+<p>For classes that model related mutex concepts, see
+ <a href="read_write_mutex.html" title="Class read_write_mutex">read_write_mutex</a> and <a href="timed_read_write_mutex.html" title="Class timed_read_write_mutex">timed_read_write_mutex</a>.</p>
+<p>The <a href="try_read_write_mutex.html" title="Class try_read_write_mutex">try_read_write_mutex</a> class supplies the following typedefs,
+ which <a href="threads/concepts.html#threads.concepts.read-write-lock-models" title="Lock Models">model</a>
+ the specified locking strategies:
+
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Lock Name</th>
+<th align="left">Lock Concept</th>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left">scoped_read_write_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedReadWriteLock" title="ScopedReadWriteLock Concept">ScopedReadWriteLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_try_read_write_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedTryReadWriteLock" title="ScopedTryReadWriteLock Expressions">ScopedTryReadWriteLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_read_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedLock" title="ScopedLock Concept">ScopedLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_try_read_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedTryLock" title="ScopedTryLock Concept">ScopedTryLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_write_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedLock" title="ScopedLock Concept">ScopedLock</a></td>
+</tr>
+<tr>
+<td align="left">scoped_try_write_lock</td>
+<td align="left"><a href="threads/concepts.html#threads.concepts.ScopedTryLock" title="ScopedTryLock Concept">ScopedTryLock</a></td>
+</tr>
+</tbody>
+</table></div>
+<p>The <a href="try_read_write_mutex.html" title="Class try_read_write_mutex">try_read_write_mutex</a> class uses an
+ <a href="threads/concepts.html#threads.concepts.read-write-locking-strategies.unspecified" title="Unspecified Locking Strategy">Unspecified</a>
+ locking strategy, so attempts to recursively lock a <a href="try_read_write_mutex.html" title="Class try_read_write_mutex">try_read_write_mutex</a>
+ object or attempts to unlock one by threads that don't own a lock on it result in
+ <span class="bold"><strong>undefined behavior</strong></span>.
+ This strategy allows implementations to be as efficient as possible
+ on any given platform. It is, however, recommended that
+ implementations include debugging support to detect misuse when
+ <code class="computeroutput">NDEBUG</code> is not defined.</p>
+<p>Like all
+ <a href="threads/concepts.html#threads.concepts.read-write-mutex-models" title="Mutex Models">read/write mutex models</a>
+ in , <a href="try_read_write_mutex.html" title="Class try_read_write_mutex">try_read_write_mutex</a> has two types of
+ <a href="threads/concepts.html#threads.concepts.read-write-scheduling-policies" title="Scheduling Policies">scheduling policies</a>, an
+ <a href="threads/concepts.html#threads.concepts.read-write-scheduling-policies.inter-class" title="Inter-Class Scheduling Policies">inter-class sheduling policy</a>
+ between threads trying to obtain different types of locks and an
+ <a href="threads/concepts.html#threads.concepts.read-write-scheduling-policies.intra-class" title="Intra-Class Scheduling Policies">intra-class sheduling policy</a>
+ between threads trying to obtain the same type of lock.
+ The <a href="try_read_write_mutex.html" title="Class try_read_write_mutex">try_read_write_mutex</a> class allows the
+ programmer to choose what
+ <a href="threads/concepts.html#threads.concepts.read-write-scheduling-policies.inter-class" title="Inter-Class Scheduling Policies">inter-class sheduling policy</a>
+ will be used; however, like all read/write mutex models,
+ <a href="try_read_write_mutex.html" title="Class try_read_write_mutex">try_read_write_mutex</a> leaves the
+ <a href="threads/concepts.html#threads.concepts.read-write-scheduling-policies.intra-class" title="Intra-Class Scheduling Policies">intra-class sheduling policy</a> as
+ <a href="threads/concepts.html#threads.concepts.unspecified-scheduling-policy" title="Unspecified Policy">Unspecified</a>.
+ </p>
+<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Note</h3>Self-deadlock is virtually guaranteed if a thread tries to
+ lock the same <a href="try_read_write_mutex.html" title="Class try_read_write_mutex">try_read_write_mutex</a> multiple times
+ unless all locks are read-locks (but see below)</div>
+<div class="refsect2" lang="en">
+<a name="id1562402"></a><h3>
+<a name="try_read_write_mutexconstruct-copy-destruct"></a><code class="computeroutput">try_read_write_mutex</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id1184940-bb"></a>try_read_write_mutex(boost::read_write_scheduling_policy count);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Constructs a <a href="try_read_write_mutex.html" title="Class try_read_write_mutex">try_read_write_mutex</a> object.
+ <br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">*this</code> is in an unlocked state.
+ </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id1150477-bb"></a>~try_read_write_mutex();</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Destroys a <a href="try_read_write_mutex.html" title="Class try_read_write_mutex">try_read_write_mutex</a> object.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Requires</span></b>:
+
+ <code class="computeroutput">*this</code> is in an unlocked state.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ <span class="bold"><strong>Danger:</strong></span> Destruction of a
+ locked mutex is a serious programming error resulting in undefined
+ behavior such as a program crash.</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="read_write_mutex.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id693680"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="timed_read_write_mutex.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/typed_value.html b/doc/html/typed_value.html
new file mode 100644
index 0000000000..a2918ed8f3
--- /dev/null
+++ b/doc/html/typed_value.html
@@ -0,0 +1,121 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template typed_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2379391" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="untyped_value.html" title="Class untyped_value">
+<link rel="next" href="value.html" title="Function value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="untyped_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2379391"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="typed_value"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template typed_value</span></h2>
+<p>boost::program_options::typed_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> typed_value
+ : : <span class="bold"><strong>public</strong></span> boost::program_options::value_semantic_codecvt_helper&lt; charT &gt;
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="typed_value.html#typed_valueconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="typed_value.html#id2355319-bb">typed_value</a>(T *);
+
+  <span class="emphasis"><em>// <a href="typed_value.html#id2368869-bb">public member functions</a></em></span>
+  <span class="type"><a href="typed_value.html" title="Class template typed_value">typed_value</a> *</span> <a href="typed_value.html#id2368874-bb">default_value</a>(<span class="bold"><strong>const</strong></span> T &amp;) ;
+  <span class="type"><a href="typed_value.html" title="Class template typed_value">typed_value</a> *</span> <a href="typed_value.html#id2382810-bb">default_value</a>(<span class="bold"><strong>const</strong></span> T &amp;, <span class="bold"><strong>const</strong></span> std::string &amp;) ;
+  <span class="type"><a href="typed_value.html" title="Class template typed_value">typed_value</a> *</span> <a href="typed_value.html#id2499519-bb">notifier</a>(function1&lt; <span class="bold"><strong>void</strong></span>, <span class="bold"><strong>const</strong></span> T &amp; &gt;) ;
+  <span class="type"><a href="typed_value.html" title="Class template typed_value">typed_value</a> *</span> <a href="typed_value.html#id2343248-bb">composing</a>() ;
+  <span class="type"><a href="typed_value.html" title="Class template typed_value">typed_value</a> *</span> <a href="typed_value.html#id2465855-bb">multitoken</a>() ;
+  <span class="type"><a href="typed_value.html" title="Class template typed_value">typed_value</a> *</span> <a href="typed_value.html#id2407468-bb">zero_tokens</a>() ;
+  <span class="type">std::string</span> <a href="typed_value.html#id2407482-bb">name</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="typed_value.html#id2407495-bb">is_composing</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>unsigned</strong></span></span> <a href="typed_value.html#id2456624-bb">min_tokens</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>unsigned</strong></span></span> <a href="typed_value.html#id2456636-bb">max_tokens</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="typed_value.html#id2456649-bb">xparse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::basic_string&lt; charT &gt; &gt; &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>bool</strong></span></span> <a href="typed_value.html#id2416145-bb">apply_default</a>(boost::any &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="typed_value.html#id2416178-bb">notify</a>(<span class="bold"><strong>const</strong></span> boost::any &amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2727390"></a><h2>Description</h2>
+<p>Class which handles value of a specific type. </p>
+<div class="refsect2" lang="en">
+<a name="id2727397"></a><h3>
+<a name="typed_valueconstruct-copy-destruct"></a><code class="computeroutput">typed_value</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><a name="id2355319-bb"></a>typed_value(T * store_to);</pre>
+<p>Ctor. The 'store_to' parameter tells where to store the value when it's known. The parameter can be NULL. </p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2727435"></a><h3>
+<a name="id2368869-bb"></a><code class="computeroutput">typed_value</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><a href="typed_value.html" title="Class template typed_value">typed_value</a> *</span> <a name="id2368874-bb"></a>default_value(<span class="bold"><strong>const</strong></span> T &amp; v) ;</pre>
+<p>Specifies default value, which will be used if none is explicitly specified. The type 'T' should provide operator&lt;&lt; for ostream. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a href="typed_value.html" title="Class template typed_value">typed_value</a> *</span> <a name="id2382810-bb"></a>default_value(<span class="bold"><strong>const</strong></span> T &amp; v, <span class="bold"><strong>const</strong></span> std::string &amp; textual) ;</pre>
+<p>Specifies default value, which will be used if none is explicitly specified. Unlike the above overload, the type 'T' need not provide operator&lt;&lt; for ostream, but textual representation of default value must be provided by the user. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a href="typed_value.html" title="Class template typed_value">typed_value</a> *</span> <a name="id2499519-bb"></a>notifier(function1&lt; <span class="bold"><strong>void</strong></span>, <span class="bold"><strong>const</strong></span> T &amp; &gt; f) ;</pre>
+<p>Specifies a function to be called when the final value is determined. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a href="typed_value.html" title="Class template typed_value">typed_value</a> *</span> <a name="id2343248-bb"></a>composing() ;</pre>
+<p>Specifies that the value is composing. See the 'is_composing' method for explanation. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a href="typed_value.html" title="Class template typed_value">typed_value</a> *</span> <a name="id2465855-bb"></a>multitoken() ;</pre>
+<p>Specifies that the value can span multiple tokens. </p>
+</li>
+<li><pre class="literallayout"><span class="type"><a href="typed_value.html" title="Class template typed_value">typed_value</a> *</span> <a name="id2407468-bb"></a>zero_tokens() ;</pre></li>
+<li><pre class="literallayout"><span class="type">std::string</span> <a name="id2407482-bb"></a>name() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2407495-bb"></a>is_composing() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span></span> <a name="id2456624-bb"></a>min_tokens() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span></span> <a name="id2456636-bb"></a>max_tokens() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2456649-bb"></a>xparse(boost::any &amp; value_store,
+            <span class="bold"><strong>const</strong></span> std::vector&lt; std::basic_string&lt; charT &gt; &gt; &amp; new_tokens) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Creates an instance of the 'validator' class and calls its operator() to perform athe ctual conversion. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>bool</strong></span></span> <a name="id2416145-bb"></a>apply_default(boost::any &amp; value_store) <span class="bold"><strong>const</strong></span>;</pre>
+<p>If default value was specified via previous call to 'default_value', stores that value into 'value_store'. Returns true if default value was stored. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2416178-bb"></a>notify(<span class="bold"><strong>const</strong></span> boost::any &amp; value_store) <span class="bold"><strong>const</strong></span>;</pre>
+<p>If an address of variable to store value was specified when creating *this, stores the value there. Otherwise, does nothing. </p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="untyped_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2379391"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/tz_db_base.html b/doc/html/tz_db_base.html
new file mode 100644
index 0000000000..8eabd94609
--- /dev/null
+++ b/doc/html/tz_db_base.html
@@ -0,0 +1,141 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template tz_db_base</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2433012" title="Header &lt;boost/date_time/tz_db_base.hpp&gt;">
+<link rel="prev" href="bad_field_count.html" title="Struct bad_field_count">
+<link rel="next" href="wrapping_int.html" title="Class template wrapping_int">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_field_count.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2433012"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="wrapping_int.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="tz_db_base"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template tz_db_base</span></h2>
+<p>boost::date_time::tz_db_base &#8212; Creates a database of time_zones from csv datafile. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_zone_type, <span class="bold"><strong>typename</strong></span> rule_type&gt;
+<span class="bold"><strong>class</strong></span> tz_db_base {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="bold"><strong>char</strong></span>                                         charT;                 
+  <span class="bold"><strong>typedef</strong></span> time_zone_type::base_type                    time_zone_base_type;   
+  <span class="bold"><strong>typedef</strong></span> time_zone_type::time_duration_type           time_duration_type;    
+  <span class="bold"><strong>typedef</strong></span> <a href="time_zone_names_base.html" title="Class template time_zone_names_base">time_zone_names_base</a>&lt; charT &gt;                time_zone_names;       
+  <span class="bold"><strong>typedef</strong></span> dst_adjustment_offsets&lt; time_duration_type &gt; dst_adjustment_offsets;
+  <span class="bold"><strong>typedef</strong></span> std::basic_string&lt; charT &gt;                   string_type;           
+
+  <span class="emphasis"><em>// <a href="tz_db_base.html#tz_db_baseconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="tz_db_base.html#id2466941-bb">tz_db_base</a>();
+
+  <span class="emphasis"><em>// <a href="tz_db_base.html#id2466797-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="tz_db_base.html#id2466801-bb">load_from_file</a>(<span class="bold"><strong>const</strong></span> std::string &amp;) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="tz_db_base.html#id2466837-bb">add_record</a>(<span class="bold"><strong>const</strong></span> string_type &amp;,
+                  boost::shared_ptr&lt; time_zone_base_type &gt;) ;
+  <span class="type">boost::shared_ptr&lt; time_zone_base_type &gt;</span>
+  <a href="tz_db_base.html#id2466885-bb">time_zone_from_region</a>(<span class="bold"><strong>const</strong></span> string_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">std::vector&lt; std::string &gt;</span> <a href="tz_db_base.html#id2466922-bb">region_list</a>() <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="tz_db_base.html#id2466948-bb">private member functions</a></em></span>
+  <span class="type">rule_type *</span> <a href="tz_db_base.html#id2466952-bb">parse_rules</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">week_num</span> <a href="tz_db_base.html#id2466989-bb">get_week_num</a>(<span class="bold"><strong>int</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="tz_db_base.html#id2462746-bb">split_rule_spec</a>(<span class="bold"><strong>int</strong></span> &amp;, <span class="bold"><strong>int</strong></span> &amp;, <span class="bold"><strong>int</strong></span> &amp;, string_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="tz_db_base.html#id2462804-bb">parse_string</a>(string_type &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2666031"></a><h2>Description</h2>
+<p>The csv file containing the zone_specs used by the tz_db_base is intended to be customized by the library user. When customizing this file (or creating your own) the file must follow a specific format.</p>
+<p>This first line is expected to contain column headings and is therefore not processed by the tz_db_base.</p>
+<p>Each record (line) must have eleven fields. Some of those fields can be empty. Every field (even empty ones) must be enclosed in double-quotes. Ex: </p>
+<pre class="programlisting"> "America/Phoenix" &lt;- string enclosed in quotes
+ "" &lt;- empty field
+</pre>
+<p>Some fields represent a length of time. The format of these fields must be: </p>
+<pre class="programlisting"> "{+|-}hh:mm[:ss]" &lt;- length-of-time format
+</pre>
+<p>Where the plus or minus is mandatory and the seconds are optional.</p>
+<p>Since some time zones do not use daylight savings it is not always necessary for every field in a zone_spec to contain a value. All zone_specs must have at least ID and GMT offset. Zones that use daylight savings must have all fields filled except: STD ABBR, STD NAME, DST NAME. You should take note that DST ABBR is mandatory for zones that use daylight savings (see field descriptions for further details).</p>
+<p>******* Fields and their description/details *********</p>
+<p>ID: Contains the identifying string for the zone_spec. Any string will do as long as it's unique. No two ID's can be the same.</p>
+<p>STD ABBR: STD NAME: DST ABBR: DST NAME: These four are all the names and abbreviations used by the time zone being described. While any string will do in these fields, care should be taken. These fields hold the strings that will be used in the output of many of the local_time classes. Ex: </p>
+<pre class="programlisting"> time_zone nyc = tz_db.time_zone_from_region("America/New_York");
+ local_time ny_time(date(2004, Aug, 30), IS_DST, nyc);
+ cout &lt;&lt; ny_time.to_long_string() &lt;&lt; endl;
+ // 2004-Aug-30 00:00:00 Eastern Daylight Time
+ cout &lt;&lt; ny_time.to_short_string() &lt;&lt; endl;
+ // 2004-Aug-30 00:00:00 EDT
+</pre>
+<p>NOTE: The exact format/function names may vary - see local_time documentation for further details.</p>
+<p>GMT offset: This is the number of hours added to utc to get the local time before any daylight savings adjustments are made. Some examples are: America/New_York offset -5 hours, &amp; Africa/Cairo offset +2 hours. The format must follow the length-of-time format described above.</p>
+<p>DST adjustment: The amount of time added to gmt_offset when daylight savings is in effect. The format must follow the length-of-time format described above.</p>
+<p>DST Start Date rule: This is a specially formatted string that describes the day of year in which the transition take place. It holds three fields of it's own, separated by semicolons. The first field indicates the "nth" weekday of the month. The possible values are: 1 (first), 2 (second), 3 (third), 4 (fourth), 5 (fifth), and -1 (last). The second field indicates the day-of-week from 0-6 (Sun=0). The third field indicates the month from 1-12 (Jan=1).</p>
+<p>Examples are: "-1;5;9"="Last Friday of September", "2;1;3"="Second Monday of March"</p>
+<p>Start time: Start time is the number of hours past midnight, on the day of the start transition, the transition takes place. More simply put, the time of day the transition is made (in 24 hours format). The format must follow the length-of-time format described above with the exception that it must always be positive.</p>
+<p>DST End date rule: See DST Start date rule. The difference here is this is the day daylight savings ends (transition to STD).</p>
+<p>End time: Same as Start time. </p>
+<div class="refsect2" lang="en">
+<a name="id2666153"></a><h3>
+<a name="tz_db_baseconstruct-copy-destruct"></a><code class="computeroutput">tz_db_base</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2466941-bb"></a>tz_db_base();</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2666186"></a><h3>
+<a name="id2466797-bb"></a><code class="computeroutput">tz_db_base</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2466801-bb"></a>load_from_file(<span class="bold"><strong>const</strong></span> std::string &amp; pathspec) ;</pre>
+<p>May throw data_not_accessible, or bad_field_count exceptions </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2466837-bb"></a>add_record(<span class="bold"><strong>const</strong></span> string_type &amp; id,
+                boost::shared_ptr&lt; time_zone_base_type &gt; tz) ;</pre>
+<p>Takes an id string in the form of "America/Phoenix", and a time_zone object for that region. The id string must be a unique name that does not already exist in the database. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">boost::shared_ptr&lt; time_zone_base_type &gt;</span>
+<a name="id2466885-bb"></a>time_zone_from_region(<span class="bold"><strong>const</strong></span> string_type &amp; region) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns a time_zone object built from the specs for the given region. If region does not exist a local_time::record_not_found exception will be thrown </p>
+</li>
+<li><pre class="literallayout"><span class="type">std::vector&lt; std::string &gt;</span> <a name="id2466922-bb"></a>region_list() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2666328"></a><h3>
+<a name="id2466948-bb"></a><code class="computeroutput">tz_db_base</code> private member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">rule_type *</span> <a name="id2466952-bb"></a>parse_rules(<span class="bold"><strong>const</strong></span> string_type &amp; sr, <span class="bold"><strong>const</strong></span> string_type &amp; er) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">week_num</span> <a name="id2466989-bb"></a>get_week_num(<span class="bold"><strong>int</strong></span> nth) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2462746-bb"></a>split_rule_spec(<span class="bold"><strong>int</strong></span> &amp; nth, <span class="bold"><strong>int</strong></span> &amp; d, <span class="bold"><strong>int</strong></span> &amp; m, string_type rule) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2462804-bb"></a>parse_string(string_type &amp; s) ;</pre>
+<p>Take a line from the csv, turn it into a time_zone_type, and add it to the map. Zone_specs in csv file are expected to have eleven fields that describe the time zone. Returns true if zone_spec successfully added to database </p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_field_count.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2433012"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="wrapping_int.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/uk_dst_trait.html b/doc/html/uk_dst_trait.html
new file mode 100644
index 0000000000..5b2fa83bc1
--- /dev/null
+++ b/doc/html/uk_dst_trait.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct template uk_dst_trait</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2503510" title="Header &lt;boost/date_time/local_timezone_defs.hpp&gt;">
+<link rel="prev" href="eu_dst_trait.html" title="Struct template eu_dst_trait">
+<link rel="next" href="acst_dst_trait.html" title="Struct template acst_dst_trait">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="eu_dst_trait.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2503510"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="acst_dst_trait.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="uk_dst_trait"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template uk_dst_trait</span></h2>
+<p>boost::date_time::uk_dst_trait &#8212; Alternative dst traits for some parts of the United Kingdom. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt;
+<span class="bold"><strong>struct</strong></span> uk_dst_trait : <span class="bold"><strong>public</strong></span> boost::date_time::eu_dst_trait&lt; date_type &gt; {
+
+  <span class="emphasis"><em>// <a href="uk_dst_trait.html#id2342062-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>int</strong></span></span> <a href="uk_dst_trait.html#id2518051-bb">dst_start_offset_minutes</a>() ;
+  <span class="type"><span class="bold"><strong>int</strong></span></span> <a href="uk_dst_trait.html#id2518063-bb">dst_end_offset_minutes</a>() ;
+  <span class="type"><span class="bold"><strong>int</strong></span></span> <a href="uk_dst_trait.html#id2399657-bb">dst_shift_length_minutes</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2644673"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2644676"></a><h3>
+<a name="id2342062-bb"></a><code class="computeroutput">uk_dst_trait</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="id2518051-bb"></a>dst_start_offset_minutes() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="id2518063-bb"></a>dst_end_offset_minutes() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="id2399657-bb"></a>dst_shift_length_minutes() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="eu_dst_trait.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2503510"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="acst_dst_trait.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/unknown_option.html b/doc/html/unknown_option.html
new file mode 100644
index 0000000000..4b133d51f0
--- /dev/null
+++ b/doc/html/unknown_option.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class unknown_option</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2399042" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="invalid_syntax.html" title="Class invalid_syntax">
+<link rel="next" href="ambiguous_option.html" title="Class ambiguous_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="invalid_syntax.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ambiguous_option.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="unknown_option"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class unknown_option</span></h2>
+<p>boost::program_options::unknown_option &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> unknown_option : <span class="bold"><strong>public</strong></span> boost::program_options::error {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="unknown_option.html#unknown_optionconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="unknown_option.html#id2350257-bb">unknown_option</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+
+  <span class="emphasis"><em>// <a href="unknown_option.html#id2512117-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2718483"></a><h2>Description</h2>
+<p>Class thrown when option name is not recognized. </p>
+<div class="refsect2" lang="en">
+<a name="id2718490"></a><h3>
+<a name="unknown_optionconstruct-copy-destruct"></a><code class="computeroutput">unknown_option</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2350257-bb"></a>unknown_option(<span class="bold"><strong>const</strong></span> std::string &amp; name);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2718530"></a><h3>
+<a name="id2512117-bb"></a><code class="computeroutput">unknown_option</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="invalid_syntax.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ambiguous_option.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/untyped_value.html b/doc/html/untyped_value.html
new file mode 100644
index 0000000000..8b13e46d1e
--- /dev/null
+++ b/doc/html/untyped_value.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class untyped_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2379391" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="id2381519-bb.html" title="Class value_semantic_codecvt_helper&lt;wchar_t&gt;">
+<link rel="next" href="typed_value.html" title="Class template typed_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2381519-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2379391"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="typed_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="untyped_value"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class untyped_value</span></h2>
+<p>boost::program_options::untyped_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> untyped_value
+ : : <span class="bold"><strong>public</strong></span> boost::program_options::value_semantic_codecvt_helper&lt; charT &gt;
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="untyped_value.html#untyped_valueconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="untyped_value.html#id2344924-bb">untyped_value</a>(<span class="bold"><strong>bool</strong></span> = false);
+
+  <span class="emphasis"><em>// <a href="untyped_value.html#id2495337-bb">public member functions</a></em></span>
+  <span class="type">std::string</span> <a href="untyped_value.html#id2495341-bb">name</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>unsigned</strong></span></span> <a href="untyped_value.html#id2349205-bb">min_tokens</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>unsigned</strong></span></span> <a href="untyped_value.html#id2349217-bb">max_tokens</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="untyped_value.html#id2349230-bb">is_composing</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="untyped_value.html#id2412415-bb">xparse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="untyped_value.html#id2420783-bb">apply_default</a>(boost::any &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="untyped_value.html#id2348616-bb">notify</a>(<span class="bold"><strong>const</strong></span> boost::any &amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2726722"></a><h2>Description</h2>
+<p>Class which specifies a simple handling of a value: the value will have string type and only one token is allowed. </p>
+<div class="refsect2" lang="en">
+<a name="id2726730"></a><h3>
+<a name="untyped_valueconstruct-copy-destruct"></a><code class="computeroutput">untyped_value</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2344924-bb"></a>untyped_value(<span class="bold"><strong>bool</strong></span> zero_tokens = false);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2726769"></a><h3>
+<a name="id2495337-bb"></a><code class="computeroutput">untyped_value</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">std::string</span> <a name="id2495341-bb"></a>name() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span></span> <a name="id2349205-bb"></a>min_tokens() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span></span> <a name="id2349217-bb"></a>max_tokens() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2349230-bb"></a>is_composing() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2412415-bb"></a>xparse(boost::any &amp; value_store,
+            <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp; new_tokens) <span class="bold"><strong>const</strong></span>;</pre>
+<p>If 'value_store' is already initialized, or new_tokens has more than one elements, throws. Otherwise, assigns the first string from 'new_tokens' to 'value_store', without any modifications. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2420783-bb"></a>apply_default(boost::any &amp; ) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Does nothing. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2348616-bb"></a>notify(<span class="bold"><strong>const</strong></span> boost::any &amp; ) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Does nothing. </p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2381519-bb.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2379391"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="typed_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/unwrap_recursive_wrapper.html b/doc/html/unwrap_recursive_wrapper.html
new file mode 100644
index 0000000000..716bad847b
--- /dev/null
+++ b/doc/html/unwrap_recursive_wrapper.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template unwrap_recursive_wrapper</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2644455" title="Header &lt;boost/variant/recursive_wrapper.hpp&gt;">
+<link rel="prev" href="is_recursive_wrapper.html" title="Class template is_recursive_wrapper">
+<link rel="next" href="apply_visitor_delayed_t.html" title="Class template apply_visitor_delayed_t">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_recursive_wrapper.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2644455"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="apply_visitor_delayed_t.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="unwrap_recursive_wrapper"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template unwrap_recursive_wrapper</span></h2>
+<p>boost::unwrap_recursive_wrapper &#8212; <p>Unwraps the specified argument if given a specialization of
+ <code class="computeroutput"><a href="recursive_wrapper.html" title="Class template recursive_wrapper">recursive_wrapper</a></code>.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+<span class="bold"><strong>class</strong></span> unwrap_recursive_wrapper {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> type;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2837760"></a><h2>Description</h2>
+<p><code class="computeroutput">type</code> is equivalent to <code class="computeroutput">T::type</code> if
+ <code class="computeroutput">T</code> is a specialization of
+ <code class="computeroutput"><a href="recursive_wrapper.html" title="Class template recursive_wrapper">recursive_wrapper</a></code>. Otherwise,
+ <code class="computeroutput">type</code> is equivalent to <code class="computeroutput">T</code>.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_recursive_wrapper.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2644455"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="apply_visitor_delayed_t.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/unwrap_reference.html b/doc/html/unwrap_reference.html
new file mode 100644
index 0000000000..0c0016d7be
--- /dev/null
+++ b/doc/html/unwrap_reference.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template unwrap_reference</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="ref/reference.html#header.boost.ref.hpp" title="Header &lt;boost/ref.hpp&gt;">
+<link rel="prev" href="is_reference_wrapper.html" title="Class template is_reference_wrapper">
+<link rel="next" href="ref/ack.html" title="Acknowledgements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_reference_wrapper.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="ref/reference.html#header.boost.ref.hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ref/ack.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="unwrap_reference"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template unwrap_reference</span></h2>
+<p>boost::unwrap_reference &#8212; Find the type in a <code class="computeroutput"><a href="reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a></code>.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+<span class="bold"><strong>class</strong></span> unwrap_reference {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> type;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2731081"></a><h2>Description</h2>
+<p>The typedef <code class="computeroutput">type</code> is
+ <code class="computeroutput">T::type</code> if
+ <code class="computeroutput">T</code> is a
+ <code class="computeroutput"><a href="reference_wrapper.html" title="Class template reference_wrapper">reference_wrapper</a></code>,
+ <code class="computeroutput">T</code> otherwise.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 1999, 2000 Jaakko Järvi<br>Copyright © 2001, 2002 Peter Dimov<br>Copyright © 2002 David Abrahams</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_reference_wrapper.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="ref/reference.html#header.boost.ref.hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ref/ack.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/us_dst_rules.html b/doc/html/us_dst_rules.html
new file mode 100644
index 0000000000..6fd19ede66
--- /dev/null
+++ b/doc/html/us_dst_rules.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template us_dst_rules</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2510544" title="Header &lt;boost/date_time/dst_rules.hpp&gt;">
+<link rel="prev" href="dst_calc_engine.html" title="Class template dst_calc_engine">
+<link rel="next" href="null_dst_rules.html" title="Class template null_dst_rules">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dst_calc_engine.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2510544"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="null_dst_rules.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="us_dst_rules"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template us_dst_rules</span></h2>
+<p>boost::date_time::us_dst_rules &#8212; Depricated: Class to calculate dst boundaries for US time zones. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type_, <span class="bold"><strong>typename</strong></span> time_duration_type_,
+         <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> dst_start_offset_minutes = ,
+         <span class="bold"><strong>short</strong></span> dst_length_minutes = &gt;
+<span class="bold"><strong>class</strong></span> us_dst_rules {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> time_duration_type_                             time_duration_type;
+  <span class="bold"><strong>typedef</strong></span> date_type_                                      date_type;         
+  <span class="bold"><strong>typedef</strong></span> date_type::year_type                            year_type;         
+  <span class="bold"><strong>typedef</strong></span> date_type::calendar_type                        calendar_type;     
+  <span class="bold"><strong>typedef</strong></span> <a href="last_kday_of_month.html" title="Class template last_kday_of_month">date_time::last_kday_of_month</a>&lt; date_type &gt;      lkday;             
+  <span class="bold"><strong>typedef</strong></span> <a href="first_kday_of_month.html" title="Class template first_kday_of_month">date_time::first_kday_of_month</a>&lt; date_type &gt;     fkday;             
+  <span class="bold"><strong>typedef</strong></span> <a href="dst_calculator.html" title="Class template dst_calculator">dst_calculator</a>&lt; date_type, time_duration_type &gt; dstcalc;           
+
+  <span class="emphasis"><em>// <a href="us_dst_rules.html#id2423945-bb">public static functions</a></em></span>
+  <span class="type">time_is_dst_result</span>
+  <a href="us_dst_rules.html#id2477936-bb">local_is_dst</a>(<span class="bold"><strong>const</strong></span> date_type &amp;, <span class="bold"><strong>const</strong></span> time_duration_type &amp;) ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="us_dst_rules.html#id2496758-bb">is_dst_boundary_day</a>(date_type) ;
+  <span class="type">date_type</span> <a href="us_dst_rules.html#id2446928-bb">local_dst_start_day</a>(year_type) ;
+  <span class="type">date_type</span> <a href="us_dst_rules.html#id2446562-bb">local_dst_end_day</a>(year_type) ;
+  <span class="type">time_duration_type</span> <a href="us_dst_rules.html#id2428416-bb">dst_offset</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2632842"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2632846"></a><h3>
+<a name="id2423945-bb"></a><code class="computeroutput">us_dst_rules</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type">time_is_dst_result</span>
+<a name="id2477936-bb"></a>local_is_dst(<span class="bold"><strong>const</strong></span> date_type &amp; d, <span class="bold"><strong>const</strong></span> time_duration_type &amp; td) ;</pre>
+<p>Determines if the time is really in DST or not. Also checks for invalid and ambiguous.
+</p>
+</li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2496758-bb"></a>is_dst_boundary_day(date_type d) ;</pre></li>
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2446928-bb"></a>local_dst_start_day(year_type year) ;</pre></li>
+<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2446562-bb"></a>local_dst_end_day(year_type year) ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_duration_type</span> <a name="id2428416-bb"></a>dst_offset() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dst_calc_engine.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2510544"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="null_dst_rules.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/us_dst_trait.html b/doc/html/us_dst_trait.html
new file mode 100644
index 0000000000..7ef32b2eea
--- /dev/null
+++ b/doc/html/us_dst_trait.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct template us_dst_trait</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2503510" title="Header &lt;boost/date_time/local_timezone_defs.hpp&gt;">
+<link rel="prev" href="local_adjustor.html" title="Class template local_adjustor">
+<link rel="next" href="eu_dst_trait.html" title="Struct template eu_dst_trait">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local_adjustor.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2503510"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="eu_dst_trait.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="us_dst_trait"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template us_dst_trait</span></h2>
+<p>boost::date_time::us_dst_trait &#8212; Specification for daylight savings start rules in US. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt;
+<span class="bold"><strong>struct</strong></span> us_dst_trait {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::day_of_week_type                 day_of_week_type;  
+  <span class="bold"><strong>typedef</strong></span> date_type::month_type                       month_type;        
+  <span class="bold"><strong>typedef</strong></span> <a href="first_kday_of_month.html" title="Class template first_kday_of_month">date_time::first_kday_of_month</a>&lt; date_type &gt; start_rule_functor;
+  <span class="bold"><strong>typedef</strong></span> <a href="last_kday_of_month.html" title="Class template last_kday_of_month">date_time::last_kday_of_month</a>&lt; date_type &gt;  end_rule_functor;  
+
+  <span class="emphasis"><em>// <a href="us_dst_trait.html#id2423374-bb">public static functions</a></em></span>
+  <span class="type">day_of_week_type</span> <a href="us_dst_trait.html#id2423379-bb">start_day</a>() ;
+  <span class="type">month_type</span> <a href="us_dst_trait.html#id2414361-bb">start_month</a>() ;
+  <span class="type">day_of_week_type</span> <a href="us_dst_trait.html#id2414373-bb">end_day</a>() ;
+  <span class="type">month_type</span> <a href="us_dst_trait.html#id2512623-bb">end_month</a>() ;
+  <span class="type"><span class="bold"><strong>int</strong></span></span> <a href="us_dst_trait.html#id2512636-bb">dst_start_offset_minutes</a>() ;
+  <span class="type"><span class="bold"><strong>int</strong></span></span> <a href="us_dst_trait.html#id2471210-bb">dst_end_offset_minutes</a>() ;
+  <span class="type"><span class="bold"><strong>int</strong></span></span> <a href="us_dst_trait.html#id2471222-bb">dst_shift_length_minutes</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2644086"></a><h2>Description</h2>
+<p>This class is used to configure dst_calc_engine template typically as follows: </p>
+<pre class="programlisting"> using namespace boost::gregorian;
+ using namespace boost::posix_time;
+ typedef us_dst_trait&lt;date&gt; us_dst_traits;
+ typedef boost::date_time::dst_calc_engine&lt;date, time_duration,
+ us_dst_traits&gt;
+ us_dst_calc;
+ //calculate the 2002 transition day of USA April 7 2002
+ date dst_start = us_dst_calc::local_dst_start_day(2002);
+
+ //calculate the 2002 transition day of USA Oct 27 2002
+ date dst_end = us_dst_calc::local_dst_end_day(2002);
+
+ //check if a local time is in dst or not -- posible answers
+ //are yes, no, invalid time label, ambiguous
+ ptime t(...some time...);
+ if (us_dst::local_is_dst(t.date(), t.time_of_day())
+ == boost::date_time::is_not_in_dst)
+ {
+
+ }
+</pre>
+<p>This generates a type suitable for the calculation of dst transitions for the United States. Of course other templates can be used for other locales. </p>
+<div class="refsect2" lang="en">
+<a name="id2644142"></a><h3>
+<a name="id2423374-bb"></a><code class="computeroutput">us_dst_trait</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">day_of_week_type</span> <a name="id2423379-bb"></a>start_day() ;</pre></li>
+<li><pre class="literallayout"><span class="type">month_type</span> <a name="id2414361-bb"></a>start_month() ;</pre></li>
+<li><pre class="literallayout"><span class="type">day_of_week_type</span> <a name="id2414373-bb"></a>end_day() ;</pre></li>
+<li><pre class="literallayout"><span class="type">month_type</span> <a name="id2512623-bb"></a>end_month() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="id2512636-bb"></a>dst_start_offset_minutes() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="id2471210-bb"></a>dst_end_offset_minutes() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="id2471222-bb"></a>dst_shift_length_minutes() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local_adjustor.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2503510"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="eu_dst_trait.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/utc_adjustment.html b/doc/html/utc_adjustment.html
new file mode 100644
index 0000000000..9ca9d56fdc
--- /dev/null
+++ b/doc/html/utc_adjustment.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template utc_adjustment</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2485115" title="Header &lt;boost/date_time/local_time_adjustor.hpp&gt;">
+<link rel="prev" href="iso_extended_format.html" title="Class template iso_extended_format">
+<link rel="next" href="id2434970.html" title="Class template dynamic_local_time_adjustor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iso_extended_format.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2485115"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2434970.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="utc_adjustment"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template utc_adjustment</span></h2>
+<p>boost::date_time::utc_adjustment &#8212; Provides a base offset adjustment from utc. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> time_duration_type, <span class="bold"><strong>short</strong></span> hours, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>short</strong></span> minutes = &gt;
+<span class="bold"><strong>class</strong></span> utc_adjustment {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="utc_adjustment.html#id2413201-bb">public static functions</a></em></span>
+  <span class="type">time_duration_type</span> <a href="utc_adjustment.html#id2413206-bb">local_to_utc_base_offset</a>() ;
+  <span class="type">time_duration_type</span> <a href="utc_adjustment.html#id2434955-bb">utc_to_local_base_offset</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2642404"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2642408"></a><h3>
+<a name="id2413201-bb"></a><code class="computeroutput">utc_adjustment</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">time_duration_type</span> <a name="id2413206-bb"></a>local_to_utc_base_offset() ;</pre></li>
+<li><pre class="literallayout"><span class="type">time_duration_type</span> <a name="id2434955-bb"></a>utc_to_local_base_offset() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iso_extended_format.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2485115"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2434970.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/validation_error.html b/doc/html/validation_error.html
new file mode 100644
index 0000000000..0fb2f283c5
--- /dev/null
+++ b/doc/html/validation_error.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class validation_error</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2399042" title="Header &lt;boost/program_options/errors.hpp&gt;">
+<link rel="prev" href="multiple_occurrences.html" title="Class multiple_occurrences">
+<link rel="next" href="invalid_option_value.html" title="Class invalid_option_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="multiple_occurrences.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="invalid_option_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="validation_error"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class validation_error</span></h2>
+<p>boost::program_options::validation_error &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> validation_error : <span class="bold"><strong>public</strong></span> boost::program_options::error {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="validation_error.html#validation_errorconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="validation_error.html#id2524851-bb">validation_error</a>(<span class="bold"><strong>const</strong></span> std::string &amp;);
+  <a href="validation_error.html#id2524865-bb">~validation_error</a>();
+
+  <span class="emphasis"><em>// <a href="validation_error.html#id2340618-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="validation_error.html#id2340623-bb">set_option_name</a>(<span class="bold"><strong>const</strong></span> std::string &amp;) ;
+
+  <span class="emphasis"><em>// <a href="validation_error.html#id2524868-bb">private member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a href="validation_error.html#id2371265-bb">what</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2719165"></a><h2>Description</h2>
+<p>Class thrown when value of option is incorrect. </p>
+<div class="refsect2" lang="en">
+<a name="id2719171"></a><h3>
+<a name="validation_errorconstruct-copy-destruct"></a><code class="computeroutput">validation_error</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2524851-bb"></a>validation_error(<span class="bold"><strong>const</strong></span> std::string &amp; what);</pre></li>
+<li><pre class="literallayout"><a name="id2524865-bb"></a>~validation_error();</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2719226"></a><h3>
+<a name="id2340618-bb"></a><code class="computeroutput">validation_error</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2340623-bb"></a>set_option_name(<span class="bold"><strong>const</strong></span> std::string &amp; option) ;</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2719271"></a><h3>
+<a name="id2524868-bb"></a><code class="computeroutput">validation_error</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>char</strong></span> *</span> <a name="id2371265-bb"></a>what() <span class="bold"><strong>const</strong></span>;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="multiple_occurrences.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2399042"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="invalid_option_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/value.html b/doc/html/value.html
new file mode 100644
index 0000000000..6210de2f1b
--- /dev/null
+++ b/doc/html/value.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2379391" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="typed_value.html" title="Class template typed_value">
+<link rel="next" href="wvalue.html" title="Function wvalue">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="typed_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2379391"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="wvalue.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="value"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function value</span></h2>
+<p>boost::program_options::value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type"><a href="typed_value.html" title="Class template typed_value">typed_value</a>&lt; T &gt; *</span> value();
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type"><a href="typed_value.html" title="Class template typed_value">typed_value</a>&lt; T &gt; *</span> value(T * v);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2727926"></a><h2>Description</h2>
+<p>Creates a typed_value&lt;T&gt; instance. This function is the primary method to create value_semantic instance for a specific type, which can later be passed to 'option_description' constructor. The second overload is used when it's additionally desired to store the value of option into program variable. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="typed_value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2379391"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="wvalue.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/value_semantic.html b/doc/html/value_semantic.html
new file mode 100644
index 0000000000..0425d355d9
--- /dev/null
+++ b/doc/html/value_semantic.html
@@ -0,0 +1,103 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class value_semantic</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2379391" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="id2525902.html" title="Class positional_options_description">
+<link rel="next" href="id2284769.html" title="Class template value_semantic_codecvt_helper">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2525902.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2379391"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2284769.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="value_semantic"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class value_semantic</span></h2>
+<p>boost::program_options::value_semantic &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> value_semantic {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="value_semantic.html#value_semanticconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="value_semantic.html#id2284765-bb">~value_semantic</a>();
+
+  <span class="emphasis"><em>// <a href="value_semantic.html#id2379418-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="value_semantic.html#id2379423-bb">name</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>unsigned</strong></span></span> <a href="value_semantic.html#id2413390-bb">min_tokens</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>unsigned</strong></span></span> <a href="value_semantic.html#id2376494-bb">max_tokens</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>bool</strong></span></span> <a href="value_semantic.html#id2376514-bb">is_composing</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span>
+  <a href="value_semantic.html#id2378563-bb">parse</a>(boost::any &amp;, <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp;, <span class="bold"><strong>bool</strong></span>) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>bool</strong></span></span> <a href="value_semantic.html#id2421502-bb">apply_default</a>(boost::any &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a href="value_semantic.html#id2438655-bb">notify</a>(<span class="bold"><strong>const</strong></span> boost::any &amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2725560"></a><h2>Description</h2>
+<p>Class which specifies how the option's value is to be parsed and converted into C++ types. </p>
+<div class="refsect2" lang="en">
+<a name="id2725568"></a><h3>
+<a name="value_semanticconstruct-copy-destruct"></a><code class="computeroutput">value_semantic</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2284765-bb"></a>~value_semantic();</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2725601"></a><h3>
+<a name="id2379418-bb"></a><code class="computeroutput">value_semantic</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2379423-bb"></a>name() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns the name of the option. The name is only meaningful for automatic help message. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>unsigned</strong></span></span> <a name="id2413390-bb"></a>min_tokens() <span class="bold"><strong>const</strong></span>;</pre>
+<p>The minimum number of tokens for this option that should be present on the command line. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>unsigned</strong></span></span> <a name="id2376494-bb"></a>max_tokens() <span class="bold"><strong>const</strong></span>;</pre>
+<p>The maximum number of tokens for this option that should be present on the command line. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>bool</strong></span></span> <a name="id2376514-bb"></a>is_composing() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns true if values from different sources should be composed. Otherwise, value from the first source is used and values from other sources are discarded. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span>
+<a name="id2378563-bb"></a>parse(boost::any &amp; value_store, <span class="bold"><strong>const</strong></span> std::vector&lt; std::string &gt; &amp; new_tokens,
+      <span class="bold"><strong>bool</strong></span> utf8) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Parses a group of tokens that specify a value of option. Stores the result in 'value_store', using whatever representation is desired. May be be called several times if value of the same option is specified more than once. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>bool</strong></span></span> <a name="id2421502-bb"></a>apply_default(boost::any &amp; value_store) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Called to assign default value to 'value_store'. Returns true if default value is assigned, and false if no default value exists. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2438655-bb"></a>notify(<span class="bold"><strong>const</strong></span> boost::any &amp; value_store) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Called when final value of an option is determined. </p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2525902.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2379391"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2284769.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/var_string_to_int.html b/doc/html/var_string_to_int.html
new file mode 100644
index 0000000000..a8c066a931
--- /dev/null
+++ b/doc/html/var_string_to_int.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template var_string_to_int</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2400160" title="Header &lt;boost/date_time/format_date_parser.hpp&gt;">
+<link rel="prev" href="fixed_string_to_int.html" title="Function template fixed_string_to_int">
+<link rel="next" href="gregorian_calendar_base.html" title="Class template gregorian_calendar_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="fixed_string_to_int.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2400160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="gregorian_calendar_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="var_string_to_int"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template var_string_to_int</span></h2>
+<p>boost::date_time::var_string_to_int &#8212; Helper function for parsing varied length strings into integers. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> int_type, <span class="bold"><strong>typename</strong></span> charT&gt;
+  <span class="type">int_type</span> var_string_to_int(std::istreambuf_iterator&lt; charT &gt; &amp; itr,
+                             std::istreambuf_iterator&lt; charT &gt; &amp; stream_end,
+                             <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> max_length);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2635914"></a><h2>Description</h2>
+<p>Will consume 'max_length' characters from stream only if those characters are digits. Returns '-1' if no number can be parsed. Will not parse a number preceeded by a '+' or '-'. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="fixed_string_to_int.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2400160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="gregorian_calendar_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/variable_value.html b/doc/html/variable_value.html
new file mode 100644
index 0000000000..e455f33066
--- /dev/null
+++ b/doc/html/variable_value.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class variable_value</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2524541" title="Header &lt;boost/program_options/variables_map.hpp&gt;">
+<link rel="prev" href="bool_switch.html" title="Function bool_switch">
+<link rel="next" href="abstract_variables_map.html" title="Class abstract_variables_map">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bool_switch.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2524541"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="abstract_variables_map.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="variable_value"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class variable_value</span></h2>
+<p>boost::program_options::variable_value &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> variable_value {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="variable_value.html#variable_valueconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="variable_value.html#id2452057-bb">variable_value</a>();
+  <a href="variable_value.html#id2452059-bb">variable_value</a>(<span class="bold"><strong>const</strong></span> boost::any &amp;, <span class="bold"><strong>bool</strong></span>);
+
+  <span class="emphasis"><em>// <a href="variable_value.html#id2341076-bb">public member functions</a></em></span>
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type"><span class="bold"><strong>const</strong></span> T &amp;</span> <a href="variable_value.html#id2341081-bb">as</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">T &amp;</span> <a href="variable_value.html#id2380778-bb">as</a>() ;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="variable_value.html#id2380808-bb">empty</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="variable_value.html#id2378486-bb">defaulted</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>const</strong></span> boost::any &amp;</span> <a href="variable_value.html#id2378507-bb">value</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">boost::any &amp;</span> <a href="variable_value.html#id2336963-bb">value</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2728518"></a><h2>Description</h2>
+<p>Class holding value of option. Contains details about how the value is set and allows to conveniently obtain the value. </p>
+<div class="refsect2" lang="en">
+<a name="id2728526"></a><h3>
+<a name="variable_valueconstruct-copy-destruct"></a><code class="computeroutput">variable_value</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2452057-bb"></a>variable_value();</pre></li>
+<li><pre class="literallayout"><a name="id2452059-bb"></a>variable_value(<span class="bold"><strong>const</strong></span> boost::any &amp; v, <span class="bold"><strong>bool</strong></span> defaulted);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2728586"></a><h3>
+<a name="id2341076-bb"></a><code class="computeroutput">variable_value</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type"><span class="bold"><strong>const</strong></span> T &amp;</span> <a name="id2341081-bb"></a>as() <span class="bold"><strong>const</strong></span>;</pre>
+<p>If stored value if of type T, returns that value. Otherwise, throws boost::bad_any_cast exception. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">T &amp;</span> <a name="id2380778-bb"></a>as() ;</pre>
+<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
+</li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2380808-bb"></a>empty() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2378486-bb"></a>defaulted() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns true if the value was not explicitly given, but has default value. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> boost::any &amp;</span> <a name="id2378507-bb"></a>value() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns the contained value. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">boost::any &amp;</span> <a name="id2336963-bb"></a>value() ;</pre>
+<p>Returns the contained value. </p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bool_switch.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2524541"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="abstract_variables_map.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/variables_map.html b/doc/html/variables_map.html
new file mode 100644
index 0000000000..6736956287
--- /dev/null
+++ b/doc/html/variables_map.html
@@ -0,0 +1,100 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class variables_map</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2524541" title="Header &lt;boost/program_options/variables_map.hpp&gt;">
+<link rel="prev" href="abstract_variables_map.html" title="Class abstract_variables_map">
+<link rel="next" href="id2349650.html" title="Function store">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="abstract_variables_map.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2524541"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2349650.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="variables_map"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class variables_map</span></h2>
+<p>boost::program_options::variables_map &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>class</strong></span> variables_map
+ : : <span class="bold"><strong>public</strong></span> boost::program_options::abstract_variables_map
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="variables_map.html#variables_mapconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="variables_map.html#id2425267-bb">variables_map</a>();
+  <a href="variables_map.html#id2425269-bb">variables_map</a>(<span class="bold"><strong>const</strong></span> <a href="abstract_variables_map.html" title="Class abstract_variables_map">abstract_variables_map</a> *);
+
+  <span class="emphasis"><em>// <a href="variables_map.html#id2359634-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>const</strong></span> <a href="variable_value.html" title="Class variable_value">variable_value</a> &amp;</span> <a href="variables_map.html#id2359639-bb"><span class="bold"><strong>operator</strong></span>[]</a>(<span class="bold"><strong>const</strong></span> std::string &amp;) <span class="bold"><strong>const</strong></span>;
+
+  <span class="emphasis"><em>// <a href="variables_map.html#id2425287-bb">private member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>const</strong></span> <a href="variable_value.html" title="Class variable_value">variable_value</a> &amp;</span> <a href="variables_map.html#id2425291-bb">get</a>(<span class="bold"><strong>const</strong></span> std::string &amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2729474"></a><h2>Description</h2>
+<p>Concrete variables map which store variables in real map. </p>
+<div class="refsect2" lang="en">
+<a name="id2729481"></a><h3>
+<a name="variables_mapconstruct-copy-destruct"></a><code class="computeroutput">variables_map</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2425267-bb"></a>variables_map();</pre></li>
+<li><pre class="literallayout"><a name="id2425269-bb"></a>variables_map(<span class="bold"><strong>const</strong></span> <a href="abstract_variables_map.html" title="Class abstract_variables_map">abstract_variables_map</a> * next);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2729543"></a><h3>
+<a name="id2359634-bb"></a><code class="computeroutput">variables_map</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <a href="variable_value.html" title="Class variable_value">variable_value</a> &amp;</span> <a name="id2359639-bb"></a><span class="bold"><strong>operator</strong></span>[](<span class="bold"><strong>const</strong></span> std::string &amp; name) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Obtains the value of variable 'name', from *this and possibly from the chain of variable maps.</p>
+<div class="itemizedlist"><ul type="disc"><li>
+<p>if there's no value in *this.</p>
+<div class="itemizedlist"><ul type="circle">
+<li><p>if there's next variable map, returns value from it</p></li>
+<li><p>otherwise, returns empty value</p></li>
+</ul></div>
+</li></ul></div>
+<div class="itemizedlist"><ul type="disc"><li>
+<p>if there's defaulted value</p>
+<div class="itemizedlist"><ul type="circle">
+<li><p>if there's next varaible map, which has a non-defauled value, return that</p></li>
+<li><p>otherwise, return value from *this</p></li>
+</ul></div>
+</li></ul></div>
+<div class="itemizedlist"><ul type="disc"><li><p>if there's a non-defauled value, returns it. </p></li></ul></div>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2729649"></a><h3>
+<a name="id2425287-bb"></a><code class="computeroutput">variables_map</code> private member functions</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> <a href="variable_value.html" title="Class variable_value">variable_value</a> &amp;</span> <a name="id2425291-bb"></a>get(<span class="bold"><strong>const</strong></span> std::string &amp; name) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Implementation of abstract_variables_map::get which does 'find' in *this. </p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="abstract_variables_map.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2524541"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="id2349650.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/variant.html b/doc/html/variant.html
new file mode 100644
index 0000000000..bbda461e55
--- /dev/null
+++ b/doc/html/variant.html
@@ -0,0 +1,220 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Chapter 15. Boost.Variant</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries">
+<link rel="prev" href="boost_typetraits/credits.html" title=" Credits">
+<link rel="next" href="variant/tutorial.html" title="Tutorial">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost_typetraits/credits.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="variant/tutorial.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="variant"></a>Chapter 15. Boost.Variant</h2></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Eric</span> <span class="surname">Friedman</span>
+</h3></div></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Itay</span> <span class="surname">Maman</span>
+</h3></div></div>
+<div><p class="copyright">Copyright © 2002, 2003 Eric Friedman, Itay Maman</p></div>
+<div><div class="legalnotice">
+<a name="id2829585"></a><p>Permission to copy, use, sell and distribute this software
+ is granted provided this copyright notice appears in all copies.
+ Permission to modify the code and to distribute modified code is
+ granted provided this copyright notice appears in all copies, and
+ a notice that the code was modified is included with the copyright
+ notice.</p>
+<p> This software is provided "as is" without express or
+ implied warranty, and with no claim as to its suitability for any
+ purpose.</p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="variant.html#variant.intro">Introduction</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="variant.html#variant.abstract">Abstract</a></span></dt>
+<dt><span class="section"><a href="variant.html#variant.motivation">Motivation</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="variant/tutorial.html">Tutorial</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="variant/tutorial.html#variant.tutorial.basic">Basic Usage</a></span></dt>
+<dt><span class="section"><a href="variant/tutorial.html#variant.tutorial.advanced">Advanced Topics</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="variant/reference.html">Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="variant/reference.html#variant.concepts">Concepts</a></span></dt>
+<dt><span class="section"><a href="variant/reference.html#header.boost.variant.hpp">Header &lt;boost/variant.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="variant/reference.html#id2654455">Header &lt;boost/variant/variant_fwd.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="variant/reference.html#id2540137">Header &lt;boost/variant/variant.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="variant/reference.html#id2551122">Header &lt;boost/variant/recursive_variant.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="variant/reference.html#id2644455">Header &lt;boost/variant/recursive_wrapper.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="variant/reference.html#id2660594">Header &lt;boost/variant/apply_visitor.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="variant/reference.html#id2588868">Header &lt;boost/variant/get.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="variant/reference.html#id2634493">Header &lt;boost/variant/bad_visit.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="variant/reference.html#id2645589">Header &lt;boost/variant/static_visitor.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="variant/reference.html#id2551546">Header &lt;boost/variant/visitor_ptr.hpp&gt;</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="variant/design.html">Design Overview</a></span></dt>
+<dd><dl><dt><span class="section"><a href="variant/design.html#variant.design.never-empty">"Never-Empty" Guarantee</a></span></dt></dl></dd>
+<dt><span class="section"><a href="variant/misc.html">Miscellaneous Notes</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="variant/misc.html#variant.versus-any">Boost.Variant vs. Boost.Any</a></span></dt>
+<dt><span class="section"><a href="variant/misc.html#id2841449">Portability</a></span></dt>
+<dt><span class="section"><a href="variant/misc.html#variant.troubleshooting">Troubleshooting</a></span></dt>
+<dt><span class="section"><a href="variant/misc.html#variant.ack">Acknowledgments</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="variant/refs.html">References</a></span></dt>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="variant.intro"></a>Introduction</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="variant.html#variant.abstract">Abstract</a></span></dt>
+<dt><span class="section"><a href="variant.html#variant.motivation">Motivation</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="variant.abstract"></a>Abstract</h4></div></div></div>
+<p>The <code class="computeroutput">variant</code> class template is a safe, generic, stack-based
+discriminated union container, offering a simple solution for manipulating an
+object from a heterogeneous set of types in a uniform manner. Whereas
+standard containers such as <code class="computeroutput">std::vector</code> may be thought of as
+"<span class="bold"><strong>multi-value, single type</strong></span>,"
+<code class="computeroutput">variant</code> is "<span class="bold"><strong>multi-type,
+single value</strong></span>."</p>
+<p>Notable features of <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">boost::variant</a></code>
+include:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>Full value semantics, including adherence to standard
+ overload resolution rules for conversion operations.</li>
+<li>Compile-time type-safe value visitation via
+ <code class="computeroutput"><a href="apply_visitor.html" title="Function apply_visitor">boost::apply_visitor</a></code>.</li>
+<li>Run-time checked explicit value retrieval via
+ <code class="computeroutput"><a href="get.html" title="Function get">boost::get</a></code>.</li>
+<li>Support for recursive variant types via both
+ <code class="computeroutput"><a href="make_recursive_variant.html" title="Class template make_recursive_variant">boost::make_recursive_variant</a></code> and
+ <code class="computeroutput"><a href="recursive_wrapper.html" title="Class template recursive_wrapper">boost::recursive_wrapper</a></code>.</li>
+<li>Efficient implementation -- stack-based when possible (see
+ <a href="variant/design.html#variant.design.never-empty" title='"Never-Empty" Guarantee'>the section called &#8220;"Never-Empty" Guarantee&#8221;</a> for more details).</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="variant.motivation"></a>Motivation</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="variant.html#variant.motivation.problem">Problem</a></span></dt>
+<dt><span class="section"><a href="variant.html#variant.motivation.solution">Solution: A Motivating Example</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="variant.motivation.problem"></a>Problem</h5></div></div></div>
+<p>Many times, during the development of a C++ program, the
+programmer finds himself in need of manipulating several distinct
+types in a uniform manner. Indeed, C++ features direct language
+support for such types through its <code class="computeroutput">union</code>
+keyword:</p>
+<pre class="programlisting">union { int i; double d; } u;
+u.d = 3.14;
+u.i = 3; // overwrites u.d (OK: u.d is a POD type)</pre>
+<p>C++'s <code class="computeroutput">union</code> construct, however, is nearly
+useless in an object-oriented environment. The construct entered
+the language primarily as a means for preserving compatibility with
+C, which supports only POD (Plain Old Data) types, and so does not
+accept types exhibiting non-trivial construction or
+destruction:</p>
+<pre class="programlisting">union {
+ int i;
+ std::string s; // illegal: std::string is not a POD type!
+} u;</pre>
+<p>Clearly another approach is required. Typical solutions
+feature the dynamic-allocation of objects, which are subsequently
+manipulated through a common base type (often a virtual base class
+ [<a href="variant/refs.html#variant.refs.hen01">Hen01</a>]
+or, more dangerously, a <code class="computeroutput">void*</code>). Objects of
+concrete type may be then retrieved by way of a polymorphic downcast
+construct (e.g., <code class="computeroutput">dynamic_cast</code>,
+<code class="computeroutput"><a href="any_cast.html" title="Function any_cast">boost::any_cast</a></code>, etc.).</p>
+<p>However, solutions of this sort are highly error-prone, due
+to the following:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<span class="emphasis"><em>Downcast errors cannot be detected at
+ compile-time.</em></span> Thus, incorrect usage of downcast
+ constructs will lead to bugs detectable only at run-time.</li>
+<li>
+<span class="emphasis"><em>Addition of new concrete types may be
+ ignored.</em></span> If a new concrete type is added to the
+ hierarchy, existing downcast code will continue to work as-is,
+ wholly ignoring the new type. Consequently, the programmer must
+ manually locate and modify code at numerous locations, which often
+ results in run-time errors that are difficult to find.</li>
+</ul></div>
+<p>Furthermore, even when properly implemented, these solutions tend
+to incur a relatively significant abstraction penalty due to the use of
+the heap, virtual function calls, and polymorphic downcasts.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="variant.motivation.solution"></a>Solution: A Motivating Example</h5></div></div></div>
+<p>The <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">boost::variant</a></code> class template
+addresses these issues in a safe, straightforward, and efficient manner. The
+following example demonstrates how the class can be used:</p>
+<pre class="programlisting">#include "boost/variant.hpp"
+#include &lt;iostream&gt;
+
+class my_visitor : public <code class="computeroutput"><a href="static_visitor.html" title="Class template static_visitor">boost::static_visitor</a></code>&lt;int&gt;
+{
+public:
+ int operator()(int i) const
+ {
+ return i;
+ }
+
+ int operator()(const <code class="computeroutput">std::string</code> &amp; str) const
+ {
+ return str.length();
+ }
+};
+
+int main()
+{
+ <code class="computeroutput"><a href="boost/variant.html" title="Class template variant">boost::variant</a></code>&lt; int, std::string &gt; u("hello world");
+ std::cout &lt;&lt; u; // output: hello world
+
+ int result = <code class="computeroutput"><a href="apply_visitor.html" title="Function apply_visitor">boost::apply_visitor</a></code>( my_visitor(), u );
+ std::cout &lt;&lt; result; // output: 11 (i.e., length of "hello world")
+}
+</pre>
+</div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost_typetraits/credits.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="variant/tutorial.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/variant/design.html b/doc/html/variant/design.html
new file mode 100644
index 0000000000..c2c5c388ef
--- /dev/null
+++ b/doc/html/variant/design.html
@@ -0,0 +1,333 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Design Overview</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../variant.html" title="Chapter 15. Boost.Variant">
+<link rel="prev" href="../visitor_ptr.html" title="Function template visitor_ptr">
+<link rel="next" href="misc.html" title="Miscellaneous Notes">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../visitor_ptr.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../variant.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="misc.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="variant.design"></a>Design Overview</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="design.html#variant.design.never-empty">"Never-Empty" Guarantee</a></span></dt></dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="variant.design.never-empty"></a>"Never-Empty" Guarantee</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="design.html#variant.design.never-empty.guarantee">The Guarantee</a></span></dt>
+<dt><span class="section"><a href="design.html#variant.design.never-empty.problem">The Implementation Problem</a></span></dt>
+<dt><span class="section"><a href="design.html#variant.design.never-empty.memcpy-solution">The "Ideal" Solution: False Hopes</a></span></dt>
+<dt><span class="section"><a href="design.html#variant.design.never-empty.double-storage-solution">An Initial Solution: Double Storage</a></span></dt>
+<dt><span class="section"><a href="design.html#variant.design.never-empty.heap-backup-solution">Current Approach: Temporary Heap Backup</a></span></dt>
+<dt><span class="section"><a href="design.html#variant.design.never-empty.optimizations">Enabling Optimizations</a></span></dt>
+<dt><span class="section"><a href="design.html#variant.design.never-empty.roadmap">Future Direction: Policy-based Implementation</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="variant.design.never-empty.guarantee"></a>The Guarantee</h5></div></div></div>
+<p>All instances <code class="computeroutput">v</code> of type
+ <code class="computeroutput"><a href="../boost/variant.html" title="Class template variant">variant</a>&lt;T1,T2,...,TN&gt;</code>
+ guarantee that <code class="computeroutput">v</code> has constructed content of one of the
+ types <code class="computeroutput">T<span class="emphasis"><em>i</em></span></code>, even if an operation on
+ <code class="computeroutput">v</code> has previously failed.</p>
+<p>This implies that <code class="computeroutput">variant</code> may be viewed precisely as
+ a union of <span class="emphasis"><em>exactly</em></span> its bounded types. This
+ "never-empty" property insulates the user from the
+ possibility of undefined <code class="computeroutput">variant</code> content and the
+ significant additional complexity-of-use attendant with such a
+ possibility.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="variant.design.never-empty.problem"></a>The Implementation Problem</h5></div></div></div>
+<p>While the
+ <a href="design.html#variant.design.never-empty.guarantee" title="The Guarantee">never-empty guarantee</a>
+ might at first seem "obvious," it is in fact not even
+ straightforward how to implement it in general (i.e., without
+ unreasonably restrictive additional requirements on
+ <a href="reference.html#variant.concepts.bounded-type" title="BoundedType">bounded types</a>).</p>
+<p>The central difficulty emerges in the details of
+ <code class="computeroutput">variant</code> assignment. Given two instances <code class="computeroutput">v1</code>
+ and <code class="computeroutput">v2</code> of some concrete <code class="computeroutput">variant</code> type, there
+ are two distinct, fundamental cases we must consider for the assignment
+ <code class="computeroutput">v1 = v2</code>.</p>
+<p>First consider the case that <code class="computeroutput">v1</code> and <code class="computeroutput">v2</code>
+ each contains a value of the same type. Call this type <code class="computeroutput">T</code>.
+ In this situation, assignment is perfectly straightforward: use
+ <code class="computeroutput">T::operator=</code>.</p>
+<p>However, we must also consider the case that <code class="computeroutput">v1</code> and
+ <code class="computeroutput">v2</code> contain values <span class="emphasis"><em>of distinct types</em></span>.
+ Call these types <code class="computeroutput">T</code> and <code class="computeroutput">U</code>. At this point,
+ since <code class="computeroutput">variant</code> manages its content on the stack, the
+ left-hand side of the assignment (i.e., <code class="computeroutput">v1</code>) must destroy
+ its content so as to permit in-place copy-construction of the content
+ of the right-hand side (i.e., <code class="computeroutput">v2</code>). In the end, whereas
+ <code class="computeroutput">v1</code> began with content of type <code class="computeroutput">T</code>, it ends
+ with content of type <code class="computeroutput">U</code>, namely a copy of the content of
+ <code class="computeroutput">v2</code>.</p>
+<p>The crux of the problem, then, is this: in the event that
+ copy-construction of the content of <code class="computeroutput">v2</code> fails, how can
+ <code class="computeroutput">v1</code> maintain its "never-empty" guarantee?
+ By the time copy-construction from <code class="computeroutput">v2</code> is attempted,
+ <code class="computeroutput">v1</code> has already destroyed its content!</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="variant.design.never-empty.memcpy-solution"></a>The "Ideal" Solution: False Hopes</h5></div></div></div>
+<p>Upon learning of this dilemma, clever individuals may propose the
+ following scheme hoping to solve the problem:
+
+ </p>
+<div class="orderedlist"><ol type="1">
+<li>Provide some "backup" storage, appropriately
+ aligned, capable of holding values of the contained type of the
+ left-hand side.</li>
+<li>Copy the memory (e.g., using <code class="computeroutput">memcpy</code>) of the
+ storage of the left-hand side to the backup storage.</li>
+<li>Attempt a copy of the right-hand side content to the
+ (now-replicated) left-hand side storage.</li>
+<li>In the event of an exception from the copy, restore the
+ backup (i.e., copy the memory from the backup storage back into
+ the left-hand side storage).</li>
+<li>Otherwise, in the event of success, now copy the memory
+ of the left-hand side storage to another "temporary"
+ aligned storage.</li>
+<li>Now restore the backup (i.e., again copying the memory)
+ to the left-hand side storage; with the "old" content
+ now restored, invoke the destructor of the contained type on the
+ storage of the left-hand side.</li>
+<li>Finally, copy the memory of the temporary storage to the
+ (now-empty) storage of the left-hand side.</li>
+</ol></div>
+<p>While complicated, it appears such a scheme could provide the
+ desired safety in a relatively efficient manner. In fact, several
+ early iterations of the library implemented this very approach.</p>
+<p>Unfortunately, as Dave Abraham's first noted, the scheme results
+ in undefined behavior:
+
+ </p>
+<div class="blockquote"><blockquote class="blockquote">
+<p>"That's a lot of code to read through, but if it's
+ doing what I think it's doing, it's undefined behavior.</p>
+<p>"Is the trick to move the bits for an existing object
+ into a buffer so we can tentatively construct a new object in
+ that memory, and later move the old bits back temporarily to
+ destroy the old object?</p>
+<p>"The standard does not give license to do that: only one
+ object may have a given address at a time. See 3.8, and
+ particularly paragraph 4."</p>
+</blockquote></div>
+<p>Additionally, as close examination quickly reveals, the scheme has
+ the potential to create irreconcilable race-conditions in concurrent
+ environments.</p>
+<p>Ultimately, even if the above scheme could be made to work on
+ certain platforms with particular compilers, it is still necessary to
+ find a portable solution.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="variant.design.never-empty.double-storage-solution"></a>An Initial Solution: Double Storage</h5></div></div></div>
+<p>Upon learning of the infeasibility of the above scheme, Anthony
+ Williams proposed in
+ <a href="refs.html#variant.refs.wil02">[Wil02]</a> a scheme that served
+ as the basis for a portable solution in some pre-release
+ implementations of <code class="computeroutput">variant</code>.</p>
+<p>The essential idea to this scheme, which shall be referred to as
+ the "double storage" scheme, is to provide enough space
+ within a <code class="computeroutput">variant</code> to hold two separate values of any of
+ the bounded types.</p>
+<p>With the secondary storage, a copy the right-hand side can be
+ attempted without first destroying the content of the left-hand side;
+ accordingly, the content of the left-hand side remains available in
+ the event of an exception.</p>
+<p>Thus, with this scheme, the <code class="computeroutput">variant</code> implementation
+ needs only to keep track of which storage contains the content -- and
+ dispatch any visitation requests, queries, etc. accordingly.</p>
+<p>The most obvious flaw to this approach is the space overhead
+ incurred. Though some optimizations could be applied in special cases
+ to eliminate the need for double storage -- for certain bounded types
+ or in some cases entirely (see
+ <a href="design.html#variant.design.never-empty.optimizations" title="Enabling Optimizations">the section called &#8220;Enabling Optimizations&#8221;</a> for more
+ details) -- many users on the Boost mailing list strongly objected to
+ the use of double storage. In particular, it was noted that the
+ overhead of double storage would be at play at all times -- even if
+ assignment to <code class="computeroutput">variant</code> never occurred. For this reason
+ and others, a new approach was developed.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="variant.design.never-empty.heap-backup-solution"></a>Current Approach: Temporary Heap Backup</h5></div></div></div>
+<p>Despite the many objections to the double storage solution, it was
+ realized that no replacement would be without drawbacks. Thus, a
+ compromise was desired.</p>
+<p>To this end, Dave Abrahams suggested to include the following in
+ the behavior specification for <code class="computeroutput">variant</code> assignment:
+ "<code class="computeroutput">variant</code> assignment from one type to another may
+ incur dynamic allocation." That is, while <code class="computeroutput">variant</code> would
+ continue to store its content <span class="emphasis"><em>in situ</em></span> after
+ construction and after assignment involving identical contained types,
+ <code class="computeroutput">variant</code> would store its content on the heap after
+ assignment involving distinct contained types.</p>
+<p>The algorithm for assignment would proceed as follows:
+
+ </p>
+<div class="orderedlist"><ol type="1">
+<li>Copy-construct the content of the right-hand side to the
+ heap; call the pointer to this data <code class="computeroutput">p</code>.</li>
+<li>Destroy the content of the left-hand side.</li>
+<li>Copy <code class="computeroutput">p</code> to the left-hand side
+ storage.</li>
+</ol></div>
+<p>
+
+ Since all operations on pointers are nothrow, this scheme would allow
+ <code class="computeroutput">variant</code> to meet its never-empty guarantee.
+ </p>
+<p>The most obvious concern with this approach is that while it
+ certainly eliminates the space overhead of double storage, it
+ introduces the overhead of dynamic-allocation to <code class="computeroutput">variant</code>
+ assignment -- not just in terms of the initial allocation but also
+ as a result of the continued storage of the content on the heap. While
+ the former problem is unavoidable, the latter problem may be avoided
+ with the following "temporary heap backup" technique:
+
+ </p>
+<div class="orderedlist"><ol type="1">
+<li>Copy-construct the content of the
+ <span class="emphasis"><em>left</em></span>-hand side to the heap; call the pointer to
+ this data <code class="computeroutput">backup</code>.</li>
+<li>Destroy the content of the left-hand side.</li>
+<li>Copy-construct the content of the right-hand side in the
+ (now-empty) storage of the left-hand side.</li>
+<li>In the event of failure, copy <code class="computeroutput">backup</code> to the
+ left-hand side storage.</li>
+<li>In the event of success, deallocate the data pointed to
+ by <code class="computeroutput">backup</code>.</li>
+</ol></div>
+<p>With this technique: 1) only a single storage is used;
+ 2) allocation is on the heap in the long-term only if the assignment
+ fails; and 3) after any <span class="emphasis"><em>successful</em></span> assignment,
+ storage within the <code class="computeroutput">variant</code> is guaranteed. For the
+ purposes of the initial release of the library, these characteristics
+ were deemed a satisfactory compromise solution.</p>
+<p>There remain notable shortcomings, however. In particular, there
+ may be some users for which heap allocation must be avoided at all
+ costs; for other users, any allocation may need to occur via a
+ user-supplied allocator. These issues will be addressed in the future
+ (see <a href="design.html#variant.design.never-empty.roadmap" title="Future Direction: Policy-based Implementation">the section called &#8220;Future Direction: Policy-based Implementation&#8221;</a>). For now,
+ though, the library treats storage of its content as an implementation
+ detail. Nonetheless, as described in the next section, there
+ <span class="emphasis"><em>are</em></span> certain things the user can do to ensure the
+ greatest efficiency for <code class="computeroutput">variant</code> instances (see
+ <a href="design.html#variant.design.never-empty.optimizations" title="Enabling Optimizations">the section called &#8220;Enabling Optimizations&#8221;</a> for
+ details).</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="variant.design.never-empty.optimizations"></a>Enabling Optimizations</h5></div></div></div>
+<p>As described in
+ <a href="design.html#variant.design.never-empty.problem" title="The Implementation Problem">the section called &#8220;The Implementation Problem&#8221;</a>, the central
+ difficulty in implementing the never-empty guarantee is the
+ possibility of failed copy-construction during <code class="computeroutput">variant</code>
+ assignment. Yet types with nothrow copy constructors clearly never
+ face this possibility. Similarly, if one of the bounded types of the
+ <code class="computeroutput">variant</code> is nothrow default-constructible, then such a
+ type could be used as a safe "fallback" type in the event of
+ failed copy construction.</p>
+<p>Accordingly, <code class="computeroutput">variant</code> is designed to enable the
+ following optimizations once the following criteria on its bounded
+ types are met:
+
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>For each bounded type <code class="computeroutput">T</code> that is nothrow
+ copy-constructible (as indicated by
+ <code class="computeroutput">boost::has_nothrow_copy</code>), the
+ library guarantees <code class="computeroutput">variant</code> will use only single
+ storage and in-place construction for <code class="computeroutput">T</code>.</li>
+<li>If <span class="emphasis"><em>any</em></span> bounded type is nothrow
+ default-constructible (as indicated by
+ <code class="computeroutput">boost::has_nothrow_constructor</code>),
+ the library guarantees <code class="computeroutput">variant</code> will use only single
+ storage and in-place construction for <span class="emphasis"><em>every</em></span>
+ bounded type in the <code class="computeroutput">variant</code>. Note, however, that in
+ the event of assignment failure, an unspecified nothrow
+ default-constructible bounded type will be default-constructed in
+ the left-hand side operand so as to preserve the never-empty
+ guarantee.</li>
+</ul></div>
+<p><span class="bold"><strong>Caveat</strong></span>: On most platforms, the
+ Type Traits templates
+ <code class="computeroutput">has_nothrow_copy</code> and <code class="computeroutput">has_nothrow_constructor</code>
+ by default return <code class="computeroutput">false</code> for all <code class="computeroutput">class</code> and
+ <code class="computeroutput">struct</code> types. It is necessary therefore to provide
+ specializations of these templates as appropriate for user-defined
+ types, as demonstrated in the following:
+
+</p>
+<pre class="programlisting">// ...in your code (at file scope)...
+
+namespace boost {
+
+ template &lt;&gt;
+ struct <code class="computeroutput">has_nothrow_copy</code>&lt; myUDT &gt;
+ : <code class="computeroutput">mpl::true_</code>
+ {
+ };
+
+}
+</pre>
+<p><span class="bold"><strong>Implementation Note</strong></span>: So as to make
+ the behavior of <code class="computeroutput">variant</code> more predictable in the aftermath
+ of an exception, the current implementation prefers to default-construct
+ <code class="computeroutput">boost::blank</code> if specified as a
+ bounded type instead of other nothrow default-constructible bounded
+ types. (If this is deemed to be a useful feature, it will become part
+ of the specification for <code class="computeroutput">variant</code>; otherwise, it may be
+ obsoleted. Please provide feedback to the Boost mailing list.)</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="variant.design.never-empty.roadmap"></a>Future Direction: Policy-based Implementation</h5></div></div></div>
+<p>As the previous sections have demonstrated, much effort has been
+ expended in an attempt to provide a balance between performance, data
+ size, and heap usage. Further, significant optimizations may be
+ enabled in <code class="computeroutput">variant</code> on the basis of certain traits of its
+ bounded types.</p>
+<p>However, there will be some users for whom the chosen compromise
+ is unsatisfactory (e.g.: heap allocation must be avoided at all costs;
+ if heap allocation is used, custom allocators must be used; etc.). For
+ this reason, a future version of the library will support a
+ policy-based implementation of <code class="computeroutput">variant</code>. While this will
+ not eliminate the problems described in the previous sections, it will
+ allow the decisions regarding tradeoffs to be decided by the user
+ rather than the library designers.</p>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../visitor_ptr.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../variant.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="misc.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/variant/misc.html b/doc/html/variant/misc.html
new file mode 100644
index 0000000000..0b6825ba0f
--- /dev/null
+++ b/doc/html/variant/misc.html
@@ -0,0 +1,249 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Miscellaneous Notes</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../variant.html" title="Chapter 15. Boost.Variant">
+<link rel="prev" href="design.html" title="Design Overview">
+<link rel="next" href="refs.html" title="References">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="design.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../variant.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="refs.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="variant.misc"></a>Miscellaneous Notes</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="misc.html#variant.versus-any">Boost.Variant vs. Boost.Any</a></span></dt>
+<dt><span class="section"><a href="misc.html#id2841449">Portability</a></span></dt>
+<dt><span class="section"><a href="misc.html#variant.troubleshooting">Troubleshooting</a></span></dt>
+<dt><span class="section"><a href="misc.html#variant.ack">Acknowledgments</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="variant.versus-any"></a>Boost.Variant vs. Boost.Any</h4></div></div></div>
+<p>As a discriminated union container, the Variant library shares many
+ of the same features of the <a href="../any.html" title="Chapter 1. Boost.Any">Any</a> library.
+ However, since neither library wholly encapsulates the features of the
+ other, one library cannot be generally recommended for use over the
+ other.</p>
+<p>That said, Boost.Variant has several advantages over Boost.Any,
+ such as:
+
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>Boost.Variant guarantees the type of its content is one of a
+ finite, user-specified set of types.</li>
+<li>Boost.Variant provides <span class="emphasis"><em>compile-time</em></span>
+ checked visitation of its content. (By contrast, the current version
+ of Boost.Any provides no visitation mechanism at all; but even if it
+ did, it would need to be checked at run-time.)</li>
+<li>Boost.Variant enables generic visitation of its content.
+ (Even if Boost.Any did provide a visitation mechanism, it would enable
+ visitation only of explicitly-specified types.)</li>
+<li>Boost.Variant offers an efficient, stack-based storage scheme
+ (avoiding the overhead of dynamic allocation).</li>
+</ul></div>
+<p>Of course, Boost.Any has several advantages over Boost.Variant,
+ such as:
+
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>Boost.Any, as its name implies, allows virtually any type for
+ its content, providing great flexibility.</li>
+<li>Boost.Any provides the no-throw guarantee of exception safety
+ for its swap operation.</li>
+<li>Boost.Any makes little use of template metaprogramming
+ techniques (avoiding potentially hard-to-read error messages and
+ significant compile-time processor and memory demands).</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2841449"></a>Portability</h4></div></div></div>
+<p>The library aims for 100% ANSI/ISO C++ conformance. However, this is
+ strictly impossible due to the inherently non-portable nature of the
+ Type Traits library's
+ <code class="computeroutput">type_with_alignment</code> facility. In
+ practice though, no compilers or platforms have been discovered where this
+ reliance on undefined behavior has been an issue.</p>
+<p>Additionally, significant effort has been expended to ensure proper
+ functioning despite various compiler bugs and other conformance problems.
+ To date the library testsuite has
+ been compiled and tested successfully on at least the following compilers
+ for basic and advanced functionality:
+
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th> </th>
+<th>Basic</th>
+<th><code class="computeroutput">variant&lt;T&amp;&gt;</code></th>
+<th><a href="tutorial.html#variant.tutorial.over-sequence" title="Using a type sequence to specify bounded types"><code class="computeroutput">make_variant_over</code></a></th>
+<th><a href="tutorial.html#variant.tutorial.recursive.recursive-variant" title="Recursive types with make_recursive_variant"><code class="computeroutput">make_recursive_variant</code></a></th>
+</tr></thead>
+<tbody>
+<tr>
+<td>Borland C++ 5.5.1 and 5.6.4</td>
+<td>X</td>
+<td>X</td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td>Comeau C++ 4.3.0</td>
+<td>X</td>
+<td>X</td>
+<td>X</td>
+<td>X</td>
+</tr>
+<tr>
+<td>GNU GCC 3.3.1</td>
+<td>X</td>
+<td>X</td>
+<td>X</td>
+<td>X</td>
+</tr>
+<tr>
+<td>GNU GCC 2.95.3</td>
+<td>X</td>
+<td>X</td>
+<td> </td>
+<td>X</td>
+</tr>
+<tr>
+<td>Intel C++ 7.0</td>
+<td>X</td>
+<td> </td>
+<td>X</td>
+<td>X</td>
+</tr>
+<tr>
+<td>Metrowerks CodeWarrior 8.3</td>
+<td>X</td>
+<td> </td>
+<td>X</td>
+<td>X</td>
+</tr>
+<tr>
+<td>Microsoft Visual C++ 7.1</td>
+<td>X</td>
+<td>X</td>
+<td>X</td>
+<td>X</td>
+</tr>
+<tr>
+<td>Microsoft Visual C++ 6 SP5 and 7</td>
+<td>X</td>
+<td> </td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+<p>Finally, the current state of the testsuite in CVS may be found on the
+ <a href="http://boost.sourceforge.net/regression-logs" target="_top">Test Summary</a>
+ page. Please note, however, that this page reports on day-to-day changes
+ to inter-release code found in the Boost CVS and thus likely does not
+ match the state of code found in Boost releases.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="variant.troubleshooting"></a>Troubleshooting</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="misc.html#variant.troubleshooting.template-depth">"Template instantiation depth exceeds maximum"</a></span></dt>
+<dt><span class="section"><a href="misc.html#variant.troubleshooting.compiler-memory">"Internal heap limit reached"</a></span></dt>
+</dl></div>
+<p>Due to the heavy use of templates in the implementation of
+ <code class="computeroutput">variant</code>, it is not uncommon when compiling to encounter
+ problems related to template instantiaton depth, compiler memory, etc. This
+ section attempts to provide advice to common problems experienced on several
+ popular compilers.</p>
+<p>(This section is still in progress, with additional advice/feedback
+ welcome. Please post to the Boost-Users list with any useful experiences you
+ may have.)</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="variant.troubleshooting.template-depth"></a>"Template instantiation depth exceeds maximum"</h5></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="misc.html#variant.troubleshooting.template-depth.gcc">GNU GCC</a></span></dt></dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="variant.troubleshooting.template-depth.gcc"></a>GNU GCC</h6></div></div></div>
+<p>The compiler option
+ <code class="computeroutput">-ftemplate-depth-<span class="emphasis"><em>NN</em></span></code> can increase the
+ maximum allowed instantiation depth. (Try
+ <code class="computeroutput">-ftemplate-depth-50</code>.)</p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="variant.troubleshooting.compiler-memory"></a>"Internal heap limit reached"</h5></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="misc.html#variant.troubleshooting.compiler-memory.msvc">Microsoft Visual C++</a></span></dt></dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="variant.troubleshooting.compiler-memory.msvc"></a>Microsoft Visual C++</h6></div></div></div>
+<p>The compiler option <code class="computeroutput">/Zm<span class="emphasis"><em>NNN</em></span></code> can
+ increase the memory allocation limit. The <code class="computeroutput">NNN</code> is a
+ scaling percentage (i.e., <code class="computeroutput">100</code> denotes the default limit).
+ (Try <code class="computeroutput">/Zm200</code>.)</p>
+</div>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="variant.ack"></a>Acknowledgments</h4></div></div></div>
+<p>Eric Friedman and Itay Maman designed the initial submission; Eric was
+ the primary implementer.</p>
+<p>Eric is also the library maintainer and has expanded upon the initial
+ submission -- adding
+ <code class="computeroutput"><a href="../make_recursive_variant.html" title="Class template make_recursive_variant">make_recursive_variant</a></code>,
+ <code class="computeroutput"><a href="../make_variant_over.html" title="Class template make_variant_over">make_variant_over</a></code>, support for
+ reference content, etc.</p>
+<p>Andrei Alexandrescu's work in
+ [<a href="refs.html#variant.refs.ale01a">Ale01a</a>]
+and
+ [<a href="refs.html#variant.refs.ale02">Ale02</a>]
+inspired the library's design.</p>
+<p>Jeff Garland was the formal review manager.</p>
+<p>Douglas Gregor,
+Dave Abrahams,
+Anthony Williams,
+Fernando Cacciola,
+Joel de Guzman,
+Dirk Schreib,
+Brad King,
+Giovanni Bajo,
+Eugene Gladyshev,
+and others provided helpful feedback and suggestions to refine the semantics,
+interface, and implementation of the library.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="design.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../variant.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="refs.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/variant/reference.html b/doc/html/variant/reference.html
new file mode 100644
index 0000000000..3121deff89
--- /dev/null
+++ b/doc/html/variant/reference.html
@@ -0,0 +1,301 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Reference</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../variant.html" title="Chapter 15. Boost.Variant">
+<link rel="prev" href="tutorial.html" title="Tutorial">
+<link rel="next" href="../BOOST_VARIANT_LIMIT_TYPES.html" title="Macro BOOST_VARIANT_LIMIT_TYPES">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../variant.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../BOOST_VARIANT_LIMIT_TYPES.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="variant.reference"></a>Reference</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="reference.html#variant.concepts">Concepts</a></span></dt>
+<dt><span class="section"><a href="reference.html#header.boost.variant.hpp">Header &lt;boost/variant.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2654455">Header &lt;boost/variant/variant_fwd.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2540137">Header &lt;boost/variant/variant.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2551122">Header &lt;boost/variant/recursive_variant.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2644455">Header &lt;boost/variant/recursive_wrapper.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2660594">Header &lt;boost/variant/apply_visitor.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2588868">Header &lt;boost/variant/get.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2634493">Header &lt;boost/variant/bad_visit.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2645589">Header &lt;boost/variant/static_visitor.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#id2551546">Header &lt;boost/variant/visitor_ptr.hpp&gt;</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="variant.concepts"></a>Concepts</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="reference.html#variant.concepts.bounded-type"><span class="emphasis"><em>BoundedType</em></span></a></span></dt>
+<dt><span class="section"><a href="reference.html#variant.concepts.static-visitor"><span class="emphasis"><em>StaticVisitor</em></span></a></span></dt>
+<dt><span class="section"><a href="reference.html#variant.concepts.output-streamable"><span class="emphasis"><em>OutputStreamable</em></span></a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="variant.concepts.bounded-type"></a><span class="emphasis"><em>BoundedType</em></span></h5></div></div></div>
+<p>The requirements on a <span class="bold"><strong>bounded type</strong></span>
+ are as follows:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<a href="../CopyConstructible.html" title="Concept CopyConstructible">CopyConstructible</a> [20.1.3].</li>
+<li>Destructor upholds the no-throw exception-safety
+ guarantee.</li>
+<li>Complete at the point of <code class="computeroutput">variant</code> template
+ instantiation. (See
+ <code class="computeroutput"><a href="../recursive_wrapper.html" title="Class template recursive_wrapper">boost::recursive_wrapper</a>&lt;T&gt;</code>
+ for a type wrapper that accepts incomplete types to enable recursive
+ <code class="computeroutput">variant</code> types.)</li>
+</ul></div>
+<p>Every type specified as a template argument to
+ <code class="computeroutput"><a href="../boost/variant.html" title="Class template variant">variant</a></code> must at minimum fulfill the
+ above requirements. In addition, certain features of <code class="computeroutput">variant</code>
+ are available only if its bounded types meet the requirements of these
+ following additional concepts:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<a href="../Assignable.html" title="Concept Assignable">Assignable</a>:
+ <code class="computeroutput">variant</code> is itself <span class="emphasis"><em>Assignable</em></span> if and
+ only if every one of its bounded types meets the requirements of the
+ concept. (Note that top-level <code class="computeroutput">const</code>-qualified types and
+ reference types do <span class="emphasis"><em>not</em></span> meet these
+ requirements.)</li>
+<li>
+<a href="../DefaultConstructible.html" title="Concept DefaultConstructible">DefaultConstructible</a> [20.1.4]:
+ <code class="computeroutput">variant</code> is itself
+ <a href="../DefaultConstructible.html" title="Concept DefaultConstructible">DefaultConstructible</a> if and only if its first
+ bounded type (i.e., <code class="computeroutput">T1</code>) meets the requirements of the
+ concept.</li>
+<li>
+<a href="../EqualityComparable.html" title="Concept EqualityComparable">EqualityComparable</a>:
+ <code class="computeroutput">variant</code> is itself <a href="../EqualityComparable.html" title="Concept EqualityComparable">EqualityComparable</a>
+ if and only if every one of its bounded types meets the requirements
+ of the concept.</li>
+<li>
+<a href="../LessThanComparable.html" title="Concept LessThanComparable">LessThanComparable</a>:
+ <code class="computeroutput">variant</code> is itself <a href="../LessThanComparable.html" title="Concept LessThanComparable">LessThanComparable</a>
+ if and only if every one of its bounded types meets the requirements
+ of the concept.</li>
+<li>
+<a href="reference.html#variant.concepts.output-streamable" title="OutputStreamable"><span class="emphasis"><em>OutputStreamable</em></span></a>:
+ <code class="computeroutput">variant</code> is itself <span class="emphasis"><em>OutputStreamable</em></span>
+ if and only if every one of its bounded types meets the requirements
+ of the concept.</li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="variant.concepts.static-visitor"></a><span class="emphasis"><em>StaticVisitor</em></span></h5></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="reference.html#variant.concepts.static-visitor.examples">Examples</a></span></dt></dl></div>
+<p>The requirements on a <span class="bold"><strong>static
+ visitor</strong></span> of a type <code class="computeroutput">T</code> are as follows:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>Must allow invocation as a function by overloading
+ <code class="computeroutput">operator()</code>, unambiguously accepting any value of type
+ <code class="computeroutput">T</code>.</li>
+<li>Must expose inner type <code class="computeroutput">result_type</code>. (See
+ <code class="computeroutput"><a href="../visitor_ptr.html" title="Function template visitor_ptr">boost::visitor_ptr</a></code> for a
+ solution to using functions as visitors.)</li>
+<li>If <code class="computeroutput">result_type</code> is not <code class="computeroutput">void</code>, then
+ each operation of the function object must return a value implicitly
+ convertible to <code class="computeroutput">result_type</code>.</li>
+</ul></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="variant.concepts.static-visitor.examples"></a>Examples</h6></div></div></div>
+<p>The following class satisfies the requirements of a static visitor
+ of several types (i.e., explicitly: <code class="computeroutput">int</code> and
+ <code class="computeroutput">std::string</code>; or, e.g., implicitly: <code class="computeroutput">short</code> and
+ <code class="computeroutput">const char *</code>; etc.):</p>
+<pre class="programlisting">class my_visitor
+ : public <code class="computeroutput"><a href="../static_visitor.html" title="Class template static_visitor">boost::static_visitor</a></code>&lt;int&gt;
+{
+public:
+
+ int operator()(int i)
+ {
+ return i * 2;
+ }
+
+ int operator()(const std::string&amp; s)
+ {
+ return s.length();
+ }
+
+};</pre>
+<p>Another example is the following class, whose function-call
+ operator is a member template, allowing it to operate on values of many
+ types. Thus, the following class is a visitor of any type that supports
+ streaming output (e.g., <code class="computeroutput">int</code>, <code class="computeroutput">double</code>,
+ <code class="computeroutput">std::string</code>, etc.):</p>
+<pre class="programlisting">class printer
+ : public <code class="computeroutput"><a href="../static_visitor.html" title="Class template static_visitor">boost::static_visitor</a></code>&lt;&gt;
+{
+ template &lt;typename T&gt;
+ void operator()(const T&amp; t)
+ {
+ std::cout &lt;&lt; t &lt;&lt; std::endl;
+ }
+};</pre>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="variant.concepts.output-streamable"></a><span class="emphasis"><em>OutputStreamable</em></span></h5></div></div></div>
+<p>The requirements on an <span class="bold"><strong>output
+ streamable</strong></span> type <code class="computeroutput">T</code> are as follows:</p>
+<div class="itemizedlist"><ul type="disc"><li>For any object <code class="computeroutput">t</code> of type <code class="computeroutput">T</code>,
+ <code class="computeroutput">std::cout &lt;&lt; t</code> must be a valid
+ expression.</li></ul></div>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.variant.hpp"></a>Header &lt;<a href="../../../boost/variant.hpp" target="_top">boost/variant.hpp</a>&gt;</h4></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="reference.html#variant.header.include-all"></a></span></dt></dl></div>
+<div class="section" lang="en">
+<div class="titlepage"></div>
+<p>This header exists simply as a convenience to the user, including
+ all of the headers in the <code class="computeroutput">boost/variant</code> directory.</p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2654455"></a>Header &lt;<a href="../../../boost/variant/variant_fwd.hpp" target="_top">boost/variant/variant_fwd.hpp</a>&gt;</h4></div></div></div>
+<p>Provides forward declarations of the
+ <code class="computeroutput"><a href="../boost/variant.html" title="Class template variant">boost::variant</a></code>,
+ <code class="computeroutput"><a href="../make_variant_over.html" title="Class template make_variant_over">boost::make_variant_over</a></code>,
+ <code class="computeroutput"><a href="../make_recursive_variant.html" title="Class template make_recursive_variant">boost::make_recursive_variant</a></code>, and
+ <code class="computeroutput"><a href="../id2655704.html" title="Class template make_recursive_variant_over">boost::make_recursive_variant_over</a></code>
+ class templates and the <code class="computeroutput">boost::recursive_variant_</code> tag type.
+ Also defines several preprocessor symbols, as described below.</p>
+<pre class="synopsis">
+
+<a href="../BOOST_VARIANT_LIMIT_TYPES.html" title="Macro BOOST_VARIANT_LIMIT_TYPES">BOOST_VARIANT_LIMIT_TYPES</a>
+<a href="../BOOST_VARIANT_ENUM_PARAMS.html" title="Macro BOOST_VARIANT_ENUM_PARAMS">BOOST_VARIANT_ENUM_PARAMS</a>(param)
+<a href="../id2652694.html" title="Macro BOOST_VARIANT_ENUM_SHIFTED_PARAMS">BOOST_VARIANT_ENUM_SHIFTED_PARAMS</a>(param)
+<a href="../id2667605.html" title="Macro BOOST_VARIANT_NO_REFERENCE_SUPPORT">BOOST_VARIANT_NO_REFERENCE_SUPPORT</a>
+<a href="../id2648190.html" title="Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT">BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</a>
+<a href="../id2404411.html" title="Macro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT">BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</a></pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2540137"></a>Header &lt;<a href="../../../boost/variant/variant.hpp" target="_top">boost/variant/variant.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2 = <span class="emphasis"><em>unspecified</em></span>, ...,
+           <span class="bold"><strong>typename</strong></span> TN = <span class="emphasis"><em>unspecified</em></span>&gt;
+   <span class="bold"><strong>class</strong></span> <a href="../boost/variant.html" title="Class template variant">variant</a>;
+
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Sequence&gt; <span class="bold"><strong>class</strong></span> <a href="../make_variant_over.html" title="Class template make_variant_over">make_variant_over</a>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN&gt;
+    <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="../id2629621.html" title="Function template swap">swap</a>(<a href="../boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp;, <a href="../boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ElemType, <span class="bold"><strong>typename</strong></span> Traits, <span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ...,
+           <span class="bold"><strong>typename</strong></span> TN&gt;
+    <span class="type">std::basic_ostream&lt;ElemType,Traits&gt; &amp;</span>
+    <a href="../id2630804.html" title="Function template operator&lt;&lt;"><span class="bold"><strong>operator</strong></span>&lt;&lt;</a>(std::basic_ostream&lt;ElemType,Traits&gt; &amp;,
+               <span class="bold"><strong>const</strong></span> <a href="../boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp;);
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2551122"></a>Header &lt;<a href="../../../boost/variant/recursive_variant.hpp" target="_top">boost/variant/recursive_variant.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> recursive_variant_;
+
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2 = <span class="emphasis"><em>unspecified</em></span>, ...,
+           <span class="bold"><strong>typename</strong></span> TN = <span class="emphasis"><em>unspecified</em></span>&gt;
+   <span class="bold"><strong>class</strong></span> <a href="../make_recursive_variant.html" title="Class template make_recursive_variant">make_recursive_variant</a>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Sequence&gt; <span class="bold"><strong>class</strong></span> <a href="../id2655704.html" title="Class template make_recursive_variant_over">make_recursive_variant_over</a>;
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2644455"></a>Header &lt;<a href="../../../boost/variant/recursive_wrapper.hpp" target="_top">boost/variant/recursive_wrapper.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="bold"><strong>class</strong></span> <a href="../recursive_wrapper.html" title="Class template recursive_wrapper">recursive_wrapper</a>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="bold"><strong>class</strong></span> <a href="../is_recursive_wrapper.html" title="Class template is_recursive_wrapper">is_recursive_wrapper</a>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="bold"><strong>class</strong></span> <a href="../unwrap_recursive_wrapper.html" title="Class template unwrap_recursive_wrapper">unwrap_recursive_wrapper</a>;
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2660594"></a>Header &lt;<a href="../../../boost/variant/apply_visitor.hpp" target="_top">boost/variant/apply_visitor.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Visitor&gt; <span class="bold"><strong>class</strong></span> <a href="../apply_visitor_delayed_t.html" title="Class template apply_visitor_delayed_t">apply_visitor_delayed_t</a>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Visitor, <span class="bold"><strong>typename</strong></span> Variant&gt;
+    <span class="type"><span class="bold"><strong>typename</strong></span> Visitor::result_type</span> <a href="../apply_visitor.html" title="Function apply_visitor">apply_visitor</a>(Visitor &amp;, Variant &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Visitor, <span class="bold"><strong>typename</strong></span> Variant&gt;
+    <span class="type"><span class="bold"><strong>typename</strong></span> Visitor::result_type</span> <a href="../apply_visitor.html" title="Function apply_visitor">apply_visitor</a>(<span class="bold"><strong>const</strong></span> Visitor &amp;, Variant &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> BinaryVisitor, <span class="bold"><strong>typename</strong></span> Variant1, <span class="bold"><strong>typename</strong></span> Variant2&gt;
+    <span class="type"><span class="bold"><strong>typename</strong></span> BinaryVisitor::result_type</span>
+    <a href="../apply_visitor.html" title="Function apply_visitor">apply_visitor</a>(BinaryVisitor &amp;, Variant1 &amp;, Variant2 &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> BinaryVisitor, <span class="bold"><strong>typename</strong></span> Variant1, <span class="bold"><strong>typename</strong></span> Variant2&gt;
+    <span class="type"><span class="bold"><strong>typename</strong></span> BinaryVisitor::result_type</span>
+    <a href="../apply_visitor.html" title="Function apply_visitor">apply_visitor</a>(<span class="bold"><strong>const</strong></span> BinaryVisitor &amp;, Variant1 &amp;, Variant2 &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Visitor&gt;
+    <span class="type"><a href="../apply_visitor_delayed_t.html" title="Class template apply_visitor_delayed_t">apply_visitor_delayed_t</a>&lt;Visitor&gt;</span> <a href="../apply_visitor.html" title="Function apply_visitor">apply_visitor</a>(Visitor &amp;);
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2588868"></a>Header &lt;<a href="../../../boost/variant/get.hpp" target="_top">boost/variant/get.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>class</strong></span> <a href="../bad_get.html" title="Class bad_get">bad_get</a>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U, <span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN&gt;
+    <span class="type">U *</span> <a href="../get.html" title="Function get">get</a>(<a href="../boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; *);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U, <span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN&gt;
+    <span class="type"><span class="bold"><strong>const</strong></span> U *</span> <a href="../get.html" title="Function get">get</a>(<span class="bold"><strong>const</strong></span> <a href="../boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; *);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U, <span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN&gt;
+    <span class="type">U &amp;</span> <a href="../get.html" title="Function get">get</a>(<a href="../boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp;);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U, <span class="bold"><strong>typename</strong></span> T1, <span class="bold"><strong>typename</strong></span> T2, ..., <span class="bold"><strong>typename</strong></span> TN&gt;
+    <span class="type"><span class="bold"><strong>const</strong></span> U &amp;</span> <a href="../get.html" title="Function get">get</a>(<span class="bold"><strong>const</strong></span> <a href="../boost/variant.html" title="Class template variant">variant</a>&lt;T1, T2, ..., TN&gt; &amp;);
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2634493"></a>Header &lt;<a href="../../../boost/variant/bad_visit.hpp" target="_top">boost/variant/bad_visit.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>class</strong></span> <a href="../bad_visit.html" title="Class bad_visit">bad_visit</a>;
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2645589"></a>Header &lt;<a href="../../../boost/variant/static_visitor.hpp" target="_top">boost/variant/static_visitor.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ResultType&gt; <span class="bold"><strong>class</strong></span> <a href="../static_visitor.html" title="Class template static_visitor">static_visitor</a>;
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="id2551546"></a>Header &lt;<a href="../../../boost/variant/visitor_ptr.hpp" target="_top">boost/variant/visitor_ptr.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> R&gt; <span class="bold"><strong>class</strong></span> <a href="../visitor_ptr_t.html" title="Class template visitor_ptr_t">visitor_ptr_t</a>;
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> R, <span class="bold"><strong>typename</strong></span> T&gt; <span class="type"><a href="../visitor_ptr_t.html" title="Class template visitor_ptr_t">visitor_ptr_t</a>&lt;T,R&gt;</span> <a href="../visitor_ptr.html" title="Function template visitor_ptr">visitor_ptr</a>(R (*)(T));
+}</pre>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../variant.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../BOOST_VARIANT_LIMIT_TYPES.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/variant/refs.html b/doc/html/variant/refs.html
new file mode 100644
index 0000000000..c1bf0acc8b
--- /dev/null
+++ b/doc/html/variant/refs.html
@@ -0,0 +1,129 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>References</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../variant.html" title="Chapter 15. Boost.Variant">
+<link rel="prev" href="misc.html" title="Miscellaneous Notes">
+<link rel="next" href="../boostbook.html" title="Part II. The BoostBook Documentation Format">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="misc.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../variant.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../boostbook.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="variant.refs"></a>References</h3></div></div></div>
+<p><a name="variant.refs.abr00"></a><a href="http://boost.org/more/generic_exception_safety.html" target="_top">[Abr00]</a>
+ David Abrahams.
+ "Exception-Safety in Generic Components."
+ M. Jazayeri, R. Loos, D. Musser (eds.):
+ Generic Programming '98, Proc. of a Dagstuhl Seminar, Lecture Notes on Computer Science, Vol. 1766, pp. 69-79.
+ Springer-Verlag Berlin Heidelberg.
+ 2000.
+</p>
+<p><a name="variant.refs.abr01"></a><a href="http://boost.org/more/error_handling.html" target="_top">[Abr01]</a>
+ David Abrahams.
+ "Error and Exception Handling."
+ Boost technical article.
+ 2001-2003.
+</p>
+<p><a name="variant.refs.ale01a"></a><a href="http://www.oonumerics.org/tmpw01/alexandrescu.pdf" target="_top">[Ale01a]</a>
+ Andrei Alexandrescu.
+ "An Implementation of Discriminated Unions in C++."
+ <span class="emphasis"><em>OOPSLA 2001</em></span>, Second Workshop on C++ Template Programming.
+ Tampa Bay, 14 October 2001.
+</p>
+<p><a name="variant.refs.ale01b"></a><a href="http://www.moderncppdesign.com/book/main.html" target="_top">[Ale01b]</a>
+ Andrei Alexandrescu.
+ <span class="emphasis"><em>Modern C++ Design</em></span>.
+ Addison-Wesley, C++ In-Depth series.
+ 2001.
+</p>
+<p><a name="variant.refs.ale02"></a><a href="http://cuj.com/experts/2008/alexandr.htm" target="_top">[Ale02]</a>
+ Andrei Alexandrescu.
+ "Generic&lt;Programming&gt;: Discriminated Unions" series:
+ <a href="http://cuj.com/experts/2004/alexandr.htm" target="_top">Part 1</a>,
+ <a href="http://cuj.com/experts/2006/alexandr.htm" target="_top">Part 2</a>,
+ <a href="http://cuj.com/experts/2008/alexandr.htm" target="_top">Part 3</a>.
+ <span class="emphasis"><em>C/C++ Users Journal</em></span>.
+ 2002.
+</p>
+<p><a name="variant.refs.boo02"></a><a href="http://lists.boost.org/MailArchives/boost/msg30415.php" target="_top">[Boo02]</a>
+ Various Boost members.
+ "Proposal --- A type-safe union."
+ Boost public discussion.
+ 2002.
+</p>
+<p><a name="variant.refs.c++98"></a>
+ [C++98]
+ <span class="emphasis"><em>International Standard, Programming Languages &#8211; C++</em></span>.
+ ISO/IEC:14882.
+ 1998.
+</p>
+<p><a name="variant.refs.gof95"></a>
+ [GoF95]
+ Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides.
+ <span class="emphasis"><em>Design Patterns: Elements of Reusable Object-Oriented Software</em></span>.
+ Addison-Wesley.
+ 1995.
+</p>
+<p><a name="variant.refs.gre02"></a><a href="http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?variant" target="_top">[Gre02]</a>
+ Douglas Gregor.
+ "BOOST_USER: variant."
+ Boost Wiki paper.
+ 2002.
+</p>
+<p><a name="variant.refs.gur02"></a><a href="../../../libs/mpl/index.html" target="_top">[Gur02]</a>
+ Aleksey Gurtovoy.
+ <span class="emphasis"><em>Boost Metaprogramming Library.</em></span>
+ 2002.
+</p>
+<p><a name="variant.refs.hen01"></a><a href="../any.html" title="Chapter 1. Boost.Any">[Hen01]</a>
+ Kevlin Henney.
+ <span class="emphasis"><em>Boost Any Library.</em></span>
+ 2001.
+</p>
+<p><a name="variant.refs.mk02"></a><a href="../../../libs/preprocessor/index.html" target="_top">[MK02]</a>
+ Paul Mensonides and Vesa Karvonen.
+ <span class="emphasis"><em>Boost Preprocessor Library.</em></span>
+ 2002.
+</p>
+<p><a name="variant.refs.mcd+01"></a>Type Traits
+ Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus, John Maddock, Jeremy Siek.
+ <span class="emphasis"><em>Boost Type Traits Library</em></span>.
+ 2001.
+</p>
+<p><a name="variant.refs.sut00"></a><a href="http://www.gotw.ca/publications/xc++.htm" target="_top">[Sut00]</a>
+ Herb Sutter.
+ <span class="emphasis"><em>Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions</em></span>.
+ Addison-Wesley, C++ In-Depth series.
+ 2000.
+</p>
+<p><a name="variant.refs.wil02"></a><a href="http://aspn.activestate.com/ASPN/Mail/Message/boost/1314807" target="_top">[Wil02]</a>
+ Anthony Williams.
+ Double-Storage Proposal.
+ 2002.
+</p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="misc.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../variant.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../boostbook.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/variant/tutorial.html b/doc/html/variant/tutorial.html
new file mode 100644
index 0000000000..00aead518b
--- /dev/null
+++ b/doc/html/variant/tutorial.html
@@ -0,0 +1,534 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Tutorial</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../variant.html" title="Chapter 15. Boost.Variant">
+<link rel="prev" href="../variant.html" title="Chapter 15. Boost.Variant">
+<link rel="next" href="reference.html" title="Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../variant.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../variant.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="variant.tutorial"></a>Tutorial</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="tutorial.html#variant.tutorial.basic">Basic Usage</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#variant.tutorial.advanced">Advanced Topics</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="variant.tutorial.basic"></a>Basic Usage</h4></div></div></div>
+<p>A discriminated union container on some set of types is defined by
+ instantiating the <code class="computeroutput"><a href="../boost/variant.html" title="Class template variant">boost::variant</a></code> class
+ template with the desired types. These types are called
+ <span class="bold"><strong>bounded types</strong></span> and are subject to the
+ requirements of the
+ <a href="reference.html#variant.concepts.bounded-type" title="BoundedType"><span class="emphasis"><em>BoundedType</em></span></a>
+ concept. Any number of bounded types may be specified, up to some
+ implementation-defined limit (see
+ <code class="computeroutput"><a href="../BOOST_VARIANT_LIMIT_TYPES.html" title="Macro BOOST_VARIANT_LIMIT_TYPES">BOOST_VARIANT_LIMIT_TYPES</a></code>).</p>
+<p>For example, the following declares a discriminated union container on
+ <code class="computeroutput">int</code> and <code class="computeroutput">std::string</code>:
+
+</p>
+<pre class="programlisting"><code class="computeroutput"><a href="../boost/variant.html" title="Class template variant">boost::variant</a></code>&lt; int, std::string &gt; v;</pre>
+<p>By default, a <code class="computeroutput">variant</code> default-constructs its first
+ bounded type, so <code class="computeroutput">v</code> initially contains <code class="computeroutput">int(0)</code>. If
+ this is not desired, or if the first bounded type is not
+ default-constructible, a <code class="computeroutput">variant</code> can be constructed
+ directly from any value convertible to one of its bounded types. Similarly,
+ a <code class="computeroutput">variant</code> can be assigned any value convertible to one of its
+ bounded types, as demonstrated in the following:
+
+</p>
+<pre class="programlisting">v = "hello";</pre>
+<p>Now <code class="computeroutput">v</code> contains a <code class="computeroutput">std::string</code> equal to
+ <code class="computeroutput">"hello"</code>. We can demonstrate this by
+ <span class="bold"><strong>streaming</strong></span> <code class="computeroutput">v</code> to standard
+ output:
+
+</p>
+<pre class="programlisting">std::cout &lt;&lt; v &lt;&lt; std::endl;</pre>
+<p>Usually though, we would like to do more with the content of a
+ <code class="computeroutput">variant</code> than streaming. Thus, we need some way to access the
+ contained value. There are two ways to accomplish this:
+ <code class="computeroutput"><a href="../apply_visitor.html" title="Function apply_visitor">apply_visitor</a></code>, which is safest
+ and very powerful, and
+ <code class="computeroutput"><a href="../get.html" title="Function get">get</a>&lt;T&gt;</code>, which is
+ sometimes more convenient to use.</p>
+<p>For instance, suppose we wanted to concatenate to the string contained
+ in <code class="computeroutput">v</code>. With <span class="bold"><strong>value retrieval</strong></span>
+ by <code class="computeroutput"><a href="../get.html" title="Function get">get</a></code>, this may be accomplished
+ quite simply, as seen in the following:
+
+</p>
+<pre class="programlisting">std::string&amp; str = <code class="computeroutput"><a href="../get.html" title="Function get">boost::get</a></code>&lt;std::string&gt;(v);
+str += " world! ";</pre>
+<p>As desired, the <code class="computeroutput">std::string</code> contained by <code class="computeroutput">v</code> now
+ is equal to <code class="computeroutput">"hello world! "</code>. Again, we can demonstrate this by
+ streaming <code class="computeroutput">v</code> to standard output:
+
+</p>
+<pre class="programlisting">std::cout &lt;&lt; v &lt;&lt; std::endl;</pre>
+<p>While use of <code class="computeroutput">get</code> is perfectly acceptable in this trivial
+ example, <code class="computeroutput">get</code> generally suffers from several significant
+ shortcomings. For instance, if we were to write a function accepting a
+ <code class="computeroutput">variant&lt;int, std::string&gt;</code>, we would not know whether
+ the passed <code class="computeroutput">variant</code> contained an <code class="computeroutput">int</code> or a
+ <code class="computeroutput">std::string</code>. If we insisted upon continued use of
+ <code class="computeroutput">get</code>, we would need to query the <code class="computeroutput">variant</code> for its
+ contained type. The following function, which "doubles" the
+ content of the given <code class="computeroutput">variant</code>, demonstrates this approach:
+
+</p>
+<pre class="programlisting">void times_two( boost::variant&lt; int, std::string &gt; &amp; operand )
+{
+ if ( int* pi = <code class="computeroutput"><a href="../get.html" title="Function get">boost::get</a></code>&lt;int&gt;( &amp;v ) )
+ *pi *= 2;
+ else if ( std::string* pstr = <code class="computeroutput"><a href="../get.html" title="Function get">boost::get</a></code>&lt;std::string&gt;( &amp;v ) )
+ *pstr += *pstr;
+}</pre>
+<p>However, such code is quite brittle, and without careful attention will
+ likely lead to the introduction of subtle logical errors detectable only at
+ runtime. For instance, consider if we wished to extend
+ <code class="computeroutput">times_two</code> to operate on a <code class="computeroutput">variant</code> with additional
+ bounded types. Specifically, let's add
+ <code class="computeroutput">std::complex&lt;double&gt;</code> to the set. Clearly, we would need
+ to at least change the function declaration:
+
+</p>
+<pre class="programlisting">void times_two( boost::variant&lt; int, std::string, std::complex&lt;double&gt; &gt; &amp; operand )
+{
+ // as above...?
+}</pre>
+<p>Of course, additional changes are required, for currently if the passed
+ <code class="computeroutput">variant</code> in fact contained a <code class="computeroutput">std::complex</code> value,
+ <code class="computeroutput">times_two</code> would silently return -- without any of the desired
+ side-effects and without any error. In this case, the fix is obvious. But in
+ more complicated programs, it could take considerable time to identify and
+ locate the error in the first place.</p>
+<p>Thus, real-world use of <code class="computeroutput">variant</code> typically demands an access
+ mechanism more robust than <code class="computeroutput">get</code>. For this reason,
+ <code class="computeroutput">variant</code> supports compile-time checked
+ <span class="bold"><strong>visitation</strong></span> via
+ <code class="computeroutput"><a href="../apply_visitor.html" title="Function apply_visitor">apply_visitor</a></code>. Visitation requires
+ that the programmer explicitly handle (or ignore) each bounded type. Failure
+ to do so results in a compile-time error.</p>
+<p>Visitation of a <code class="computeroutput">variant</code> requires a visitor object. The
+ following demonstrates one such implementation of a visitor implementating
+ behavior identical to <code class="computeroutput">times_two</code>:
+
+</p>
+<pre class="programlisting">class times_two_visitor
+ : public <code class="computeroutput"><a href="../static_visitor.html" title="Class template static_visitor">boost::static_visitor</a></code>&lt;&gt;
+{
+public:
+
+ void operator()(int &amp; i) const
+ {
+ i *= 2;
+ }
+
+ void operator()(std::string &amp; str) const
+ {
+ str += str;
+ }
+
+};</pre>
+<p>With the implementation of the above visitor, we can then apply it to
+ <code class="computeroutput">v</code>, as seen in the following:
+
+</p>
+<pre class="programlisting"><code class="computeroutput"><a href="../apply_visitor.html" title="Function apply_visitor">boost::apply_visitor</a></code>( times_two_visitor(), v );</pre>
+<p>As expected, the content of <code class="computeroutput">v</code> is now a
+ <code class="computeroutput">std::string</code> equal to <code class="computeroutput">"hello world! hello world! "</code>.
+ (We'll skip the verification this time.)</p>
+<p>In addition to enhanced robustness, visitation provides another
+ important advantage over <code class="computeroutput">get</code>: the ability to write generic
+ visitors. For instance, the following visitor will "double" the
+ content of <span class="emphasis"><em>any</em></span> <code class="computeroutput">variant</code> (provided its
+ bounded types each support operator+=):
+
+</p>
+<pre class="programlisting">class times_two_generic
+ : public <code class="computeroutput"><a href="../static_visitor.html" title="Class template static_visitor">boost::static_visitor</a></code>&lt;&gt;
+{
+public:
+
+ template &lt;typename T&gt;
+ void operator()( T &amp; operand ) const
+ {
+ operand += operand;
+ }
+
+};</pre>
+<p>Again, <code class="computeroutput">apply_visitor</code> sets the wheels in motion:
+
+</p>
+<pre class="programlisting"><code class="computeroutput"><a href="../apply_visitor.html" title="Function apply_visitor">boost::apply_visitor</a></code>( times_two_generic(), v );</pre>
+<p>While the initial setup costs of visitation may exceed that required for
+ <code class="computeroutput">get</code>, the benefits quickly become significant. Before concluding
+ this section, we should explore one last benefit of visitation with
+ <code class="computeroutput">apply_visitor</code>:
+ <span class="bold"><strong>delayed visitation</strong></span>. Namely, a special form
+ of <code class="computeroutput">apply_visitor</code> is available that does not immediately apply
+ the given visitor to any <code class="computeroutput">variant</code> but rather returns a function
+ object that operates on any <code class="computeroutput">variant</code> given to it. This behavior
+ is particularly useful when operating on sequences of <code class="computeroutput">variant</code>
+ type, as the following demonstrates:
+
+</p>
+<pre class="programlisting">std::vector&lt; <code class="computeroutput"><a href="../boost/variant.html" title="Class template variant">boost::variant</a></code>&lt;int, std::string&gt; &gt; vec;
+vec.push_back( 21 );
+vec.push_back( "hello " );
+
+times_two_generic visitor;
+std::for_each(
+ vec.begin(), vec.end()
+ , <code class="computeroutput"><a href="../apply_visitor.html" title="Function apply_visitor">boost::apply_visitor</a></code>(visitor)
+ );</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="variant.tutorial.advanced"></a>Advanced Topics</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="tutorial.html#variant.tutorial.preprocessor">Preprocessor macros</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#variant.tutorial.over-sequence">Using a type sequence to specify bounded types</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#variant.tutorial.recursive">Recursive <code class="computeroutput">variant</code> types</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#variant.tutorial.binary-visitation">Binary visitation</a></span></dt>
+</dl></div>
+<p>This section discusses several features of the library often required
+ for advanced uses of <code class="computeroutput">variant</code>. Unlike in the above section, each
+ feature presented below is largely independent of the others. Accordingly,
+ this section is not necessarily intended to be read linearly or in its
+ entirety.</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="variant.tutorial.preprocessor"></a>Preprocessor macros</h5></div></div></div>
+<p>While the <code class="computeroutput">variant</code> class template's variadic parameter
+ list greatly simplifies use for specific instantiations of the template,
+ it significantly complicates use for generic instantiations. For instance,
+ while it is immediately clear how one might write a function accepting a
+ specific <code class="computeroutput">variant</code> instantiation, say
+ <code class="computeroutput">variant&lt;int, std::string&gt;</code>, it is less clear how one
+ might write a function accepting any given <code class="computeroutput">variant</code>.</p>
+<p>Due to the lack of support for true variadic template parameter lists
+ in the C++98 standard, the preprocessor is needed. While the
+ <a href="../../../libs/preprocessor/index.html" target="_top">Preprocessor</a> library provides a general and
+ powerful solution, the need to repeat
+ <code class="computeroutput"><a href="../BOOST_VARIANT_LIMIT_TYPES.html" title="Macro BOOST_VARIANT_LIMIT_TYPES">BOOST_VARIANT_LIMIT_TYPES</a></code>
+ unnecessarily clutters otherwise simple code. Therefore, for common
+ use-cases, this library provides its own macro
+ <code class="computeroutput"><span class="bold"><strong><a href="../BOOST_VARIANT_ENUM_PARAMS.html" title="Macro BOOST_VARIANT_ENUM_PARAMS">BOOST_VARIANT_ENUM_PARAMS</a></strong></span></code>.</p>
+<p>This macro simplifies for the user the process of declaring
+ <code class="computeroutput">variant</code> types in function templates or explicit partial
+ specializations of class templates, as shown in the following:
+
+</p>
+<pre class="programlisting">// general cases
+template &lt;typename T&gt; void some_func(const T &amp;);
+template &lt;typename T&gt; class some_class;
+
+// function template overload
+template &lt;<code class="computeroutput"><a href="../BOOST_VARIANT_ENUM_PARAMS.html" title="Macro BOOST_VARIANT_ENUM_PARAMS">BOOST_VARIANT_ENUM_PARAMS</a></code>(typename T)&gt;
+void some_func(const <code class="computeroutput"><a href="../boost/variant.html" title="Class template variant">boost::variant</a></code>&lt;<code class="computeroutput"><a href="../BOOST_VARIANT_ENUM_PARAMS.html" title="Macro BOOST_VARIANT_ENUM_PARAMS">BOOST_VARIANT_ENUM_PARAMS</a></code>(T)&gt; &amp;);
+
+// explicit partial specialization
+template &lt;<code class="computeroutput"><a href="../BOOST_VARIANT_ENUM_PARAMS.html" title="Macro BOOST_VARIANT_ENUM_PARAMS">BOOST_VARIANT_ENUM_PARAMS</a></code>(typename T)&gt;
+class some_class&lt; <code class="computeroutput"><a href="../boost/variant.html" title="Class template variant">boost::variant</a></code>&lt;<code class="computeroutput"><a href="../BOOST_VARIANT_ENUM_PARAMS.html" title="Macro BOOST_VARIANT_ENUM_PARAMS">BOOST_VARIANT_ENUM_PARAMS</a></code>(T)&gt; &gt;;</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="variant.tutorial.over-sequence"></a>Using a type sequence to specify bounded types</h5></div></div></div>
+<p>While convenient for typical uses, the <code class="computeroutput">variant</code> class
+ template's variadic template parameter list is limiting in two significant
+ dimensions. First, due to the lack of support for true variadic template
+ parameter lists in C++, the number of parameters must be limited to some
+ implementation-defined maximum (namely,
+ <code class="computeroutput"><a href="../BOOST_VARIANT_LIMIT_TYPES.html" title="Macro BOOST_VARIANT_LIMIT_TYPES">BOOST_VARIANT_LIMIT_TYPES</a></code>).
+ Second, the nature of parameter lists in general makes compile-time
+ manipulation of the lists excessively difficult.</p>
+<p>To solve these problems,
+ <code class="computeroutput">make_variant_over&lt; <span class="emphasis"><em>Sequence</em></span> &gt;</code>
+ exposes a <code class="computeroutput">variant</code> whose bounded types are the elements of
+ <code class="computeroutput">Sequence</code> (where <code class="computeroutput">Sequence</code> is any type fulfilling
+ the requirements of <a href="../../../libs/mpl/index.html" target="_top">MPL</a>'s
+ <span class="emphasis"><em>Sequence</em></span> concept). For instance,
+
+</p>
+<pre class="programlisting">typedef <code class="computeroutput">mpl::vector</code>&lt; std::string &gt; types_initial;
+typedef <code class="computeroutput">mpl::push_front</code>&lt; types_initial, int &gt;::type types;
+
+<code class="computeroutput"><a href="../make_variant_over.html" title="Class template make_variant_over">boost::make_variant_over</a></code>&lt; types &gt;::type v1;</pre>
+<p>
+
+ behaves equivalently to
+
+</p>
+<pre class="programlisting"><code class="computeroutput"><a href="../boost/variant.html" title="Class template variant">boost::variant</a></code>&lt; int, std::string &gt; v2;</pre>
+<p><span class="bold"><strong>Portability</strong></span>: Unfortunately, due to
+ standard conformance issues in several compilers,
+ <code class="computeroutput">make_variant_over</code> is not universally available. On these
+ compilers the library indicates its lack of support for the syntax via the
+ definition of the preprocessor symbol
+ <code class="computeroutput"><a href="../id2648190.html" title="Macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT">BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT</a></code>.</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="variant.tutorial.recursive"></a>Recursive <code class="computeroutput">variant</code> types</h5></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="tutorial.html#variant.tutorial.recursive.recursive-wrapper">Recursive types with <code class="computeroutput">recursive_wrapper</code></a></span></dt>
+<dt><span class="section"><a href="tutorial.html#variant.tutorial.recursive.recursive-variant">Recursive types with <code class="computeroutput">make_recursive_variant</code></a></span></dt>
+</dl></div>
+<p>Recursive types facilitate the construction of complex semantics from
+ simple syntax. For instance, nearly every programmer is familiar with the
+ canonical definition of a linked list implementation, whose simple
+ definition allows sequences of unlimited length:
+
+</p>
+<pre class="programlisting">template &lt;typename T&gt;
+struct list_node
+{
+ T data;
+ list_node * next;
+};</pre>
+<p>The nature of <code class="computeroutput">variant</code> as a generic class template
+ unfortunately precludes the straightforward construction of recursive
+ <code class="computeroutput">variant</code> types. Consider the following attempt to construct
+ a structure for simple mathematical expressions:
+
+ </p>
+<pre class="programlisting">struct add;
+struct sub;
+template &lt;typename OpTag&gt; struct binary_op;
+
+typedef <code class="computeroutput"><a href="../boost/variant.html" title="Class template variant">boost::variant</a></code>&lt;
+ int
+ , binary_op&lt;add&gt;
+ , binary_op&lt;sub&gt;
+ &gt; expression;
+
+template &lt;typename OpTag&gt;
+struct binary_op
+{
+ expression left; // <span class="emphasis"><em>variant instantiated here...</em></span>
+ expression right;
+
+ binary_op( const expression &amp; lhs, const expression &amp; rhs )
+ : left(lhs), right(rhs)
+ {
+ }
+
+}; // <span class="emphasis"><em>...but binary_op not complete until here!</em></span></pre>
+<p>While well-intentioned, the above approach will not compile because
+ <code class="computeroutput">binary_op</code> is still incomplete when the <code class="computeroutput">variant</code>
+ type <code class="computeroutput">expression</code> is instantiated. Further, the approach suffers
+ from a more significant logical flaw: even if C++ syntax were different
+ such that the above example could be made to "work,"
+ <code class="computeroutput">expression</code> would need to be of infinite size, which is
+ clearly impossible.</p>
+<p>To overcome these difficulties, <code class="computeroutput">variant</code> includes special
+ support for the
+ <code class="computeroutput"><a href="../recursive_wrapper.html" title="Class template recursive_wrapper">boost::recursive_wrapper</a></code> class
+ template, which breaks the circular dependency at the heart of these
+ problems. Further,
+ <code class="computeroutput"><a href="../make_recursive_variant.html" title="Class template make_recursive_variant">boost::make_recursive_variant</a></code> provides
+ a more convenient syntax for declaring recursive <code class="computeroutput">variant</code>
+ types. Tutorials for use of these facilities is described in
+ <a href="tutorial.html#variant.tutorial.recursive.recursive-wrapper" title="Recursive types with recursive_wrapper">the section called &#8220;Recursive types with <code class="computeroutput">recursive_wrapper</code>&#8221;</a> and
+ <a href="tutorial.html#variant.tutorial.recursive.recursive-variant" title="Recursive types with make_recursive_variant">the section called &#8220;Recursive types with <code class="computeroutput">make_recursive_variant</code>&#8221;</a>.</p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="variant.tutorial.recursive.recursive-wrapper"></a>Recursive types with <code class="computeroutput">recursive_wrapper</code></h6></div></div></div>
+<p>The following example demonstrates how <code class="computeroutput">recursive_wrapper</code>
+ could be used to solve the problem presented in
+ <a href="tutorial.html#variant.tutorial.recursive" title="Recursive variant types">the section called &#8220;Recursive <code class="computeroutput">variant</code> types&#8221;</a>:
+
+ </p>
+<pre class="programlisting">typedef <code class="computeroutput"><a href="../boost/variant.html" title="Class template variant">boost::variant</a></code>&lt;
+ int
+ , <code class="computeroutput"><a href="../recursive_wrapper.html" title="Class template recursive_wrapper">boost::recursive_wrapper</a></code>&lt; binary_op&lt;add&gt; &gt;
+ , <code class="computeroutput"><a href="../recursive_wrapper.html" title="Class template recursive_wrapper">boost::recursive_wrapper</a></code>&lt; binary_op&lt;sub&gt; &gt;
+ &gt; expression;</pre>
+<p>Because <code class="computeroutput">variant</code> provides special support for
+ <code class="computeroutput">recursive_wrapper</code>, clients may treat the resultant
+ <code class="computeroutput">variant</code> as though the wrapper were not present. This is seen
+ in the implementation of the following visitor, which calculates the value
+ of an <code class="computeroutput">expression</code> without any reference to
+ <code class="computeroutput">recursive_wrapper</code>:
+
+ </p>
+<pre class="programlisting">class calculator : public <code class="computeroutput"><a href="../static_visitor.html" title="Class template static_visitor">boost::static_visitor&lt;int&gt;</a></code>
+{
+public:
+
+ int operator()(int value) const
+ {
+ return value;
+ }
+
+ int operator()(const binary_op&lt;add&gt; &amp; binary) const
+ {
+ return <code class="computeroutput"><a href="../apply_visitor.html" title="Function apply_visitor">boost::apply_visitor</a></code>( calculator(), binary.left )
+ + <code class="computeroutput"><a href="../apply_visitor.html" title="Function apply_visitor">boost::apply_visitor</a></code>( calculator(), binary.right );
+ }
+
+ int operator()(const binary_op&lt;sub&gt; &amp; binary) const
+ {
+ return <code class="computeroutput"><a href="../apply_visitor.html" title="Function apply_visitor">boost::apply_visitor</a></code>( calculator(), binary.left )
+ - <code class="computeroutput"><a href="../apply_visitor.html" title="Function apply_visitor">boost::apply_visitor</a></code>( calculator(), binary.right );
+ }
+
+};</pre>
+<p>Finally, we can demonstrate <code class="computeroutput">expression</code> in action:
+
+ </p>
+<pre class="programlisting">void f()
+{
+ // result = ((7-3)+8) = 12
+ expression result(
+ binary_op&lt;add&gt;(
+ binary_op&lt;sub&gt;(7,3)
+ , 8
+ )
+ );
+
+ assert( <code class="computeroutput"><a href="../apply_visitor.html" title="Function apply_visitor">boost::apply_visitor</a></code>(calculator(),result) == 12 );
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="variant.tutorial.recursive.recursive-variant"></a>Recursive types with <code class="computeroutput">make_recursive_variant</code></h6></div></div></div>
+<p>For some applications of recursive <code class="computeroutput">variant</code> types, a user
+ may be able to sacrifice the full flexibility of using
+ <code class="computeroutput">recursive_wrapper</code> with <code class="computeroutput">variant</code> for the following
+ convenient syntax:
+
+</p>
+<pre class="programlisting">typedef <code class="computeroutput"><a href="../make_recursive_variant.html" title="Class template make_recursive_variant">boost::make_recursive_variant</a></code>&lt;
+ int
+ , std::vector&lt; boost::recursive_variant_ &gt;
+ &gt;::type int_tree_t;</pre>
+<p>Use of the resultant <code class="computeroutput">variant</code> type is as expected:
+
+</p>
+<pre class="programlisting">std::vector&lt; int_tree_t &gt; subresult;
+subresult.push_back(3);
+subresult.push_back(5);
+
+std::vector&lt; int_tree_t &gt; result;
+result.push_back(1);
+result.push_back(subresult);
+result.push_back(7);
+
+int_tree_t var(result);</pre>
+<p>To be clear, one might represent the resultant content of
+ <code class="computeroutput">var</code> as <code class="computeroutput">( 1 ( 3 5 ) 7 )</code>.</p>
+<p>Finally, note that a type sequence can be used to specify the bounded
+ types of a recursive <code class="computeroutput">variant</code> via the use of
+ <code class="computeroutput"><a href="../id2655704.html" title="Class template make_recursive_variant_over">boost::make_recursive_variant_over</a></code>,
+ whose semantics are the same as <code class="computeroutput">make_variant_over</code> (which is
+ described in <a href="tutorial.html#variant.tutorial.over-sequence" title="Using a type sequence to specify bounded types">the section called &#8220;Using a type sequence to specify bounded types&#8221;</a>).</p>
+<p><span class="bold"><strong>Portability</strong></span>: Unfortunately, due to
+ standard conformance issues in several compilers,
+ <code class="computeroutput">make_recursive_variant</code> is not universally supported. On these
+ compilers the library indicates its lack of support via the definition
+ of the preprocessor symbol
+ <code class="computeroutput"><a href="../id2404411.html" title="Macro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT">BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT</a></code>.
+ Thus, unless working with highly-conformant compilers, maximum portability
+ will be achieved by instead using <code class="computeroutput">recursive_wrapper</code>, as
+ described in
+ <a href="tutorial.html#variant.tutorial.recursive.recursive-wrapper" title="Recursive types with recursive_wrapper">the section called &#8220;Recursive types with <code class="computeroutput">recursive_wrapper</code>&#8221;</a>.</p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="variant.tutorial.binary-visitation"></a>Binary visitation</h5></div></div></div>
+<p>As the tutorial above demonstrates, visitation is a powerful mechanism
+ for manipulating <code class="computeroutput">variant</code> content. Binary visitation further
+ extends the power and flexibility of visitation by allowing simultaneous
+ visitation of the content of two different <code class="computeroutput">variant</code>
+ objects.</p>
+<p>Notably this feature requires that binary visitors are incompatible
+ with the visitor objects discussed in the tutorial above, as they must
+ operate on two arguments. The following demonstrates the implementation of
+ a binary visitor:
+
+</p>
+<pre class="programlisting">class are_strict_equals
+ : public <code class="computeroutput"><a href="../static_visitor.html" title="Class template static_visitor">boost::static_visitor</a></code>&lt;bool&gt;
+{
+public:
+
+ template &lt;typename T, typename U&gt;
+ bool operator()( const T &amp;, const U &amp; ) const
+ {
+ return false; // cannot compare different types
+ }
+
+ template &lt;typename T&gt;
+ bool operator()( const T &amp; lhs, const T &amp; rhs ) const
+ {
+ return lhs == rhs;
+ }
+
+};</pre>
+<p>As expected, the visitor is applied to two <code class="computeroutput">variant</code>
+ arguments by means of <code class="computeroutput">apply_visitor</code>:
+
+</p>
+<pre class="programlisting"><code class="computeroutput"><a href="../boost/variant.html" title="Class template variant">boost::variant</a></code>&lt; int, std::string &gt; v1( "hello" );
+
+<code class="computeroutput"><a href="../boost/variant.html" title="Class template variant">boost::variant</a></code>&lt; double, std::string &gt; v2( "hello" );
+assert( <code class="computeroutput"><a href="../apply_visitor.html" title="Function apply_visitor">boost::apply_visitor</a></code>(are_strict_equals(), v1, v2) );
+
+<code class="computeroutput"><a href="../boost/variant.html" title="Class template variant">boost::variant</a></code>&lt; int, const char * &gt; v3( "hello" );
+assert( !<code class="computeroutput"><a href="../apply_visitor.html" title="Function apply_visitor">boost::apply_visitor</a></code>(are_strict_equals(), v1, v3) );</pre>
+<p>Finally, we must note that the function object returned from the
+ "delayed" form of
+ <code class="computeroutput"><a href="../apply_visitor.html" title="Function apply_visitor">apply_visitor</a></code> also supports
+ binary visitation, as the following demonstrates:
+
+</p>
+<pre class="programlisting">typedef <code class="computeroutput"><a href="../boost/variant.html" title="Class template variant">boost::variant</a></code>&lt;double, std::string&gt; my_variant;
+
+std::vector&lt; my_variant &gt; seq1;
+seq1.push_back("pi is close to ");
+seq1.push_back(3.14);
+
+std::list&lt; my_variant &gt; seq2;
+seq2.push_back("pi is close to ");
+seq2.push_back(3.14);
+
+are_strict_equals visitor;
+assert( std::equal(
+ v1.begin(), v1.end(), v2.begin()
+ , <code class="computeroutput"><a href="../apply_visitor.html" title="Function apply_visitor">boost::apply_visitor</a></code>( visitor )
+ ) );</pre>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../variant.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../variant.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/visit_each.html b/doc/html/visit_each.html
new file mode 100644
index 0000000000..87f1fd54c4
--- /dev/null
+++ b/doc/html/visit_each.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template visit_each</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="signals/reference.html#id2574365" title="Header &lt;boost/visit_each.hpp&gt;">
+<link rel="prev" href="scoped_connection.html" title="Class scoped_connection">
+<link rel="next" href="last_value.html" title="Class template last_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="scoped_connection.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id2574365"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="last_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="visit_each"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template visit_each</span></h2>
+<p>boost::visit_each &#8212; Allow limited exploration of class members.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Visitor, <span class="bold"><strong>typename</strong></span> T&gt;
+  <span class="type"><span class="bold"><strong>void</strong></span></span> visit_each(<span class="bold"><strong>const</strong></span> Visitor&amp; visitor, <span class="bold"><strong>const</strong></span> T&amp; t, <span class="bold"><strong>int</strong></span> );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2738194"></a><h2>Description</h2>
+<p>The <code class="computeroutput"><a href="visit_each.html" title="Function template visit_each">visit_each</a></code> mechanism
+ allows a visitor to be applied to every subobject in a given
+ object. It is used by the Signals library to discover
+ <code class="computeroutput"><a href="trackable.html" title="Class trackable">signals::trackable</a></code> objects within a
+ function object, but other uses may surface if used
+ universally (e.g., conservative garbage collection). To fit
+ within the <code class="computeroutput"><a href="visit_each.html" title="Function template visit_each">visit_each</a></code> framework,
+ a <code class="computeroutput"><a href="visit_each.html" title="Function template visit_each">visit_each</a></code> overload must be
+ supplied for each object type. </p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ <code class="computeroutput">visitor(t)</code>, and for
+ every subobject <code class="computeroutput">x</code> of
+ <code class="computeroutput">t</code>:
+ <div class="itemizedlist"><ul type="disc">
+<li><p>If <code class="computeroutput">x</code> is a reference, <code class="computeroutput">visit_each(visitor, <a href="reference_wrapper.html#id2366489">ref</a>(x), 0)</code></p></li>
+<li><p>Otherwise, <code class="computeroutput">visit_each(visitor, x, 0)</code></p></li>
+</ul></div><br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Notes</span></b>:
+
+ The third parameter is
+ <code class="computeroutput">long</code> for the fallback version
+ of <a href="visit_each.html" title="Function template visit_each">visit_each</a> and the argument
+ supplied to this third paramter must always be 0. The third
+ parameter is an artifact of the widespread lack of proper
+ function template ordering, and will be removed in the future.<p>Library authors will be expected to add additional
+ overloads that specialize the T argument for their classes, so
+ that subobjects can be visited.</p><p>Calls to visit_each are required to be unqualified, to
+ enable argument-dependent lookup.</p></p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2004 Douglas Gregor</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="scoped_connection.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="signals/reference.html#id2574365"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="last_value.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/visitor_ptr.html b/doc/html/visitor_ptr.html
new file mode 100644
index 0000000000..f0d2aa44ab
--- /dev/null
+++ b/doc/html/visitor_ptr.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function template visitor_ptr</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2551546" title="Header &lt;boost/variant/visitor_ptr.hpp&gt;">
+<link rel="prev" href="visitor_ptr_t.html" title="Class template visitor_ptr_t">
+<link rel="next" href="variant/design.html" title="Design Overview">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="visitor_ptr_t.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2551546"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="variant/design.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="visitor_ptr"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template visitor_ptr</span></h2>
+<p>boost::visitor_ptr &#8212; <p>Returns a visitor object that adapts function pointers for
+ use as a static visitor.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> R, <span class="bold"><strong>typename</strong></span> T&gt; <span class="type"><a href="visitor_ptr_t.html" title="Class template visitor_ptr_t">visitor_ptr_t</a>&lt;T,R&gt;</span> visitor_ptr(R (*)(T) );</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2840403"></a><h2>Description</h2>
+<p>Constructs and returns a
+ <code class="computeroutput"><a href="visitor_ptr_t.html" title="Class template visitor_ptr_t">visitor_ptr_t</a></code> adaptor over the
+ given function.</p>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ Returns a <code class="computeroutput"><a href="visitor_ptr_t.html" title="Class template visitor_ptr_t">visitor_ptr_t</a></code>
+ visitor object that, when applied, invokes the given
+ function.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ Will not throw. (Note, however, that the returned
+ <a href="visitor_ptr_t.html" title="Class template visitor_ptr_t">visitor object</a> may
+ throw when applied.)</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="visitor_ptr_t.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2551546"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="variant/design.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/visitor_ptr_t.html b/doc/html/visitor_ptr_t.html
new file mode 100644
index 0000000000..7a4d2ce3ef
--- /dev/null
+++ b/doc/html/visitor_ptr_t.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template visitor_ptr_t</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="variant/reference.html#id2551546" title="Header &lt;boost/variant/visitor_ptr.hpp&gt;">
+<link rel="prev" href="static_visitor.html" title="Class template static_visitor">
+<link rel="next" href="visitor_ptr.html" title="Function template visitor_ptr">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="static_visitor.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2551546"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="visitor_ptr.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="visitor_ptr_t"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template visitor_ptr_t</span></h2>
+<p>boost::visitor_ptr_t &#8212; Adapts a function pointer for use as a static visitor.</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> R&gt;
+<span class="bold"><strong>class</strong></span> visitor_ptr_t : <span class="bold"><strong>public</strong></span> <a href="static_visitor.html" title="Class template static_visitor">static_visitor</a>&lt;R&gt; {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="visitor_ptr_t.html#visitor_ptr_tconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <span class="bold"><strong>explicit</strong></span> <a href="visitor_ptr_t.html#id2661204-bb">visitor_ptr_t</a>(R (*)(T));
+
+  <span class="emphasis"><em>// <a href="visitor_ptr_t.html#id2670414-bb">static visitor interfaces</a></em></span>
+  <span class="type">R</span> <a href="visitor_ptr_t.html#id2662567-bb"><span class="bold"><strong>operator</strong></span>()</a>(<span class="emphasis"><em>unspecified-forwarding-type</em></span>);
+  <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="visitor_ptr_t.html#id2572591-bb"><span class="bold"><strong>operator</strong></span>()</a>(<span class="bold"><strong>const</strong></span> U&amp;);
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2840130"></a><h2>Description</h2>
+<p>Adapts the function given at construction for use as a
+ <a href="variant/reference.html#variant.concepts.static-visitor" title="StaticVisitor">static visitor</a>
+ of type <code class="computeroutput">T</code> with result type <code class="computeroutput">R</code>.</p>
+<div class="refsect2" lang="en">
+<a name="id2840156"></a><h3>
+<a name="visitor_ptr_tconstruct-copy-destruct"></a><code class="computeroutput">visitor_ptr_t</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="bold"><strong>explicit</strong></span> <a name="id2661204-bb"></a>visitor_ptr_t(R (*)(T) );</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ Constructs the visitor with the given function.</p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2840207"></a><h3>
+<a name="id2670414-bb"></a><code class="computeroutput">visitor_ptr_t</code> static visitor interfaces</h3>
+<div class="orderedlist"><ol type="1"><li>
+<p><a name="id2633804-bb"></a></p>
+<pre class="literallayout"><span class="type">R</span> <a name="id2662567-bb"></a><span class="bold"><strong>operator</strong></span>()(<span class="emphasis"><em>unspecified-forwarding-type</em></span> operand);
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2572591-bb"></a><span class="bold"><strong>operator</strong></span>()(<span class="bold"><strong>const</strong></span> U&amp; );</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Effects</span></b>:
+
+ If passed a value or reference of type
+ <code class="computeroutput">T</code>, it invokes the function given at
+ construction, appropriately forwarding
+ <code class="computeroutput">operand</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ Returns the result of the function invocation.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Throws</span></b>:
+
+ The overload taking a value or reference of type
+ <code class="computeroutput">T</code> throws if the invoked function throws.
+ The overload taking all other values <span class="emphasis"><em>always</em></span>
+ throws <code class="computeroutput"><a href="bad_visit.html" title="Class bad_visit">bad_visit</a></code>.</p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002, 2003 Eric Friedman, Itay Maman</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="static_visitor.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="variant/reference.html#id2551546"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="visitor_ptr.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/week_functor.html b/doc/html/week_functor.html
new file mode 100644
index 0000000000..d322b12976
--- /dev/null
+++ b/doc/html/week_functor.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template week_functor</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2485277" title="Header &lt;boost/date_time/adjust_functors.hpp&gt;">
+<link rel="prev" href="month_functor.html" title="Class template month_functor">
+<link rel="next" href="year_functor.html" title="Class template year_functor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="month_functor.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2485277"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="year_functor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="week_functor"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template week_functor</span></h2>
+<p>boost::date_time::week_functor &#8212; Functor to iterate a over weeks. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt;
+<span class="bold"><strong>class</strong></span> week_functor {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::duration_type duration_type;
+  <span class="bold"><strong>typedef</strong></span> date_type::calendar_type calendar_type;
+
+  <span class="emphasis"><em>// <a href="week_functor.html#week_functorconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="week_functor.html#id2439763-bb">week_functor</a>(<span class="bold"><strong>int</strong></span>);
+
+  <span class="emphasis"><em>// <a href="week_functor.html#id2424849-bb">public member functions</a></em></span>
+  <span class="type">duration_type</span> <a href="week_functor.html#id2424853-bb">get_offset</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="week_functor.html#id2408225-bb">get_neg_offset</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2606108"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2606111"></a><h3>
+<a name="week_functorconstruct-copy-destruct"></a><code class="computeroutput">week_functor</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2439763-bb"></a>week_functor(<span class="bold"><strong>int</strong></span> f);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2606150"></a><h3>
+<a name="id2424849-bb"></a><code class="computeroutput">week_functor</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2424853-bb"></a>get_offset(<span class="bold"><strong>const</strong></span> date_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2408225-bb"></a>get_neg_offset(<span class="bold"><strong>const</strong></span> date_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="month_functor.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2485277"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="year_functor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/weeks_duration.html b/doc/html/weeks_duration.html
new file mode 100644
index 0000000000..b4b28548d6
--- /dev/null
+++ b/doc/html/weeks_duration.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template weeks_duration</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2442047" title="Header &lt;boost/date_time/date_duration_types.hpp&gt;">
+<link rel="prev" href="duration_traits_adapted.html" title="Struct duration_traits_adapted">
+<link rel="next" href="months_duration.html" title="Class template months_duration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="duration_traits_adapted.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2442047"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="months_duration.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="weeks_duration"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template weeks_duration</span></h2>
+<p>boost::date_time::weeks_duration &#8212; Additional duration type that represents a number of n*7 days. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> duration_config&gt;
+<span class="bold"><strong>class</strong></span> weeks_duration
+ : : <span class="bold"><strong>public</strong></span> boost::date_time::date_duration&lt; duration_config &gt;
+{
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="weeks_duration.html#weeks_durationconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="weeks_duration.html#id2442181-bb">weeks_duration</a>(<span class="bold"><strong>typename</strong></span> duration_config::impl_type);
+  <a href="weeks_duration.html#id2503913-bb">weeks_duration</a>(special_values);
+
+  <span class="emphasis"><em>// <a href="weeks_duration.html#id2442176-bb">public member functions</a></em></span>
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2611134"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2611137"></a><h3>
+<a name="weeks_durationconstruct-copy-destruct"></a><code class="computeroutput">weeks_duration</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2442181-bb"></a>weeks_duration(<span class="bold"><strong>typename</strong></span> duration_config::impl_type w);</pre></li>
+<li><pre class="literallayout"><a name="id2503913-bb"></a>weeks_duration(special_values sv);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2611191"></a><h3>
+<a name="id2442176-bb"></a><code class="computeroutput">weeks_duration</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="duration_traits_adapted.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2442047"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="months_duration.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/who_s_using_boost_.html b/doc/html/who_s_using_boost_.html
new file mode 100644
index 0000000000..f7dc1bca3a
--- /dev/null
+++ b/doc/html/who_s_using_boost_.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Who's Using Boost?</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="index.html" title="The Boost C++ Libraries">
+<link rel="prev" href="bbv2/arch/targets.html" title="Targets">
+<link rel="next" href="who_s_using_boost_/shrink.html" title=" Shrink Wrapped Boost">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bbv2/arch/targets.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="who_s_using_boost_/shrink.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="article" lang="en">
+<div class="titlepage">
+<div>
+<div><h2 class="title">
+<a name="who_s_using_boost_"></a>Who's Using Boost?</h2></div>
+<div><p class="copyright">Copyright © 2005 Various Authors</p></div>
+<div><div class="legalnotice">
+<a name="id2863061"></a><p>
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">
+ http://www.boost.org/LICENSE_1_0.txt
+ </a>)
+
+ </p>
+</div></div>
+</div>
+<hr>
+</div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="who_s_using_boost_.html#who_s_using_boost_.intro"></a></span></dt>
+<dt><span class="section"><a href="who_s_using_boost_/shrink.html"> Shrink Wrapped Boost</a></span></dt>
+<dt><span class="section"><a href="who_s_using_boost_/open.html"> Open Source Boost</a></span></dt>
+<dt><span class="section"><a href="who_s_using_boost_/inhouse.html"> In House Boost</a></span></dt>
+<dt><span class="section"><a href="who_s_using_boost_/submit.html"> Submissions</a></span></dt>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="who_s_using_boost_.intro"></a></h2></div></div></div>
+<p>
+Open source isn't just for nerds and researchers. Real world programming challenges,
+irrespective of whether they are open or closed source, can benefit enormously from
+the thought and experience that has gone into the Boost software libraries. Put simply,
+for any given problem for which Boost provides a solution, Boost will strive to provide
+the best solution possible. It's up to you to decide whether we've achieved that, but
+as these pages will testify, many other developers have found our solutions to be the
+best for them.</p>
+<p><span class="emphasis"><em>Disclaimer:</em></span> Boost's developers try to ensure that the
+information on these pages is correct, but from time to time inadvertent
+mistakes are bound to occur:
+if you would like an entry in these pages to be removed or corrected please contact
+the <a href="mailto:boost-owner@lists.boost.org" target="_top">Boost Moderators</a>.</p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"><small><p>Last revised: December 01, 2005 at 04:52:03 GMT</p></small></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bbv2/arch/targets.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="who_s_using_boost_/shrink.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/who_s_using_boost_/inhouse.html b/doc/html/who_s_using_boost_/inhouse.html
new file mode 100644
index 0000000000..0be3a4e663
--- /dev/null
+++ b/doc/html/who_s_using_boost_/inhouse.html
@@ -0,0 +1,187 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> In House Boost</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../who_s_using_boost_.html" title="Who's Using Boost?">
+<link rel="prev" href="open.html" title=" Open Source Boost">
+<link rel="next" href="submit.html" title=" Submissions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="open.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../who_s_using_boost_.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="submit.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="who_s_using_boost_.inhouse"></a> In House Boost</h2></div></div></div>
+<p>
+Whether you're a government department, an internet startup, or a specialist consultancy, in-house
+developement using the Boost Libraries can significantly shorten your
+development cycles.</p>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>LiquidNet</strong></span><br><br><a href="http://www.liquidnet.com/" target="_top">LiquidNet</a> is Americas number one electronic
+marketplace for large block trading, and the 5th fastest growing company
+according to Inc Magazine. <br><br>
+
+"<span class="emphasis"><em>Boost Libraries most used, in order of importance:<br><a href="../../../libs/smart_ptr/index.html" target="_top">Shared Pointer</a>,
+<a href="../../../libs/bind/index.html" target="_top">Bind</a>,
+<a href="../../../libs/python/doc/index.html" target="_top">Python</a>,
+<a href="../../../libs/conversion/lexical_cast.htm" target="_top">Lexical Cast</a>,
+<a href="../../../libs/optional/index.html" target="_top">Optional</a>,
+<a href="../../../libs/any/index.html" target="_top">Any</a> and
+<a href="../../../libs/tuple/index.html" target="_top">Tuple</a></em></span>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>MetOcean Engineers</strong></span><br><br><a href="http://www.metoceanengineers.com" target="_top">MetOcean Engineers</a>
+are a leading consultancy providing oceanographic and meteorological
+services in support of coastal and ocean engineering and environmental
+protection. Core activities encompass: oceanographic measurements;
+metocean monitoring systems; coastal and ocean engineering; environmental
+consultancy; data management.<br><br>
+
+Boost Libraries currently in use:
+<a href="../../../libs/any/index.html" target="_top">Any</a>,
+<a href="../../../libs/assign/index.html" target="_top">Assign</a>,
+<a href="../../../libs/bind/index.html" target="_top">Bind</a>,
+<a href="../../../libs/date_time/index.html" target="_top">Date Time</a>,
+<a href="../../../libs/iterator/index.html" target="_top">Iterators</a>,
+<a href="../../../libs/conversion/lexical_cast.htm" target="_top">Lexical Cast</a>,
+<a href="../../../libs/mpl/index.html" target="_top">MPL</a>,
+<a href="../../../libs/spirit/phoenix/index.html" target="_top">Phoenix</a>,
+<a href="../../../libs/program_options/index.html" target="_top">Program Options</a>,
+<a href="../../../libs/bind/ref.html" target="_top">Ref</a>,
+<a href="../../../libs/smart_ptr/index.html" target="_top">Smart Pointer</a>,
+<a href="../../../libs/spirit/index.html" target="_top">Spirit</a>,
+<a href="../../../libs/algorithm/string/index.html" target="_top">String Algorithm</a>,
+<a href="../../../doc/html/tribool.html" target="_top">Tribool</a> and
+<a href="../../../libs/variant/index.html" target="_top">Variant</a>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>TeraView Ltd</strong></span><br><br><a href="http://www.teraview.com" target="_top">TeraView Ltd</a> develop terahertz based systems
+for a variety of applications
+including spectroscopy and imaging.<br><br><span class="emphasis"><em>"We use:
+<a href="../../../libs/thread/index.html" target="_top">Thread</a>,
+<a href="../../../libs/filesystem/index.html" target="_top">Filesystem</a>,
+<a href="../../../libs/date_time/index.html" target="_top">Date Time</a>,
+<a href="../../../libs/serialization/index.html" target="_top">Serialization</a>,
+<a href="../../../libs/smart_ptr/index.html" target="_top">Smart Pointer</a>,
+<a href="../../../libs/function/index.html" target="_top">Function</a>,
+<a href="../../../libs/bind/index.html" target="_top">Bind</a>,
+<a href="../../../libs/iterator/index.html" target="_top">Iterator</a>,
+<a href="../../../libs/conversion/lexical_cast.htm" target="_top">Lexical Cast</a>,
+<a href="../../../libs/format/index.html" target="_top">Format</a>,
+<a href="../../../libs/tuple/index.html" target="_top">Tuple</a>,
+<a href="../../../libs/any/index.html" target="_top">Any</a> and
+<a href="../../../libs/optional/index.html" target="_top">Optional</a>"</em></span>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>NPC International</strong></span><br><br>
+
+With about 800 restaurants, <a href="http://www.npcinternational.com" target="_top">NPC International</a>
+is the world's largest Pizza Hut franchisee.<br><br><span class="emphasis"><em>"We make extensive use of boost in our internally developed point of sale,
+restaurant management, communications, and accounting systems.
+We use the following Boost libraries in approximate order of frequency of use:
+<a href="../../../libs/bind/index.html" target="_top">Bind</a>,
+<a href="../../../libs/function/index.html" target="_top">Function</a>,
+<a href="../../../libs/optional/index.html" target="_top">Optional</a>,
+<a href="../../../libs/smart_ptr/index.html" target="_top">Shared Pointer</a>,
+<a href="../../../libs/date_time/index.html" target="_top">Date Time</a>,
+<a href="../../../libs/thread/index.html" target="_top">Thread</a>,
+<a href="../../../libs/lambda/index.html" target="_top">Lambda</a>,
+<a href="../../../libs/type_traits/index.html" target="_top">Type Traits</a>,
+<a href="../../../libs/mpl/index.html" target="_top">MPL</a>,
+<a href="../../../libs/tuple/index.html" target="_top">Tuple</a>,
+<a href="../../../libs/utility/enable_if.html" target="_top">Enable If</a>,
+<a href="../../../libs/variant/index.html" target="_top">Variant</a>,
+<a href="../../../libs/spirit/index.html" target="_top">Spirit</a>,
+<a href="../../../libs/algorithm/string/index.html" target="_top">String Algorithm</a>,
+<a href="../../../libs/preprocessor/index.html" target="_top">Preprocessor</a>,
+<a href="../../../libs/filesystem/index.html" target="_top">Filesystem</a>,
+<a href="../../../libs/utility/operators.htm" target="_top">Operator</a>,
+<a href="../../../libs/iterator/index.html" target="_top">Iterators</a> and
+<a href="../../../libs/tokenizer/index.html" target="_top">Tokenizer</a>."</em></span>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Rational Discovery LLC</strong></span><br><br><a href="http://www.rationaldiscovery.com" target="_top">Rational Discovery</a>
+provides computational modeling, combinatorial
+library design and custom software development services to the
+pharmaceutical, biotech and chemical industries.<br><br><span class="emphasis"><em>"We do a substantial amount of internal research to develop new
+approaches for applying machine-learning techniques to solve chemical
+problems. Because we're a small organization and chemistry is a large
+and complex field, it is essential that we be able to quickly and
+easily prototype and test new algorithms. We have found the Boost
+libraries, a reliable source of high-quality code, to be
+indispensable.<br><br>
+
+Boost libraries used:
+<a href="../../../libs/python/index.html" target="_top">Python</a>,
+<a href="../../../libs/graph/index.html" target="_top">Graph</a>,
+<a href="../../../libs/smart_ptr/index.html" target="_top">Smart Pointer</a>,
+<a href="../../../libs/any/index.html" target="_top">Any</a>,
+<a href="../../../libs/conversion/lexical_cast.htm" target="_top">Lexical Cast</a>,
+<a href="../../../libs/random/index.html" target="_top">Random</a>,
+<a href="../../../libs/algorithm/string/index.html" target="_top">String Algorithms</a>,
+<a href="../../../libs/tuple/index.html" target="_top">Tuple</a>,
+<a href="../../../libs/numeric/ublas/index.html" target="_top">uBLAS</a>."</em></span>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Archelon LLC</strong></span><br><br><a href="http://www.archelon-us.com" target="_top">Archelon LLC</a> is a global securities firm
+headquartered in Chicago. We actively trade equities, futures and
+derivatives in both electronic and floor-based markets. Archelon is
+one of the highest volume market makers on EUREX and a leading
+U.S. option market maker focusing on the most active securities.<br><br><span class="emphasis"><em>"We use:
+<a href="../../../libs/any/index.html" target="_top">Any</a>,
+<a href="../../../libs/array/index.html" target="_top">Array</a>,
+<a href="../../../libs/bind/index.html" target="_top">Bind</a>,
+<a href="../../../libs/date_time/index.html" target="_top">Date Time</a>,
+<a href="../../../libs/function/index.html" target="_top">Function</a>,
+<a href="../../../libs/conversion/lexical_cast.htm" target="_top">Lexical Cast</a>,
+<a href="../../../libs/optional/index.html" target="_top">Optional</a>,
+<a href="../../../libs/rational/index.html" target="_top">Rational</a>,
+<a href="../../../libs/regex/index.html" target="_top">Regex</a>,
+<a href="../../../libs/signals/index.html" target="_top">Signals</a>,
+<a href="../../../libs/smart_ptr/index.html" target="_top">Smart Pointer</a>,
+<a href="../../../libs/tokenizer/index.html" target="_top">Tokenizer</a>,
+<a href="../../../libs/tuple/index.html" target="_top">Tuple</a> and
+<a href="../../../libs/utility/index.html" target="_top">Utility</a>."</em></span>
+</td></tr></tbody>
+</table></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Various Authors</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="open.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../who_s_using_boost_.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="submit.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/who_s_using_boost_/open.html b/doc/html/who_s_using_boost_/open.html
new file mode 100644
index 0000000000..02fcc69bd2
--- /dev/null
+++ b/doc/html/who_s_using_boost_/open.html
@@ -0,0 +1,446 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Open Source Boost</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../who_s_using_boost_.html" title="Who's Using Boost?">
+<link rel="prev" href="shrink.html" title=" Shrink Wrapped Boost">
+<link rel="next" href="inhouse.html" title=" In House Boost">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shrink.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../who_s_using_boost_.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="inhouse.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="who_s_using_boost_.open"></a> Open Source Boost</h2></div></div></div>
+<p>
+Boost is used in a variety of Open Source Projects, both applications and libraries.
+Indeed many Open Source libraries developed around Boost have in the past been judged
+of high enough quality to be absorbed
+into the main Boost source tree, a process that will no doubt continue into the future.
+Others are in highly specialized niche markets, ranging from probability theory to
+astronomy, via mass spectroscopy: whatever your field of interest you'll find
+something of value in Boost.</p>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Adobe Software Libraries</strong></span><br><br>
+
+The <a href="http://opensource.adobe.com/" target="_top">Adobe Software Libraries</a> provide
+components for modeling the human interface appearance and behavior
+in a software application. The Adobe Software Libraries depend on many
+parts of Boost including <a href="../../../libs/any/index.html" target="_top">Any</a>,
+<a href="../../../libs/bind/index.html" target="_top">Bind</a>, <a href="../../../libs/function/index.html" target="_top">Function</a>,
+<a href="../../../libs/mpl/index.html" target="_top">MPL</a>, <a href="../../../libs/utility/operators.htm" target="_top">Operators</a>,
+<a href="../../../libs/range/index.html" target="_top">Range</a>, <a href="../../../libs/static_assert/index.html" target="_top">Static Assertions</a>,
+<a href="../../../libs/thread/index.html" target="_top">Threads</a>, and <a href="../../../libs/type_traits/index.html" target="_top">Type Traits</a>.<br><br>
+
+Currently Boost and the Adobe Software Libraries are in use in around 30 Adobe products.
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>LyX Document Editor</strong></span><br><br><a href="http://www.lyx.org/" target="_top">The LyX Document Editor</a>
+is an advanced open source document processor that encourages an
+approach to writing based on the structure of your documents,
+not their appearance. LyX produces high quality, professional output,
+using LaTeX, an industrial strength typesetting engine.<br><br>
+
+LyX uses many parts of Boost, including <a href="../../../libs/array/index.html" target="_top">Array</a>,
+<a href="../../../libs/bind/index.html" target="_top">Bind</a>, <a href="../../../libs/regex/index.html" target="_top">Regex</a>,
+<a href="../../../libs/type_traits/index.html" target="_top">Type Traits</a>,
+<a href="../../../libs/function/index.html" target="_top">Function</a>,
+and <a href="../../../libs/signals/index.html" target="_top">Signals</a>.</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>CGAL</strong></span><br><br><a href="http://www.cgal.org/" target="_top">CGAL</a> is the Computational Geometry Algorithms Library,
+ an open source C++ library providing generic components
+ such as triangulations, convex hulls algorithms, boolean
+ operations of polygons and many other things.
+ <span class="emphasis"><em>"We currently use the following Boost libraries :
+ <a href="../../../libs/utility/operators.htm" target="_top">Operators</a>,
+ <a href="../../../libs/iterator/index.html" target="_top">Iterators</a>,
+ <a href="../../../libs/tuple/index.html" target="_top">Tuples</a>,
+ <a href="../../../libs/concept_check/index.html" target="_top">Concept Check</a>,
+ <a href="../../../libs/mpl/index.html" target="_top">MPL</a>,
+ <a href="../../../libs/bind/index.html" target="_top">Bind</a>,
+ <a href="../../../libs/optional/index.html" target="_top">Optional</a> and
+ <a href="../../../libs/smart_ptr/index.html" target="_top">Smart Pointers</a>."</em></span>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>ALPS</strong></span><br><br><a href="http://alps.comp-phys.org/" target="_top">ALPS</a> is an open source project to develop codes
+for the accurate simulation of quantum lattice models, such as quantum magnets,
+electronic systems and Bose-Einstein condensates. The main Boost libraries
+used are:
+<a href="../../../libs/graph/index.html" target="_top">Graph</a>,
+<a href="../../../libs/random/index.html" target="_top">Random</a>,
+<a href="../../../libs/multi_array/index.html" target="_top">Multi Array</a>,
+<a href="../../../libs/program_options/index.html" target="_top">Program Options</a>,
+<a href="../../../libs/conversion/lexical_cast.htm" target="_top">Lexical Cast</a>,
+<a href="../../../libs/serialization/index.html" target="_top">Serialization</a>,
+<a href="../../../libs/regex/index.html" target="_top">Regex</a>,
+<a href="../../../libs/tuple/index.html" target="_top">Tuple</a>,
+<a href="../../../libs/filesystem/index.html" target="_top">Filesystem</a>,
+<a href="../../../libs/smart_ptr/index.html" target="_top">Smart Pointer</a>,
+<a href="../../../libs/bind/index.html" target="_top">Bind</a>,
+<a href="../../../libs/functional/index.html" target="_top">Functional</a> and
+<a href="../../../libs/type_traits/index.html" target="_top">Type Traits</a>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>SmartWin++</strong></span><br><br><a href="http://smartwin.sourceforge.net/" target="_top">SmartWin++</a>
+is a 100% free GUI library for developing Windows applications,
+it's free both as in "free beer" and as in "free speech", you can freely use
+SmartWin++ for commercial applications and for Open Source applications!
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Open VRML</strong></span><br><br><a href="http://openvrml.org/" target="_top">Open VRML</a> is a free cross-platform runtime
+for VRML.
+The basic OpenVRML distribution includes libraries you can use to add
+VRML support to an application, and Lookat, a simple stand-alone VRML browser.
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Bayes++</strong></span><br><br><a href="http://bayesclasses.sourceforge.net/Bayes++.html" target="_top">Bayes++</a> is an open source
+library that represents and implements a wide variety of numerical algorithms
+for Bayesian Filtering of discrete systems from the
+<a href="http://www.acfr.usyd.edu.au/" target="_top">Australian Centre for Field Robotics</a>.
+Bayes++ makes particularly heavy use of <a href="../../../libs/numeric/ublas/index.html" target="_top">the Boost Ublas library</a>
+for matrix and numeric computations.
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>The C++/Tk Library</strong></span><br><br><a href="http://cpptk.sourceforge.net" target="_top">The C++/Tk Library</a> is an open source
+C++ interface to the Tk GUI Library.
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>GluCat</strong></span><br><br><a href="http://glucat.sourceforge.net/" target="_top">GluCat</a> is a library of template classes
+which model the universal Clifford algebras over the real or complex fields,
+with arbitrary dimension and arbitrary signature.
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>OpenMS</strong></span><br><br><a href="http://open-ms.sourceforge.net/main.html" target="_top">OpenMS</a> is an open source C++ library
+for LC/MS data management, reduction, evaluation, visualization, storage and
+sophisticated statistical analyses. It can be used to develop mass
+spectrometry related applications.
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>libpdf++</strong></span><br><br><a href="http://libpdfxx.sourceforge.net/doc/index.html" target="_top">libpdf++</a> is an object-oriented
+library for generating PDF (portable document format) files. It is designed
+in a way that the objects in the document are mapped directly to classes
+in the library.
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Regina</strong></span><br><br><a href="http://regina.sourceforge.net/" target="_top">Regina</a> is a suite of mathematical software
+for 3-manifold topologists. It focuses upon the study of 3-manifold
+triangulations and includes support for normal surfaces and angle structures.
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>MetaFS</strong></span><br><br><a href="http://metafs.sourceforge.net/" target="_top">MetaFS</a> is a daemon for Linux
+(and Linux only) that allows you to access information about your
+files (such as MP3 tags or JPEG's EXIF tags) easily and consistently
+using extended attributes. It also allows you to perform fast searches
+using this information. MetaFS is extensible, so anyone can write plug-ins
+to access new types of metadata.
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>The ASN.1 Tool</strong></span><br><br>
+
+Abstract Syntax Notation One (ASN.1) is a
+formal language for abstractly describing messages to be exchanged among an
+extensive range of applications involving the Internet, intelligent network,
+cellular phones, ground-to-air communications, electronic commerce, secure
+electronic services, interactive television, intelligent transportation
+systems, Voice Over IP and others. <br><br><a href="http://iiiasn1.sourceforge.net/main.html" target="_top">The ASN.1 Tool</a> includes two parts :
+an ASN.1 compiler "asnparser" which compiles the Abstract Syntax to c++ files,
+and a runtime library which is used to link with the c++ files generated by
+asnparser. Based on the works of Open H.323 projects, it is developed for
+the needs of H.450 series protocol.
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>DGD</strong></span><br><br><a href="http://dgd.sourceforge.net/dgd_home.html" target="_top">DGD</a> (Depression Glass Debug)
+is simple, easy to use C++ ostream extension
+created with a goal to produce nice, readable and easy to understand trace logs</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>FEAR</strong></span><br><br><a href="http://fear.sourceforge.net/" target="_top">FEAR</a> is a language independent
+open-source project providing portable support for the creation of
+genuine Artificial Intelligence within realistic simulated worlds.</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>XEngine</strong></span><br><br><a href="http://xengine.sourceforge.net/features.php" target="_top">XEngine</a> is a platform- and
+rendering-API-independent 3D engine for real-time visualization with
+support for programmable graphics pipeline architectures and is implemented in C++.</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Spheral++</strong></span><br><br><a href="http://spheral.sourceforge.net/" target="_top">Spheral++</a> is a numerical tool
+for simulating the evolution of a set of fluid or solid materials subject to
+hydrodynamic, gravitational, and radiative effects.
+Spherical++ uses <a href="../../../libs/python/doc/index.html" target="_top">the Boost Python library</a>.</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>C++ XML Objects</strong></span><br><br><a href="http://cppxmlobj.sourceforge.net/" target="_top">C++ XML Objects</a> is a framework for persisting
+hierarchies of C++ objects to and from XML.</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>HippoDraw</strong></span><br><br><a href="http://www.slac.stanford.edu/grp/ek/hippodraw/index.html" target="_top">HippoDraw</a> provides a
+highly interactive data analysis environment.
+HippoDraw uses <a href="../../../libs/python/doc/index.html" target="_top">the Boost Python library</a>.</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Orocos</strong></span><br><br><a href="http://people.mech.kuleuven.ac.be/~psoetens/orocos/doc/orocos-control-manual.html" target="_top">The Orocos Robot Control Software Application Framework</a>.</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>ECell</strong></span><br><br>
+
+The <a href="http://www.e-cell.org/" target="_top">E-Cell Project</a> is an international research
+project aiming at developing necessary theoretical supports, technologies
+and software platforms to allow precise whole cell simulation.</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>VCS Made Easy</strong></span><br><br><a href="http://vcsme.sourceforge.net/" target="_top">VCS Made Easy</a>,
+or vcsme for short, is an utility whose main
+purpose is to simplify the maintenance of file trees managed by a version
+control system, such as the well known CVS or Subversion. Simply put,
+it automates the process of bringing all these directories to an up-to-date
+status with a single and simple command.<br><br><span class="emphasis"><em>"The following Boost libraries were used:
+<a href="../../../libs/format/index.html" target="_top">Format</a>,
+<a href="../../../libs/smart_ptr/index.html" target="_top">Smart Pointers</a>,
+<a href="../../../libs/utility/index.html" target="_top">Utility (noncopyable)</a> and
+<a href="../../../libs/filesystem/index.html" target="_top">Filesystem</a>."</em></span>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Monotone</strong></span><br><br><a href="http://www.venge.net/monotone/" target="_top">Monotone</a>
+is a free distributed version control system. It provides
+ a simple, single-file transactional version store, with fully disconnected
+ operation and an efficient peer-to-peer synchronization protocol. It
+ understands history-sensitive merging, lightweight branches, integrated
+ code review and 3rd party testing. It uses cryptographic version naming
+ and client-side RSA certificates. It has good internationalization support,
+ has no external dependencies, runs on linux, solaris, OSX, windows, and
+ other unixes, and is licensed under the GNU GPL.<br><br><span class="emphasis"><em>"The followind Boost libraries were used:
+<a href="../../../libs/date_time/index.html" target="_top">Date Time</a>,
+<a href="../../../libs/filesystem/index.html" target="_top">Filesystem</a>,
+<a href="../../../libs/conversion/index.html" target="_top">Conversion</a>,
+<a href="../../../libs/optional/index.html" target="_top">Optional</a>,
+<a href="../../../libs/random/index.html" target="_top">Random</a>,
+<a href="../../../libs/regex/index.html" target="_top">Regex</a>,
+<a href="../../../libs/smart_ptr/index.html" target="_top">Smart Pointers</a>,
+<a href="../../../libs/static_assert/index.html" target="_top">Static Assertions</a>,
+<a href="../../../libs/tokenizer/index.html" target="_top">Tokenizer</a>,
+<a href="../../../libs/tuple/index.html" target="_top">Tuple</a> and
+<a href="../../../libs/test/index.html" target="_top">Test</a>."</em></span>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Hydranode Engine</strong></span><br><br><a href="http://hydranode.com/" target="_top">Hydranode Engine</a>
+is a plugin-driven P2P client engine that relies
+heavily on Boost libraries. Hydranode codebase is licenced under GNU
+GPL, and is developed mainly by Alo Sarv. Currently in Beta phase,
+Hydranode runs on wide range of platforms, including Windows, Linux,
+BSD, Mac OS, Solaris etc.<br><br><span class="emphasis"><em>"Hydranode Engine and plugins rely heavily on the following Boost
+libraries: Bind, Function, Lambda, MultiIndex, Signals, Threads,
+Smart Pointer, Format, Lexical Cast. Other Boost libraries being used
+include FileSystem, String Algorithm, Date Time, Program Options, Spirit,
+Random, Tokenizer, Type Traits, Tribool, Tuple and Any. Once Boost 1.33
+is released, I'm also looking forward to using the Boost Iostreams library
+in Hydranode.<br><br>
+
+All complex data structures in Hydranode are implemented using
+Multi Index containers, which significantly reduced development time
+and kept code clean. Format is being used for all text formatting.
+Having Threads and FileSystem libraries available made cross-platform
+development lot easier in those areas."</em></span>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Hugin</strong></span><br><br>
+
+With <a href="http://hugin.sourceforge.net/" target="_top">hugin</a> you can assemble a mosiac of
+photographs into a complete
+immersive panorama, stitch any series of overlapping pictures and much more.</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Enblend</strong></span><br><br><a href="http://enblend.sourceforge.net/" target="_top">Enblend</a> is a tool for compositing images.
+Given a set of images that overlap
+in some irregular way, Enblend overlays them in such a way that the seam
+between the images is invisible, or at least very difficult to see.</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>GNU Source-highlight</strong></span><br><br><a href="http://www.gnu.org/software/src-highlite/source-highlight.html" target="_top">GNU Source-highlight</a>,
+given a source file, produces a document with
+syntax highlighting. The colors and the styles can be specified
+(bold, italics, underline) by means of a configuration file, and some
+other options can be specified at the command line. The output format
+can be HTML, XHTML and ANSI color escape sequences. GNU Source Highlight
+is build around <a href="../../../libs/regex/index.html" target="_top">the Boost Regex library</a>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Luabind</strong></span><br><br><a href="http://luabind.sourceforge.net/" target="_top">Luabind</a> is a library that helps you create
+bindings between C++ and lua. It has the ability to expose functions and classes,
+written in C++, to lua. It will also supply the functionality to define classes
+in lua and let them derive from other lua classes or C++ classes.
+Lua classes can override virtual functions from their C++ baseclasses.
+It is written towards lua 5.0, and does not work with lua 4.</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>C++/Tcl</strong></span><br><br><a href="http://cpptcl.sourceforge.net/" target="_top">C++/Tcl</a> is a library that allows the easy
+integration of C++ and Tcl.</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>QuantLib</strong></span><br><br>
+
+The <a href="http://quantlib.org/" target="_top">QuantLib</a> project provides a comprehensive software
+framework for quantitative finance. QuantLib is a free/open-source library
+for modeling, trading, and risk management in real-life.
+Boost components used include
+<a href="../../../libs/smart_ptr/index.html" target="_top">Smart Pointers</a>,
+<a href="../../../libs/iterator/index.html" target="_top">Iterators</a>,
+and <a href="../../../libs/test/index.html" target="_top">the Test Framework</a>.
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>CBCanaylzer</strong></span><br><br><a href="http://www.biozentrum.uni-wuerzburg.de/index.php?id=524" target="_top">CBCanaylzer</a>
+ is developed by the Department of Bioinformatics,
+at the University of Wuerzburg.<br><br><span class="emphasis"><em>"CBCAnalyzer (CBC = compensatory base change) is a tool to create <code class="computeroutput"></code>small''
+phylogenetic trees from sequence alignments. To measure the distance of sequences
+the compensatory base changes are detected and counted. The bionj
+algorithm is then used to construct a tree. CBCAnalyzer is available on
+Windows, Linux and partly works on MacOSX. <br><br>
+
+Boost libraries used:
+ <a href="../../../libs/program_options/index.html" target="_top">Program Options</a>
+ - creates really nice output, and is both easy to extend and simple to handle.
+ <a href="../../../libs/iterator/index.html" target="_top">Iterator</a>,
+ <a href="../../../libs/spirit/index.html" target="_top">Spirit</a>
+ - Saved a lot of my time, and makes the vast amount of biological file
+ formats simple to support,
+ <a href="../../../libs/smart_ptr/index.html" target="_top">Shared Pointer</a>,
+ <a href="../../../libs/lambda/index.html" target="_top">Lambda</a>.</em></span>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Profdist</strong></span><br><br><a href="http://www.biozentrum.uni-wuerzburg.de/index.php?id=523" target="_top">Profdist</a>
+is developed by the Department of Bioinformatics, at the University of Wuerzburg.<br><br><span class="emphasis"><em>"Profdist is a tool for the construction of large phylogenetic trees based on
+profile distances. The input alignment data gets extended by random
+picking of rows, and a clustering technique is used to create profiles
+of the most frequent subtrees. The iterative approach allows working on
+large datasets. Currently the application is very limited by the quality of
+wxWidgets, and only available for Windows and Linux. <br><br>
+
+The Boost librarie used were:
+ <a href="../../../libs/algorithm/string/index.html" target="_top">String Algorithms</a>,
+ <a href="../../../libs/bind/ref.html" target="_top">Ref</a>,
+ <a href="../../../libs/iterator/index.html" target="_top">Iterator</a>,
+ <a href="../../../libs/spirit/index.html" target="_top">Spirit</a>,
+ <a href="../../../libs/smart_ptr/index.html" target="_top">Shared Pointer</a> and
+ <a href="../../../libs/lambda/index.html" target="_top">Lambda</a>."</em></span>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>The Yake Engine</strong></span><br><br><a href="http://www.yake.org/" target="_top">The Yake Engine</a>
+is a component-based, object-oriented engine written in C++
+and primarily designed for VR applications and games. It abstracts typical
+low-level and middleware APIs and provides various low, mid and application
+level functionality as well as tools to create and import content.
+</td></tr></tbody>
+</table></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Various Authors</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shrink.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../who_s_using_boost_.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="inhouse.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/who_s_using_boost_/shrink.html b/doc/html/who_s_using_boost_/shrink.html
new file mode 100644
index 0000000000..f32e148087
--- /dev/null
+++ b/doc/html/who_s_using_boost_/shrink.html
@@ -0,0 +1,420 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Shrink Wrapped Boost</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../who_s_using_boost_.html" title="Who's Using Boost?">
+<link rel="prev" href="../who_s_using_boost_.html" title="Who's Using Boost?">
+<link rel="next" href="open.html" title=" Open Source Boost">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../who_s_using_boost_.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../who_s_using_boost_.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="open.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="who_s_using_boost_.shrink"></a> Shrink Wrapped Boost</h2></div></div></div>
+<p>
+Boost has found it's way into many products that are available "off the shelf",
+including consumer applications from Adobe, through to business
+middleware from SAP.</p>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Adobe Photoshop CS2</strong></span><br><br><a href="http://www.adobe.com/products/photoshop/main.html" target="_top">Adobe Photoshop CS2</a>
+uses the
+<a href="http://opensource.adobe.com/" target="_top">Adobe Software Libraries</a>, which in
+turn depend upon large parts of Boost. The <a href="http://opensource.adobe.com/" target="_top">Adobe Software Libraries</a> are being rolled
+out across the Adobe product line to provide cross platform user interface logic.
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Adobe Indesign</strong></span><br><br><a href="http://www.adobe.com/products/indesign/main.html" target="_top">Adobe Indesign</a> offers
+best of breed page design:
+Indesign and it's asociated SDK depend upon Boost
+<a href="../../../libs/regex/index.html" target="_top">Regex</a>,
+<a href="../../../libs/functional/index.html" target="_top">Functional</a> and others.
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>SAP NetWeaver</strong></span><br><br><a href="http://www.sap.com/solutions/netweaver/index.epx" target="_top">SAP NetWeaver</a>
+is the technical foundation of mySAP Business Suite solutions,
+SAP xApps composite applications, partner solutions, and customer
+custom-built applications. <a href="../../../libs/regex/index.html" target="_top">The Boost Regex library</a>
+provides the regular expression
+implementation for SAP's
+<a href="https://www.sdn.sap.com/sdn/developerareas/abap.sdn?node=linkDnode6-3" target="_top">ABAP language</a>.</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Real Networks, Rhapsody</strong></span><br><br>
+
+The <a href="http://www.real.com/" target="_top">Rhapsody Music Service</a> allows its subscribers to legally
+download/transfer/burn over a million songs. The Rhapsody client
+software was built with many Boost libraries:<br><br><span class="emphasis"><em>"<a href="../../../libs/format/index.html" target="_top">Format</a>: Boost.Format is top notch. Using it is a bliss.<br><a href="../../../libs/functional/index.html" target="_top">Functional</a>,
+<a href="../../../libs/function/index.html" target="_top">Function</a>,
+and <a href="../../../libs/bind/index.html" target="_top">Bind</a>: These three libraries,
+along with smart pointer are the most used in our application. I could not imagine
+not having them handy.<br><a href="../../../libs/smart_ptr/index.html" target="_top">Smart Pointer</a>: Hands down, the most useful, and used library of the lot!<br><a href="../../../libs/date_time/index.html" target="_top">Date Time</a>: Simple to use, effective, does the job. I love the
+flexible input string parsing facilities, and the
+human readable ISO output.<br><a href="../../../libs/iterator/index.html" target="_top">Iterators</a>: Wow. Moving legacy iterating interfaces, or
+interfaces that should of been properly designed
+as iterators to STL compliant iterators was easy
+and painless. The gains in functionality to our
+code made by this library are invaluable.<br><a href="../../../libs/regex/index.html" target="_top">Regex</a>: When you need it, it works magic.<br><a href="../../../libs/thread/index.html" target="_top">Thread</a>: Used to implement the monitor pattern in key areas.<br><a href="../../../libs/preprocessor/index.html" target="_top">Preprocessor</a>: Used to implement repetitive unit-test
+code generation. The codebase benefited
+greatly from the clarity boost.preprocessor
+brought."</em></span>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>McAfee, Managed VirusScan 3</strong></span><br><br><a href="http://www.mcafeesecurity.com/us/products/mcafee/smb/managed_services/managed_vs_smb.htm" target="_top">McAfee Managed VirusScan</a>,
+is an always on, automatic virus protection for desktops
+and servers.<br><br>
+ More details of the Boost libraries used can be found
+<a href="http://betavscan.mcafeeasap.com/beta/docs/readme/Readme.html" target="_top">here</a>.</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>DataSolid GmbH Germany, CADdy++ Mechanical Design (c)</strong></span><br><br><a href="http://www.DataSolid.com" target="_top">CADdy++ Mechanical Design professional (c)</a>
+is a fully parametric 3D CAD
+application with unbroken link between 3D
+models and 2D drawings. CADdy++ uses the Boost libraries:
+<a href="../../../libs/any/index.html" target="_top">Any</a>,
+<a href="../../../libs/tokenizer/index.html" target="_top">Tokenizer</a>,
+<a href="../../../libs/signals/index.html" target="_top">Signals</a>,
+<a href="../../../libs/property_map/index.html" target="_top">Property Map</a>,
+<a href="../../../libs/array/index.html" target="_top">Array</a>,
+<a href="../../../libs/bind/index.html" target="_top">Bind</a>,
+<a href="../../../libs/utility/operators.htm" target="_top">Operators</a>,
+<a href="../../../libs/tuple/index.html" target="_top">Tuple</a>,
+<a href="../../../libs/random/index.html" target="_top">Random</a>.<br><br><span class="emphasis"><em>"Many thanks to all the boost developers for their great work and effort
+spending into boost."</em></span>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Dimesion 5, Miner3D</strong></span><br><br>
+
+ Data visualization technology enabling advanced data analysis,
+ visualization, sonification and speech applications for business and science.<br>
+
+ The <a href="http://www.miner3D.com" target="_top">Miner3D</a> application provides means for interactive visual analysis of
+ arbitrary tabular data from various data sources. It has a powerful OpenGL-based
+ visualization engine and an intuitive GUI. This combination helps a human eye
+ guide the application of statistical tools and spot the patterns that
+ might otherwise remain hidden.
+<span class="emphasis"><em>"We are using following boost libraries:
+<a href="../../../libs/date_time/index.html" target="_top">Date Time</a>,
+<a href="../../../libs/variant/index.html" target="_top">Variant</a>,
+<a href="../../../libs/regex/index.html" target="_top">Regex</a>,
+<a href="../../../libs/format/index.html" target="_top">Format</a>,
+<a href="../../../libs/algorithm/string/index.html" target="_top">String Algoritms</a>,
+<a href="../../../libs/smart_ptr/index.html" target="_top">Smart Pointers</a>,
+<a href="../../../libs/mpl/index.html" target="_top">MPL</a>,
+<a href="../../../libs/type_traits/index.html" target="_top">Type Traits</a>,
+<a href="../../../libs/utility/operators.htm" target="_top">Operators</a>,
+<a href="../../../libs/dynamic_bitset/index.html" target="_top">Dynamic Bitset</a>,
+<a href="../../../libs/utility/enable_if.html" target="_top">Enable If</a>,
+<a href="../../../libs/timer/index.html" target="_top">Timer</a>."</em></span>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Synergy, mailIntercept</strong></span><br><br><a href="http://www.mintercept.com" target="_top">mailIntercept</a> from <a href="http://www.synergy.com.br" target="_top">Synergy</a>
+is a mail interceptor service for Exchange Server 2000/2003.<br>
+
+mailIntercept intercepts and interprets the e-mails from a
+LAN using Exchange Server and converts the microsoft proprietary
+format to MIME and passes them to an SMTP filter and returns the
+emails to the Exchange Server as modified by the SMTP filter,
+converted back to the microsoft proprietary format and with its
+features preserved.<br><br>
+
+mailIntercept was built using the following Boost libraries:
+<a href="../../../libs/mpl/index.html" target="_top">MPL</a>,
+<a href="../../../libs/algorithm/string/index.html" target="_top">String Algorithm</a>,
+<a href="../../../libs/bind/index.html" target="_top">Bind</a>,
+<a href="../../../libs/spirit/phoenix/index.html" target="_top">Phoenix</a>,
+<a href="../../../libs/spirit/index.html" target="_top">Spirit</a>,
+<a href="../../../libs/ptr_container/index.html" target="_top">Pointer Container</a>,
+<a href="../../../libs/serialization/index.html" target="_top">Serialization</a>,
+<a href="../../../libs/regex/index.html" target="_top">Regex</a>,
+<a href="../../../libs/iterator/index.html" target="_top">Iterators</a>,
+<a href="../../../libs/lambda/index.html" target="_top">Lambda</a>,
+<a href="../../../libs/conversion/lexical_cast.htm" target="_top">Lexical Cast</a>,
+<a href="../../../libs/utility/operators.htm" target="_top">Operators</a>,
+<a href="../../../libs/smart_ptr/index.html" target="_top">Smart Pointer</a>,
+<a href="../../../doc/html/tribool.html" target="_top">Tribool</a> and
+<a href="../../../libs/type_traits/index.html" target="_top">Type Traits</a>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Integrated Research P/L, PROGNOSIS IP Telephony Manager and IP Telephony Express</strong></span><br><br><a href="http://www.ir.com" target="_top">PROGNOSIS</a> is a suite of IP telephony management software products,
+ specifically designed to address the key challenges of IP telephony
+ life cycle management, including network-readiness, assessment,
+ pre-deployment assurance testing, and ongoing Day-2 management of
+ Cisco CallManager, Cisco Unity, and Cisco AVVID infrastructure.
+<span class="emphasis"><em>"The Boost libraries used were:
+<a href="../../../libs/any/index.html" target="_top">Any</a>,
+ <a href="../../../libs/bind/index.html" target="_top">Bind</a>,
+ <a href="../../../libs/function/index.html" target="_top">Function</a>,
+ <a href="../../../libs/conversion/lexical_cast.htm" target="_top">Lexical Cast</a>,
+ <a href="../../../libs/mpl/index.html" target="_top">MPL</a>,
+ <a href="../../../libs/conversion/cast.htm#numeric_cast" target="_top">Numeric Cast</a>,
+ <a href="../../../libs/bind/ref.html" target="_top">Ref</a>,
+ <a href="../../../libs/regex/index.html" target="_top">Regex</a>,
+ <a href="../../../libs/smart_ptr/index.html" target="_top">Smart Pointer</a>,
+ <a href="../../../libs/thread/index.html" target="_top">Thread</a>,
+ <a href="../../../libs/type_traits/index.html" target="_top">Type Traits</a>."</em></span>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Kinook Software, Visual Build Professional</strong></span><br><br><a href="http://www.visualbuild.com/" target="_top">Visual Build Professional</a>
+is a tool that enables developers,
+software process engineers, and build specialists to create an
+automated, repeatable process for building their software. Visual Build
+provides built-in support for Microsoft Visual Studio .NET and 2005,
+Visual Basic, Visual C++, Visual J++, SourceSafe, eMbedded Tools,
+Borland Delphi, JBuilder, C++Builder, and more.<br><br>
+
+The following Boost Libraries were used:
+<a href="../../../libs/any/index.html" target="_top">Any</a>,
+<a href="../../../libs/bind/mem_fn.html" target="_top">Mem_fn</a>,
+<a href="../../../libs/regex/index.html" target="_top">Regex</a>,
+<a href="../../../libs/smart_ptr/index.html" target="_top">Smart Pointer</a>,
+<a href="../../../libs/static_assert/index.html" target="_top">Static Assert</a>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Kinook Software, Ultra Recall</strong></span><br><br><a href="http://www.ultrarecall.com/" target="_top">Ultra Recall</a>
+is a personal information management (PIM) /
+knowledge management (KM) application for Microsoft Windows. It helps
+you capture, organize, and recall all of your electronic information
+across all the applications that you use.<br><br>
+
+Used the following Boost libraries:
+<a href="../../../libs/format/index.html" target="_top">Format</a>,
+<a href="../../../libs/smart_ptr/index.html" target="_top">Shared Pointer</a>,
+<a href="../../../libs/static_assert/index.html" target="_top">Static Assert</a>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Applied Dynamics International, ADvantageDE</strong></span><br><br><a href="http://www.adi.com" target="_top">Applied Dynamics International (ADI)</a>
+provides state-of-the art software and
+hardware tools to the automotive, aerospace, and defense industries to
+design and test embedded control systems. ADI's tools provide advanced capabilities in real-time hardware-in-the-loop
+(HIL) simulation, rapid prototyping, and embedded controller software
+development. We have been a leading supplier of HIL simulation solutions
+since 1957.<br><br>
+
+ADvantageDE is the development environment. It allows simulation models to
+be easily connected to one another or to hardware components for real-time
+simulation. ADvantageDE projects can be created for execution on your PC,
+Unix workstation or on our real-time platforms.<br><br>
+
+ADvantageVI is the point of control and the graphical user interface for
+all of the run-time activities. The run-time architecture includes extensive
+features for interacting with, visualizing, and automating simulation and
+test activities.<br><br>
+
+DasCom provides access to real-time simulation data from most Windows
+applications, such as Micrsoft Excel, National Instruments Labview, etc.<br><br>
+
+The following Boost Libraries are used:
+<a href="../../../libs/array/index.html" target="_top">Array</a>,
+<a href="../../../libs/assign/index.html" target="_top">Assign</a>,
+<a href="../../../libs/bind/index.html" target="_top">Bind</a>,
+<a href="../../../libs/crc/index.html" target="_top">CRC</a>,
+<a href="../../../libs/dynamic_bitset/index.html" target="_top">Dynamic Bitset</a>,
+<a href="../../../libs/utility/enable_if.html" target="_top">Enable If</a>,
+<a href="../../../libs/filesystem/index.html" target="_top">File System</a>,
+<a href="../../../libs/function/index.html" target="_top">Function</a>,
+<a href="../../../libs/functional/index.html" target="_top">Functional</a>,
+<a href="../../../libs/iterator/index.html" target="_top">Iterators</a>,
+<a href="../../../libs/lambda/index.html" target="_top">Lambda</a>,
+<a href="../../../libs/optional/index.html" target="_top">Optional</a>,
+<a href="../../../libs/preprocessor/index.html" target="_top">Preprocessor</a>,
+<a href="../../../libs/bind/ref.html" target="_top">Ref</a>,
+<a href="../../../libs/regex/index.html" target="_top">Regex</a>,
+<a href="../../../libs/serialization/index.html" target="_top">Serialization</a>,
+<a href="../../../libs/signals/index.html" target="_top">Signals</a>,
+<a href="../../../libs/smart_ptr/index.html" target="_top">Smart Pointer</a>,
+<a href="../../../libs/static_assert/index.html" target="_top">Static Assert</a>,
+<a href="../../../libs/spirit/index.html" target="_top">Spirit</a>,
+<a href="../../../libs/algorithm/string/index.html" target="_top">String Algorithm</a>,
+<a href="../../../libs/tokenizer/index.html" target="_top">Tokenizer</a><a href="../../../libs/tuple/index.html" target="_top">Tuple</a>,
+<a href="../../../libs/utility/index.html" target="_top">Uutility(Non-Copyable)</a> and
+<a href="../../../libs/variant/index.html" target="_top">Variant</a>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>PeerGuardian</strong></span><br><br><a href="http://methlabs.org/projects/peerguardian-2-windows/" target="_top">PeerGuardian 2</a>
+is Methlabs premier IP blocker for Windows.
+With features like support for multiple lists, a list editor,
+automatic updates, and blocking all of IPv4 (TCP, UDP, ICMP, etc),
+PeerGuardian 2 is the safest and easiest way to protect your privacy on P2P.<br><br>
+
+Boost Libraries used include
+<a href="../../../libs/crc/index.html" target="_top">CRC</a>,
+<a href="../../../libs/bind/index.html" target="_top">Bind</a>,
+<a href="../../../libs/integer/index.html" target="_top">Integer</a>,
+<a href="../../../libs/function/index.html" target="_top">Function</a>,
+<a href="../../../libs/functional/index.html" target="_top">Functional</a>,
+<a href="../../../libs/smart_ptr/index.html" target="_top">Smart Pointers</a>,
+<a href="../../../libs/conversion/lexical_cast.htm" target="_top">Lexical cast</a>,
+<a href="../../../doc/html/string_algo.html" target="_top">String Algorithms</a>,
+<a href="../../../libs/random/index.html" target="_top">Random</a>,
+<a href="../../../libs/format/index.html" target="_top">Format</a>,
+<a href="../../../libs/utility/index.html" target="_top">Utility</a>.</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>DECOMSYS::DESIGNER PRO</strong></span><br><br><a href="http://www.decomsys.com/" target="_top">DECOMSYS::DESIGNER PRO</a> enables the user to design
+a highly complex <a href="http://www.flexray.com/" target="_top">FlexRay</a> communication
+system, which is going to be the fundament for tomorrow's
+automotive electronics.<br><br><span class="emphasis"><em>"Boost Libraries used:
+<a href="../../../libs/bind/index.html" target="_top">Bind</a>,
+<a href="../../../libs/dynamic_bitset/index.html" target="_top">Dynamic Bitset</a>,
+<a href="../../../libs/format/index.html" target="_top">Format</a>,
+<a href="../../../libs/function/index.html" target="_top">Function</a>,
+<a href="../../../libs/iterator/index.html" target="_top">Iterators</a>,
+<a href="../../../libs/mpl/index.html" target="_top">MPL</a>,
+<a href="../../../libs/multi_index/index.html" target="_top">Multi Index</a>,
+<a href="../../../libs/utility/utility.htm#Class_noncopyable" target="_top">Non-Copyable</a>,
+<a href="../../../libs/utility/operators.htm" target="_top">Operators</a>,
+<a href="../../../libs/preprocessor/index.html" target="_top">Preprocessor (nice for generating data for unit tests)</a>,
+<a href="../../../libs/program_options/index.html" target="_top">Program Options (for the unit test programs)</a>,
+<a href="../../../libs/bind/ref.html" target="_top">Ref</a>,
+<a href="../../../libs/regex/index.html" target="_top">Regex</a>,
+<a href="../../../libs/serialization/index.html" target="_top">Serialization</a>,
+<a href="../../../libs/signals/index.html" target="_top">Signals</a>,
+<a href="../../../libs/smart_ptr/index.html" target="_top">SmartPointer</a>,
+<a href="../../../libs/spirit/index.html" target="_top">Spirit</a>,
+<a href="../../../libs/timer/index.html" target="_top">Timer</a> and
+<a href="../../../libs/variant/index.html" target="_top">Variant</a><br><br>
+
+We are also planning to use Andreas Huber's FSM library and Iostreams
+(together with Serialize) once
+they are officially released."</em></span>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Wise Riddles Software, Audiomatic</strong></span><br><br><a href="http://www.WiseRiddles.com/Audiomatic" target="_top">Audiomatic</a>
+is a tool used to make system-wide macros and then launch those
+macros with a voice command or keyboard shortcut at any time... from any
+Windows application. Audiomatic enables you to launch programs, files, or
+websites; simulate keystrokes; play sounds; speak text; or even run scripts.
+You can do it all with a voice command or keyboard shortcut!
+<span class="emphasis"><em>"Boost libraries Used:
+<a href="../../../libs/bind/index.html" target="_top">Bind</a>,
+<a href="../../../libs/function/index.html" target="_top">Function</a>,
+<a href="../../../libs/smart_ptr/index.html" target="_top">Smart Pointers</a>,
+<a href="../../../libs/date_time/index.html" target="_top">Date Time</a>,
+<a href="../../../libs/algorithm/string/index.html" target="_top">String Algorithm</a>,
+<a href="../../../libs/utility/index.html" target="_top">Utility (Non-Copyable, Ref)</a>,
+<a href="../../../libs/regex/index.html" target="_top">Regex</a>,
+<a href="../../../libs/thread/index.html" target="_top">Thread</a>,
+<a href="../../../libs/mpl/index.html" target="_top">MPL</a> and
+<a href="../../../libs/type_traits/index.html" target="_top">Type Traits</a>."</em></span>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Megahard Software Technologies Inc., Rule in Hell</strong></span><br><br><a href="http://www.ruleinhell.com" target="_top">Rule in Hell</a> is a
+Massively Multiplayer Online Role Playing Game (still in beta).<br><br>
+
+The Boost libraries used were:
+<a href="../../../libs/bind/index.html" target="_top">Bind</a>,
+<a href="../../../libs/function/index.html" target="_top">Function</a>,
+<a href="../../../libs/any/index.html" target="_top">Any</a>,
+<a href="../../../libs/tuple/index.html" target="_top">Tuples</a>,
+<a href="../../../libs/bind/ref.html" target="_top">Ref</a>,
+<a href="../../../libs/smart_ptr/index.html" target="_top">Shared Pointer</a>,
+<a href="../../../libs/type_traits/index.html" target="_top">Type Traits</a> and
+<a href="../../../libs/utility/utility.htm#Class_noncopyable" target="_top">Non-Copyable</a>.<br><br><span class="emphasis"><em>"By far the combination of Bind, Function, Shared Pointer and Ref is what we use
+most heavily".</em></span>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Dr. Detlef Meyer-Eltz, TextTransformer</strong></span><br><br>
+
+The <a href="http://www.texttransformer.com" target="_top">TextTransformer</a>
+is a Windows IDE for the generation of top down
+parsers with included c++ interpreter code for semantic actions. Both
+can be executed or debugged immediately on single source files or on
+groups of files. Generated parsers can be exported as c++ code
+including as well the interpretable code as any arbitrary other code.
+Tokens are defined as POSIX regular expressions and rules are defined
+in a similar syntax quasi as regular expressions of regular
+expressions. The construction of parse trees and their traversal is
+supported.<br><br><span class="emphasis"><em>"The TextTransformer is essentially based on the Boost Regex library,
+by which the tokens for a parser can be defined. The Lexical Cast and
+the Format library are used for the integrated c++ interpreter. For
+the future also an interpreter version of the String Algorithm library is
+planned. The Program Options library will be used too to improve the
+command line version of the texttransformer."</em></span>
+</td></tr></tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<tbody><tr><td class="blurb">
+<span class="bold"><strong>Redshift Software, The Thot Tool</strong></span><br><br><a href="http://thot-tool.com/" target="_top">The Thot Tool</a>
+is an asset management tool for a group of game developers.
+Thot combines assets, both binary and text, with workflow automation
+into a unified whole, and was built using Boost
+<a href="../../../libs/thread/index.html" target="_top">Threads</a>,
+<a href="../../../libs/smart_ptr/index.html" target="_top">Smart Pointer</a>,
+<a href="../../../libs/regex/index.html" target="_top">Regex</a>,
+<a href="../../../libs/mpl/index.html" target="_top">MPL</a>,
+and <a href="../../../libs/type_traits/index.html" target="_top">Type Traits</a>.
+</td></tr></tbody>
+</table></div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Various Authors</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../who_s_using_boost_.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../who_s_using_boost_.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="open.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/who_s_using_boost_/submit.html b/doc/html/who_s_using_boost_/submit.html
new file mode 100644
index 0000000000..2ebfd1a30e
--- /dev/null
+++ b/doc/html/who_s_using_boost_/submit.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Submissions</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries">
+<link rel="up" href="../who_s_using_boost_.html" title="Who's Using Boost?">
+<link rel="prev" href="inhouse.html" title=" In House Boost">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.htm">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../people/people.htm">People</a></td>
+<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inhouse.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../who_s_using_boost_.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="who_s_using_boost_.submit"></a> Submissions</h2></div></div></div>
+<p>
+If you have an application or library that's using Boost and would like to be
+listed here, please post the following information to the
+<a href="http://www.boost.org/more/mailing_lists.htm#main" target="_top">main Boost developer
+mailing list</a>:</p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+The name of the Application/Product/Service.
+</li>
+<li>
+The name of the company (where appropriate).
+</li>
+<li>
+A paragraph describing the Application/Product/Service.
+</li>
+<li>
+Any information you can provide about which parts of Boost you used,
+ along with any comments you may have on how Boost helped your product
+ development.
+</li>
+<li>
+URLs to your companies home page, and the home page of the
+ Application/Product/Service if there is one.
+</li>
+</ul></div>
+<p>
+Finally, if the subheadings used in the structure of these pages
+don't fit your Product/Application/Service please say so: we're
+always interested to hear how these pages can be improved or better
+structured.</p>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2005 Various Authors</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inhouse.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../who_s_using_boost_.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/wrapping_int.html b/doc/html/wrapping_int.html
new file mode 100644
index 0000000000..b886bd6bd3
--- /dev/null
+++ b/doc/html/wrapping_int.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template wrapping_int</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2462849" title="Header &lt;boost/date_time/wrapping_int.hpp&gt;">
+<link rel="prev" href="tz_db_base.html" title="Class template tz_db_base">
+<link rel="next" href="wrapping_int2.html" title="Class template wrapping_int2">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tz_db_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2462849"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="wrapping_int2.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="wrapping_int"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template wrapping_int</span></h2>
+<p>boost::date_time::wrapping_int &#8212; A wrapping integer used to support time durations. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> int_type_, int_type_ wrap_val&gt;
+<span class="bold"><strong>class</strong></span> wrapping_int {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> int_type_ int_type;
+
+  <span class="emphasis"><em>// <a href="wrapping_int.html#wrapping_intconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="wrapping_int.html#id2462986-bb">wrapping_int</a>(int_type);
+
+  <span class="emphasis"><em>// <a href="wrapping_int.html#id2462906-bb">public member functions</a></em></span>
+  <span class="type">int_type</span> <a href="wrapping_int.html#id2462911-bb">as_int</a>() <span class="bold"><strong>const</strong></span>;
+  <a href="wrapping_int.html#id2462927-bb"><span class="bold"><strong>operator</strong></span> int_type</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">int_type</span> <a href="wrapping_int.html#id2462939-bb">add</a>(int_type) ;
+  <span class="type">int_type</span> <a href="wrapping_int.html#id2462962-bb">subtract</a>(int_type) ;
+
+  <span class="emphasis"><em>// <a href="wrapping_int.html#id2463003-bb">public static functions</a></em></span>
+  <span class="type">int_type</span> <a href="wrapping_int.html#id2463008-bb">wrap_value</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2666741"></a><h2>Description</h2>
+<p>In composite date and time types this type is used to wrap at the day boundary. </p>
+<div class="refsect2" lang="en">
+<a name="id2666748"></a><h3>
+<a name="wrapping_intconstruct-copy-destruct"></a><code class="computeroutput">wrapping_int</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2462986-bb"></a>wrapping_int(int_type v);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2666782"></a><h3>
+<a name="id2462906-bb"></a><code class="computeroutput">wrapping_int</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id2462911-bb"></a>as_int() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><a name="id2462927-bb"></a><span class="bold"><strong>operator</strong></span> int_type() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id2462939-bb"></a>add(int_type v) ;</pre></li>
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id2462962-bb"></a>subtract(int_type v) ;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2666883"></a><h3>
+<a name="id2463003-bb"></a><code class="computeroutput">wrapping_int</code> public static functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">int_type</span> <a name="id2463008-bb"></a>wrap_value() ;</pre></li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tz_db_base.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2462849"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="wrapping_int2.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/wrapping_int2.html b/doc/html/wrapping_int2.html
new file mode 100644
index 0000000000..4d670979d9
--- /dev/null
+++ b/doc/html/wrapping_int2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template wrapping_int2</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2462849" title="Header &lt;boost/date_time/wrapping_int.hpp&gt;">
+<link rel="prev" href="wrapping_int.html" title="Class template wrapping_int">
+<link rel="next" href="year_month_day_base.html" title="Struct template year_month_day_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="wrapping_int.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2462849"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="year_month_day_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="wrapping_int2"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template wrapping_int2</span></h2>
+<p>boost::date_time::wrapping_int2 &#8212; A wrapping integer used to wrap around at the top. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> int_type_, int_type_ wrap_min, int_type_ wrap_max&gt;
+<span class="bold"><strong>class</strong></span> wrapping_int2 {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> int_type_ int_type;
+
+  <span class="emphasis"><em>// <a href="wrapping_int2.html#wrapping_int2construct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="wrapping_int2.html#id2453812-bb">wrapping_int2</a>(int_type);
+
+  <span class="emphasis"><em>// <a href="wrapping_int2.html#id2453724-bb">public member functions</a></em></span>
+  <span class="type">int_type</span> <a href="wrapping_int2.html#id2453728-bb">as_int</a>() <span class="bold"><strong>const</strong></span>;
+  <a href="wrapping_int2.html#id2453744-bb"><span class="bold"><strong>operator</strong></span> int_type</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">int_type</span> <a href="wrapping_int2.html#id2453757-bb">add</a>(int_type) ;
+  <span class="type">int_type</span> <a href="wrapping_int2.html#id2453783-bb">subtract</a>(int_type) ;
+
+  <span class="emphasis"><em>// <a href="wrapping_int2.html#id2453835-bb">public static functions</a></em></span>
+  <span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>long</strong></span></span> <a href="wrapping_int2.html#id2453840-bb">wrap_value</a>() ;
+  <span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>long</strong></span></span> <a href="wrapping_int2.html#id2453852-bb">min_value</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2667122"></a><h2>Description</h2>
+<p>Bad name, quick impl to fix a bug -- fix later!! This allows the wrap to restart at a value other than 0. Currently this only works if wrap_min == 1 </p>
+<div class="refsect2" lang="en">
+<a name="id2667130"></a><h3>
+<a name="wrapping_int2construct-copy-destruct"></a><code class="computeroutput">wrapping_int2</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><a name="id2453812-bb"></a>wrapping_int2(int_type v);</pre>
+<p>If initializing value is out of range of [wrap_min, wrap_max], value will be initialized to closest of min or max </p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2667169"></a><h3>
+<a name="id2453724-bb"></a><code class="computeroutput">wrapping_int2</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id2453728-bb"></a>as_int() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><a name="id2453744-bb"></a><span class="bold"><strong>operator</strong></span> int_type() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id2453757-bb"></a>add(int_type v) ;</pre></li>
+<li><pre class="literallayout"><span class="type">int_type</span> <a name="id2453783-bb"></a>subtract(int_type v) ;</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2667270"></a><h3>
+<a name="id2453835-bb"></a><code class="computeroutput">wrapping_int2</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>long</strong></span></span> <a name="id2453840-bb"></a>wrap_value() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>long</strong></span></span> <a name="id2453852-bb"></a>min_value() ;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="wrapping_int.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2462849"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="year_month_day_base.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/wvalue.html b/doc/html/wvalue.html
new file mode 100644
index 0000000000..d1e529d668
--- /dev/null
+++ b/doc/html/wvalue.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Function wvalue</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="program_options/reference.html#id2379391" title="Header &lt;boost/program_options/value_semantic.hpp&gt;">
+<link rel="prev" href="value.html" title="Function value">
+<link rel="next" href="bool_switch.html" title="Function bool_switch">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2379391"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bool_switch.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="wvalue"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function wvalue</span></h2>
+<p>boost::program_options::wvalue &#8212; </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type"><a href="typed_value.html" title="Class template typed_value">typed_value</a>&lt; T, <span class="bold"><strong>wchar_t</strong></span> &gt; *</span> wvalue();
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type"><a href="typed_value.html" title="Class template typed_value">typed_value</a>&lt; T, <span class="bold"><strong>wchar_t</strong></span> &gt; *</span> wvalue(T * v);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2728018"></a><h2>Description</h2>
+<p>Creates a typed_value&lt;T&gt; instance. This function is the primary method to create value_semantic instance for a specific type, which can later be passed to 'option_description' constructor. </p>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2002-2004 Vladimir Prus</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="value.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="program_options/reference.html#id2379391"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="bool_switch.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/xtime.html b/doc/html/xtime.html
new file mode 100644
index 0000000000..b7fd75129e
--- /dev/null
+++ b/doc/html/xtime.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct xtime</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="threads/reference.html#id2416096" title="Header &lt;boost/thread/xtime.hpp&gt;">
+<link rel="prev" href="id2545607.html" title="Type xtime_clock_types">
+<link rel="next" href="threads/faq.html" title="Frequently Asked Questions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2545607.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2416096"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="threads/faq.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="xtime"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct xtime</span></h2>
+<p>boost::xtime &#8212; <p>An object of type <a href="xtime.html" title="Struct xtime">xtime</a>
+ defines a time that is used to perform high-resolution time operations.
+ This is a temporary solution that will be replaced by a more robust time
+ library once available in Boost.</p></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
+<span class="bold"><strong>struct</strong></span> xtime {
+
+  <span class="emphasis"><em>platform-specific-type</em></span> sec;
+};
+
+<span class="emphasis"><em>// <a href="xtime.html#id2583643-bb">creation</a></em></span>
+<span class="type"><span class="bold"><strong>int</strong></span></span> <a href="xtime.html#xtime_get">xtime_get</a>(<a href="xtime.html" title="Struct xtime">xtime</a>*, <span class="bold"><strong>int</strong></span>);</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2786430"></a><h2>Description</h2>
+<p>The <a href="xtime.html" title="Struct xtime">xtime</a> type is used to represent a point on
+ some time scale or a duration in time. This type may be proposed for the C standard by
+ Markus Kuhn. <span class="bold"><strong>Boost.Threads</strong></span> provides only a very minimal implementation of this
+ proposal; it is expected that a full implementation (or some other time
+ library) will be provided in Boost as a separate library, at which time <span class="bold"><strong>Boost.Threads</strong></span>
+ will deprecate its own implementation.</p>
+<p><span class="bold"><strong>Note</strong></span> that the resolution is
+ implementation specific. For many implementations the best resolution
+ of time is far more than one nanosecond, and even when the resolution
+ is reasonably good, the latency of a call to <code class="computeroutput">xtime_get()</code>
+ may be significant. For maximum portability, avoid durations of less than
+ one second.</p>
+<div class="refsect2" lang="en">
+<a name="id2786479"></a><h3>
+<a name="id2583643-bb"></a><code class="computeroutput">xtime</code> creation</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="xtime_get"></a>xtime_get(<a href="xtime.html" title="Struct xtime">xtime</a>* xtp, <span class="bold"><strong>int</strong></span> clock_type);</pre>
+<p><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Postconditions</span></b>:
+
+ <code class="computeroutput">xtp</code> represents the current point in
+ time as a duration since the epoch specified by
+ <code class="computeroutput">clock_type</code>.<br><b xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"><span class="term">Returns</span></b>:
+
+ <code class="computeroutput">clock_type</code> if successful, otherwise 0.</p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2003 William E. Kempf</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id2545607.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="threads/reference.html#id2416096"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="threads/faq.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/year_based_generator.html b/doc/html/year_based_generator.html
new file mode 100644
index 0000000000..d9835b106c
--- /dev/null
+++ b/doc/html/year_based_generator.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template year_based_generator</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2508942" title="Header &lt;boost/date_time/date_generators.hpp&gt;">
+<link rel="prev" href="date_generator_parser.html" title="Class template date_generator_parser">
+<link rel="next" href="partial_date.html" title="Class template partial_date">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_generator_parser.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="partial_date.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="year_based_generator"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template year_based_generator</span></h2>
+<p>boost::date_time::year_based_generator &#8212; Base class for all generators that take a year and produce a date. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt;
+<span class="bold"><strong>class</strong></span> year_based_generator {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::calendar_type calendar_type;
+  <span class="bold"><strong>typedef</strong></span> calendar_type::year_type year_type;    
+
+  <span class="emphasis"><em>// <a href="year_based_generator.html#year_based_generatorconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="year_based_generator.html#id2457082-bb">year_based_generator</a>();
+  <a href="year_based_generator.html#id2457085-bb">~year_based_generator</a>();
+
+  <span class="emphasis"><em>// <a href="year_based_generator.html#id2387990-bb">public member functions</a></em></span>
+  <span class="type"><span class="bold"><strong>virtual</strong></span> date_type</span> <a href="year_based_generator.html#id2387995-bb">get_date</a>(year_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a href="year_based_generator.html#id2417872-bb">to_string</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2624158"></a><h2>Description</h2>
+<p>This class is a base class for polymorphic function objects that take a year and produce a concrete date.
+</p>
+<div class="refsect2" lang="en">
+<a name="id2624165"></a><h3>
+<a name="year_based_generatorconstruct-copy-destruct"></a><code class="computeroutput">year_based_generator</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2457082-bb"></a>year_based_generator();</pre></li>
+<li><pre class="literallayout"><a name="id2457085-bb"></a>~year_based_generator();</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2624214"></a><h3>
+<a name="id2387990-bb"></a><code class="computeroutput">year_based_generator</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> date_type</span> <a name="id2387995-bb"></a>get_date(year_type y) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>virtual</strong></span> std::string</span> <a name="id2417872-bb"></a>to_string() <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="date_generator_parser.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2508942"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="partial_date.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/year_functor.html b/doc/html/year_functor.html
new file mode 100644
index 0000000000..fe3c28e9b5
--- /dev/null
+++ b/doc/html/year_functor.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template year_functor</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2485277" title="Header &lt;boost/date_time/adjust_functors.hpp&gt;">
+<link rel="prev" href="week_functor.html" title="Class template week_functor">
+<link rel="next" href="c_local_adjustor.html" title="Class template c_local_adjustor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="week_functor.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2485277"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="c_local_adjustor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="year_functor"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template year_functor</span></h2>
+<p>boost::date_time::year_functor &#8212; Functor to iterate by a year adjusting for leap years. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type&gt;
+<span class="bold"><strong>class</strong></span> year_functor {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> date_type::duration_type duration_type;
+
+  <span class="emphasis"><em>// <a href="year_functor.html#year_functorconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="year_functor.html#id2426629-bb">year_functor</a>(<span class="bold"><strong>int</strong></span>);
+
+  <span class="emphasis"><em>// <a href="year_functor.html#id2492701-bb">public member functions</a></em></span>
+  <span class="type">duration_type</span> <a href="year_functor.html#id2492705-bb">get_offset</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="year_functor.html#id2461613-bb">get_neg_offset</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2606371"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2606375"></a><h3>
+<a name="year_functorconstruct-copy-destruct"></a><code class="computeroutput">year_functor</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2426629-bb"></a>year_functor(<span class="bold"><strong>int</strong></span> f);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2606414"></a><h3>
+<a name="id2492701-bb"></a><code class="computeroutput">year_functor</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2492705-bb"></a>get_offset(<span class="bold"><strong>const</strong></span> date_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2461613-bb"></a>get_neg_offset(<span class="bold"><strong>const</strong></span> date_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="week_functor.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2485277"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="c_local_adjustor.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/year_month_day_base.html b/doc/html/year_month_day_base.html
new file mode 100644
index 0000000000..da30292caf
--- /dev/null
+++ b/doc/html/year_month_day_base.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct template year_month_day_base</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2453871" title="Header &lt;boost/date_time/year_month_day.hpp&gt;">
+<link rel="prev" href="wrapping_int2.html" title="Class template wrapping_int2">
+<link rel="next" href="gregorian_calendar.html" title="Class gregorian_calendar">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="wrapping_int2.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2453871"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="gregorian_calendar.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="year_month_day_base"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template year_month_day_base</span></h2>
+<p>boost::date_time::year_month_day_base &#8212; Allow rapid creation of ymd triples of different types. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> YearType, <span class="bold"><strong>typename</strong></span> MonthType, <span class="bold"><strong>typename</strong></span> DayType&gt;
+<span class="bold"><strong>struct</strong></span> year_month_day_base {
+  <span class="emphasis"><em>// types</em></span>
+  <span class="bold"><strong>typedef</strong></span> YearType  year_type; 
+  <span class="bold"><strong>typedef</strong></span> MonthType month_type;
+  <span class="bold"><strong>typedef</strong></span> DayType   day_type;  
+
+  <span class="emphasis"><em>// <a href="year_month_day_base.html#year_month_day_baseconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="year_month_day_base.html#id2482607-bb">year_month_day_base</a>(YearType, MonthType, DayType);
+
+  <span class="emphasis"><em>// <a href="year_month_day_base.html#id2453942-bb">public member functions</a></em></span>
+
+  YearType year;
+  MonthType month;
+  DayType day;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2667523"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2667526"></a><h3>
+<a name="year_month_day_baseconstruct-copy-destruct"></a><code class="computeroutput">year_month_day_base</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2482607-bb"></a>year_month_day_base(YearType year, MonthType month, DayType day);</pre></li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2667561"></a><h3>
+<a name="id2453942-bb"></a><code class="computeroutput">year_month_day_base</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"></ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="wrapping_int2.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2453871"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="gregorian_calendar.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/years_duration.html b/doc/html/years_duration.html
new file mode 100644
index 0000000000..434e7db071
--- /dev/null
+++ b/doc/html/years_duration.html
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template years_duration</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2442047" title="Header &lt;boost/date_time/date_duration_types.hpp&gt;">
+<link rel="prev" href="months_duration.html" title="Class template months_duration">
+<link rel="next" href="date_facet.html" title="Class template date_facet">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="months_duration.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2442047"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_facet.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="years_duration"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template years_duration</span></h2>
+<p>boost::date_time::years_duration &#8212; additional duration type that represents a logical year </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> base_config&gt;
+<span class="bold"><strong>class</strong></span> years_duration {
+<span class="bold"><strong>public</strong></span>:
+  <span class="emphasis"><em>// <a href="years_duration.html#years_durationconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+  <a href="years_duration.html#id2500832-bb">years_duration</a>(int_rep);
+  <a href="years_duration.html#id2494294-bb">years_duration</a>(special_values);
+
+  <span class="emphasis"><em>// <a href="years_duration.html#id2499807-bb">public member functions</a></em></span>
+  <span class="type">int_rep</span> <a href="years_duration.html#id2499812-bb">number_of_years</a>() <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="years_duration.html#id2469511-bb">get_neg_offset</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">duration_type</span> <a href="years_duration.html#id2400535-bb">get_offset</a>(<span class="bold"><strong>const</strong></span> date_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="years_duration.html#id2422790-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> years_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="years_duration.html#id2509907-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<span class="bold"><strong>const</strong></span> years_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">years_type</span> <a href="years_duration.html#id2433883-bb"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> years_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">years_type &amp;</span> <a href="years_duration.html#id2394158-bb"><span class="bold"><strong>operator</strong></span>+=</a>(<span class="bold"><strong>const</strong></span> years_type &amp;) ;
+  <span class="type">years_type</span> <a href="years_duration.html#id2409965-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> years_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">years_type &amp;</span> <a href="years_duration.html#id2434523-bb"><span class="bold"><strong>operator</strong></span>-=</a>(<span class="bold"><strong>const</strong></span> years_type &amp;) ;
+  <span class="type">years_type</span> <a href="years_duration.html#id2508356-bb"><span class="bold"><strong>operator</strong></span> *</a>(<span class="bold"><strong>const</strong></span> int_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type">years_type &amp;</span> <a href="years_duration.html#id2424513-bb"><span class="bold"><strong>operator</strong></span> *=</a>(<span class="bold"><strong>const</strong></span> int_type) ;
+  <span class="type">years_type</span> <a href="years_duration.html#id2483657-bb"><span class="bold"><strong>operator</strong></span>/</a>(<span class="bold"><strong>const</strong></span> int_type) <span class="bold"><strong>const</strong></span>;
+  <span class="type">years_type &amp;</span> <a href="years_duration.html#id2521577-bb"><span class="bold"><strong>operator</strong></span>/=</a>(<span class="bold"><strong>const</strong></span> int_type) ;
+  <span class="type">months_type</span> <a href="years_duration.html#id2495882-bb"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> months_type &amp;) <span class="bold"><strong>const</strong></span>;
+  <span class="type">months_type</span> <a href="years_duration.html#id2528104-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> months_type &amp;) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2612830"></a><h2>Description</h2>
+<p>A logical year enables things like: "date(2002,Mar,2) + years(2) -&gt; 2004-Mar-2". If the date is a last day-of-the-month, the result will also be a last-day-of-the-month (ie date(2001-Feb-28) + years(3) -&gt; 2004-Feb-29). </p>
+<div class="refsect2" lang="en">
+<a name="id2612845"></a><h3>
+<a name="years_durationconstruct-copy-destruct"></a><code class="computeroutput">years_duration</code> construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><a name="id2500832-bb"></a>years_duration(int_rep num);</pre></li>
+<li><pre class="literallayout"><a name="id2494294-bb"></a>years_duration(special_values sv);</pre></li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2612894"></a><h3>
+<a name="id2499807-bb"></a><code class="computeroutput">years_duration</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type">int_rep</span> <a name="id2499812-bb"></a>number_of_years() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2469511-bb"></a>get_neg_offset(<span class="bold"><strong>const</strong></span> date_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">duration_type</span> <a name="id2400535-bb"></a>get_offset(<span class="bold"><strong>const</strong></span> date_type &amp; d) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2422790-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> years_type &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2509907-bb"></a><span class="bold"><strong>operator</strong></span>!=(<span class="bold"><strong>const</strong></span> years_type &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">years_type</span> <a name="id2433883-bb"></a><span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> years_type &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">years_type &amp;</span> <a name="id2394158-bb"></a><span class="bold"><strong>operator</strong></span>+=(<span class="bold"><strong>const</strong></span> years_type &amp; rhs) ;</pre></li>
+<li><pre class="literallayout"><span class="type">years_type</span> <a name="id2409965-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> years_type &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">years_type &amp;</span> <a name="id2434523-bb"></a><span class="bold"><strong>operator</strong></span>-=(<span class="bold"><strong>const</strong></span> years_type &amp; rhs) ;</pre></li>
+<li><pre class="literallayout"><span class="type">years_type</span> <a name="id2508356-bb"></a><span class="bold"><strong>operator</strong></span> *(<span class="bold"><strong>const</strong></span> int_type rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">years_type &amp;</span> <a name="id2424513-bb"></a><span class="bold"><strong>operator</strong></span> *=(<span class="bold"><strong>const</strong></span> int_type rhs) ;</pre></li>
+<li><pre class="literallayout"><span class="type">years_type</span> <a name="id2483657-bb"></a><span class="bold"><strong>operator</strong></span>/(<span class="bold"><strong>const</strong></span> int_type rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">years_type &amp;</span> <a name="id2521577-bb"></a><span class="bold"><strong>operator</strong></span>/=(<span class="bold"><strong>const</strong></span> int_type rhs) ;</pre></li>
+<li><pre class="literallayout"><span class="type">months_type</span> <a name="id2495882-bb"></a><span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> months_type &amp; m) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type">months_type</span> <a name="id2528104-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> months_type &amp; m) <span class="bold"><strong>const</strong></span>;</pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="months_duration.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2442047"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_facet.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/ymd_formatter.html b/doc/html/ymd_formatter.html
new file mode 100644
index 0000000000..8c0a7da4bd
--- /dev/null
+++ b/doc/html/ymd_formatter.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template ymd_formatter</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries">
+<link rel="up" href="date_time/doxy.html#id2352409" title="Header &lt;boost/date_time/date_formatting.hpp&gt;">
+<link rel="prev" href="month_formatter.html" title="Class template month_formatter">
+<link rel="next" href="date_formatter.html" title="Class template date_formatter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%">
+<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="month_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2352409"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="ymd_formatter"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template ymd_formatter</span></h2>
+<p>boost::date_time::ymd_formatter &#8212; Convert ymd to a standard string formatting policies. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ymd_type, <span class="bold"><strong>typename</strong></span> format_type, <span class="bold"><strong>typename</strong></span> charT = <span class="bold"><strong>char</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> ymd_formatter {
+<span class="bold"><strong>public</strong></span>:
+
+  <span class="emphasis"><em>// <a href="ymd_formatter.html#id2507040-bb">public static functions</a></em></span>
+  <span class="type">std::basic_string&lt; charT &gt;</span> <a href="ymd_formatter.html#id2507045-bb">ymd_to_string</a>(ymd_type) ;
+  <span class="type">std::string</span> <a href="ymd_formatter.html#id2439997-bb">ymd_to_string</a>(ymd_type) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2619378"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2619382"></a><h3>
+<a name="id2507040-bb"></a><code class="computeroutput">ymd_formatter</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type">std::basic_string&lt; charT &gt;</span> <a name="id2507045-bb"></a>ymd_to_string(ymd_type ymd) ;</pre>
+<p>This is standard code for handling date formatting with year-month-day based date information. This function uses the format_type to control whether the string will contain separator characters, and if so what the character will be. In addtion, it can format the month as either an integer or a string as controled by the formatting policy </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">std::string</span> <a name="id2439997-bb"></a>ymd_to_string(ymd_type ymd) ;</pre>
+<p>This is standard code for handling date formatting with year-month-day based date information. This function uses the format_type to control whether the string will contain separator characters, and if so what the character will be. In addtion, it can format the month as either an integer or a string as controled by the formatting policy </p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="month_formatter.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2352409"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="date_formatter.html"><img src="images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/src/boost.xml b/doc/src/boost.xml
new file mode 100644
index 0000000000..457c1c9a3c
--- /dev/null
+++ b/doc/src/boost.xml
@@ -0,0 +1,727 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE boostbook PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
+ "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
+<boostbook xmlns:xi="http://www.w3.org/2001/XInclude"
+ last-revision="$Date$">
+ <title>The Boost C++ Libraries</title>
+
+ <part id="libraries">
+ <title>The Boost C++ Libraries</title>
+ <para>
+ Documentation for some libraries is available in alternative formats at <ulink url="http://sourceforge.net/project/showfiles.php?group_id=7586">the SourceForge download site</ulink>.
+ </para>
+
+ <section>
+ <title>Libraries Listed Alphabetically</title>
+ <librarylist/>
+ </section>
+ <section>
+ <title>Libraries Listed by Category</title>
+ <librarycategorylist>
+ <librarycategorydef name="category:string-text">
+ String and text processing
+ </librarycategorydef>
+ <librarycategorydef name="category:containers">
+ Containers
+ </librarycategorydef>
+ <librarycategorydef name="category:iterators">
+ Iterators
+ </librarycategorydef>
+ <librarycategorydef name="category:algorithms">
+ Algorithms
+ </librarycategorydef>
+ <librarycategorydef name="category:higher-order">
+ Function objects and higher-order programming
+ </librarycategorydef>
+ <librarycategorydef name="category:generic">
+ Generic programming
+ </librarycategorydef>
+ <librarycategorydef name="category:template">
+ Template metaprogramming
+ </librarycategorydef>
+ <librarycategorydef name="category:preprocessor">
+ Preprocessor metaprogramming
+ </librarycategorydef>
+ <librarycategorydef name="category:concurrent">
+ Concurrent programming
+ </librarycategorydef>
+ <librarycategorydef name="category:math">
+ Math and numerics
+ </librarycategorydef>
+ <librarycategorydef name="category:testing">
+ Correctness and testing
+ </librarycategorydef>
+ <librarycategorydef name="category:data-structures">
+ Data structures
+ </librarycategorydef>
+ <librarycategorydef name="category:io">
+ Input/Output
+ </librarycategorydef>
+ <librarycategorydef name="category:lang">
+ Inter-language support
+ </librarycategorydef>
+ <librarycategorydef name="category:memory">
+ Memory
+ </librarycategorydef>
+ <librarycategorydef name="category:parsing">
+ Parsing
+ </librarycategorydef>
+ <librarycategorydef name="category:misc">
+ Miscellaneous
+ </librarycategorydef>
+ <librarycategorydef name="category:broken">
+ Broken compiler workarounds
+ </librarycategorydef>
+ </librarycategorylist>
+ </section>
+
+ <xi:include href="../../libs/any/doc/any.xml"/>
+ <xi:include href="../../libs/array/doc/array.xml"/>
+
+ <library name="Bind" dirname="bind" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Peter</firstname>
+ <surname>Dimov</surname>
+ </author>
+ <librarypurpose>Generalized binders for function/object/pointers and member functions</librarypurpose>
+ <librarycategory name="category:higher-order"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Mem_fn" dirname="bind" html-only="1"
+ url="../../libs/bind/mem_fn.html">
+ <libraryinfo>
+ <author>
+ <firstname>Peter</firstname>
+ <surname>Dimov</surname>
+ </author>
+ <librarypurpose>Generalized binders for member functions</librarypurpose>
+ <librarycategory name="category:higher-order"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Call Traits" dirname="call_traits" html-only="1"
+ url="../../libs/utility/call_traits.htm">
+ <libraryinfo>
+ <author>
+ <firstname>John</firstname>
+ <surname>Maddock</surname>
+ </author>
+ <author>
+ <firstname>Howard</firstname>
+ <surname>Hinnant</surname>
+ </author>
+ <librarypurpose>Defines types for passing parameters</librarypurpose>
+ <librarycategory name="category:generic"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Compatibility" dirname="compatibility" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Ralf</firstname>
+ <surname>Grosse-Kunstleve</surname>
+ </author>
+ <author>
+ <firstname>Jens</firstname>
+ <surname>Maurer</surname>
+ </author>
+ <librarypurpose>Help for non-conforming standard libraries</librarypurpose>
+ <librarycategory name="category:broken"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Compose" dirname="compose" html-only="1"
+ url="../../libs/compose/index.htm">
+ <libraryinfo>
+ <author>
+ <firstname>Nicolai</firstname>
+ <surname>Josuttis</surname>
+ </author>
+
+ <librarypurpose>Functional composition adapters for the STL</librarypurpose>
+ <librarycategory name="category:higher-order"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Compressed Pair" dirname="compressed_pair" html-only="1"
+ url="../../libs/utility/compressed_pair.htm">
+ <libraryinfo>
+ <author>
+ <firstname>John</firstname>
+ <surname>Maddock</surname>
+ </author>
+ <author>
+ <firstname>Howard</firstname>
+ <surname>Hinnant</surname>
+ </author>
+ <librarypurpose>Empty member optimization</librarypurpose>
+ <librarycategory name="category:data-structures"/>
+ <librarycategory name="category:misc"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Concept Check" dirname="concept_check" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Jeremy</firstname>
+ <surname>Siek</surname>
+ </author>
+ <librarypurpose>Tools for generic programming</librarypurpose>
+ <librarycategory name="category:generic"/>
+ <librarycategory name="category:testing"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="../../libs/concept_check/doc/reference/concepts.xml"/>
+
+ <library name="Config" dirname="config" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>John</firstname>
+ <surname>Maddock</surname>
+ </author>
+ <author>
+ <firstname>Beman</firstname>
+ <surname>Dawes</surname>
+ </author>
+ <author>
+ <firstname>Vesa</firstname>
+ <surname>Karvonen</surname>
+ </author>
+
+ <librarypurpose>Helps boost library developers adapt to compiler idiosyncrasies; not intended for library users</librarypurpose>
+ <librarycategory name="category:broken"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Conversion" dirname="conversion" html-only="1"
+ url="../../libs/conversion/index.html">
+ <libraryinfo>
+ <author>
+ <firstname>Dave</firstname>
+ <surname>Abrahams</surname>
+ </author>
+ <author>
+ <firstname>Kevlin</firstname>
+ <surname>Henney</surname>
+ </author>
+
+ <librarypurpose>Numeric, polymorphic, and lexical casts</librarypurpose>
+ <librarycategory name="category:misc"/>
+ </libraryinfo>
+ </library>
+
+ <library name="CRC" dirname="crc" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Daryle</firstname>
+ <surname>Walker</surname>
+ </author>
+
+ <librarypurpose>Cyclic Redundancy Code</librarypurpose>
+ <librarycategory name="category:misc"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="../../libs/date_time/xmldoc/date_time.xml"/>
+
+ <library name="Dynamic Bitset" dirname="dynamic_bitset" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Jeremy</firstname>
+ <surname>Siek</surname>
+ </author>
+ <author>
+ <firstname>Chuck</firstname>
+ <surname>Allison</surname>
+ </author>
+ <librarypurpose>A runtime sized version of <code>std::bitset</code></librarypurpose>
+ <librarycategory name="category:containers"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Format" dirname="format" html-only="1"
+ url="../../libs/format/index.html">
+ <libraryinfo>
+ <author>
+ <firstname>Samuel</firstname>
+ <surname>Krempp</surname>
+ </author>
+
+ <librarypurpose>Type-safe 'printf-like' format operations</librarypurpose>
+ <librarycategory name="category:string-text"/>
+ <librarycategory name="category:io"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Filesystem" dirname="filesystem" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Beman</firstname>
+ <surname>Dawes</surname>
+ </author>
+
+ <librarypurpose>Portable paths, iteration over directories, and other useful filesystem operations</librarypurpose>
+ <librarycategory name="category:misc"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="../../libs/function/doc/function.xml"/>
+
+ <library name="Functional" dirname="functional" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Mark</firstname>
+ <surname>Rodgers</surname>
+ </author>
+ <librarypurpose>Enhanced function object adaptors</librarypurpose>
+ <librarycategory name="category:higher-order"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="hash.xml"/>
+
+ <library name="Graph" dirname="graph" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Jeremy</firstname>
+ <surname>Siek</surname>
+ </author>
+ <author>
+ <firstname>University of Notre Dame</firstname>
+ <surname>Team</surname>
+ </author>
+ <librarypurpose>Generic graph components and algorithms</librarypurpose>
+ <librarycategory name="category:containers"/>
+ <librarycategory name="category:iterators"/>
+ <librarycategory name="category:algorithms"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Integer" dirname="integer" html-only="1"
+ url="../../libs/integer/index.html">
+ <libraryinfo>
+ <author>
+ <firstname>various</firstname>
+ <surname>authors</surname>
+ </author>
+
+ <librarypurpose>Headers to ease dealing with integral types</librarypurpose>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Interval" dirname="numeric/interval" html-only="1"
+ url="../../libs/numeric/interval/doc/index.html">
+ <libraryinfo>
+ <author>
+ <firstname>Guillaume</firstname>
+ <surname>Melquiond</surname>
+ </author>
+ <author>
+ <firstname>Herv&eacute;</firstname>
+ <surname>Br&ouml;nnimann</surname>
+ </author>
+ <author>
+ <firstname>Sylvain</firstname>
+ <surname>Pion</surname>
+ </author>
+
+ <librarypurpose>Extends the usual arithmetic functions to mathematical intervals</librarypurpose>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <library name="I/O State Savers" dirname="io" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Daryle</firstname>
+ <surname>Walker</surname>
+ </author>
+
+ <librarypurpose>Save I/O state to prevent jumbled data</librarypurpose>
+ <librarycategory name="category:io"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Iterator Adaptors" dirname="utility" html-only="1"
+ url="../../libs/utility/iterator_adaptors.htm">
+ <libraryinfo>
+ <author>
+ <firstname>Dave</firstname>
+ <surname>Abrahams</surname>
+ </author>
+ <author>
+ <firstname>Jeremy</firstname>
+ <surname>Siek</surname>
+ </author>
+ <author>
+ <firstname>John</firstname>
+ <surname>Potter</surname>
+ </author>
+
+ <librarypurpose>Adapt a base type into a standard conforming iterator</librarypurpose>
+ <librarycategory name="category:iterators"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="../../libs/lambda/doc/lambda.xml"/>
+
+ <library name="Math" dirname="math" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>various</firstname>
+ <surname>authors</surname>
+ </author>
+
+ <librarypurpose>Several contributions in the domain of mathematics</librarypurpose>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Math/Common Factor" dirname="math/common_factor" html-only="1"
+ url="../../libs/math/doc/common_factor.html">
+ <libraryinfo>
+ <author>
+ <firstname>Daryle</firstname>
+ <surname>Walker</surname>
+ </author>
+
+ <librarypurpose>Greatest common divisor and least common multiple</librarypurpose>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Math/Octonion" dirname="math/octonion" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Hubert</firstname>
+ <surname>Holin</surname>
+ </author>
+
+ <librarypurpose>Octonions</librarypurpose>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Math/Quaternion" dirname="math/quaternion" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Hubert</firstname>
+ <surname>Holin</surname>
+ </author>
+
+ <librarypurpose>Quaternions</librarypurpose>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Math/Special Functions" dirname="math/special_functions" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Hubert</firstname>
+ <surname>Holin</surname>
+ </author>
+
+ <librarypurpose>Mathematical special functions such as atanh, sinc, and sinhc</librarypurpose>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <library name="MPL" dirname="mpl" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Aleksey</firstname>
+ <surname>Gurtovoy</surname>
+ </author>
+
+ <librarypurpose>Template metaprogramming framework of compile-time algorithms, sequences and metafunction classes</librarypurpose>
+ <librarycategory name="category:template"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Multi Array" dirname="multi_array" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Ron</firstname>
+ <surname>Garcia</surname>
+ </author>
+
+ <librarypurpose>Multidimensional containers and adaptors for arrays of contiguous data</librarypurpose>
+ <librarycategory name="category:math"/>
+ <librarycategory name="category:containers"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Operators" dirname="utility" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Dave</firstname>
+ <surname>Abrahams</surname>
+ </author>
+ <author>
+ <firstname>Jeremy</firstname>
+ <surname>Siek</surname>
+ </author>
+
+ <librarypurpose>Templates ease arithmetic classes and iterators</librarypurpose>
+ <librarycategory name="category:generic"/>
+ <librarycategory name="category:iterators"/>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Optional" dirname="optional" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Fernando</firstname>
+ <surname>Cacciola</surname>
+ </author>
+
+ <librarypurpose>Discriminated-union wrapper for optional values</librarypurpose>
+ <librarycategory name="category:misc"/>
+ <librarycategory name="category:data-structures"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Pool" dirname="pool" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Steve</firstname>
+ <surname>Cleary</surname>
+ </author>
+
+ <librarypurpose>Memory pool management</librarypurpose>
+ <librarycategory name="category:memory"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Preprocessor" dirname="preprocessor" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Vesa</firstname>
+ <surname>Karvonen</surname>
+ </author>
+ <author>
+ <firstname>Paul</firstname>
+ <surname>Mensonides</surname>
+ </author>
+
+ <librarypurpose>Preprocessor metaprogramming tools including repetition and recursion</librarypurpose>
+ <librarycategory name="category:preprocessor"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="../../libs/program_options/doc/program_options.xml"/>
+
+ <library name="Property Map" dirname="property_map" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Jeremy</firstname>
+ <surname>Siek</surname>
+ </author>
+ <librarypurpose>Concepts defining interfaces which map key objects to value objects</librarypurpose>
+ <librarycategory name="category:containers"/>
+ <librarycategory name="category:generic"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Python" dirname="python" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Dave</firstname>
+ <surname>Abrahams</surname>
+ </author>
+ <librarypurpose>Reflects C++ classes and functions into <ulink url="http://www.python.org">Python</ulink></librarypurpose>
+ <librarycategory name="category:lang"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Random" dirname="random" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Jens</firstname>
+ <surname>Maurer</surname>
+ </author>
+ <librarypurpose>A complete system for random number generation</librarypurpose>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Rational" dirname="rational" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Paul</firstname>
+ <surname>Moore</surname>
+ </author>
+ <librarypurpose>A rational number class</librarypurpose>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="../../libs/bind/doc/ref.xml"/>
+
+ <library name="Regex" dirname="regex" html-only="1"
+ url="../../libs/regex/index.html">
+ <libraryinfo>
+ <author>
+ <firstname>John</firstname>
+ <surname>Maddock</surname>
+ </author>
+ <librarypurpose>Regular expression library</librarypurpose>
+ <librarycategory name="category:string-text"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Serialization" dirname="serialization" html-only="1"
+ url="../../libs/serialization/index.html">
+ <libraryinfo>
+ <author>
+ <firstname>Robert</firstname>
+ <surname>Ramey</surname>
+ </author>
+ <librarypurpose>Serialization of C++ objects for persistence and marshalling</librarypurpose>
+ <librarycategory name="category:io"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="../../libs/signals/doc/signals.xml"/>
+
+ <library name="Smart Pointer" dirname="smart_ptr" html-only="1"
+ url="../../libs/smart_ptr/index.html">
+ <libraryinfo>
+ <author>
+ <firstname>Greg</firstname>
+ <surname>Colvin</surname>
+ </author>
+ <author>
+ <firstname>Beman</firstname>
+ <surname>Dawes</surname>
+ </author>
+ <author>
+ <firstname>Peter</firstname>
+ <surname>Dimov</surname>
+ </author>
+ <author>
+ <firstname>Darin</firstname>
+ <surname>Adler</surname>
+ </author>
+ <librarypurpose>Five smart pointer class templates</librarypurpose>
+ <librarycategory name="category:memory"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Spirit" dirname="spirit" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Joel</firstname>
+ <surname>de Guzman</surname>
+ </author>
+ <author>
+ <firstname>team</firstname>
+ </author>
+
+ <librarypurpose>LL parser framework represents parsers directly as EBNF grammars in inlined C++</librarypurpose>
+ <librarycategory name="category:text"/>
+ <librarycategory name="category:parsing"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="static_assert.xml"/>
+
+ <xi:include href="../../libs/algorithm/string/doc/string_algo.xml"/>
+
+ <library name="Test" dirname="test" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Gennadiy</firstname>
+ <surname>Rozental</surname>
+ </author>
+ <librarypurpose>Support for simple program testing, full unit testing, and for program execution monitoring</librarypurpose>
+ <librarycategory name="category:testing"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="../../libs/thread/doc/thread.xml"/>
+
+ <library name="Timer" dirname="timer" html-only="1"
+ url="../../libs/timer/index.html">
+ <libraryinfo>
+ <author>
+ <firstname>Beman</firstname>
+ <surname>Dawes</surname>
+ </author>
+ <librarypurpose>Event timer, progress timer, and progress display classes</librarypurpose>
+ <librarycategory name="category:misc"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Tokenizer" dirname="tokenizer" html-only="1"
+ url="../../libs/tokenizer/index.html">
+ <libraryinfo>
+ <author>
+ <firstname>John</firstname>
+ <surname>Bandela</surname>
+ </author>
+ <librarypurpose>Break of a string or other character sequence into a series of tokens</librarypurpose>
+ <librarycategory name="category:string-text"/>
+ <librarycategory name="category:iterators"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="../../libs/logic/doc/tribool.boostbook"/>
+
+ <library name="Tuple" dirname="tuple" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Jaakko</firstname>
+ <surname>J&auml;rvi</surname>
+ </author>
+ <librarypurpose>Ease definition of functions returning multiple values, and more</librarypurpose>
+ <librarycategory name="category:data-structures"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="type_traits.xml"/>
+
+ <library name="uBLAS" dirname="numeric/ublas" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Joerg</firstname>
+ <surname>Walter</surname>
+ </author>
+ <author>
+ <firstname>Mathias</firstname>
+ <surname>Koch</surname>
+ </author>
+ <librarypurpose>Basic linear algebra for dense, packed and sparse matrices</librarypurpose>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Utility" dirname="utility" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Dave</firstname>
+ <surname>Abrahams</surname>
+ </author>
+ <author>
+ <firstname>others</firstname>
+ </author>
+
+ <librarypurpose>Class noncopyable plus <functionname>checked_delete</functionname>, <functionname>checked_array_delete</functionname>, <functionname>next</functionname>, <functionname>prior</functionname> function templates, plus base-from-member idiom</librarypurpose>
+ <librarycategory name="category:misc"/>
+ <librarycategory name="category:memory"/>
+ <librarycategory name="category:algorithms"/>
+ </libraryinfo>
+ </library>
+ <xi:include href="../../libs/variant/doc/variant.xml"/>
+ </part>
+
+ <xi:include href="../../tools/boostbook/doc/boostbook.xml"/>
+ <xi:include href="../../tools/build/v2/doc/src/userman.xml"/>
+ <xi:include href="using.xml"/>
+</boostbook>
+
diff --git a/google_logo_40wht.png b/google_logo_40wht.png
new file mode 100644
index 0000000000..4564914167
--- /dev/null
+++ b/google_logo_40wht.png
Binary files differ
diff --git a/index.htm b/index.htm
new file mode 100644
index 0000000000..6fcfa155b6
--- /dev/null
+++ b/index.htm
@@ -0,0 +1,658 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+ <title>Boost C++ Libraries</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
+ <link rel="icon" href="more/favicon.ico" type="image/ico" />
+ <link rel="stylesheet" type="text/css" href="more/css_0/front.css" />
+ <!--[if IE]>
+ <style type="text/css">
+ body { behavior: url(more/css_0/csshover.htc); }
+ </style>
+ <![endif]-->
+</head>
+
+<body>
+ <div class="body-0">
+ <div class="body-1">
+ <div class="body-2">
+ <div id="heading">
+ <div id="heading-0">
+ <h1><img id="boost-logo" src="more/boost-dark-trans.png" alt=
+ "Boost C++ Libraries" /></h1>
+
+ <p id="heading-quote"><span class="quote">&ldquo;...one of the
+ most highly regarded and expertly designed C++ library projects
+ in the world.&rdquo;</span> <span class="attribution">&mdash;
+ <a href="http://www.gotw.ca/">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586">C++ Coding
+ Standards</a></span></p>
+
+ <div class="clear"></div>
+ </div>
+ </div>
+
+ <div id="content">
+ <table summary="">
+ <tr>
+ <td id="sections" rowspan="2">
+ <div class="section" id="intro">
+ <h1>Welcome to Boost.org!</h1>
+
+ <div class="section-body">
+ <div class="section-body-0">
+ <div class="section-body-1">
+ <p>Boost provides free peer-reviewed portable C++
+ source libraries.</p>
+
+ <p>We emphasize libraries that work well with the C++
+ Standard Library. Boost libraries are intended to be
+ widely useful, and usable across a broad spectrum of
+ applications. The <a href=
+ "more/license_info.html">Boost license</a> encourages
+ both commercial and non-commercial use.</p>
+
+ <p>We aim to establish "existing practice" and
+ provide reference implementations so that Boost
+ libraries are suitable for eventual standardization.
+ Ten Boost libraries are already included in the
+ <a href="http://www.open-std.org/jtc1/sc22/wg21">C++
+ Standards Committee's</a> Library Technical Report (
+ <a href=
+ "http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1745.pdf">
+ TR1</a>) as a step toward becoming part of a future
+ C++ Standard. More Boost libraries are proposed for
+ the upcoming <a href=
+ "http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1810.html">
+ TR2</a>.</p>
+
+ <p class="note"><span class="note-label">Getting
+ started:</span> <span class="note-body">Boost works
+ on almost any modern operating system, including UNIX
+ and Windows variants. Follow the <a href=
+ "more/getting_started.html">Getting Started Guide</a>
+ to download and install Boost. Popular Linux and Unix
+ distributions such as <a href=
+ "http://fedora.redhat.com/">Fedora</a>, <a href=
+ "http://www.debian.org/">Debian</a>, and <a href=
+ "http://www.netbsd.org/">NetBSD</a> include pre-built
+ Boost packages. Boost may also already be available
+ on your organization's internal web
+ server.</span></p>
+
+ <p class="note"><span class=
+ "note-label">Background:</span> <span class=
+ "note-body">The <a href=
+ "more/background.html">Background Information
+ page</a> has introductory material to help those
+ educating their organization about Boost.</span></p>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="section" id="participation">
+ <h2><a name="Membership" id=
+ "Membership"></a>Participation</h2>
+
+ <div class="section-body">
+ <div class="section-body-0">
+ <div class="section-body-1">
+ <p>Although Boost was begun by members of the C++
+ Standards Committee Library Working Group,
+ participation has expanded to include thousands of
+ programmers from the C++ community at large.</p>
+
+ <p>If you are interested in participating in Boost,
+ please join our main <a href=
+ "more/mailing_lists.htm#main">developers mailing
+ list</a>. Discussions are highly technical, and list
+ members are encouraged to participate in formal
+ reviews of proposed libraries. There is also a
+ <a href="more/mailing_lists.htm#users">users mailing
+ list</a>, and several <a href=
+ "more/mailing_lists.htm#projects">project specific
+ lists</a>.</p>
+
+ <p>Both the main Boost developers list and the users
+ list are also accessible as <a href=
+ "more/mailing_lists.htm">newsgroups</a>.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="section" id="news">
+ <h2>Latest News</h2>
+
+ <div class="section-body">
+ <div class="section-body-0">
+ <div class="section-body-1">
+ <h3>December 5, 2005 - Version 1.33.1</h3>
+
+ <h4>Updated Libraries</h4>
+
+ <ul>
+ <li><span class="library"><a href=
+ "doc/html/any.html">Any Library</a>:</span> Cast to
+ reference types introduced in 1.33.0 is now
+ documented on <code>any_cast</code> documentation
+ page.</li>
+
+ <li><span class="library"><a href=
+ "libs/config/index.html">Config Library</a>:</span>
+ Don't undef BOOST_LIB_TOOLSET after use.</li>
+
+ <li>
+ <span class="library"><a href=
+ "libs/python/doc/index.html">Boost.Python</a>:</span>
+
+ <ul>
+ <li>The build now assumes Python 2.4 by
+ default, rather than 2.2</li>
+
+ <li>Support Python that's built without Unicode
+ support</li>
+
+ <li>Support for wrapping classes with
+ overloaded address-of (<code>&amp;</code>)
+ operators</li>
+ </ul>
+ </li>
+
+ <li><span class="library"><a href=
+ "libs/smart_ptr/index.html">Smart Pointer
+ Library</a>:</span> Fixed problems under Metrowerks
+ CodeWarrior on PowerPC (Mac OS X) with inlining on,
+ GNU GCC on PowerPC 64.</li>
+
+ <li><span class="library"><a href=
+ "libs/regex/doc/index.html">Regex
+ Library</a>:</span> Fixed the supplied makefiles,
+ and other small compiler specific changes. Refer to
+ the <a href="libs/regex/doc/history.html">regex
+ history page</a> for more information on these and
+ other small changes.</li>
+
+ <li><span class="library"><a href=
+ "libs/iostreams/doc/index.html">Iostreams
+ Library</a>:</span> Improved the interface for
+ accessing a chain's components, added
+ <code>is_open</code> members to the file and file
+ descriptor devices, fixed memory-mapped files on
+ Windows, and made minor changes to the
+ documentation.</li>
+
+ <li><span class="library"><a href=
+ "libs/functional/hash/index.html">Functional/Hash
+ Library</a>:</span> Fixed the points example.</li>
+
+ <li><span class="library"><a href=
+ "libs/multi_index/doc/index.html">Multi-index
+ Containers Library</a>:</span> Fixed a problem with
+ multithreaded code, and other minor changes. Refer
+ to the library <a href=
+ "libs/multi_index/doc/release_notes.html#boost_1_33_1">
+ release notes</a> for further details.</li>
+
+ <li>
+ <span class="library"><a href=
+ "libs/graph/doc/table_of_contents.html">Graph
+ Library</a>:</span>
+
+ <ul>
+ <li>Fixed a problem with the relaxed heap on
+ x86 Linux (fixes bug in
+ <tt>dijkstra_shortest_paths</tt>).</li>
+
+ <li>Fixed problems with <a href=
+ "libs/graph/doc/cuthill_mckee_ordering.html"><code>
+ cuthill_mckee_ordering</code></a> and <a href=
+ "libs/graph/doc/king_ordering.html"><code>king_ordering</code></a>
+ producing no results.</li>
+
+ <li>Added <tt>color_map</tt> parameter to
+ <tt>dijkstra_shortest_paths</tt>.</li>
+ </ul>
+ </li>
+
+ <li><span class="library"><a href=
+ "libs/signals/doc/index.html">Signals
+ Library</a>:</span> Fixed problems with the use of
+ Signals across shared library boundaries.</li>
+
+ <li><span class="library"><a href=
+ "libs/thread/doc/index.html">Thread
+ library</a>:</span> <code>read_write_mutex</code>
+ has been removed due to problems with
+ deadlocks.</li>
+
+ <li><span class="library"><a href=
+ "libs/wave/index.html">Wave library</a>
+ (V1.2.1)</span> Fixed a couple of problems, refer
+ to the <a href="libs/wave/ChangeLog">change log</a>
+ for further details.</li>
+ </ul>
+
+ <h4>Supported Compilers</h4>
+
+ <p>Boost is tested on a wide range of compilers and
+ platforms. Since Boost libraries rely on modern C++
+ features not available in all compilers, not all
+ Boost libraries will work with every compiler. The
+ following compilers and platforms have been
+ extensively tested with Boost, although many other
+ compilers and platforms will work as well. For more
+ information, see the <a href=
+ "http://www.boost.org/regression/release/user/">regression
+ test results</a>.</p>
+
+ <p><b>New for this release</b>: Support for building
+ with the newest STLport-5.0 was added. The support
+ includes building with MinGW Runtime 3.8 plus
+ STLport-5.0 improved to support wide character
+ operations. Apple GCC 4.0, HP Tru64 C++, and
+ Microsoft Visual C++ 8.0 are supported platforms. We
+ have added an experimental autoconf-like
+ <code>configure</code> script for Unix-like systems:
+ run <code>configure --help</code> for more
+ information.</p>
+
+ <ul>
+ <li><a href="http://developer.apple.com/">Apple
+ GCC</a> 3.3, 4.0 on Mac OS X.</li>
+
+ <li><a href=
+ "http://www.borland.com/us/products/cbuilder/">Borland
+ C++</a> 5.6.4 on Windows.</li>
+
+ <li><a href="http://gcc.gnu.org">GNU C++</a> 2.95.3
+ (with and without STLport), 3.2.x., 3.3.x, 3.4.x,
+ 4.0.x on Windows, Linux and Solaris.</li>
+
+ <li><a href="http://h30097.www3.hp.com/cplus/">HP
+ C++ for Tru64 UNIX 7.1</a>.</li>
+
+ <li><a href=
+ "http://www.intel.com/cd/software/products/asmo-na/eng/compilers/index.htm">
+ Intel C++</a> 8.1, 9.0 on Windows, Linux.</li>
+
+ <li><a href="http://www.metrowerks.com">Metrowerks
+ CodeWarrior</a> 8.3, 9.4, 9.5 on Mac OS X and
+ Windows.</li>
+
+ <li><a href=
+ "http://msdn.microsoft.com/visualc/">Microsoft
+ Visual C++</a> 6.0 (sp5, with and without STLport),
+ 7.0, 7.1, 8.0. Note: Boost does not support the
+ non-standard "Safe" C++ Library shipping with
+ Visual C++ 8.0, which may result in many spurious
+ warnings from Boost headers and other
+ standards-conforming C++ code. To suppress these
+ warnings, define the macro
+ <code>_SCL_SECURE_NO_DEPRECATE</code>.</li>
+ </ul>
+
+ <h4>Acknowledgements</h4>
+
+ <p><img src="more/boost_1_33_0.jpg" width="128"
+ height="118" alt="Medieval Mr. Gregor" class=
+ "left-inset" /> <a href=
+ "people/doug_gregor.html">Douglas Gregor</a> managed
+ this release.</p>
+
+ <p>A great number of people contributed their time
+ and expertise to make this release possible. Special
+ thanks go to Aleksey Gurtovoy and Misha Bergal, who
+ managed to keep the regression testing system working
+ throughout the release process; David Abrahams, Beman
+ Dawes, Aleksey Gurtovoy, Bronek Kozicki, Rene Rivera
+ and Jonathan Turkanis for greatly improving the
+ quality of this release; Rene Rivera for the new
+ Boost web page design; and Zoltan "cad" Juhasz for
+ the new Boost logo.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="clear"></div>
+ </td>
+
+ <td id="sidebars-top">
+ <div class="sidebar" id="boost-sidebar">
+ <div class="sidebar-0">
+ <div class="sidebar-1">
+ <div class="sidebar-2">
+ <div class="sidebar-3">
+ <div class="sidecell" id="libraries">
+ <div class="sidecell-0">
+ <h4>Libraries</h4>
+
+ <ul>
+ <li><a href=
+ "libs/libraries.htm">Documentation</a></li>
+
+ <li><a href=
+ "more/license_info.html">License</a></li>
+
+ <li><a href=
+ "http://sourceforge.net/project/showfiles.php?group_id=7586">
+ Download</a></li>
+
+ <li><a href=
+ "more/getting_started.html">Getting
+ Started</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="sidecell" id="tests">
+ <div class="sidecell-0">
+ <h4>Regression Tests</h4>
+
+ <ul>
+ <li><a href=
+ "status/compiler_status.html">General
+ Info</a></li>
+
+ <li><a href=
+ "http://www.boost.org/regression/release/user/">
+ Release</a></li>
+
+ <li><a href=
+ "http://www.boost.org/regression/developement/developer/">
+ Development</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="sidecell" id="search">
+ <div class="sidecell-0">
+ <h4>Search Boost</h4>
+
+ <form method="get" action=
+ "http://www.google.com/custom">
+ <p><span id="search-text"><input type="text"
+ name="q" id="q" size="31" maxlength="255"
+ alt="Search Text" /></span> <span id=
+ "search-choice"><select name="hq" id="hq">
+ <option label="Boost" value=
+ "site:www.boost.org">
+ Boost
+ </option>
+
+ <option label="Documentation" value=
+ "site:www.boost.org inurl:www.boost.org/libs OR inurl:www.boost.org/doc">
+ Documentation
+ </option>
+
+ <option label="Mailing Lists" value=
+ "site:lists.boost.org">
+ Mailing Lists
+ </option>
+ </select></span> <span id="go"><input type=
+ "image" name="search" src="more/space.gif"
+ alt="Search" id="search-button" /></span>
+ <span id="google"><a href=
+ "http://www.google.com/search"><img src=
+ "more/google_logo_25wht.gif" alt="Google" />
+ Powered</a></span> <input type="hidden" name=
+ "cof" value=
+ "LW:277;L:http://www.boost.org/boost.png;LH:86;AH:center;GL:0;S:http://www.boost.org;AWFID:9b83d16ce652ed5a;" />
+ <input type="hidden" name="sa" value=
+ "Google Search" /> <input type="hidden" name=
+ "domains" value=
+ "www.boost.org;lists.boost.org" /></p>
+ </form>
+ </div>
+ </div>
+
+ <div class="clear"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="sidebar" id="participation-sidebar">
+ <div class="sidebar-0">
+ <div class="sidebar-1">
+ <div class="sidebar-2">
+ <div class="sidebar-3">
+ <div class="sidecell" id="groups">
+ <div class="sidecell-0">
+ <h4>Groups</h4>
+
+ <ul>
+ <li><a href=
+ "more/mailing_lists.htm#main">Boost
+ (Developers)</a></li>
+
+ <li><a href=
+ "more/mailing_lists.htm#users">Boost
+ Users</a></li>
+
+ <li><a href=
+ "more/mailing_lists.htm#announce">Announcements</a></li>
+
+ <li><a href=
+ "more/mailing_lists.htm#interest">Boost
+ General Interest</a></li>
+
+ <li><a href=
+ "more/mailing_lists.htm#projects">Project-Specific</a></li>
+
+ <li><a href=
+ "more/discussion_policy.htm">Discussion
+ Policy</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="sidecell" id="contribute">
+ <div class="sidecell-0">
+ <h4>Contribute</h4>
+
+ <ul>
+ <li><a href=
+ "more/formal_review_process.htm">Formal
+ Reviews</a></li>
+
+ <li><a href=
+ "more/formal_review_schedule.html">Review
+ Schedule</a></li>
+
+ <li><a href=
+ "more/lib_guide.htm#Requirements">Requirements</a></li>
+
+ <li><a href=
+ "more/lib_guide.htm#Guidelines">Guidelines</a></li>
+
+ <li><a href=
+ "more/submission_process.htm">Submissions</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="clear"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="sidebar" id="resources-sidebar">
+ <div class="sidebar-0">
+ <div class="sidebar-1">
+ <div class="sidebar-2">
+ <div class="sidebar-3">
+ <div class="sidecell" id="support">
+ <div class="sidecell-0">
+ <h4>Support</h4>
+
+ <ul>
+ <li><a href="more/faq.htm">FAQ</a></li>
+
+ <li><a href=
+ "http://sourceforge.net/tracker/?group_id=7586">
+ Request Support</a></li>
+
+ <li><a href="more/bugs.htm">Report
+ Bugs</a></li>
+
+ <li><a href=
+ "more/requesting_new_features.htm">Suggest
+ Features</a></li>
+
+ <li><a href=
+ "more/links.htm#CommercialSupport">Commercial
+ Support</a></li>
+
+ <li><a href="more/mailing_lists.htm">Mailing
+ Lists</a></li>
+
+ <li><a href=
+ "more/version_history.html">Version
+ History</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="sidecell" id="other">
+ <div class="sidecell-0">
+ <h4>Other Resources</h4>
+
+ <ul>
+ <li><a href=
+ "http://boost-consulting.com/vault/">Vault
+ Files</a></li>
+
+ <li><a href=
+ "more/getting_started.html#CVS">Main
+ CVS</a></li>
+
+ <li><a href=
+ "more/mailing_lists.htm#sandbox">Sandbox
+ CVS</a></li>
+
+ <li><a href="tools/index.html">Tools</a></li>
+
+ <li><a href=
+ "people/people.htm">People</a></li>
+
+ <li><a href=
+ "doc/html/who_s_using_boost_.html">Who's
+ Using Boost?</a></li>
+
+ <li><a href=
+ "more/moderators.html">Moderators</a></li>
+
+ <li><a href="more/index.htm">More
+ Boost</a></li>
+
+ <li><a href="more/links.htm#cpp">More
+ C++</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="sidecell" id="official">
+ <div class="sidecell-0">
+ <h4>Official Branch Sites</h4>
+
+ <ul>
+ <li><a href=
+ "http://spirit.sourceforge.net/">Spirit</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="sidecell" id="unofficial">
+ <div class="sidecell-0">
+ <h4>Unofficial Branch Sites</h4>
+
+ <ul>
+ <li><a href=
+ "http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl">
+ Wiki</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="clear"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </td>
+ </tr>
+
+ <tr>
+ <td id="sidebars-bottom">
+ <div class="sidebar" id="footer-sidebar">
+ <div class="sidebar-0">
+ <div class="sidebar-1">
+ <div class="sidebar-2">
+ <div class="sidebar-3">
+ <div class="sidecell" id="footer">
+ <div class="sidecell-0">
+ <div id="revised">
+ <p>Revised $Date$</p>
+ </div>
+
+ <div id="copyright">
+ <p>Copyright Beman Dawes, David Abrahams,
+ 1998-2003.</p>
+
+ <p>Copyright Rene Rivera 2004-2005.</p>
+ </div>
+
+ <div id="license">
+ <p>Distributed under the Boost Software
+ License, Version 1.0. (See accompanying file
+ <a href="LICENSE_1_0.txt">LICENSE_1_0.txt</a>
+ or copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/
+ LICENSE_1_0.txt</a>)</p>
+ </div>
+
+ <div id="banners">
+ <p><a href=
+ "http://validator.w3.org/check?uri=referer"><img class="c1"
+ src="more/w3c_valid_xhtml10.png" alt=
+ "Valid XHTML 1.0!" /></a></p>
+
+ <p><a href=
+ "http://jigsaw.w3.org/css-validator/check/referer">
+ <img class="c1" src="more/w3c_valid_css.png"
+ alt="Valid CSS!" /></a></p>
+
+ <p><a href=
+ "http://sourceforge.net"><img class="c1" src=
+ "http://sourceforge.net/sflogo.php?group_id=7586&amp;type=1"
+ alt="SourceForge.net" /></a></p>
+ </div>
+ </div>
+ </div>
+
+ <div class="clear"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/libs/algorithm b/libs/algorithm
new file mode 160000
+Subproject fe9e7eac19048f3ee4c23895fb715b613886976
diff --git a/libs/any b/libs/any
new file mode 160000
+Subproject b24efbc3361de690e3773bb524dcd90aaa1518d
diff --git a/libs/array b/libs/array
new file mode 160000
+Subproject 9385f98ca8397988139bc0f0e2736070ff74bbe
diff --git a/libs/assign b/libs/assign
new file mode 160000
+Subproject 6b28c48564b756a858545b68b8ea33e4af5a38d
diff --git a/libs/bind b/libs/bind
new file mode 160000
+Subproject ee6a0e5dc3091f830639f3119bd8121d8f76175
diff --git a/libs/compatibility b/libs/compatibility
new file mode 160000
+Subproject 5b769d5f2276a2f3280090ac173d0ddc35a9881
diff --git a/libs/compose b/libs/compose
new file mode 160000
+Subproject 66147ee3882456d8d4b6f9d1e19615b62391875
diff --git a/libs/concept_check b/libs/concept_check
new file mode 160000
+Subproject d7acbca73580ba9249a484d7e548cbfaff503ed
diff --git a/libs/config b/libs/config
new file mode 160000
+Subproject 6284b4a90d5b93ad9fefc734c114b229e28d64d
diff --git a/libs/conversion b/libs/conversion
new file mode 160000
+Subproject 1eb3551a92905a5ba4f9de6d8e0907e1e5521f3
diff --git a/libs/crc b/libs/crc
new file mode 160000
+Subproject 2ba168824fcb99ba3fa8b759d617f300bb1165e
diff --git a/libs/date_time b/libs/date_time
new file mode 160000
+Subproject 8fbacc6fb8fe72a8006a5efe70d2dd57af70b92
diff --git a/libs/detail b/libs/detail
new file mode 160000
+Subproject 6f83224ddd6dd26f5cf0ca02dba4e8a16f7915c
diff --git a/libs/disjoint_sets b/libs/disjoint_sets
new file mode 160000
+Subproject d98bbd29a1a9dfc90611f1084b462506b62cd4b
diff --git a/libs/dynamic_bitset b/libs/dynamic_bitset
new file mode 160000
+Subproject 6d0e23860980f42a26e3094f0e181b0e5b4330e
diff --git a/libs/exception b/libs/exception
new file mode 160000
+Subproject 6102db215be753427bb739368f787a150a1800d
diff --git a/libs/expected_results.xml b/libs/expected_results.xml
new file mode 100644
index 0000000000..8b173151e6
--- /dev/null
+++ b/libs/expected_results.xml
@@ -0,0 +1,1380 @@
+<?xml version="1.0" encoding="utf-8"?>
+<expected-failures><toolset name="mingw-3_3_1"><library name="algorithm/minmax"><test-result test-name="minmax" result="success"/><test-result test-name="minmax_element" result="success"/><test-result test-name="minmax" result="success"/><test-result test-name="minmax_element" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="container" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="find" result="success"/><test-result test-name="predicate" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="trim" result="success"/><test-result test-name="container" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="find" result="success"/><test-result test-name="predicate" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="trim" result="success"/></library>
+<library name="assign"><test-result test-name="array" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="email_example" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="multi_index_container" result="success"/><test-result test-name="my_vector_example" result="success"/><test-result test-name="std" result="success"/><test-result test-name="array" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="email_example" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="multi_index_container" result="success"/><test-result test-name="my_vector_example" result="success"/><test-result test-name="std" result="success"/></library>
+<library name="bind"><test-result test-name="bind_const_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="bind_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/><test-result test-name="bind_const_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="bind_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/><test-result test-name="cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="date_time"><test-result test-name="testclock" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testfacet" result="fail"/><test-result test-name="testfacet_dll" result="fail"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_cal" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testgreg_wstream" result="fail"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="teststreams" result="fail"/><test-result test-name="testtime" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testtime_wstream" result="fail"/><test-result test-name="testtime_wstream_std_config" result="fail"/><test-result test-name="testwrapping_int" result="success"/><test-result test-name="testclock" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testfacet" result="fail"/><test-result test-name="testfacet_dll" result="fail"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_cal" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testgreg_wstream" result="fail"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="teststreams" result="fail"/><test-result test-name="testtime" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testtime_wstream" result="fail"/><test-result test-name="testtime_wstream_std_config" result="fail"/><test-result test-name="testwrapping_int" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="filesystem"><test-result test-name="convenience_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/><test-result test-name="convenience_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="function"><test-result test-name="allocator_test" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="function_30" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="sum_avg_portable" result="success"/><test-result test-name="allocator_test" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="function_30" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="sum_avg_portable" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="layout_test" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="vector_graph_cc" result="success"/><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="layout_test" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="vector_graph_cc" result="success"/></library>
+<library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/></library>
+<library name="iterator"><test-result test-name="concept_tests" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="interoperable_fail" result="fail"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="iterator_traits_test" result="success"/><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="zip_iterator_test" result="success"/><test-result test-name="concept_tests" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="interoperable_fail" result="fail"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="iterator_traits_test" result="success"/><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="zip_iterator_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/><test-result test-name="tribool_test" result="success"/><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/><test-result test-name="tribool_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="octonion_test" result="success"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="quaternion_test" result="success"/><test-result test-name="special_functions_test" result="success"/><test-result test-name="common_factor_test" result="success"/><test-result test-name="octonion_test" result="success"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="quaternion_test" result="success"/><test-result test-name="special_functions_test" result="success"/></library>
+<library name="mpl"><test-result test-name="advance" result="success"/><test-result test-name="always" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="back" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="count" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="front" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="if" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="int" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="lambda_args" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="map" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="next" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="partition" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="set" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="size" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="zip_view" result="success"/><test-result test-name="advance" result="success"/><test-result test-name="always" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="back" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="count" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="front" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="if" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="int" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="lambda_args" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="map" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="next" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="partition" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="set" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="size" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="zip_view" result="success"/></library>
+<library name="multi_array"><test-result test-name="access" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_criterator" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="storage_order" result="success"/><test-result test-name="access" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_criterator" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="storage_order" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_basic" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_update" result="success"/><test-result test-name="test_basic" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_update" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="udt_support_test" result="success"/><test-result test-name="bounds_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="udt_support_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="add" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="cmp_lex" result="success"/><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="det" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="test_float" result="success"/><test-result test-name="add" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="cmp_lex" result="success"/><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="det" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="test_float" result="success"/></library>
+<library name="numeric/ublas"><test-result test-name="concepts" result="success"/><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/><test-result test-name="concepts" result="success"/><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_tie" result="success"/><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_tie" result="success"/></library>
+<library name="program_options"><test-result test-name="cmdline_test" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="options_description_test_dll" result="fail"/><test-result test-name="parsers_test" result="success"/><test-result test-name="parsers_test_dll" result="fail"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="unicode_test" result="fail"/><test-result test-name="unicode_test_dll" result="fail"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="variable_map_test_dll" result="fail"/><test-result test-name="winmain" result="success"/><test-result test-name="winmain_dll" result="success"/><test-result test-name="cmdline_test" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="options_description_test_dll" result="fail"/><test-result test-name="parsers_test" result="success"/><test-result test-name="parsers_test_dll" result="fail"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="unicode_test" result="fail"/><test-result test-name="unicode_test_dll" result="fail"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="variable_map_test_dll" result="fail"/><test-result test-name="winmain" result="success"/><test-result test-name="winmain_dll" result="success"/></library>
+<library name="python"><test-result test-name="args" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="list" result="success"/><test-result test-name="long" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="nested" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="object" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="result" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="select_from_python_test" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="str" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="virtual_functions" result="success"/><test-result test-name="args" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="list" result="success"/><test-result test-name="long" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="nested" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="object" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="result" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="select_from_python_test" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="str" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="virtual_functions" result="success"/></library>
+<library name="random"><test-result test-name="random_demo" result="success"/><test-result test-name="random_test" result="success"/><test-result test-name="random_demo" result="success"/><test-result test-name="random_test" result="success"/></library>
+<library name="range"><test-result test-name="array_test" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="string_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="workaround_test" result="success"/><test-result test-name="array_test" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="string_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="captures_example" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="regex_grep_example_2" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/><test-result test-name="captures_example" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="regex_grep_example_2" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/></library>
+<library name="serialization"><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_array_text_warchive" result="fail"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_array_xml_warchive" result="fail"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_binary_text_warchive" result="fail"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="fail"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="fail"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="fail"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="fail"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="fail"/><test-result test-name="test_codecvt_null" result="fail"/><test-result test-name="test_const" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="fail"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="fail"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="fail"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_warchive" result="fail"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="fail"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="fail"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_deque_text_warchive" result="fail"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_deque_xml_warchive" result="fail"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="fail"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="fail"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="fail"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="fail"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="fail"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="fail"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="fail"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="fail"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_exported_text_warchive" result="fail"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="fail"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="fail"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="fail"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_list_text_warchive" result="fail"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_list_xml_warchive" result="fail"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_map_text_warchive" result="fail"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="fail"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="fail"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="fail"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="fail"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="fail"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="fail"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="fail"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="fail"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="fail"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="fail"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="fail"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_nvp_text_warchive" result="fail"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_nvp_xml_warchive" result="fail"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_object_text_warchive" result="fail"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_object_xml_warchive" result="fail"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="fail"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_optional_xml_warchive" result="fail"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="fail"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="fail"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="fail"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="fail"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_recursion_text_warchive" result="fail"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="fail"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_registered_text_warchive" result="fail"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_registered_xml_warchive" result="fail"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="fail"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="fail"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="fail"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="fail"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="fail"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="fail"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="fail"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="fail"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_split_text_warchive" result="fail"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_split_xml_warchive" result="fail"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="fail"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_tracking_xml_warchive" result="fail"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="fail"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="fail"/><test-result test-name="test_utf8_codecvt" result="fail"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="fail"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_vector_xml_warchive" result="fail"/><test-result test-name="test_void_cast" result="success"/><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_array_text_warchive" result="fail"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_array_xml_warchive" result="fail"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_binary_text_warchive" result="fail"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="fail"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="fail"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="fail"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="fail"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="fail"/><test-result test-name="test_codecvt_null" result="fail"/><test-result test-name="test_const" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="fail"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="fail"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="fail"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_warchive" result="fail"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="fail"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="fail"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_deque_text_warchive" result="fail"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_deque_xml_warchive" result="fail"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="fail"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="fail"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="fail"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="fail"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="fail"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="fail"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="fail"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="fail"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_exported_text_warchive" result="fail"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="fail"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="fail"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="fail"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_list_text_warchive" result="fail"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_list_xml_warchive" result="fail"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_map_text_warchive" result="fail"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="fail"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="fail"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="fail"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="fail"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="fail"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="fail"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="fail"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="fail"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="fail"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="fail"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="fail"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_nvp_text_warchive" result="fail"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_nvp_xml_warchive" result="fail"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_object_text_warchive" result="fail"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_object_xml_warchive" result="fail"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="fail"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_optional_xml_warchive" result="fail"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="fail"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="fail"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="fail"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="fail"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_recursion_text_warchive" result="fail"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="fail"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_registered_text_warchive" result="fail"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_registered_xml_warchive" result="fail"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="fail"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="fail"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="fail"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="fail"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="fail"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="fail"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="fail"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="fail"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_split_text_warchive" result="fail"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_split_xml_warchive" result="fail"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="fail"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_tracking_xml_warchive" result="fail"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="fail"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="fail"/><test-result test-name="test_utf8_codecvt" result="fail"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="fail"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_vector_xml_warchive" result="fail"/><test-result test-name="test_void_cast" result="success"/></library>
+<library name="signals"><test-result test-name="dead_slot_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="signal_test" result="success"/><test-result test-name="trackable_test" result="success"/><test-result test-name="dead_slot_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="signal_test" result="success"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="get_deleter_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/><test-result test-name="get_deleter_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/></library>
+<library name="spirit"><test-result test-name="action_tests" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="ast_calc_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="closure_tests" result="success"/><test-result test-name="closure_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="for_tests" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="multi_pass_compile_tests" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="repeat_ast_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/><test-result test-name="action_tests" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="ast_calc_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="closure_tests" result="success"/><test-result test-name="closure_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="for_tests" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="multi_pass_compile_tests" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="repeat_ast_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/></library>
+<library name="static_assert"><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test" result="success"/><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test" result="success"/><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/></library>
+<library name="test"><test-result test-name="algorithms_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="test_case_template_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/><test-result test-name="algorithms_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="test_case_template_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="thread"><test-result test-name="test_barrier" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_tss_lib" result="fail"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_xtime_lib" result="success"/><test-result test-name="test_barrier" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_tss_lib" result="fail"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_xtime_lib" result="success"/></library>
+<library name="type_traits"><test-result test-name="add_const_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="is_abstract_test" result="fail"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="is_union_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="udt_specialisations" result="success"/><test-result test-name="add_const_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="is_abstract_test" result="fail"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="is_union_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="udt_specialisations" result="success"/></library>
+<library name="utility"><test-result test-name="addressof_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="next_prior_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/><test-result test-name="addressof_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="next_prior_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="config"><test-result test-name="abi_test" result="success"/><test-result test-name="config_info" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="config_test" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/><test-result test-name="abi_test" result="success"/><test-result test-name="config_info" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="config_test" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/></library>
+<library name="lambda"><test-result test-name="algorithm_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="bll_and_function" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/><test-result test-name="algorithm_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="bll_and_function" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/><test-result test-name="any_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="control" result="success"/><test-result test-name="debug" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="list" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="control" result="success"/><test-result test-name="debug" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="list" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="tuple" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_test" result="success"/><test-result test-name="integer_traits_test" result="success"/><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/><test-result test-name="function_test" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/><test-result test-name="property_map_cc" result="success"/></library>
+<library name="rational"><test-result test-name="rational_example" result="success"/><test-result test-name="rational_test" result="success"/><test-result test-name="rational_example" result="success"/><test-result test-name="rational_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="success"/><test-result test-name="test_pool_alloc" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/><test-result test-name="timer_test" result="success"/></library>
+</toolset><toolset name="mingw-3_4_2"><library name="algorithm/minmax"><test-result test-name="minmax" result="success"/><test-result test-name="minmax_element" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="container" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="find" result="success"/><test-result test-name="predicate" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="trim" result="success"/></library>
+<library name="assign"><test-result test-name="array" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="email_example" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="multi_index_container" result="success"/><test-result test-name="my_vector_example" result="success"/><test-result test-name="std" result="success"/></library>
+<library name="bind"><test-result test-name="bind_const_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="bind_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="date_time"><test-result test-name="testclock" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testfacet" result="fail"/><test-result test-name="testfacet_dll" result="fail"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_cal" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testgreg_wstream" result="fail"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="teststreams" result="fail"/><test-result test-name="testtime" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testtime_wstream" result="fail"/><test-result test-name="testtime_wstream_std_config" result="fail"/><test-result test-name="testwrapping_int" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="filesystem"><test-result test-name="convenience_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="function"><test-result test-name="allocator_test" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="function_30" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="sum_avg_portable" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="layout_test" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="vector_graph_cc" result="success"/></library>
+<library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/></library>
+<library name="iterator"><test-result test-name="concept_tests" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="interoperable_fail" result="success"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="iterator_traits_test" result="success"/><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="zip_iterator_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/><test-result test-name="tribool_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="octonion_test" result="success"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="quaternion_test" result="success"/><test-result test-name="special_functions_test" result="success"/></library>
+<library name="mpl"><test-result test-name="advance" result="success"/><test-result test-name="always" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="back" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="count" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="front" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="if" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="int" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="lambda_args" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="map" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="next" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="partition" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="set" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="size" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="zip_view" result="success"/></library>
+<library name="multi_array"><test-result test-name="access" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_criterator" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="storage_order" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_basic" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_update" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="udt_support_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="add" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="cmp_lex" result="success"/><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="det" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="test_float" result="success"/></library>
+<library name="numeric/ublas"><test-result test-name="concepts" result="success"/><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_tie" result="success"/></library>
+<library name="program_options"><test-result test-name="cmdline_test" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="options_description_test_dll" result="fail"/><test-result test-name="parsers_test" result="success"/><test-result test-name="parsers_test_dll" result="fail"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="unicode_test" result="fail"/><test-result test-name="unicode_test_dll" result="fail"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="variable_map_test_dll" result="fail"/><test-result test-name="winmain" result="success"/><test-result test-name="winmain_dll" result="success"/></library>
+<library name="python"><test-result test-name="args" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="list" result="success"/><test-result test-name="long" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="nested" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="object" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="result" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="select_from_python_test" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="str" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="virtual_functions" result="success"/></library>
+<library name="random"><test-result test-name="random_demo" result="success"/><test-result test-name="random_test" result="success"/></library>
+<library name="range"><test-result test-name="array_test" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="string_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="captures_example" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="regex_grep_example_2" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/></library>
+<library name="serialization"><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_array_text_warchive" result="fail"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_array_xml_warchive" result="fail"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_binary_text_warchive" result="fail"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="fail"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="fail"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="fail"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="fail"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="fail"/><test-result test-name="test_codecvt_null" result="fail"/><test-result test-name="test_const" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="fail"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="fail"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="fail"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_warchive" result="fail"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="fail"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="fail"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_deque_text_warchive" result="fail"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_deque_xml_warchive" result="fail"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="fail"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="fail"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="fail"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="fail"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="fail"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="fail"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="fail"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="fail"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_exported_text_warchive" result="fail"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="fail"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="fail"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="fail"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_list_text_warchive" result="fail"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_list_xml_warchive" result="fail"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_map_text_warchive" result="fail"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="fail"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="fail"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="fail"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="fail"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="fail"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="fail"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="fail"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="fail"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="fail"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="fail"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="fail"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_nvp_text_warchive" result="fail"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_nvp_xml_warchive" result="fail"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_object_text_warchive" result="fail"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_object_xml_warchive" result="fail"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="fail"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_optional_xml_warchive" result="fail"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="fail"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="fail"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="fail"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="fail"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_recursion_text_warchive" result="fail"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="fail"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_registered_text_warchive" result="fail"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_registered_xml_warchive" result="fail"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="fail"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="fail"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="fail"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="fail"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="fail"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="fail"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="fail"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="fail"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_split_text_warchive" result="fail"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_split_xml_warchive" result="fail"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="fail"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_tracking_xml_warchive" result="fail"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="fail"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="fail"/><test-result test-name="test_utf8_codecvt" result="fail"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="fail"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_vector_xml_warchive" result="fail"/><test-result test-name="test_void_cast" result="success"/></library>
+<library name="signals"><test-result test-name="dead_slot_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="signal_test" result="success"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="get_deleter_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/></library>
+<library name="spirit"><test-result test-name="action_tests" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="ast_calc_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="closure_tests" result="success"/><test-result test-name="closure_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="for_tests" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="multi_pass_compile_tests" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="repeat_ast_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/></library>
+<library name="static_assert"><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test" result="success"/><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/></library>
+<library name="test"><test-result test-name="algorithms_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="test_case_template_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="thread"><test-result test-name="test_barrier" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_tss_lib" result="fail"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_xtime_lib" result="success"/></library>
+<library name="type_traits"><test-result test-name="add_const_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="is_abstract_test" result="success"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="is_union_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="udt_specialisations" result="success"/></library>
+<library name="utility"><test-result test-name="addressof_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="next_prior_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="config"><test-result test-name="abi_test" result="success"/><test-result test-name="config_info" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="config_test" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/></library>
+<library name="lambda"><test-result test-name="algorithm_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="bll_and_function" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="control" result="success"/><test-result test-name="debug" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="list" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="tuple" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="rational"><test-result test-name="rational_example" result="success"/><test-result test-name="rational_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+</toolset><toolset name="vc-7_1"><library name="algorithm/minmax"><test-result test-name="minmax" result="success"/><test-result test-name="minmax_element" result="success"/><test-result test-name="minmax" result="success"/><test-result test-name="minmax_element" result="success"/><test-result test-name="minmax" result="success"/><test-result test-name="minmax_element" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="container" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="find" result="success"/><test-result test-name="predicate" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="trim" result="success"/><test-result test-name="container" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="find" result="success"/><test-result test-name="predicate" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="trim" result="success"/><test-result test-name="container" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="find" result="success"/><test-result test-name="predicate" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="trim" result="success"/></library>
+<library name="assign"><test-result test-name="array" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="email_example" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="multi_index_container" result="success"/><test-result test-name="my_vector_example" result="success"/><test-result test-name="std" result="success"/><test-result test-name="array" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="email_example" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="multi_index_container" result="success"/><test-result test-name="my_vector_example" result="success"/><test-result test-name="std" result="success"/><test-result test-name="array" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="email_example" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="multi_index_container" result="success"/><test-result test-name="my_vector_example" result="success"/><test-result test-name="std" result="success"/></library>
+<library name="bind"><test-result test-name="bind_const_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="bind_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/><test-result test-name="bind_const_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="bind_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/><test-result test-name="bind_const_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="bind_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/><test-result test-name="cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/><test-result test-name="cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="date_time"><test-result test-name="testclock" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testfacet" result="success"/><test-result test-name="testfacet_dll" result="success"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_cal" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testgreg_wstream" result="success"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="teststreams" result="success"/><test-result test-name="testtime" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testtime_wstream" result="success"/><test-result test-name="testtime_wstream_std_config" result="success"/><test-result test-name="testwrapping_int" result="success"/><test-result test-name="testclock" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testfacet" result="success"/><test-result test-name="testfacet_dll" result="success"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_cal" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testgreg_wstream" result="success"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="teststreams" result="success"/><test-result test-name="testtime" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testtime_wstream" result="success"/><test-result test-name="testtime_wstream_std_config" result="success"/><test-result test-name="testwrapping_int" result="success"/><test-result test-name="testclock" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testfacet" result="success"/><test-result test-name="testfacet_dll" result="success"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_cal" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testgreg_wstream" result="success"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="teststreams" result="success"/><test-result test-name="testtime" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testtime_wstream" result="success"/><test-result test-name="testtime_wstream_std_config" result="success"/><test-result test-name="testwrapping_int" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="filesystem"><test-result test-name="convenience_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/><test-result test-name="convenience_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/><test-result test-name="convenience_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="function"><test-result test-name="allocator_test" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="function_30" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="sum_avg_portable" result="success"/><test-result test-name="allocator_test" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="function_30" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="sum_avg_portable" result="success"/><test-result test-name="allocator_test" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="function_30" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="sum_avg_portable" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="layout_test" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="vector_graph_cc" result="success"/><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="layout_test" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="vector_graph_cc" result="success"/><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="layout_test" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="vector_graph_cc" result="success"/></library>
+<library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/></library>
+<library name="iterator"><test-result test-name="concept_tests" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="interoperable_fail" result="success"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="iterator_traits_test" result="success"/><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="zip_iterator_test" result="success"/><test-result test-name="concept_tests" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="interoperable_fail" result="success"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="iterator_traits_test" result="success"/><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="zip_iterator_test" result="success"/><test-result test-name="concept_tests" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="interoperable_fail" result="success"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="iterator_traits_test" result="success"/><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="zip_iterator_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/><test-result test-name="tribool_test" result="success"/><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/><test-result test-name="tribool_test" result="success"/><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/><test-result test-name="tribool_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="octonion_test" result="success"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="quaternion_test" result="success"/><test-result test-name="special_functions_test" result="success"/><test-result test-name="common_factor_test" result="success"/><test-result test-name="octonion_test" result="success"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="quaternion_test" result="success"/><test-result test-name="special_functions_test" result="success"/><test-result test-name="common_factor_test" result="success"/><test-result test-name="octonion_test" result="success"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="quaternion_test" result="success"/><test-result test-name="special_functions_test" result="success"/></library>
+<library name="mpl"><test-result test-name="advance" result="success"/><test-result test-name="always" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="back" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="count" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="front" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="if" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="int" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="lambda_args" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="map" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="next" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="partition" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="set" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="size" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="zip_view" result="success"/><test-result test-name="advance" result="success"/><test-result test-name="always" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="back" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="count" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="front" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="if" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="int" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="lambda_args" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="map" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="next" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="partition" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="set" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="size" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="zip_view" result="success"/><test-result test-name="advance" result="success"/><test-result test-name="always" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="back" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="count" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="front" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="if" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="int" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="lambda_args" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="map" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="next" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="partition" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="set" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="size" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="zip_view" result="success"/></library>
+<library name="multi_array"><test-result test-name="access" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_criterator" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="storage_order" result="success"/><test-result test-name="access" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_criterator" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="storage_order" result="success"/><test-result test-name="access" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_criterator" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="storage_order" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_basic" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_update" result="success"/><test-result test-name="test_basic" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_update" result="success"/><test-result test-name="test_basic" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_update" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="udt_support_test" result="success"/><test-result test-name="bounds_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="udt_support_test" result="success"/><test-result test-name="bounds_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="udt_support_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="add" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="cmp_lex" result="success"/><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="det" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="test_float" result="success"/><test-result test-name="add" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="cmp_lex" result="success"/><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="det" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="test_float" result="success"/><test-result test-name="add" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="cmp_lex" result="success"/><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="det" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="test_float" result="success"/></library>
+<library name="numeric/ublas"><test-result test-name="concepts" result="success"/><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/><test-result test-name="concepts" result="success"/><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/><test-result test-name="concepts" result="success"/><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_tie" result="success"/><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_tie" result="success"/><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_tie" result="success"/></library>
+<library name="program_options"><test-result test-name="cmdline_test" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="options_description_test_dll" result="success"/><test-result test-name="parsers_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="unicode_test" result="success"/><test-result test-name="unicode_test_dll" result="success"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="variable_map_test_dll" result="success"/><test-result test-name="winmain" result="success"/><test-result test-name="winmain_dll" result="success"/><test-result test-name="cmdline_test" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="options_description_test_dll" result="success"/><test-result test-name="parsers_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="unicode_test" result="success"/><test-result test-name="unicode_test_dll" result="success"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="variable_map_test_dll" result="success"/><test-result test-name="winmain" result="success"/><test-result test-name="winmain_dll" result="success"/><test-result test-name="cmdline_test" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="options_description_test_dll" result="success"/><test-result test-name="parsers_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="unicode_test" result="success"/><test-result test-name="unicode_test_dll" result="success"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="variable_map_test_dll" result="success"/><test-result test-name="winmain" result="success"/><test-result test-name="winmain_dll" result="success"/></library>
+<library name="python"><test-result test-name="args" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="list" result="success"/><test-result test-name="long" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="nested" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="object" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="result" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="select_from_python_test" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="str" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="virtual_functions" result="success"/><test-result test-name="args" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="list" result="success"/><test-result test-name="long" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="nested" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="object" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="result" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="select_from_python_test" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="str" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="virtual_functions" result="success"/><test-result test-name="args" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="list" result="success"/><test-result test-name="long" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="nested" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="object" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="result" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="select_from_python_test" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="str" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="virtual_functions" result="success"/></library>
+<library name="random"><test-result test-name="random_demo" result="success"/><test-result test-name="random_test" result="success"/><test-result test-name="random_demo" result="success"/><test-result test-name="random_test" result="success"/><test-result test-name="random_demo" result="success"/><test-result test-name="random_test" result="success"/></library>
+<library name="range"><test-result test-name="array_test" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="string_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="workaround_test" result="success"/><test-result test-name="array_test" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="string_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="workaround_test" result="success"/><test-result test-name="array_test" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="string_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="captures_example" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="regex_grep_example_2" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/><test-result test-name="captures_example" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="regex_grep_example_2" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/><test-result test-name="captures_example" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="regex_grep_example_2" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/></library>
+<library name="serialization"><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_array_text_warchive" result="success"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_array_xml_warchive" result="success"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_binary_text_warchive" result="success"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="success"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="success"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_const" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_deque_text_warchive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="success"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="success"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="success"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_exported_text_warchive" result="success"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_list_text_warchive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_map_text_warchive" result="success"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="success"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="success"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="success"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="success"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="success"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="success"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="success"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_nvp_text_warchive" result="success"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_object_text_warchive" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="success"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_recursion_text_warchive" result="success"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_registered_text_warchive" result="success"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_registered_xml_warchive" result="success"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="success"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="success"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_split_text_warchive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="success"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="success"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="success"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_void_cast" result="success"/><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_array_text_warchive" result="success"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_array_xml_warchive" result="success"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_binary_text_warchive" result="success"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="success"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="success"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_const" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_deque_text_warchive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="success"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="success"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="success"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_exported_text_warchive" result="success"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_list_text_warchive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_map_text_warchive" result="success"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="success"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="success"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="success"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="success"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="success"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="success"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="success"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_nvp_text_warchive" result="success"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_object_text_warchive" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="success"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_recursion_text_warchive" result="success"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_registered_text_warchive" result="success"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_registered_xml_warchive" result="success"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="success"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="success"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_split_text_warchive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="success"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="success"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="success"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_void_cast" result="success"/><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_array_text_warchive" result="success"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_array_xml_warchive" result="success"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_binary_text_warchive" result="success"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="success"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="success"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_const" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_deque_text_warchive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="success"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="success"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="success"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_exported_text_warchive" result="success"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_list_text_warchive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_map_text_warchive" result="success"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="success"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="success"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="success"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="success"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="success"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="success"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="success"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_nvp_text_warchive" result="success"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_object_text_warchive" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="success"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_recursion_text_warchive" result="success"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_registered_text_warchive" result="success"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_registered_xml_warchive" result="success"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="success"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="success"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_split_text_warchive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="success"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="success"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="success"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_void_cast" result="success"/></library>
+<library name="signals"><test-result test-name="dead_slot_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="signal_test" result="success"/><test-result test-name="trackable_test" result="success"/><test-result test-name="dead_slot_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="signal_test" result="success"/><test-result test-name="trackable_test" result="success"/><test-result test-name="dead_slot_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="signal_test" result="success"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="get_deleter_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/><test-result test-name="get_deleter_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/><test-result test-name="get_deleter_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/></library>
+<library name="spirit"><test-result test-name="action_tests" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="ast_calc_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="closure_tests" result="success"/><test-result test-name="closure_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="for_tests" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="multi_pass_compile_tests" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="repeat_ast_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/><test-result test-name="action_tests" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="ast_calc_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="closure_tests" result="success"/><test-result test-name="closure_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="for_tests" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="multi_pass_compile_tests" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="repeat_ast_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/><test-result test-name="action_tests" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="ast_calc_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="closure_tests" result="success"/><test-result test-name="closure_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="for_tests" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="multi_pass_compile_tests" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="repeat_ast_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/></library>
+<library name="static_assert"><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test" result="success"/><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test" result="success"/><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test" result="success"/><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/></library>
+<library name="test"><test-result test-name="algorithms_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="test_case_template_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/><test-result test-name="algorithms_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="test_case_template_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/><test-result test-name="algorithms_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="test_case_template_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="thread"><test-result test-name="test_barrier" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_tss_lib" result="success"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_xtime_lib" result="success"/><test-result test-name="test_barrier" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_thread" result="fail"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_tss_lib" result="success"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_xtime_lib" result="success"/><test-result test-name="test_barrier" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_tss_lib" result="success"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_xtime_lib" result="success"/></library>
+<library name="type_traits"><test-result test-name="add_const_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="is_abstract_test" result="success"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="is_union_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="udt_specialisations" result="success"/><test-result test-name="add_const_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="is_abstract_test" result="success"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="is_union_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="udt_specialisations" result="success"/><test-result test-name="add_const_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="is_abstract_test" result="success"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="is_union_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="udt_specialisations" result="success"/></library>
+<library name="utility"><test-result test-name="addressof_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="next_prior_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/><test-result test-name="addressof_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="next_prior_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/><test-result test-name="addressof_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="next_prior_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="config"><test-result test-name="abi_test" result="success"/><test-result test-name="config_info" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="config_test" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/><test-result test-name="abi_test" result="success"/><test-result test-name="config_info" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="config_test" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/><test-result test-name="abi_test" result="success"/><test-result test-name="config_info" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="config_test" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/></library>
+<library name="lambda"><test-result test-name="algorithm_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="bll_and_function" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/><test-result test-name="algorithm_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="bll_and_function" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/><test-result test-name="algorithm_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="bll_and_function" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/><test-result test-name="any_test" result="success"/><test-result test-name="any_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="control" result="success"/><test-result test-name="debug" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="list" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="control" result="success"/><test-result test-name="debug" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="list" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="control" result="success"/><test-result test-name="debug" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="list" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="tuple" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/><test-result test-name="crc_test" result="success"/><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_test" result="success"/><test-result test-name="integer_traits_test" result="success"/><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_test" result="success"/><test-result test-name="integer_traits_test" result="success"/><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/><test-result test-name="disjoint_set_test" result="success"/><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/><test-result test-name="function_test" result="success"/><test-result test-name="function_test" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/><test-result test-name="property_map_cc" result="success"/><test-result test-name="property_map_cc" result="success"/></library>
+<library name="rational"><test-result test-name="rational_example" result="success"/><test-result test-name="rational_test" result="success"/><test-result test-name="rational_example" result="success"/><test-result test-name="rational_test" result="success"/><test-result test-name="rational_example" result="success"/><test-result test-name="rational_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="success"/><test-result test-name="test_pool_alloc" result="success"/><test-result test-name="test_pool_alloc" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/><test-result test-name="timer_test" result="success"/><test-result test-name="timer_test" result="success"/></library>
+</toolset><toolset name="gcc-3.3.3-linux"><library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/></library>
+<library name="mpl"><test-result test-name="lambda_args" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="always" result="success"/><test-result test-name="next" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="zip_view" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="advance" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="map" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="size" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="set" result="success"/><test-result test-name="back" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="if" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="front" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="int" result="success"/><test-result test-name="count" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="partition" result="success"/></library>
+<library name="bind"><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_const_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="bind_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="special_functions_test" result="success"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="octonion_test" result="success"/><test-result test-name="quaternion_test" result="success"/></library>
+<library name="test"><test-result test-name="test_case_template_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="algorithms_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="vector_graph_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="layout_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_test" result="success"/><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/></library>
+<library name="function"><test-result test-name="function_30" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="sum_avg_portable" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="allocator_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/></library>
+<library name="range"><test-result test-name="string_test" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="array_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="captures_example" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="regex_grep_example_2" result="success"/></library>
+<library name="date_time"><test-result test-name="testwrapping_int" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testtime_wstream" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testfacet" result="success"/><test-result test-name="teststreams" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testtime_wstream_std_config" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testtime" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testclock" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testgreg_wstream" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testfacet_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testgreg_cal" result="success"/></library>
+<library name="signals"><test-result test-name="signal_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="dead_slot_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="algorithm/minmax"><test-result test-name="minmax_element" result="success"/><test-result test-name="minmax" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="trim" result="success"/><test-result test-name="find" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="container" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="predicate" result="success"/></library>
+<library name="assign"><test-result test-name="my_vector_example" result="success"/><test-result test-name="multi_index_container" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="std" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="email_example" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="get_deleter_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="static_assert"><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/><test-result test-name="static_assert_test" result="success"/></library>
+<library name="serialization"><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="success"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="success"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_list_text_warchive" result="success"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_nvp_text_warchive" result="success"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="success"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="success"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_map_text_warchive" result="success"/><test-result test-name="test_array_xml_warchive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="success"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="success"/><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="success"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="success"/><test-result test-name="test_const" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_split_text_warchive" result="success"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_exported_text_warchive" result="success"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_void_cast" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="success"/><test-result test-name="test_registered_text_warchive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="success"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="success"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_registered_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="success"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_binary_text_warchive" result="success"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="success"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_array_text_warchive" result="success"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="success"/><test-result test-name="test_recursion_text_warchive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_object_text_warchive" result="success"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="success"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="success"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_deque_text_warchive" result="success"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="success"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="success"/></library>
+<library name="filesystem"><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="convenience_test" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="random"><test-result test-name="random_test" result="success"/><test-result test-name="random_demo" result="success"/></library>
+<library name="python"><test-result test-name="select_from_python_test" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="args" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="long" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="virtual_functions" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="list" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="result" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="object" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="str" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="nested" result="success"/></library>
+<library name="spirit"><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="repeat_ast_tests" result="success"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="multi_pass_compile_tests" result="success"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="closure_tests_debug" result="success"/><test-result test-name="for_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="success"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="ast_calc_tests" result="success"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="success"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="closure_tests" result="success"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="action_tests" result="success"/></library>
+<library name="thread"><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_xtime_lib" result="success"/><test-result test-name="test_barrier" result="success"/><test-result test-name="test_tss_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/></library>
+<library name="iterator"><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="interoperable_fail" result="fail"/><test-result test-name="zip_iterator_test" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="concept_tests" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_traits_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/ublas"><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/><test-result test-name="concepts" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="udt_support_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="add" result="success"/><test-result test-name="test_float" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="det" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="cmp_lex" result="success"/></library>
+<library name="utility"><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="addressof_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="next_prior_test" result="success"/></library>
+<library name="multi_array"><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="access" result="success"/><test-result test-name="storage_order" result="success"/><test-result test-name="fail_criterator" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_basic" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_update" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test_tie" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/></library>
+<library name="program_options"><test-result test-name="variable_map_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="unicode_test" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="parsers_test" result="success"/><test-result test-name="cmdline_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="winmain_dll" result="success"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="options_description_test_dll" result="success"/><test-result test-name="winmain" result="success"/><test-result test-name="unicode_test_dll" result="success"/></library>
+<library name="type_traits"><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="udt_specialisations" result="success"/><test-result test-name="is_abstract_test" result="fail"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="add_const_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="is_union_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/></library>
+<library name="lambda"><test-result test-name="bll_and_function" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="algorithm_test" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/></library>
+<library name="config"><test-result test-name="config_info" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/><test-result test-name="abi_test" result="success"/><test-result test-name="config_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="list" result="success"/><test-result test-name="array" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="control" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="debug" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="integer_test" result="success"/><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="rational"><test-result test-name="rational_test" result="success"/><test-result test-name="rational_example" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+</toolset><toolset name="gcc-3.1-linux"><library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/></library>
+<library name="mpl"><test-result test-name="lambda_args" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="always" result="success"/><test-result test-name="next" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="zip_view" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="advance" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="map" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="size" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="set" result="success"/><test-result test-name="back" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="if" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="front" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="int" result="success"/><test-result test-name="count" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="partition" result="success"/></library>
+<library name="bind"><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_const_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="bind_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="special_functions_test" result="success"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="octonion_test" result="success"/><test-result test-name="quaternion_test" result="success"/></library>
+<library name="test"><test-result test-name="test_case_template_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="algorithms_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="vector_graph_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="layout_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_test" result="success"/><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/></library>
+<library name="function"><test-result test-name="function_30" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="sum_avg_portable" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="allocator_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/></library>
+<library name="range"><test-result test-name="string_test" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="array_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="captures_example" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="regex_grep_example_2" result="success"/></library>
+<library name="date_time"><test-result test-name="testwrapping_int" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testtime_wstream" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testfacet" result="success"/><test-result test-name="teststreams" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testtime_wstream_std_config" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testtime" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testclock" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testgreg_wstream" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testfacet_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testgreg_cal" result="success"/></library>
+<library name="signals"><test-result test-name="signal_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="dead_slot_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="algorithm/minmax"><test-result test-name="minmax_element" result="success"/><test-result test-name="minmax" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="trim" result="success"/><test-result test-name="find" result="success"/><test-result test-name="regex" result="fail"/><test-result test-name="conv" result="success"/><test-result test-name="container" result="success"/><test-result test-name="replace" result="fail"/><test-result test-name="split" result="success"/><test-result test-name="predicate" result="success"/></library>
+<library name="assign"><test-result test-name="my_vector_example" result="success"/><test-result test-name="multi_index_container" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="std" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="email_example" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="get_deleter_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="static_assert"><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/><test-result test-name="static_assert_test" result="success"/></library>
+<library name="serialization"><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="success"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="success"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_list_text_warchive" result="success"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_nvp_text_warchive" result="success"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="success"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="success"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_map_text_warchive" result="success"/><test-result test-name="test_array_xml_warchive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="success"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="success"/><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="success"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="success"/><test-result test-name="test_const" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_split_text_warchive" result="success"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_exported_text_warchive" result="success"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_void_cast" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="success"/><test-result test-name="test_registered_text_warchive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="success"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="success"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_registered_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="success"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_binary_text_warchive" result="success"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="success"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_array_text_warchive" result="success"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="success"/><test-result test-name="test_recursion_text_warchive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_object_text_warchive" result="success"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="success"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="success"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_deque_text_warchive" result="success"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="success"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="success"/></library>
+<library name="filesystem"><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="convenience_test" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="random"><test-result test-name="random_test" result="success"/><test-result test-name="random_demo" result="success"/></library>
+<library name="python"><test-result test-name="select_from_python_test" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="crossmod_exception" result="fail"/><test-result test-name="minimal" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="args" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="long" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="virtual_functions" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="list" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="result" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="object" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="str" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="nested" result="success"/></library>
+<library name="spirit"><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="repeat_ast_tests" result="success"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="multi_pass_compile_tests" result="success"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="closure_tests_debug" result="success"/><test-result test-name="for_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="success"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="ast_calc_tests" result="success"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="success"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="closure_tests" result="success"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="action_tests" result="success"/></library>
+<library name="thread"><test-result test-name="test_condition_lib" result="fail"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_barrier_lib" result="fail"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_read_write_mutex_lib" result="fail"/><test-result test-name="test_once_lib" result="fail"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_mutex_lib" result="fail"/><test-result test-name="test_thread_lib" result="fail"/><test-result test-name="test_xtime_lib" result="fail"/><test-result test-name="test_barrier" result="success"/><test-result test-name="test_tss_lib" result="fail"/><test-result test-name="test_read_write_mutex" result="success"/></library>
+<library name="iterator"><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="interoperable_fail" result="fail"/><test-result test-name="zip_iterator_test" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="concept_tests" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_traits_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/ublas"><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/><test-result test-name="concepts" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="udt_support_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="add" result="success"/><test-result test-name="test_float" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="det" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="cmp_lex" result="success"/></library>
+<library name="utility"><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="addressof_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="next_prior_test" result="success"/></library>
+<library name="multi_array"><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="access" result="success"/><test-result test-name="storage_order" result="success"/><test-result test-name="fail_criterator" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_basic" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_update" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test_tie" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/></library>
+<library name="program_options"><test-result test-name="variable_map_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="unicode_test" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="parsers_test" result="success"/><test-result test-name="cmdline_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="winmain_dll" result="success"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="options_description_test_dll" result="success"/><test-result test-name="winmain" result="success"/><test-result test-name="unicode_test_dll" result="success"/></library>
+<library name="type_traits"><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="is_const_test" result="fail"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="udt_specialisations" result="success"/><test-result test-name="is_abstract_test" result="fail"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_volatile_test" result="fail"/><test-result test-name="add_const_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="is_union_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/></library>
+<library name="lambda"><test-result test-name="bll_and_function" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="algorithm_test" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/></library>
+<library name="config"><test-result test-name="config_info" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/><test-result test-name="abi_test" result="success"/><test-result test-name="config_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="list" result="success"/><test-result test-name="array" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="control" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="debug" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="integer_test" result="success"/><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="rational"><test-result test-name="rational_test" result="success"/><test-result test-name="rational_example" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+</toolset><toolset name="gcc-3.3.4-linux"><library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/></library>
+<library name="mpl"><test-result test-name="lambda_args" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="always" result="success"/><test-result test-name="next" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="zip_view" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="advance" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="map" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="size" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="set" result="success"/><test-result test-name="back" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="if" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="front" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="int" result="success"/><test-result test-name="count" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="partition" result="success"/></library>
+<library name="bind"><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_const_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="bind_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="special_functions_test" result="success"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="octonion_test" result="success"/><test-result test-name="quaternion_test" result="success"/></library>
+<library name="test"><test-result test-name="test_case_template_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="algorithms_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="vector_graph_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="layout_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_test" result="success"/><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/></library>
+<library name="function"><test-result test-name="function_30" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="sum_avg_portable" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="allocator_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/></library>
+<library name="range"><test-result test-name="string_test" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="array_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="captures_example" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="regex_grep_example_2" result="success"/></library>
+<library name="date_time"><test-result test-name="testwrapping_int" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testtime_wstream" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testfacet" result="success"/><test-result test-name="teststreams" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testtime_wstream_std_config" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testtime" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testclock" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testgreg_wstream" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testfacet_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testgreg_cal" result="success"/></library>
+<library name="signals"><test-result test-name="signal_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="dead_slot_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="algorithm/minmax"><test-result test-name="minmax_element" result="success"/><test-result test-name="minmax" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="trim" result="success"/><test-result test-name="find" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="container" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="predicate" result="success"/></library>
+<library name="assign"><test-result test-name="my_vector_example" result="success"/><test-result test-name="multi_index_container" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="std" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="email_example" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="get_deleter_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="static_assert"><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/><test-result test-name="static_assert_test" result="success"/></library>
+<library name="serialization"><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="success"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="success"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_list_text_warchive" result="success"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_nvp_text_warchive" result="success"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="success"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="success"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_map_text_warchive" result="success"/><test-result test-name="test_array_xml_warchive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="success"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="success"/><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="success"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="success"/><test-result test-name="test_const" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_split_text_warchive" result="success"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_exported_text_warchive" result="success"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_void_cast" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="success"/><test-result test-name="test_registered_text_warchive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="success"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="success"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_registered_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="success"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_binary_text_warchive" result="success"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="success"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_array_text_warchive" result="success"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="success"/><test-result test-name="test_recursion_text_warchive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_object_text_warchive" result="success"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="success"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="success"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_deque_text_warchive" result="success"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="success"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="success"/></library>
+<library name="filesystem"><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="convenience_test" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="random"><test-result test-name="random_test" result="success"/><test-result test-name="random_demo" result="success"/></library>
+<library name="python"><test-result test-name="select_from_python_test" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="args" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="long" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="virtual_functions" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="list" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="result" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="object" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="str" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="nested" result="success"/></library>
+<library name="spirit"><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="repeat_ast_tests" result="success"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="multi_pass_compile_tests" result="success"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="closure_tests_debug" result="success"/><test-result test-name="for_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="success"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="ast_calc_tests" result="success"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="success"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="closure_tests" result="success"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="action_tests" result="success"/></library>
+<library name="thread"><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_xtime_lib" result="success"/><test-result test-name="test_barrier" result="success"/><test-result test-name="test_tss_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/></library>
+<library name="iterator"><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="interoperable_fail" result="fail"/><test-result test-name="zip_iterator_test" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="concept_tests" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_traits_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/ublas"><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/><test-result test-name="concepts" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="udt_support_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="add" result="success"/><test-result test-name="test_float" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="det" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="cmp_lex" result="success"/></library>
+<library name="utility"><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="addressof_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="next_prior_test" result="success"/></library>
+<library name="multi_array"><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="access" result="success"/><test-result test-name="storage_order" result="success"/><test-result test-name="fail_criterator" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_basic" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_update" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test_tie" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/></library>
+<library name="program_options"><test-result test-name="variable_map_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="unicode_test" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="parsers_test" result="success"/><test-result test-name="cmdline_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="winmain_dll" result="success"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="options_description_test_dll" result="success"/><test-result test-name="winmain" result="success"/><test-result test-name="unicode_test_dll" result="success"/></library>
+<library name="type_traits"><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="udt_specialisations" result="success"/><test-result test-name="is_abstract_test" result="fail"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="add_const_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="is_union_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/></library>
+<library name="lambda"><test-result test-name="bll_and_function" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="algorithm_test" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/></library>
+<library name="config"><test-result test-name="config_info" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/><test-result test-name="abi_test" result="success"/><test-result test-name="config_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="list" result="success"/><test-result test-name="array" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="control" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="debug" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="integer_test" result="success"/><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="rational"><test-result test-name="rational_test" result="success"/><test-result test-name="rational_example" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+</toolset><toolset name="gcc-3.3.5-linux"><library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/></library>
+<library name="mpl"><test-result test-name="lambda_args" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="always" result="success"/><test-result test-name="next" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="zip_view" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="advance" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="map" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="size" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="set" result="success"/><test-result test-name="back" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="if" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="front" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="int" result="success"/><test-result test-name="count" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="partition" result="success"/></library>
+<library name="bind"><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_const_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="bind_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="special_functions_test" result="success"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="octonion_test" result="success"/><test-result test-name="quaternion_test" result="success"/></library>
+<library name="test"><test-result test-name="test_case_template_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="algorithms_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="vector_graph_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="layout_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_test" result="success"/><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/></library>
+<library name="function"><test-result test-name="function_30" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="sum_avg_portable" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="allocator_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/></library>
+<library name="range"><test-result test-name="string_test" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="array_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="captures_example" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="regex_grep_example_2" result="success"/></library>
+<library name="date_time"><test-result test-name="testwrapping_int" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testtime_wstream" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testfacet" result="success"/><test-result test-name="teststreams" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testtime_wstream_std_config" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testtime" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testclock" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testgreg_wstream" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testfacet_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testgreg_cal" result="success"/></library>
+<library name="signals"><test-result test-name="signal_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="dead_slot_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="algorithm/minmax"><test-result test-name="minmax_element" result="success"/><test-result test-name="minmax" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="trim" result="success"/><test-result test-name="find" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="container" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="predicate" result="success"/></library>
+<library name="assign"><test-result test-name="my_vector_example" result="success"/><test-result test-name="multi_index_container" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="std" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="email_example" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="get_deleter_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="static_assert"><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/><test-result test-name="static_assert_test" result="success"/></library>
+<library name="serialization"><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="success"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="success"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_list_text_warchive" result="success"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_nvp_text_warchive" result="success"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="success"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="success"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_map_text_warchive" result="success"/><test-result test-name="test_array_xml_warchive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="success"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="success"/><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="success"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="success"/><test-result test-name="test_const" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_split_text_warchive" result="success"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_exported_text_warchive" result="success"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_void_cast" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="success"/><test-result test-name="test_registered_text_warchive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="success"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="success"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_registered_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="success"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_binary_text_warchive" result="success"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="success"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_array_text_warchive" result="success"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="success"/><test-result test-name="test_recursion_text_warchive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_object_text_warchive" result="success"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="success"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="success"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_deque_text_warchive" result="success"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="success"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="success"/></library>
+<library name="filesystem"><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="convenience_test" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="random"><test-result test-name="random_test" result="success"/><test-result test-name="random_demo" result="success"/></library>
+<library name="python"><test-result test-name="select_from_python_test" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="args" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="long" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="virtual_functions" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="list" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="result" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="object" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="str" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="nested" result="success"/></library>
+<library name="spirit"><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="repeat_ast_tests" result="success"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="multi_pass_compile_tests" result="success"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="closure_tests_debug" result="success"/><test-result test-name="for_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="success"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="ast_calc_tests" result="success"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="success"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="closure_tests" result="success"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="action_tests" result="success"/></library>
+<library name="thread"><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_xtime_lib" result="success"/><test-result test-name="test_barrier" result="success"/><test-result test-name="test_tss_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/></library>
+<library name="iterator"><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="interoperable_fail" result="fail"/><test-result test-name="zip_iterator_test" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="concept_tests" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_traits_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/ublas"><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/><test-result test-name="concepts" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="udt_support_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="add" result="success"/><test-result test-name="test_float" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="det" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="cmp_lex" result="success"/></library>
+<library name="utility"><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="addressof_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="next_prior_test" result="success"/></library>
+<library name="multi_array"><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="access" result="success"/><test-result test-name="storage_order" result="success"/><test-result test-name="fail_criterator" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_basic" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_update" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test_tie" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/></library>
+<library name="program_options"><test-result test-name="variable_map_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="unicode_test" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="parsers_test" result="success"/><test-result test-name="cmdline_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="winmain_dll" result="success"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="options_description_test_dll" result="success"/><test-result test-name="winmain" result="success"/><test-result test-name="unicode_test_dll" result="success"/></library>
+<library name="type_traits"><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="udt_specialisations" result="success"/><test-result test-name="is_abstract_test" result="fail"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="add_const_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="is_union_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/></library>
+<library name="lambda"><test-result test-name="bll_and_function" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="algorithm_test" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/></library>
+<library name="config"><test-result test-name="config_info" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/><test-result test-name="abi_test" result="success"/><test-result test-name="config_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="list" result="success"/><test-result test-name="array" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="control" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="debug" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="integer_test" result="success"/><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="rational"><test-result test-name="rational_test" result="success"/><test-result test-name="rational_example" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+</toolset><toolset name="gcc-2.95.3-stlport-4.5.3-linux"><library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="fail"/></library>
+<library name="mpl"><test-result test-name="lambda_args" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="always" result="success"/><test-result test-name="next" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="zip_view" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="has_xxx" result="fail"/><test-result test-name="set_c" result="fail"/><test-result test-name="advance" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="map" result="fail"/><test-result test-name="same_as" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="size" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="set" result="fail"/><test-result test-name="back" result="success"/><test-result test-name="as_sequence" result="fail"/><test-result test-name="copy" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="if" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="is_sequence" result="fail"/><test-result test-name="at" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="front" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="int" result="success"/><test-result test-name="count" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="partition" result="success"/></library>
+<library name="bind"><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_const_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="bind_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="fail"/><test-result test-name="special_functions_test" result="fail"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="octonion_test" result="fail"/><test-result test-name="quaternion_test" result="fail"/></library>
+<library name="test"><test-result test-name="test_case_template_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="algorithms_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="vector_graph_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="layout_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_test" result="success"/><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/></library>
+<library name="function"><test-result test-name="function_30" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="sum_avg_portable" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="allocator_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/></library>
+<library name="range"><test-result test-name="string_test" result="fail"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_range" result="fail"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="array_test" result="fail"/><test-result test-name="iterator_pair_test" result="fail"/><test-result test-name="sub_range" result="fail"/><test-result test-name="const_ranges" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="captures_example" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="regex_grep_example_2" result="success"/></library>
+<library name="date_time"><test-result test-name="testwrapping_int" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testgreg_day_dll" result="fail"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testtime_wstream" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testfacet" result="success"/><test-result test-name="teststreams" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testdate_dll" result="fail"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testtime_wstream_std_config" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testtime" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testclock" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testgreg_wstream" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_year_dll" result="fail"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testfacet_dll" result="fail"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testgreg_cal" result="success"/></library>
+<library name="signals"><test-result test-name="signal_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="dead_slot_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="algorithm/minmax"><test-result test-name="minmax_element" result="success"/><test-result test-name="minmax" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="trim" result="fail"/><test-result test-name="find" result="fail"/><test-result test-name="regex" result="success"/><test-result test-name="conv" result="fail"/><test-result test-name="container" result="fail"/><test-result test-name="replace" result="fail"/><test-result test-name="split" result="fail"/><test-result test-name="predicate" result="fail"/></library>
+<library name="assign"><test-result test-name="my_vector_example" result="success"/><test-result test-name="multi_index_container" result="fail"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="std" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="email_example" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="fail"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="get_deleter_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="static_assert"><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/><test-result test-name="static_assert_test" result="success"/></library>
+<library name="serialization"><test-result test-name="test_cyclic_ptrs_xml_warchive" result="fail"/><test-result test-name="test_shared_ptr_xml_archive" result="fail"/><test-result test-name="test_primitive_xml_archive" result="fail"/><test-result test-name="test_simple_class_xml_archive" result="fail"/><test-result test-name="test_non_default_ctor_binary_archive" result="fail"/><test-result test-name="test_exported_xml_warchive" result="fail"/><test-result test-name="test_tracking_xml_archive" result="fail"/><test-result test-name="test_list_ptrs_binary_archive" result="fail"/><test-result test-name="test_split_binary_archive" result="fail"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="fail"/><test-result test-name="test_simple_class_ptr_text_archive" result="fail"/><test-result test-name="test_diamond_text_archive" result="fail"/><test-result test-name="test_demo_portable_archive" result="fail"/><test-result test-name="test_null_ptr_xml_warchive" result="fail"/><test-result test-name="test_traits_pass" result="fail"/><test-result test-name="test_unregistered_xml_warchive" result="fail"/><test-result test-name="test_nvp_text_archive" result="fail"/><test-result test-name="test_polymorphic_text_archive" result="fail"/><test-result test-name="test_object_binary_archive" result="fail"/><test-result test-name="test_class_info_save_xml_archive" result="fail"/><test-result test-name="test_delete_pointer_binary_archive" result="fail"/><test-result test-name="test_derived_class_ptr_binary_archive" result="fail"/><test-result test-name="test_class_info_load_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor_xml_warchive" result="fail"/><test-result test-name="test_class_info_save_text_warchive" result="fail"/><test-result test-name="test_array_text_archive" result="fail"/><test-result test-name="test_set_text_warchive" result="fail"/><test-result test-name="test_deque_text_archive" result="fail"/><test-result test-name="test_simple_class_text_warchive" result="fail"/><test-result test-name="test_null_ptr_xml_archive" result="fail"/><test-result test-name="test_diamond_binary_archive" result="fail"/><test-result test-name="test_list_ptrs_xml_warchive" result="fail"/><test-result test-name="test_no_rtti_text_archive" result="fail"/><test-result test-name="test_diamond_xml_archive" result="fail"/><test-result test-name="test_map_text_archive" result="fail"/><test-result test-name="test_optional_text_archive" result="fail"/><test-result test-name="test_no_rtti_text_warchive" result="fail"/><test-result test-name="test_list_xml_warchive" result="fail"/><test-result test-name="test_derived_binary_archive" result="fail"/><test-result test-name="test_contained_class_xml_warchive" result="fail"/><test-result test-name="test_list_text_warchive" result="fail"/><test-result test-name="test_demo_shared_ptr" result="fail"/><test-result test-name="test_object_xml_archive" result="fail"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="fail"/><test-result test-name="test_nvp_text_warchive" result="fail"/><test-result test-name="test_optional_binary_archive" result="fail"/><test-result test-name="test_unregistered_xml_archive" result="fail"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="fail"/><test-result test-name="test_delete_pointer_text_warchive" result="fail"/><test-result test-name="test_diamond_xml_warchive" result="fail"/><test-result test-name="test_delete_pointer_text_archive" result="fail"/><test-result test-name="test_vector_text_archive" result="fail"/><test-result test-name="test_deque_xml_archive" result="fail"/><test-result test-name="test_polymorphic_text_warchive" result="fail"/><test-result test-name="test_smart_cast" result="fail"/><test-result test-name="test_nvp_xml_warchive" result="fail"/><test-result test-name="test_polymorphic_xml_warchive" result="fail"/><test-result test-name="test_derived_class_ptr_xml_archive" result="fail"/><test-result test-name="test_mi_xml_archive" result="fail"/><test-result test-name="test_vector_text_warchive" result="fail"/><test-result test-name="test_exported_binary_archive" result="fail"/><test-result test-name="test_iterators_base64" result="fail"/><test-result test-name="test_no_rtti_binary_archive" result="fail"/><test-result test-name="test_class_info_load_xml_archive" result="fail"/><test-result test-name="test_polymorphic_binary_archive" result="fail"/><test-result test-name="test_map_text_warchive" result="fail"/><test-result test-name="test_array_xml_warchive" result="fail"/><test-result test-name="test_contained_class_text_warchive" result="fail"/><test-result test-name="test_deque_xml_warchive" result="fail"/><test-result test-name="test_contained_class_xml_archive" result="fail"/><test-result test-name="test_optional_text_warchive" result="fail"/><test-result test-name="test_array_binary_archive" result="fail"/><test-result test-name="test_no_rtti_xml_warchive" result="fail"/><test-result test-name="test_shared_ptr_text_archive" result="fail"/><test-result test-name="test_split_text_archive" result="fail"/><test-result test-name="test_map_xml_warchive" result="fail"/><test-result test-name="test_optional_xml_warchive" result="fail"/><test-result test-name="test_non_default_ctor2_text_archive" result="fail"/><test-result test-name="test_mi_text_warchive" result="fail"/><test-result test-name="test_primitive_text_archive" result="fail"/><test-result test-name="test_null_ptr_binary_archive" result="fail"/><test-result test-name="test_derived_class_ptr_text_archive" result="fail"/><test-result test-name="test_recursion_binary_archive" result="fail"/><test-result test-name="test_tracking_binary_archive" result="fail"/><test-result test-name="test_class_info_save_text_archive" result="fail"/><test-result test-name="test_simple_class_text_archive" result="fail"/><test-result test-name="test_registered_binary_archive" result="fail"/><test-result test-name="test_derived_text_warchive" result="fail"/><test-result test-name="test_nvp_xml_archive" result="fail"/><test-result test-name="test_array_xml_archive" result="fail"/><test-result test-name="test_demo_fast_archive" result="fail"/><test-result test-name="test_mi_text_archive" result="fail"/><test-result test-name="test_delete_pointer_xml_warchive" result="fail"/><test-result test-name="test_vector_xml_warchive" result="fail"/><test-result test-name="test_registered_text_archive" result="fail"/><test-result test-name="test_shared_ptr_text_warchive" result="fail"/><test-result test-name="test_const" result="success"/><test-result test-name="test_demo_auto_ptr" result="fail"/><test-result test-name="test_derived_class_text_archive" result="fail"/><test-result test-name="test_private_ctor" result="fail"/><test-result test-name="test_object_text_archive" result="fail"/><test-result test-name="test_iterators" result="fail"/><test-result test-name="test_exported_xml_archive" result="fail"/><test-result test-name="test_split_text_warchive" result="fail"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_demo_exception" result="fail"/><test-result test-name="test_exported_text_warchive" result="fail"/><test-result test-name="test_shared_ptr_binary_archive" result="fail"/><test-result test-name="test_demo_xml_save" result="fail"/><test-result test-name="test_void_cast" result="fail"/><test-result test-name="test_delete_pointer_xml_archive" result="fail"/><test-result test-name="test_tracking_text_warchive" result="fail"/><test-result test-name="test_registered_text_warchive" result="fail"/><test-result test-name="test_tracking_text_archive" result="fail"/><test-result test-name="test_list_binary_archive" result="fail"/><test-result test-name="test_split_xml_archive" result="fail"/><test-result test-name="test_registered_xml_archive" result="fail"/><test-result test-name="test_shared_ptr_xml_warchive" result="fail"/><test-result test-name="test_split_xml_warchive" result="fail"/><test-result test-name="test_binary_text_archive" result="fail"/><test-result test-name="test_recursion_text_archive" result="fail"/><test-result test-name="test_derived_xml_archive" result="fail"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="fail"/><test-result test-name="test_set_xml_archive" result="fail"/><test-result test-name="test_non_intrusive_text_warchive" result="fail"/><test-result test-name="test_demo_pimpl" result="fail"/><test-result test-name="test_vector_binary_archive" result="fail"/><test-result test-name="test_non_default_ctor_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor_xml_archive" result="fail"/><test-result test-name="test_primitive_xml_warchive" result="fail"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="fail"/><test-result test-name="test_class_info_save_xml_warchive" result="fail"/><test-result test-name="test_simple_class_xml_warchive" result="fail"/><test-result test-name="test_no_rtti_xml_archive" result="fail"/><test-result test-name="test_demo" result="fail"/><test-result test-name="test_non_default_ctor2_binary_archive" result="fail"/><test-result test-name="test_non_default_ctor2_xml_archive" result="fail"/><test-result test-name="test_mi_xml_warchive" result="fail"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="fail"/><test-result test-name="test_codecvt_null" result="fail"/><test-result test-name="test_registered_xml_warchive" result="fail"/><test-result test-name="test_simple_class_ptr_binary_archive" result="fail"/><test-result test-name="test_multiple_ptrs_text_warchive" result="fail"/><test-result test-name="test_unregistered_binary_archive" result="fail"/><test-result test-name="test_derived_class_xml_warchive" result="fail"/><test-result test-name="test_object_xml_warchive" result="fail"/><test-result test-name="test_class_info_load_text_archive" result="fail"/><test-result test-name="test_binary_binary_archive" result="fail"/><test-result test-name="test_demo_xml" result="fail"/><test-result test-name="test_mult_archive_types" result="fail"/><test-result test-name="test_map_xml_archive" result="fail"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_static_warning" result="fail"/><test-result test-name="test_derived_text_archive" result="fail"/><test-result test-name="test_non_intrusive_text_archive" result="fail"/><test-result test-name="test_class_info_load_binary_archive" result="fail"/><test-result test-name="test_derived_class_xml_archive" result="fail"/><test-result test-name="test_non_default_ctor2_text_warchive" result="fail"/><test-result test-name="test_demo_xml_load" result="fail"/><test-result test-name="test_tracking_xml_warchive" result="fail"/><test-result test-name="test_binary_text_warchive" result="fail"/><test-result test-name="test_recursion_xml_archive" result="fail"/><test-result test-name="test_derived_class_binary_archive" result="fail"/><test-result test-name="test_class_info_save_binary_archive" result="fail"/><test-result test-name="test_derived_class_text_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_binary_archive" result="fail"/><test-result test-name="test_utf8_codecvt" result="fail"/><test-result test-name="test_non_intrusive_xml_archive" result="fail"/><test-result test-name="test_binary_xml_warchive" result="fail"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="fail"/><test-result test-name="test_recursion_xml_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_xml_archive" result="fail"/><test-result test-name="test_set_binary_archive" result="fail"/><test-result test-name="test_deque_binary_archive" result="fail"/><test-result test-name="test_set_text_archive" result="fail"/><test-result test-name="test_list_xml_archive" result="fail"/><test-result test-name="test_cyclic_ptrs_text_archive" result="fail"/><test-result test-name="test_simple_class_ptr_xml_archive" result="fail"/><test-result test-name="test_optional_xml_archive" result="fail"/><test-result test-name="test_array_text_warchive" result="fail"/><test-result test-name="test_vector_xml_archive" result="fail"/><test-result test-name="test_mi_binary_archive" result="fail"/><test-result test-name="test_null_ptr_text_warchive" result="fail"/><test-result test-name="test_recursion_text_warchive" result="fail"/><test-result test-name="test_exported_text_archive" result="fail"/><test-result test-name="test_multiple_ptrs_text_archive" result="fail"/><test-result test-name="test_unregistered_text_warchive" result="fail"/><test-result test-name="test_null_ptr_text_archive" result="fail"/><test-result test-name="test_unregistered_text_archive" result="fail"/><test-result test-name="test_nvp_binary_archive" result="fail"/><test-result test-name="test_object_text_warchive" result="fail"/><test-result test-name="test_simple_class_binary_archive" result="fail"/><test-result test-name="test_class_info_load_xml_warchive" result="fail"/><test-result test-name="test_map_binary_archive" result="fail"/><test-result test-name="test_primitive_binary_archive" result="fail"/><test-result test-name="test_non_default_ctor_text_archive" result="fail"/><test-result test-name="test_derived_xml_warchive" result="fail"/><test-result test-name="test_simple_class_ptr_text_warchive" result="fail"/><test-result test-name="test_binary_xml_archive" result="fail"/><test-result test-name="test_non_intrusive_xml_warchive" result="fail"/><test-result test-name="test_deque_text_warchive" result="fail"/><test-result test-name="test_non_intrusive_binary_archive" result="fail"/><test-result test-name="test_primitive_text_warchive" result="fail"/><test-result test-name="test_list_ptrs_text_archive" result="fail"/><test-result test-name="test_list_ptrs_text_warchive" result="fail"/><test-result test-name="test_demo_polymorphic" result="fail"/><test-result test-name="test_list_ptrs_xml_archive" result="fail"/><test-result test-name="test_derived_class_ptr_text_warchive" result="fail"/><test-result test-name="test_contained_class_binary_archive" result="fail"/><test-result test-name="test_list_text_archive" result="fail"/><test-result test-name="test_diamond_text_warchive" result="fail"/><test-result test-name="test_polymorphic_xml_archive" result="fail"/><test-result test-name="test_contained_class_text_archive" result="fail"/><test-result test-name="test_set_xml_warchive" result="fail"/></library>
+<library name="filesystem"><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="convenience_test" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="random"><test-result test-name="random_test" result="success"/><test-result test-name="random_demo" result="success"/></library>
+<library name="python"><test-result test-name="select_from_python_test" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="crossmod_exception" result="fail"/><test-result test-name="minimal" result="success"/><test-result test-name="polymorphism" result="fail"/><test-result test-name="args" result="fail"/><test-result test-name="extract" result="fail"/><test-result test-name="auto_ptr" result="fail"/><test-result test-name="defaults" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="slice" result="fail"/><test-result test-name="test_pointer_adoption" result="fail"/><test-result test-name="try" result="fail"/><test-result test-name="object_manager" result="success"/><test-result test-name="long" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="virtual_functions" result="fail"/><test-result test-name="implicit" result="fail"/><test-result test-name="vector_indexing_suite" result="fail"/><test-result test-name="pickle1" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="pickle2" result="fail"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="data_members" result="fail"/><test-result test-name="injected" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="polymorphism2" result="fail"/><test-result test-name="staticmethod" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="list" result="fail"/><test-result test-name="exception_translator" result="fail"/><test-result test-name="result" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="object" result="fail"/><test-result test-name="builtin_converters" result="fail"/><test-result test-name="numpy" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="fail"/><test-result test-name="return_arg" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="opaque" result="fail"/><test-result test-name="iterator" result="fail"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="enum" result="fail"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="str" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="map_indexing_suite" result="fail"/><test-result test-name="callbacks" result="fail"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="nested" result="success"/></library>
+<library name="spirit"><test-result test-name="subrule_tests_debug" result="fail"/><test-result test-name="shortest_alternative_tests" result="fail"/><test-result test-name="bug_fixes_debug" result="fail"/><test-result test-name="multi_pass_tests" result="fail"/><test-result test-name="repeat_ast_tests" result="fail"/><test-result test-name="grammar_multi_instance_tst_debug" result="fail"/><test-result test-name="numerics_tests_debug" result="fail"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="loops_tests" result="fail"/><test-result test-name="grammar_mt_tests" result="fail"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="fail"/><test-result test-name="bug_000008" result="fail"/><test-result test-name="shortest_alternative_tests_debug" result="fail"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="multi_pass_compile_tests" result="fail"/><test-result test-name="switch_tests_wo_default" result="fail"/><test-result test-name="action_tests_debug" result="fail"/><test-result test-name="closure_tests_debug" result="fail"/><test-result test-name="for_tests" result="fail"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="numerics_tests" result="fail"/><test-result test-name="operators_tests" result="fail"/><test-result test-name="symbols_tests_debug" result="fail"/><test-result test-name="grammar_tests" result="fail"/><test-result test-name="ast_calc_tests_debug" result="fail"/><test-result test-name="negated_eps_p_test" result="fail"/><test-result test-name="for_tests_debug" result="fail"/><test-result test-name="distinct_tests" result="fail"/><test-result test-name="multi_pass_tests_debug" result="fail"/><test-result test-name="primitives_tests_debug" result="fail"/><test-result test-name="rule_tests_debug" result="fail"/><test-result test-name="switch_tests_general_def" result="fail"/><test-result test-name="while_tests" result="fail"/><test-result test-name="directives_tests" result="fail"/><test-result test-name="match_tests" result="fail"/><test-result test-name="grammar_tests_debug" result="fail"/><test-result test-name="if_p_as_parser_tests" result="fail"/><test-result test-name="grammar_multi_instance_tst" result="fail"/><test-result test-name="scoped_lock_tests" result="fail"/><test-result test-name="while_p_as_parser_tests" result="fail"/><test-result test-name="primitives_tests" result="fail"/><test-result test-name="epsilon_tests_debug" result="fail"/><test-result test-name="exception_tests" result="fail"/><test-result test-name="switch_tests_single_debug" result="fail"/><test-result test-name="bug_fixes" result="fail"/><test-result test-name="for_p_as_parser_tests" result="fail"/><test-result test-name="parametric_tests" result="fail"/><test-result test-name="if_tests" result="fail"/><test-result test-name="subrule_tests" result="fail"/><test-result test-name="ast_calc_tests" result="fail"/><test-result test-name="parser_context_test" result="fail"/><test-result test-name="chset_tests" result="fail"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="symbols_tests" result="fail"/><test-result test-name="select_p_with_rule" result="fail"/><test-result test-name="chset_tests_debug" result="fail"/><test-result test-name="exception_tests_debug" result="fail"/><test-result test-name="scoped_lock_tests_debug" result="fail"/><test-result test-name="parser_traits_tests" result="fail"/><test-result test-name="fundamental_tests" result="fail"/><test-result test-name="select_p_with_rule_debug" result="fail"/><test-result test-name="switch_tests_single" result="fail"/><test-result test-name="switch_tests_eps_default" result="fail"/><test-result test-name="traverse_tests" result="fail"/><test-result test-name="match_tests_debug" result="fail"/><test-result test-name="sf_bug_720917" result="fail"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="fail"/><test-result test-name="operators_tests_debug" result="fail"/><test-result test-name="switch_problem" result="fail"/><test-result test-name="switch_tests_wo_default_debug" result="fail"/><test-result test-name="loops_tests_debug" result="fail"/><test-result test-name="lazy_tests" result="fail"/><test-result test-name="while_tests_debug" result="fail"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="switch_tests_general_def_debug" result="fail"/><test-result test-name="fundamental_tests_debug" result="fail"/><test-result test-name="escape_char_parser_tests_debug" result="fail"/><test-result test-name="parser_context_test_debug" result="fail"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="lazy_tests_debug" result="fail"/><test-result test-name="negated_eps_p_test_debug" result="fail"/><test-result test-name="traverse_tests_debug" result="fail"/><test-result test-name="parametric_tests_debug" result="fail"/><test-result test-name="switch_problem_debug" result="fail"/><test-result test-name="if_tests_debug" result="fail"/><test-result test-name="directives_tests_debug" result="fail"/><test-result test-name="distinct_tests_debug" result="fail"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="confix_tests" result="fail"/><test-result test-name="sf_bug_720917_debug" result="fail"/><test-result test-name="scanner_tests" result="fail"/><test-result test-name="rule_tests" result="fail"/><test-result test-name="confix_tests_debug" result="fail"/><test-result test-name="epsilon_tests" result="fail"/><test-result test-name="parser_traits_tests_debug" result="fail"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="closure_tests" result="fail"/><test-result test-name="scanner_tests_debug" result="fail"/><test-result test-name="switch_tests_eps_default_debug" result="fail"/><test-result test-name="action_tests" result="fail"/></library>
+<library name="thread"><test-result test-name="test_condition_lib" result="fail"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_barrier_lib" result="fail"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_read_write_mutex_lib" result="fail"/><test-result test-name="test_once_lib" result="fail"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_mutex_lib" result="fail"/><test-result test-name="test_thread_lib" result="fail"/><test-result test-name="test_xtime_lib" result="fail"/><test-result test-name="test_barrier" result="success"/><test-result test-name="test_tss_lib" result="fail"/><test-result test-name="test_read_write_mutex" result="success"/></library>
+<library name="iterator"><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="is_convertible_fail" result="fail"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="interoperable_fail" result="fail"/><test-result test-name="zip_iterator_test" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="concept_tests" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_traits_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="lexical_cast_test" result="fail"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/ublas"><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/><test-result test-name="concepts" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="udt_support_test" result="fail"/><test-result test-name="converter_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="add" result="success"/><test-result test-name="test_float" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="det" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="cmp_lex" result="success"/></library>
+<library name="utility"><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="addressof_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="result_of_test" result="fail"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="next_prior_test" result="success"/></library>
+<library name="multi_array"><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="resize" result="fail"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="assign_to_array" result="fail"/><test-result test-name="range1" result="success"/><test-result test-name="iterators" result="fail"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="compare" result="fail"/><test-result test-name="index_bases" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="stl_interaction" result="fail"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="constructors" result="fail"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="assign" result="fail"/><test-result test-name="concept_checks" result="fail"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="access" result="success"/><test-result test-name="storage_order" result="success"/><test-result test-name="fail_criterator" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_conv_iterators" result="fail"/><test-result test-name="test_capacity" result="fail"/><test-result test-name="test_copy_assignment" result="fail"/><test-result test-name="test_range" result="fail"/><test-result test-name="test_projection" result="fail"/><test-result test-name="test_iterators" result="fail"/><test-result test-name="test_special_set_ops" result="fail"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_composite_key" result="fail"/><test-result test-name="test_modifiers" result="fail"/><test-result test-name="test_basic" result="fail"/><test-result test-name="test_mpl_ops" result="fail"/><test-result test-name="test_special_list_ops" result="fail"/><test-result test-name="test_comparison" result="fail"/><test-result test-name="test_update" result="fail"/><test-result test-name="test_list_ops" result="fail"/><test-result test-name="test_safe_mode" result="fail"/><test-result test-name="test_set_ops" result="fail"/></library>
+<library name="optional"><test-result test-name="optional_test_tie" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/></library>
+<library name="program_options"><test-result test-name="variable_map_test_dll" result="fail"/><test-result test-name="positional_options_test" result="fail"/><test-result test-name="unicode_test" result="fail"/><test-result test-name="options_description_test" result="fail"/><test-result test-name="parsers_test" result="fail"/><test-result test-name="cmdline_test" result="fail"/><test-result test-name="parsers_test_dll" result="fail"/><test-result test-name="positional_options_test_dll" result="fail"/><test-result test-name="cmdline_test_dll" result="fail"/><test-result test-name="winmain_dll" result="fail"/><test-result test-name="variable_map_test" result="fail"/><test-result test-name="options_description_test_dll" result="fail"/><test-result test-name="winmain" result="fail"/><test-result test-name="unicode_test_dll" result="fail"/></library>
+<library name="type_traits"><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="tricky_is_enum_test" result="fail"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="is_polymorphic_test" result="fail"/><test-result test-name="is_function_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="udt_specialisations" result="success"/><test-result test-name="is_abstract_test" result="fail"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="add_const_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="is_union_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/></library>
+<library name="lambda"><test-result test-name="bll_and_function" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/><test-result test-name="member_pointer_test" result="fail"/><test-result test-name="control_structures" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="algorithm_test" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/></library>
+<library name="config"><test-result test-name="config_info" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/><test-result test-name="abi_test" result="success"/><test-result test-name="config_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="list" result="success"/><test-result test-name="array" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="control" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="debug" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="integer_test" result="success"/><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="rational"><test-result test-name="rational_test" result="success"/><test-result test-name="rational_example" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="fail"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+</toolset><toolset name="gcc-3.4.2-linux"><library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/></library>
+<library name="mpl"><test-result test-name="lambda_args" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="always" result="success"/><test-result test-name="next" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="zip_view" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="advance" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="map" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="size" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="set" result="success"/><test-result test-name="back" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="if" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="front" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="int" result="success"/><test-result test-name="count" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="partition" result="success"/></library>
+<library name="bind"><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_const_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="bind_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="special_functions_test" result="success"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="octonion_test" result="success"/><test-result test-name="quaternion_test" result="success"/></library>
+<library name="test"><test-result test-name="test_case_template_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="algorithms_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="token_iterator_test" result="fail"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="vector_graph_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="layout_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_test" result="success"/><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/></library>
+<library name="function"><test-result test-name="function_30" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="sum_avg_portable" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="allocator_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/></library>
+<library name="range"><test-result test-name="string_test" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="array_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="captures_example" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="regex_grep_example_2" result="success"/></library>
+<library name="date_time"><test-result test-name="testwrapping_int" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testtime_wstream" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testfacet" result="success"/><test-result test-name="teststreams" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testtime_wstream_std_config" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testtime" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testclock" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testgreg_wstream" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testfacet_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testgreg_cal" result="success"/></library>
+<library name="signals"><test-result test-name="signal_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="dead_slot_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="algorithm/minmax"><test-result test-name="minmax_element" result="success"/><test-result test-name="minmax" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="trim" result="success"/><test-result test-name="find" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="container" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="predicate" result="success"/></library>
+<library name="assign"><test-result test-name="my_vector_example" result="success"/><test-result test-name="multi_index_container" result="fail"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="std" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="email_example" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="get_deleter_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="static_assert"><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/><test-result test-name="static_assert_test" result="success"/></library>
+<library name="serialization"><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="success"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="success"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_list_text_warchive" result="success"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_nvp_text_warchive" result="success"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="success"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="success"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_map_text_warchive" result="success"/><test-result test-name="test_array_xml_warchive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="success"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="success"/><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="success"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="success"/><test-result test-name="test_const" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_split_text_warchive" result="success"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_exported_text_warchive" result="success"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_void_cast" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="success"/><test-result test-name="test_registered_text_warchive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="success"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="success"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_registered_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="success"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_binary_text_warchive" result="success"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="success"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_array_text_warchive" result="success"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="success"/><test-result test-name="test_recursion_text_warchive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_object_text_warchive" result="success"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="success"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="success"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_deque_text_warchive" result="success"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="success"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="success"/></library>
+<library name="filesystem"><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="convenience_test" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="random"><test-result test-name="random_test" result="success"/><test-result test-name="random_demo" result="success"/></library>
+<library name="python"><test-result test-name="select_from_python_test" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="args" result="success"/><test-result test-name="extract" result="fail"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="long" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="virtual_functions" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="pickle1" result="fail"/><test-result test-name="object_fail1" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="pickle2" result="fail"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle3" result="fail"/><test-result test-name="pickle4" result="fail"/><test-result test-name="data_members" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="list" result="fail"/><test-result test-name="exception_translator" result="success"/><test-result test-name="result" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="object" result="success"/><test-result test-name="builtin_converters" result="fail"/><test-result test-name="numpy" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="operators" result="fail"/><test-result test-name="enum" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="str" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="nested" result="success"/></library>
+<library name="spirit"><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="repeat_ast_tests" result="success"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="multi_pass_compile_tests" result="success"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="closure_tests_debug" result="success"/><test-result test-name="for_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="success"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="ast_calc_tests" result="success"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="success"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="closure_tests" result="success"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="action_tests" result="success"/></library>
+<library name="thread"><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_xtime_lib" result="success"/><test-result test-name="test_barrier" result="success"/><test-result test-name="test_tss_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/></library>
+<library name="iterator"><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="interoperable_fail" result="success"/><test-result test-name="zip_iterator_test" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="concept_tests" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_traits_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/ublas"><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/><test-result test-name="concepts" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="udt_support_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="add" result="success"/><test-result test-name="test_float" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="det" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="cmp_lex" result="success"/></library>
+<library name="utility"><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="addressof_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="next_prior_test" result="success"/></library>
+<library name="multi_array"><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="access" result="success"/><test-result test-name="storage_order" result="success"/><test-result test-name="fail_criterator" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_basic" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_update" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test_tie" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/></library>
+<library name="program_options"><test-result test-name="variable_map_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="unicode_test" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="parsers_test" result="success"/><test-result test-name="cmdline_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="winmain_dll" result="success"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="options_description_test_dll" result="success"/><test-result test-name="winmain" result="success"/><test-result test-name="unicode_test_dll" result="success"/></library>
+<library name="type_traits"><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="udt_specialisations" result="success"/><test-result test-name="is_abstract_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="add_const_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="is_union_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/></library>
+<library name="lambda"><test-result test-name="bll_and_function" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="algorithm_test" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/></library>
+<library name="config"><test-result test-name="config_info" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/><test-result test-name="abi_test" result="success"/><test-result test-name="config_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="list" result="success"/><test-result test-name="array" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="control" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="debug" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="integer_test" result="success"/><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="rational"><test-result test-name="rational_test" result="success"/><test-result test-name="rational_example" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+</toolset><toolset name="gcc-3.2.3-linux"><library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/></library>
+<library name="mpl"><test-result test-name="lambda_args" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="always" result="success"/><test-result test-name="next" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="zip_view" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="advance" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="map" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="size" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="set" result="success"/><test-result test-name="back" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="if" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="front" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="int" result="success"/><test-result test-name="count" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="partition" result="success"/></library>
+<library name="bind"><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_const_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="bind_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="special_functions_test" result="success"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="octonion_test" result="success"/><test-result test-name="quaternion_test" result="success"/></library>
+<library name="test"><test-result test-name="test_case_template_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="algorithms_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="token_iterator_test" result="fail"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="vector_graph_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="layout_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_test" result="success"/><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/></library>
+<library name="function"><test-result test-name="function_30" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="sum_avg_portable" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="allocator_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/></library>
+<library name="range"><test-result test-name="string_test" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="array_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="captures_example" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="regex_grep_example_2" result="success"/></library>
+<library name="date_time"><test-result test-name="testwrapping_int" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testtime_wstream" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testfacet" result="success"/><test-result test-name="teststreams" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testtime_wstream_std_config" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testtime" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testclock" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testgreg_wstream" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testfacet_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testgreg_cal" result="success"/></library>
+<library name="signals"><test-result test-name="signal_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="dead_slot_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="algorithm/minmax"><test-result test-name="minmax_element" result="success"/><test-result test-name="minmax" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="trim" result="success"/><test-result test-name="find" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="container" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="predicate" result="success"/></library>
+<library name="assign"><test-result test-name="my_vector_example" result="success"/><test-result test-name="multi_index_container" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="std" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="email_example" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="get_deleter_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="static_assert"><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/><test-result test-name="static_assert_test" result="success"/></library>
+<library name="serialization"><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="success"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="success"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_list_text_warchive" result="success"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_nvp_text_warchive" result="success"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="success"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="success"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_map_text_warchive" result="success"/><test-result test-name="test_array_xml_warchive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="success"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="success"/><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="success"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="success"/><test-result test-name="test_const" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_split_text_warchive" result="success"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_exported_text_warchive" result="success"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_void_cast" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="success"/><test-result test-name="test_registered_text_warchive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="success"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="success"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_registered_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="success"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_binary_text_warchive" result="success"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="success"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_array_text_warchive" result="success"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="success"/><test-result test-name="test_recursion_text_warchive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_object_text_warchive" result="success"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="success"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="success"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_deque_text_warchive" result="success"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="success"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="success"/></library>
+<library name="filesystem"><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="convenience_test" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="random"><test-result test-name="random_test" result="success"/><test-result test-name="random_demo" result="success"/></library>
+<library name="python"><test-result test-name="select_from_python_test" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="args" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="long" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="virtual_functions" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="list" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="result" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="object" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="str" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="nested" result="success"/></library>
+<library name="spirit"><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="repeat_ast_tests" result="success"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="multi_pass_compile_tests" result="success"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="closure_tests_debug" result="success"/><test-result test-name="for_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="success"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="ast_calc_tests" result="success"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="success"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="closure_tests" result="success"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="action_tests" result="success"/></library>
+<library name="thread"><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_xtime_lib" result="success"/><test-result test-name="test_barrier" result="success"/><test-result test-name="test_tss_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/></library>
+<library name="iterator"><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="interoperable_fail" result="fail"/><test-result test-name="zip_iterator_test" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="concept_tests" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_traits_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/ublas"><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/><test-result test-name="concepts" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="udt_support_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="add" result="success"/><test-result test-name="test_float" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="det" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="cmp_lex" result="success"/></library>
+<library name="utility"><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="addressof_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="next_prior_test" result="success"/></library>
+<library name="multi_array"><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="access" result="success"/><test-result test-name="storage_order" result="success"/><test-result test-name="fail_criterator" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_basic" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_update" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test_tie" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/></library>
+<library name="program_options"><test-result test-name="variable_map_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="unicode_test" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="parsers_test" result="success"/><test-result test-name="cmdline_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="winmain_dll" result="success"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="options_description_test_dll" result="success"/><test-result test-name="winmain" result="success"/><test-result test-name="unicode_test_dll" result="success"/></library>
+<library name="type_traits"><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="udt_specialisations" result="success"/><test-result test-name="is_abstract_test" result="fail"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="add_const_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="is_union_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/></library>
+<library name="lambda"><test-result test-name="bll_and_function" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="algorithm_test" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/></library>
+<library name="config"><test-result test-name="config_info" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/><test-result test-name="abi_test" result="success"/><test-result test-name="config_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="list" result="success"/><test-result test-name="array" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="control" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="debug" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="integer_test" result="success"/><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="rational"><test-result test-name="rational_test" result="success"/><test-result test-name="rational_example" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+</toolset><toolset name="intel-8.0-linux"><library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/></library>
+<library name="mpl"><test-result test-name="lambda_args" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="always" result="success"/><test-result test-name="next" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="zip_view" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="advance" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="map" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="size" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="set" result="success"/><test-result test-name="back" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="if" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="front" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="int" result="success"/><test-result test-name="count" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="partition" result="success"/></library>
+<library name="bind"><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_const_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="bind_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="special_functions_test" result="success"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="octonion_test" result="success"/><test-result test-name="quaternion_test" result="success"/></library>
+<library name="test"><test-result test-name="test_case_template_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="algorithms_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="vector_graph_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="layout_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_test" result="success"/><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/></library>
+<library name="function"><test-result test-name="function_30" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="sum_avg_portable" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="allocator_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/></library>
+<library name="range"><test-result test-name="string_test" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="array_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="captures_example" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="regex_grep_example_2" result="success"/></library>
+<library name="date_time"><test-result test-name="testwrapping_int" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testtime_wstream" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testfacet" result="success"/><test-result test-name="teststreams" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testtime_wstream_std_config" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testtime" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testclock" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testgreg_wstream" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testfacet_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testgreg_cal" result="success"/></library>
+<library name="signals"><test-result test-name="signal_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="dead_slot_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="algorithm/minmax"><test-result test-name="minmax_element" result="success"/><test-result test-name="minmax" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="trim" result="success"/><test-result test-name="find" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="container" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="predicate" result="success"/></library>
+<library name="assign"><test-result test-name="my_vector_example" result="success"/><test-result test-name="multi_index_container" result="fail"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="std" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="email_example" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="get_deleter_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="static_assert"><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/><test-result test-name="static_assert_test" result="success"/></library>
+<library name="serialization"><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="success"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="success"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_list_text_warchive" result="success"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_nvp_text_warchive" result="success"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="success"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="success"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_class_info_load_xml_archive" result="fail"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_map_text_warchive" result="success"/><test-result test-name="test_array_xml_warchive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="success"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="success"/><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="success"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="success"/><test-result test-name="test_const" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_split_text_warchive" result="success"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_exported_text_warchive" result="success"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_void_cast" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="success"/><test-result test-name="test_registered_text_warchive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="success"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="success"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_registered_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="fail"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="fail"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="success"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_binary_text_warchive" result="success"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="success"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_array_text_warchive" result="success"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="success"/><test-result test-name="test_recursion_text_warchive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_object_text_warchive" result="success"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="fail"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="success"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_deque_text_warchive" result="success"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="success"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="success"/></library>
+<library name="filesystem"><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="convenience_test" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="random"><test-result test-name="random_test" result="success"/><test-result test-name="random_demo" result="success"/></library>
+<library name="python"><test-result test-name="select_from_python_test" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="result" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="pointer_type_id_test" result="success"/></library>
+<library name="spirit"><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="repeat_ast_tests" result="fail"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="multi_pass_compile_tests" result="fail"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="closure_tests_debug" result="fail"/><test-result test-name="for_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="fail"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="ast_calc_tests" result="fail"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="fail"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="closure_tests" result="fail"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="action_tests" result="success"/></library>
+<library name="thread"><test-result test-name="test_condition_lib" result="fail"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_barrier_lib" result="fail"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_read_write_mutex_lib" result="fail"/><test-result test-name="test_once_lib" result="fail"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_mutex_lib" result="fail"/><test-result test-name="test_thread_lib" result="fail"/><test-result test-name="test_xtime_lib" result="fail"/><test-result test-name="test_barrier" result="success"/><test-result test-name="test_tss_lib" result="fail"/><test-result test-name="test_read_write_mutex" result="success"/></library>
+<library name="iterator"><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="interoperable_fail" result="success"/><test-result test-name="zip_iterator_test" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="concept_tests" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_traits_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/ublas"><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/><test-result test-name="concepts" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="udt_support_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="add" result="success"/><test-result test-name="test_float" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="det" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="cmp_lex" result="success"/></library>
+<library name="utility"><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="addressof_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="next_prior_test" result="success"/></library>
+<library name="multi_array"><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="access" result="success"/><test-result test-name="storage_order" result="success"/><test-result test-name="fail_criterator" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_basic" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_update" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test_tie" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/></library>
+<library name="program_options"><test-result test-name="variable_map_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="unicode_test" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="parsers_test" result="success"/><test-result test-name="cmdline_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="winmain_dll" result="success"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="options_description_test_dll" result="success"/><test-result test-name="winmain" result="success"/><test-result test-name="unicode_test_dll" result="success"/></library>
+<library name="type_traits"><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="udt_specialisations" result="success"/><test-result test-name="is_abstract_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="add_const_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="is_union_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/></library>
+<library name="lambda"><test-result test-name="bll_and_function" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="algorithm_test" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/></library>
+<library name="config"><test-result test-name="config_info" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/><test-result test-name="abi_test" result="success"/><test-result test-name="config_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="list" result="success"/><test-result test-name="array" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="control" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="debug" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="integer_test" result="success"/><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="rational"><test-result test-name="rational_test" result="success"/><test-result test-name="rational_example" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+</toolset><toolset name="gcc-3.4.3-linux"><library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/></library>
+<library name="mpl"><test-result test-name="lambda_args" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="always" result="success"/><test-result test-name="next" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="zip_view" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="advance" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="map" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="size" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="set" result="success"/><test-result test-name="back" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="if" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="front" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="int" result="success"/><test-result test-name="count" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="partition" result="success"/></library>
+<library name="bind"><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_const_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="bind_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="special_functions_test" result="success"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="octonion_test" result="success"/><test-result test-name="quaternion_test" result="success"/></library>
+<library name="test"><test-result test-name="test_case_template_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="algorithms_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="token_iterator_test" result="fail"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="vector_graph_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="layout_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_test" result="success"/><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/></library>
+<library name="function"><test-result test-name="function_30" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="sum_avg_portable" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="allocator_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/></library>
+<library name="range"><test-result test-name="string_test" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="array_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="captures_example" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="regex_grep_example_2" result="success"/></library>
+<library name="date_time"><test-result test-name="testwrapping_int" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testtime_wstream" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testfacet" result="success"/><test-result test-name="teststreams" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testtime_wstream_std_config" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testtime" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testclock" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testgreg_wstream" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testfacet_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testgreg_cal" result="success"/></library>
+<library name="signals"><test-result test-name="signal_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="dead_slot_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="algorithm/minmax"><test-result test-name="minmax_element" result="success"/><test-result test-name="minmax" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="trim" result="success"/><test-result test-name="find" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="container" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="predicate" result="success"/></library>
+<library name="assign"><test-result test-name="my_vector_example" result="success"/><test-result test-name="multi_index_container" result="fail"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="std" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="email_example" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="get_deleter_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="static_assert"><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/><test-result test-name="static_assert_test" result="success"/></library>
+<library name="serialization"><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="success"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="success"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_list_text_warchive" result="success"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_nvp_text_warchive" result="success"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="success"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="success"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_map_text_warchive" result="success"/><test-result test-name="test_array_xml_warchive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="success"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="success"/><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="success"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="success"/><test-result test-name="test_const" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_split_text_warchive" result="success"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_exported_text_warchive" result="success"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_void_cast" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="success"/><test-result test-name="test_registered_text_warchive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="success"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="success"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_registered_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="success"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_binary_text_warchive" result="success"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="success"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_array_text_warchive" result="success"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="success"/><test-result test-name="test_recursion_text_warchive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_object_text_warchive" result="success"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="success"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="success"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_deque_text_warchive" result="success"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="success"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="success"/></library>
+<library name="filesystem"><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="convenience_test" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="random"><test-result test-name="random_test" result="success"/><test-result test-name="random_demo" result="success"/></library>
+<library name="python"><test-result test-name="select_from_python_test" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="args" result="success"/><test-result test-name="extract" result="fail"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="long" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="virtual_functions" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="pickle1" result="fail"/><test-result test-name="object_fail1" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="pickle2" result="fail"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle3" result="fail"/><test-result test-name="pickle4" result="fail"/><test-result test-name="data_members" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="list" result="fail"/><test-result test-name="exception_translator" result="success"/><test-result test-name="result" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="object" result="success"/><test-result test-name="builtin_converters" result="fail"/><test-result test-name="numpy" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="operators" result="fail"/><test-result test-name="enum" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="str" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="nested" result="success"/></library>
+<library name="spirit"><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="repeat_ast_tests" result="success"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="multi_pass_compile_tests" result="success"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="closure_tests_debug" result="success"/><test-result test-name="for_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="success"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="ast_calc_tests" result="success"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="success"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="closure_tests" result="success"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="action_tests" result="success"/></library>
+<library name="thread"><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_xtime_lib" result="success"/><test-result test-name="test_barrier" result="success"/><test-result test-name="test_tss_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/></library>
+<library name="iterator"><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="interoperable_fail" result="success"/><test-result test-name="zip_iterator_test" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="concept_tests" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_traits_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/ublas"><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/><test-result test-name="concepts" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="udt_support_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="add" result="success"/><test-result test-name="test_float" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="det" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="cmp_lex" result="success"/></library>
+<library name="utility"><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="addressof_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="next_prior_test" result="success"/></library>
+<library name="multi_array"><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="access" result="success"/><test-result test-name="storage_order" result="success"/><test-result test-name="fail_criterator" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_basic" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_update" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test_tie" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/></library>
+<library name="program_options"><test-result test-name="variable_map_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="unicode_test" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="parsers_test" result="success"/><test-result test-name="cmdline_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="winmain_dll" result="success"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="options_description_test_dll" result="success"/><test-result test-name="winmain" result="success"/><test-result test-name="unicode_test_dll" result="success"/></library>
+<library name="type_traits"><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="udt_specialisations" result="success"/><test-result test-name="is_abstract_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="add_const_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="is_union_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/></library>
+<library name="lambda"><test-result test-name="bll_and_function" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="algorithm_test" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/></library>
+<library name="config"><test-result test-name="config_info" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/><test-result test-name="abi_test" result="success"/><test-result test-name="config_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="list" result="success"/><test-result test-name="array" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="control" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="debug" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="integer_test" result="success"/><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="rational"><test-result test-name="rational_test" result="success"/><test-result test-name="rational_example" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+</toolset><toolset name="intel-8.1-linux"><library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/></library>
+<library name="mpl"><test-result test-name="lambda_args" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="always" result="success"/><test-result test-name="next" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="zip_view" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="advance" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="map" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="size" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="set" result="success"/><test-result test-name="back" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="if" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="front" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="int" result="success"/><test-result test-name="count" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="partition" result="success"/></library>
+<library name="bind"><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_const_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="bind_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="special_functions_test" result="success"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="octonion_test" result="success"/><test-result test-name="quaternion_test" result="success"/></library>
+<library name="test"><test-result test-name="test_case_template_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="algorithms_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="vector_graph_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="layout_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_test" result="success"/><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/></library>
+<library name="function"><test-result test-name="function_30" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="sum_avg_portable" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="allocator_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/></library>
+<library name="range"><test-result test-name="string_test" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="array_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="captures_example" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="regex_grep_example_2" result="success"/></library>
+<library name="date_time"><test-result test-name="testwrapping_int" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testtime_wstream" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testfacet" result="success"/><test-result test-name="teststreams" result="fail"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testtime_wstream_std_config" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testtime" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testclock" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testgreg_wstream" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testfacet_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testgreg_cal" result="success"/></library>
+<library name="signals"><test-result test-name="signal_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="dead_slot_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="algorithm/minmax"><test-result test-name="minmax_element" result="success"/><test-result test-name="minmax" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="trim" result="success"/><test-result test-name="find" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="container" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="predicate" result="success"/></library>
+<library name="assign"><test-result test-name="my_vector_example" result="success"/><test-result test-name="multi_index_container" result="fail"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="std" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="email_example" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="get_deleter_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="fail"/></library>
+<library name="static_assert"><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/><test-result test-name="static_assert_test" result="success"/></library>
+<library name="serialization"><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="fail"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="fail"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="fail"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_list_text_warchive" result="fail"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_nvp_text_warchive" result="fail"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="fail"/><test-result test-name="test_diamond_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="fail"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="fail"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_map_text_warchive" result="fail"/><test-result test-name="test_array_xml_warchive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="fail"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="fail"/><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="fail"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="fail"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="fail"/><test-result test-name="test_const" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_split_text_warchive" result="fail"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_exported_text_warchive" result="fail"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_void_cast" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="fail"/><test-result test-name="test_registered_text_warchive" result="fail"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="success"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="fail"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_registered_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="fail"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="fail"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_binary_text_warchive" result="fail"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_array_text_warchive" result="fail"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="fail"/><test-result test-name="test_recursion_text_warchive" result="fail"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="fail"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_object_text_warchive" result="fail"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="success"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="fail"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_deque_text_warchive" result="fail"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="fail"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="fail"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="fail"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="fail"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="success"/></library>
+<library name="filesystem"><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="convenience_test" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="random"><test-result test-name="random_test" result="fail"/><test-result test-name="random_demo" result="success"/></library>
+<library name="python"><test-result test-name="select_from_python_test" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="args" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="long" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="virtual_functions" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="list" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="result" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="object" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="str" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="nested" result="success"/></library>
+<library name="spirit"><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="repeat_ast_tests" result="fail"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="multi_pass_compile_tests" result="fail"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="closure_tests_debug" result="fail"/><test-result test-name="for_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="fail"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="ast_calc_tests" result="fail"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="fail"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="closure_tests" result="fail"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="action_tests" result="success"/></library>
+<library name="thread"><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_xtime_lib" result="success"/><test-result test-name="test_barrier" result="success"/><test-result test-name="test_tss_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/></library>
+<library name="iterator"><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="interoperable_fail" result="success"/><test-result test-name="zip_iterator_test" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="concept_tests" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_traits_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/ublas"><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/><test-result test-name="concepts" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="udt_support_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="add" result="success"/><test-result test-name="test_float" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="det" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="cmp_lex" result="success"/></library>
+<library name="utility"><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="addressof_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="next_prior_test" result="success"/></library>
+<library name="multi_array"><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="access" result="success"/><test-result test-name="storage_order" result="success"/><test-result test-name="fail_criterator" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_basic" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_update" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test_tie" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/></library>
+<library name="program_options"><test-result test-name="variable_map_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="unicode_test" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="parsers_test" result="success"/><test-result test-name="cmdline_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="winmain_dll" result="success"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="options_description_test_dll" result="success"/><test-result test-name="winmain" result="success"/><test-result test-name="unicode_test_dll" result="success"/></library>
+<library name="type_traits"><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="udt_specialisations" result="success"/><test-result test-name="is_abstract_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="add_const_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="is_union_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/></library>
+<library name="lambda"><test-result test-name="bll_and_function" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="algorithm_test" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/></library>
+<library name="config"><test-result test-name="config_info" result="success"/><test-result test-name="limits_test" result="fail"/><test-result test-name="config_link_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/><test-result test-name="abi_test" result="success"/><test-result test-name="config_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="list" result="success"/><test-result test-name="array" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="control" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="debug" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="integer_test" result="success"/><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="rational"><test-result test-name="rational_test" result="success"/><test-result test-name="rational_example" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+</toolset><toolset name="gcc-2.95.3-linux"><library name="io"><test-result test-name="ios_state_test" result="fail"/><test-result test-name="ios_state_unit_test" result="fail"/></library>
+<library name="mpl"><test-result test-name="lambda_args" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="always" result="success"/><test-result test-name="next" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="zip_view" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="has_xxx" result="fail"/><test-result test-name="set_c" result="fail"/><test-result test-name="advance" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="map" result="fail"/><test-result test-name="same_as" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="size" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="set" result="fail"/><test-result test-name="back" result="success"/><test-result test-name="as_sequence" result="fail"/><test-result test-name="copy" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="if" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="is_sequence" result="fail"/><test-result test-name="at" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="front" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="int" result="success"/><test-result test-name="count" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="partition" result="success"/></library>
+<library name="bind"><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_const_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="bind_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="fail"/><test-result test-name="special_functions_test" result="fail"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="octonion_test" result="fail"/><test-result test-name="quaternion_test" result="fail"/></library>
+<library name="test"><test-result test-name="test_case_template_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="algorithms_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="basic_cstring_test" result="fail"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="vector_graph_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="layout_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_test" result="success"/><test-result test-name="tribool_io_test" result="fail"/><test-result test-name="tribool_rename_test" result="success"/></library>
+<library name="function"><test-result test-name="function_30" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="sum_avg_portable" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="allocator_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/></library>
+<library name="range"><test-result test-name="string_test" result="fail"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_range" result="fail"/><test-result test-name="reversible_range_test" result="fail"/><test-result test-name="array_test" result="fail"/><test-result test-name="iterator_pair_test" result="fail"/><test-result test-name="sub_range" result="fail"/><test-result test-name="const_ranges" result="fail"/><test-result test-name="std_container_test" result="fail"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="captures_example" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="regex_grep_example_2" result="success"/></library>
+<library name="date_time"><test-result test-name="testwrapping_int" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testtime_wstream" result="fail"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testfacet" result="fail"/><test-result test-name="teststreams" result="fail"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testtime_wstream_std_config" result="fail"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testtime" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testclock" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testgreg_wstream" result="fail"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testparse_date" result="fail"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testfacet_dll" result="fail"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testgreg_cal" result="success"/></library>
+<library name="signals"><test-result test-name="signal_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="dead_slot_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="algorithm/minmax"><test-result test-name="minmax_element" result="success"/><test-result test-name="minmax" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="trim" result="fail"/><test-result test-name="find" result="fail"/><test-result test-name="regex" result="fail"/><test-result test-name="conv" result="fail"/><test-result test-name="container" result="fail"/><test-result test-name="replace" result="fail"/><test-result test-name="split" result="fail"/><test-result test-name="predicate" result="fail"/></library>
+<library name="assign"><test-result test-name="my_vector_example" result="fail"/><test-result test-name="multi_index_container" result="fail"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="std" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="email_example" result="fail"/></library>
+<library name="smart_ptr"><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="fail"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="get_deleter_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="fail"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="static_assert"><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/><test-result test-name="static_assert_test" result="success"/></library>
+<library name="serialization"><test-result test-name="test_cyclic_ptrs_xml_warchive" result="fail"/><test-result test-name="test_shared_ptr_xml_archive" result="fail"/><test-result test-name="test_primitive_xml_archive" result="fail"/><test-result test-name="test_simple_class_xml_archive" result="fail"/><test-result test-name="test_non_default_ctor_binary_archive" result="fail"/><test-result test-name="test_exported_xml_warchive" result="fail"/><test-result test-name="test_tracking_xml_archive" result="fail"/><test-result test-name="test_list_ptrs_binary_archive" result="fail"/><test-result test-name="test_split_binary_archive" result="fail"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="fail"/><test-result test-name="test_simple_class_ptr_text_archive" result="fail"/><test-result test-name="test_diamond_text_archive" result="fail"/><test-result test-name="test_demo_portable_archive" result="fail"/><test-result test-name="test_null_ptr_xml_warchive" result="fail"/><test-result test-name="test_traits_pass" result="fail"/><test-result test-name="test_unregistered_xml_warchive" result="fail"/><test-result test-name="test_nvp_text_archive" result="fail"/><test-result test-name="test_polymorphic_text_archive" result="fail"/><test-result test-name="test_object_binary_archive" result="fail"/><test-result test-name="test_class_info_save_xml_archive" result="fail"/><test-result test-name="test_delete_pointer_binary_archive" result="fail"/><test-result test-name="test_derived_class_ptr_binary_archive" result="fail"/><test-result test-name="test_class_info_load_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor_xml_warchive" result="fail"/><test-result test-name="test_class_info_save_text_warchive" result="fail"/><test-result test-name="test_array_text_archive" result="fail"/><test-result test-name="test_set_text_warchive" result="fail"/><test-result test-name="test_deque_text_archive" result="fail"/><test-result test-name="test_simple_class_text_warchive" result="fail"/><test-result test-name="test_null_ptr_xml_archive" result="fail"/><test-result test-name="test_diamond_binary_archive" result="fail"/><test-result test-name="test_list_ptrs_xml_warchive" result="fail"/><test-result test-name="test_no_rtti_text_archive" result="fail"/><test-result test-name="test_diamond_xml_archive" result="fail"/><test-result test-name="test_map_text_archive" result="fail"/><test-result test-name="test_optional_text_archive" result="fail"/><test-result test-name="test_no_rtti_text_warchive" result="fail"/><test-result test-name="test_list_xml_warchive" result="fail"/><test-result test-name="test_derived_binary_archive" result="fail"/><test-result test-name="test_contained_class_xml_warchive" result="fail"/><test-result test-name="test_list_text_warchive" result="fail"/><test-result test-name="test_demo_shared_ptr" result="fail"/><test-result test-name="test_object_xml_archive" result="fail"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="fail"/><test-result test-name="test_nvp_text_warchive" result="fail"/><test-result test-name="test_optional_binary_archive" result="fail"/><test-result test-name="test_unregistered_xml_archive" result="fail"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="fail"/><test-result test-name="test_delete_pointer_text_warchive" result="fail"/><test-result test-name="test_diamond_xml_warchive" result="fail"/><test-result test-name="test_delete_pointer_text_archive" result="fail"/><test-result test-name="test_vector_text_archive" result="fail"/><test-result test-name="test_deque_xml_archive" result="fail"/><test-result test-name="test_polymorphic_text_warchive" result="fail"/><test-result test-name="test_smart_cast" result="fail"/><test-result test-name="test_nvp_xml_warchive" result="fail"/><test-result test-name="test_polymorphic_xml_warchive" result="fail"/><test-result test-name="test_derived_class_ptr_xml_archive" result="fail"/><test-result test-name="test_mi_xml_archive" result="fail"/><test-result test-name="test_vector_text_warchive" result="fail"/><test-result test-name="test_exported_binary_archive" result="fail"/><test-result test-name="test_iterators_base64" result="fail"/><test-result test-name="test_no_rtti_binary_archive" result="fail"/><test-result test-name="test_class_info_load_xml_archive" result="fail"/><test-result test-name="test_polymorphic_binary_archive" result="fail"/><test-result test-name="test_map_text_warchive" result="fail"/><test-result test-name="test_array_xml_warchive" result="fail"/><test-result test-name="test_contained_class_text_warchive" result="fail"/><test-result test-name="test_deque_xml_warchive" result="fail"/><test-result test-name="test_contained_class_xml_archive" result="fail"/><test-result test-name="test_optional_text_warchive" result="fail"/><test-result test-name="test_array_binary_archive" result="fail"/><test-result test-name="test_no_rtti_xml_warchive" result="fail"/><test-result test-name="test_shared_ptr_text_archive" result="fail"/><test-result test-name="test_split_text_archive" result="fail"/><test-result test-name="test_map_xml_warchive" result="fail"/><test-result test-name="test_optional_xml_warchive" result="fail"/><test-result test-name="test_non_default_ctor2_text_archive" result="fail"/><test-result test-name="test_mi_text_warchive" result="fail"/><test-result test-name="test_primitive_text_archive" result="fail"/><test-result test-name="test_null_ptr_binary_archive" result="fail"/><test-result test-name="test_derived_class_ptr_text_archive" result="fail"/><test-result test-name="test_recursion_binary_archive" result="fail"/><test-result test-name="test_tracking_binary_archive" result="fail"/><test-result test-name="test_class_info_save_text_archive" result="fail"/><test-result test-name="test_simple_class_text_archive" result="fail"/><test-result test-name="test_registered_binary_archive" result="fail"/><test-result test-name="test_derived_text_warchive" result="fail"/><test-result test-name="test_nvp_xml_archive" result="fail"/><test-result test-name="test_array_xml_archive" result="fail"/><test-result test-name="test_demo_fast_archive" result="fail"/><test-result test-name="test_mi_text_archive" result="fail"/><test-result test-name="test_delete_pointer_xml_warchive" result="fail"/><test-result test-name="test_vector_xml_warchive" result="fail"/><test-result test-name="test_registered_text_archive" result="fail"/><test-result test-name="test_shared_ptr_text_warchive" result="fail"/><test-result test-name="test_const" result="fail"/><test-result test-name="test_demo_auto_ptr" result="fail"/><test-result test-name="test_derived_class_text_archive" result="fail"/><test-result test-name="test_private_ctor" result="fail"/><test-result test-name="test_object_text_archive" result="fail"/><test-result test-name="test_iterators" result="fail"/><test-result test-name="test_exported_xml_archive" result="fail"/><test-result test-name="test_split_text_warchive" result="fail"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_demo_exception" result="fail"/><test-result test-name="test_exported_text_warchive" result="fail"/><test-result test-name="test_shared_ptr_binary_archive" result="fail"/><test-result test-name="test_demo_xml_save" result="fail"/><test-result test-name="test_void_cast" result="fail"/><test-result test-name="test_delete_pointer_xml_archive" result="fail"/><test-result test-name="test_tracking_text_warchive" result="fail"/><test-result test-name="test_registered_text_warchive" result="fail"/><test-result test-name="test_tracking_text_archive" result="fail"/><test-result test-name="test_list_binary_archive" result="fail"/><test-result test-name="test_split_xml_archive" result="fail"/><test-result test-name="test_registered_xml_archive" result="fail"/><test-result test-name="test_shared_ptr_xml_warchive" result="fail"/><test-result test-name="test_split_xml_warchive" result="fail"/><test-result test-name="test_binary_text_archive" result="fail"/><test-result test-name="test_recursion_text_archive" result="fail"/><test-result test-name="test_derived_xml_archive" result="fail"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="fail"/><test-result test-name="test_set_xml_archive" result="fail"/><test-result test-name="test_non_intrusive_text_warchive" result="fail"/><test-result test-name="test_demo_pimpl" result="fail"/><test-result test-name="test_vector_binary_archive" result="fail"/><test-result test-name="test_non_default_ctor_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor_xml_archive" result="fail"/><test-result test-name="test_primitive_xml_warchive" result="fail"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="fail"/><test-result test-name="test_class_info_save_xml_warchive" result="fail"/><test-result test-name="test_simple_class_xml_warchive" result="fail"/><test-result test-name="test_no_rtti_xml_archive" result="fail"/><test-result test-name="test_demo" result="fail"/><test-result test-name="test_non_default_ctor2_binary_archive" result="fail"/><test-result test-name="test_non_default_ctor2_xml_archive" result="fail"/><test-result test-name="test_mi_xml_warchive" result="fail"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="fail"/><test-result test-name="test_codecvt_null" result="fail"/><test-result test-name="test_registered_xml_warchive" result="fail"/><test-result test-name="test_simple_class_ptr_binary_archive" result="fail"/><test-result test-name="test_multiple_ptrs_text_warchive" result="fail"/><test-result test-name="test_unregistered_binary_archive" result="fail"/><test-result test-name="test_derived_class_xml_warchive" result="fail"/><test-result test-name="test_object_xml_warchive" result="fail"/><test-result test-name="test_class_info_load_text_archive" result="fail"/><test-result test-name="test_binary_binary_archive" result="fail"/><test-result test-name="test_demo_xml" result="fail"/><test-result test-name="test_mult_archive_types" result="fail"/><test-result test-name="test_map_xml_archive" result="fail"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_static_warning" result="fail"/><test-result test-name="test_derived_text_archive" result="fail"/><test-result test-name="test_non_intrusive_text_archive" result="fail"/><test-result test-name="test_class_info_load_binary_archive" result="fail"/><test-result test-name="test_derived_class_xml_archive" result="fail"/><test-result test-name="test_non_default_ctor2_text_warchive" result="fail"/><test-result test-name="test_demo_xml_load" result="fail"/><test-result test-name="test_tracking_xml_warchive" result="fail"/><test-result test-name="test_binary_text_warchive" result="fail"/><test-result test-name="test_recursion_xml_archive" result="fail"/><test-result test-name="test_derived_class_binary_archive" result="fail"/><test-result test-name="test_class_info_save_binary_archive" result="fail"/><test-result test-name="test_derived_class_text_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_binary_archive" result="fail"/><test-result test-name="test_utf8_codecvt" result="fail"/><test-result test-name="test_non_intrusive_xml_archive" result="fail"/><test-result test-name="test_binary_xml_warchive" result="fail"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="fail"/><test-result test-name="test_recursion_xml_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_xml_archive" result="fail"/><test-result test-name="test_set_binary_archive" result="fail"/><test-result test-name="test_deque_binary_archive" result="fail"/><test-result test-name="test_set_text_archive" result="fail"/><test-result test-name="test_list_xml_archive" result="fail"/><test-result test-name="test_cyclic_ptrs_text_archive" result="fail"/><test-result test-name="test_simple_class_ptr_xml_archive" result="fail"/><test-result test-name="test_optional_xml_archive" result="fail"/><test-result test-name="test_array_text_warchive" result="fail"/><test-result test-name="test_vector_xml_archive" result="fail"/><test-result test-name="test_mi_binary_archive" result="fail"/><test-result test-name="test_null_ptr_text_warchive" result="fail"/><test-result test-name="test_recursion_text_warchive" result="fail"/><test-result test-name="test_exported_text_archive" result="fail"/><test-result test-name="test_multiple_ptrs_text_archive" result="fail"/><test-result test-name="test_unregistered_text_warchive" result="fail"/><test-result test-name="test_null_ptr_text_archive" result="fail"/><test-result test-name="test_unregistered_text_archive" result="fail"/><test-result test-name="test_nvp_binary_archive" result="fail"/><test-result test-name="test_object_text_warchive" result="fail"/><test-result test-name="test_simple_class_binary_archive" result="fail"/><test-result test-name="test_class_info_load_xml_warchive" result="fail"/><test-result test-name="test_map_binary_archive" result="fail"/><test-result test-name="test_primitive_binary_archive" result="fail"/><test-result test-name="test_non_default_ctor_text_archive" result="fail"/><test-result test-name="test_derived_xml_warchive" result="fail"/><test-result test-name="test_simple_class_ptr_text_warchive" result="fail"/><test-result test-name="test_binary_xml_archive" result="fail"/><test-result test-name="test_non_intrusive_xml_warchive" result="fail"/><test-result test-name="test_deque_text_warchive" result="fail"/><test-result test-name="test_non_intrusive_binary_archive" result="fail"/><test-result test-name="test_primitive_text_warchive" result="fail"/><test-result test-name="test_list_ptrs_text_archive" result="fail"/><test-result test-name="test_list_ptrs_text_warchive" result="fail"/><test-result test-name="test_demo_polymorphic" result="fail"/><test-result test-name="test_list_ptrs_xml_archive" result="fail"/><test-result test-name="test_derived_class_ptr_text_warchive" result="fail"/><test-result test-name="test_contained_class_binary_archive" result="fail"/><test-result test-name="test_list_text_archive" result="fail"/><test-result test-name="test_diamond_text_warchive" result="fail"/><test-result test-name="test_polymorphic_xml_archive" result="fail"/><test-result test-name="test_contained_class_text_archive" result="fail"/><test-result test-name="test_set_xml_warchive" result="fail"/></library>
+<library name="filesystem"><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="fstream_test" result="fail"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="convenience_test" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="random"><test-result test-name="random_test" result="success"/><test-result test-name="random_demo" result="success"/></library>
+<library name="python"><test-result test-name="select_from_python_test" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="crossmod_exception" result="fail"/><test-result test-name="minimal" result="success"/><test-result test-name="polymorphism" result="fail"/><test-result test-name="args" result="fail"/><test-result test-name="extract" result="fail"/><test-result test-name="auto_ptr" result="fail"/><test-result test-name="defaults" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="slice" result="fail"/><test-result test-name="test_pointer_adoption" result="fail"/><test-result test-name="try" result="fail"/><test-result test-name="object_manager" result="success"/><test-result test-name="long" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="virtual_functions" result="fail"/><test-result test-name="implicit" result="fail"/><test-result test-name="vector_indexing_suite" result="fail"/><test-result test-name="pickle1" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="pickle2" result="fail"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="data_members" result="fail"/><test-result test-name="injected" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="polymorphism2" result="fail"/><test-result test-name="staticmethod" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="list" result="fail"/><test-result test-name="exception_translator" result="fail"/><test-result test-name="result" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="object" result="fail"/><test-result test-name="builtin_converters" result="fail"/><test-result test-name="numpy" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="fail"/><test-result test-name="return_arg" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="opaque" result="fail"/><test-result test-name="iterator" result="fail"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="enum" result="fail"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="str" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="map_indexing_suite" result="fail"/><test-result test-name="callbacks" result="fail"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="nested" result="success"/></library>
+<library name="spirit"><test-result test-name="subrule_tests_debug" result="fail"/><test-result test-name="shortest_alternative_tests" result="fail"/><test-result test-name="bug_fixes_debug" result="fail"/><test-result test-name="multi_pass_tests" result="fail"/><test-result test-name="repeat_ast_tests" result="fail"/><test-result test-name="grammar_multi_instance_tst_debug" result="fail"/><test-result test-name="numerics_tests_debug" result="fail"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="loops_tests" result="fail"/><test-result test-name="grammar_mt_tests" result="fail"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="fail"/><test-result test-name="bug_000008" result="fail"/><test-result test-name="shortest_alternative_tests_debug" result="fail"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="multi_pass_compile_tests" result="fail"/><test-result test-name="switch_tests_wo_default" result="fail"/><test-result test-name="action_tests_debug" result="fail"/><test-result test-name="closure_tests_debug" result="fail"/><test-result test-name="for_tests" result="fail"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="numerics_tests" result="fail"/><test-result test-name="operators_tests" result="fail"/><test-result test-name="symbols_tests_debug" result="fail"/><test-result test-name="grammar_tests" result="fail"/><test-result test-name="ast_calc_tests_debug" result="fail"/><test-result test-name="negated_eps_p_test" result="fail"/><test-result test-name="for_tests_debug" result="fail"/><test-result test-name="distinct_tests" result="fail"/><test-result test-name="multi_pass_tests_debug" result="fail"/><test-result test-name="primitives_tests_debug" result="fail"/><test-result test-name="rule_tests_debug" result="fail"/><test-result test-name="switch_tests_general_def" result="fail"/><test-result test-name="while_tests" result="fail"/><test-result test-name="directives_tests" result="fail"/><test-result test-name="match_tests" result="fail"/><test-result test-name="grammar_tests_debug" result="fail"/><test-result test-name="if_p_as_parser_tests" result="fail"/><test-result test-name="grammar_multi_instance_tst" result="fail"/><test-result test-name="scoped_lock_tests" result="fail"/><test-result test-name="while_p_as_parser_tests" result="fail"/><test-result test-name="primitives_tests" result="fail"/><test-result test-name="epsilon_tests_debug" result="fail"/><test-result test-name="exception_tests" result="fail"/><test-result test-name="switch_tests_single_debug" result="fail"/><test-result test-name="bug_fixes" result="fail"/><test-result test-name="for_p_as_parser_tests" result="fail"/><test-result test-name="parametric_tests" result="fail"/><test-result test-name="if_tests" result="fail"/><test-result test-name="subrule_tests" result="fail"/><test-result test-name="ast_calc_tests" result="fail"/><test-result test-name="parser_context_test" result="fail"/><test-result test-name="chset_tests" result="fail"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="symbols_tests" result="fail"/><test-result test-name="select_p_with_rule" result="fail"/><test-result test-name="chset_tests_debug" result="fail"/><test-result test-name="exception_tests_debug" result="fail"/><test-result test-name="scoped_lock_tests_debug" result="fail"/><test-result test-name="parser_traits_tests" result="fail"/><test-result test-name="fundamental_tests" result="fail"/><test-result test-name="select_p_with_rule_debug" result="fail"/><test-result test-name="switch_tests_single" result="fail"/><test-result test-name="switch_tests_eps_default" result="fail"/><test-result test-name="traverse_tests" result="fail"/><test-result test-name="match_tests_debug" result="fail"/><test-result test-name="sf_bug_720917" result="fail"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="fail"/><test-result test-name="operators_tests_debug" result="fail"/><test-result test-name="switch_problem" result="fail"/><test-result test-name="switch_tests_wo_default_debug" result="fail"/><test-result test-name="loops_tests_debug" result="fail"/><test-result test-name="lazy_tests" result="fail"/><test-result test-name="while_tests_debug" result="fail"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="switch_tests_general_def_debug" result="fail"/><test-result test-name="fundamental_tests_debug" result="fail"/><test-result test-name="escape_char_parser_tests_debug" result="fail"/><test-result test-name="parser_context_test_debug" result="fail"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="lazy_tests_debug" result="fail"/><test-result test-name="negated_eps_p_test_debug" result="fail"/><test-result test-name="traverse_tests_debug" result="fail"/><test-result test-name="parametric_tests_debug" result="fail"/><test-result test-name="switch_problem_debug" result="fail"/><test-result test-name="if_tests_debug" result="fail"/><test-result test-name="directives_tests_debug" result="fail"/><test-result test-name="distinct_tests_debug" result="fail"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="confix_tests" result="fail"/><test-result test-name="sf_bug_720917_debug" result="fail"/><test-result test-name="scanner_tests" result="fail"/><test-result test-name="rule_tests" result="fail"/><test-result test-name="confix_tests_debug" result="fail"/><test-result test-name="epsilon_tests" result="fail"/><test-result test-name="parser_traits_tests_debug" result="fail"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="closure_tests" result="fail"/><test-result test-name="scanner_tests_debug" result="fail"/><test-result test-name="switch_tests_eps_default_debug" result="fail"/><test-result test-name="action_tests" result="fail"/></library>
+<library name="thread"><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_xtime_lib" result="success"/><test-result test-name="test_barrier" result="success"/><test-result test-name="test_tss_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/></library>
+<library name="iterator"><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="is_convertible_fail" result="fail"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="interoperable_fail" result="fail"/><test-result test-name="zip_iterator_test" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="concept_tests" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_traits_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="lexical_cast_test" result="fail"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/ublas"><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/><test-result test-name="concepts" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="fail"/><test-result test-name="udt_support_test" result="fail"/><test-result test-name="converter_test" result="fail"/><test-result test-name="traits_test" result="fail"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="cmp_set" result="fail"/><test-result test-name="cmp" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="cmp_exn" result="fail"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="cmp_tribool" result="fail"/><test-result test-name="add" result="success"/><test-result test-name="test_float" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="det" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="cmp_lex" result="fail"/></library>
+<library name="utility"><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="addressof_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="result_of_test" result="fail"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="next_prior_test" result="success"/></library>
+<library name="multi_array"><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="resize" result="fail"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="assign_to_array" result="fail"/><test-result test-name="range1" result="success"/><test-result test-name="iterators" result="fail"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="compare" result="fail"/><test-result test-name="index_bases" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="stl_interaction" result="fail"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="constructors" result="fail"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="assign" result="fail"/><test-result test-name="concept_checks" result="fail"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="access" result="success"/><test-result test-name="storage_order" result="success"/><test-result test-name="fail_criterator" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_conv_iterators" result="fail"/><test-result test-name="test_capacity" result="fail"/><test-result test-name="test_copy_assignment" result="fail"/><test-result test-name="test_range" result="fail"/><test-result test-name="test_projection" result="fail"/><test-result test-name="test_iterators" result="fail"/><test-result test-name="test_special_set_ops" result="fail"/><test-result test-name="test_key_extractors" result="fail"/><test-result test-name="test_composite_key" result="fail"/><test-result test-name="test_modifiers" result="fail"/><test-result test-name="test_basic" result="fail"/><test-result test-name="test_mpl_ops" result="fail"/><test-result test-name="test_special_list_ops" result="fail"/><test-result test-name="test_comparison" result="fail"/><test-result test-name="test_update" result="fail"/><test-result test-name="test_list_ops" result="fail"/><test-result test-name="test_safe_mode" result="fail"/><test-result test-name="test_set_ops" result="fail"/></library>
+<library name="optional"><test-result test-name="optional_test_tie" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/></library>
+<library name="program_options"><test-result test-name="variable_map_test_dll" result="fail"/><test-result test-name="positional_options_test" result="fail"/><test-result test-name="unicode_test" result="fail"/><test-result test-name="options_description_test" result="fail"/><test-result test-name="parsers_test" result="fail"/><test-result test-name="cmdline_test" result="fail"/><test-result test-name="parsers_test_dll" result="fail"/><test-result test-name="positional_options_test_dll" result="fail"/><test-result test-name="cmdline_test_dll" result="fail"/><test-result test-name="winmain_dll" result="fail"/><test-result test-name="variable_map_test" result="fail"/><test-result test-name="options_description_test_dll" result="fail"/><test-result test-name="winmain" result="fail"/><test-result test-name="unicode_test_dll" result="fail"/></library>
+<library name="type_traits"><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="tricky_is_enum_test" result="fail"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="udt_specialisations" result="success"/><test-result test-name="is_abstract_test" result="fail"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="add_const_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="is_union_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/></library>
+<library name="lambda"><test-result test-name="bll_and_function" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/><test-result test-name="member_pointer_test" result="fail"/><test-result test-name="control_structures" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="algorithm_test" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/></library>
+<library name="config"><test-result test-name="config_info" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/><test-result test-name="abi_test" result="success"/><test-result test-name="config_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="list" result="success"/><test-result test-name="array" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="control" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="debug" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="integer_test" result="success"/><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="rational"><test-result test-name="rational_test" result="fail"/><test-result test-name="rational_example" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="fail"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+</toolset><toolset name="borland-5_6_4"><library name="algorithm/minmax"><test-result test-name="minmax" result="success"/><test-result test-name="minmax_element" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="container" result="fail"/><test-result test-name="conv" result="fail"/><test-result test-name="find" result="fail"/><test-result test-name="predicate" result="fail"/><test-result test-name="regex" result="fail"/><test-result test-name="replace" result="fail"/><test-result test-name="split" result="fail"/><test-result test-name="trim" result="fail"/></library>
+<library name="assign"><test-result test-name="array" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="email_example" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="list_of" result="fail"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="multi_index_container" result="fail"/><test-result test-name="my_vector_example" result="success"/><test-result test-name="std" result="success"/></library>
+<library name="bind"><test-result test-name="bind_const_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="bind_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="date_time"><test-result test-name="testclock" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testfacet" result="success"/><test-result test-name="testfacet_dll" result="success"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_cal" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testgreg_wstream" result="fail"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="teststreams" result="fail"/><test-result test-name="testtime" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testtime_wstream" result="fail"/><test-result test-name="testtime_wstream_std_config" result="fail"/><test-result test-name="testwrapping_int" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="filesystem"><test-result test-name="convenience_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="function"><test-result test-name="allocator_test" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="function_30" result="success"/><test-result test-name="function_arith_cxx98" result="fail"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_ref_cxx98" result="fail"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="lambda_test" result="fail"/><test-result test-name="lib_function_test" result="fail"/><test-result test-name="mem_fun_cxx98" result="fail"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="std_bind_cxx98" result="fail"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="sum_avg_cxx98" result="fail"/><test-result test-name="sum_avg_portable" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="fail"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="adj_matrix_cc" result="fail"/><test-result test-name="betweenness_centrality_test" result="fail"/><test-result test-name="bfs" result="fail"/><test-result test-name="bfs_cc" result="fail"/><test-result test-name="bundled_properties" result="fail"/><test-result test-name="copy" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="dfs_cc" result="fail"/><test-result test-name="dijkstra_cc" result="fail"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="filtered_graph_cc" result="fail"/><test-result test-name="graph" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="layout_test" result="success"/><test-result test-name="property_iter" result="fail"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="subgraph" result="fail"/><test-result test-name="transitive_closure_test" result="fail"/><test-result test-name="vector_graph_cc" result="fail"/></library>
+<library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="fail"/></library>
+<library name="iterator"><test-result test-name="concept_tests" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="indirect_iter_member_types" result="fail"/><test-result test-name="interoperable" result="success"/><test-result test-name="interoperable_fail" result="fail"/><test-result test-name="is_convertible_fail" result="fail"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="iterator_traits_test" result="success"/><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="fail"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="zip_iterator_test" result="fail"/></library>
+<library name="logic"><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/><test-result test-name="tribool_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="fail"/><test-result test-name="octonion_test" result="fail"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="quaternion_test" result="fail"/><test-result test-name="special_functions_test" result="fail"/></library>
+<library name="mpl"><test-result test-name="advance" result="success"/><test-result test-name="always" result="success"/><test-result test-name="apply" result="fail"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="as_sequence" result="fail"/><test-result test-name="at" result="success"/><test-result test-name="back" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="count" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="front" result="success"/><test-result test-name="has_xxx" result="fail"/><test-result test-name="identity" result="success"/><test-result test-name="if" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="int" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="is_sequence" result="fail"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="lambda_args" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="map" result="fail"/><test-result test-name="max_element" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="multiset" result="fail"/><test-result test-name="next" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="partition" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="quote" result="fail"/><test-result test-name="range_c" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="set" result="fail"/><test-result test-name="set_c" result="fail"/><test-result test-name="single_view" result="success"/><test-result test-name="size" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="zip_view" result="fail"/></library>
+<library name="multi_array"><test-result test-name="access" result="fail"/><test-result test-name="assign" result="fail"/><test-result test-name="assign_to_array" result="fail"/><test-result test-name="compare" result="fail"/><test-result test-name="concept_checks" result="fail"/><test-result test-name="constructors" result="fail"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_criterator" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="index_bases" result="fail"/><test-result test-name="iterators" result="fail"/><test-result test-name="range1" result="fail"/><test-result test-name="reshape" result="fail"/><test-result test-name="resize" result="fail"/><test-result test-name="slice" result="fail"/><test-result test-name="stl_interaction" result="fail"/><test-result test-name="storage_order" result="fail"/></library>
+<library name="multi_index"><test-result test-name="test_basic" result="fail"/><test-result test-name="test_capacity" result="fail"/><test-result test-name="test_comparison" result="fail"/><test-result test-name="test_composite_key" result="fail"/><test-result test-name="test_conv_iterators" result="fail"/><test-result test-name="test_copy_assignment" result="fail"/><test-result test-name="test_iterators" result="fail"/><test-result test-name="test_key_extractors" result="fail"/><test-result test-name="test_list_ops" result="fail"/><test-result test-name="test_modifiers" result="fail"/><test-result test-name="test_mpl_ops" result="fail"/><test-result test-name="test_projection" result="fail"/><test-result test-name="test_range" result="fail"/><test-result test-name="test_safe_mode" result="fail"/><test-result test-name="test_set_ops" result="fail"/><test-result test-name="test_special_list_ops" result="fail"/><test-result test-name="test_special_set_ops" result="fail"/><test-result test-name="test_update" result="fail"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="fail"/><test-result test-name="converter_test" result="fail"/><test-result test-name="numeric_cast_test" result="fail"/><test-result test-name="traits_test" result="fail"/><test-result test-name="udt_support_test" result="fail"/></library>
+<library name="numeric/interval"><test-result test-name="add" result="fail"/><test-result test-name="cmp" result="fail"/><test-result test-name="cmp_exn" result="fail"/><test-result test-name="cmp_exp" result="fail"/><test-result test-name="cmp_lex" result="fail"/><test-result test-name="cmp_set" result="fail"/><test-result test-name="cmp_tribool" result="fail"/><test-result test-name="det" result="fail"/><test-result test-name="fmod" result="fail"/><test-result test-name="integer" result="fail"/><test-result test-name="mul" result="fail"/><test-result test-name="overflow" result="fail"/><test-result test-name="pi" result="fail"/><test-result test-name="pow" result="fail"/><test-result test-name="test_float" result="fail"/></library>
+<library name="numeric/ublas"><test-result test-name="concepts" result="fail"/><test-result test-name="placement_new" result="fail"/><test-result test-name="test1" result="fail"/><test-result test-name="test2" result="fail"/><test-result test-name="test3" result="fail"/><test-result test-name="test4" result="fail"/><test-result test-name="test5" result="fail"/><test-result test-name="test6" result="fail"/></library>
+<library name="optional"><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_ref_fail1" result="fail"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_tie" result="success"/></library>
+<library name="program_options"><test-result test-name="cmdline_test" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="options_description_test_dll" result="success"/><test-result test-name="parsers_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="unicode_test" result="success"/><test-result test-name="unicode_test_dll" result="success"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="variable_map_test_dll" result="success"/><test-result test-name="winmain" result="success"/><test-result test-name="winmain_dll" result="success"/></library>
+<library name="python"><test-result test-name="destroy_test" result="fail"/><test-result test-name="if_else" result="fail"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="result" result="fail"/><test-result test-name="string_literal" result="fail"/></library>
+<library name="random"><test-result test-name="random_demo" result="success"/><test-result test-name="random_test" result="fail"/></library>
+<library name="range"><test-result test-name="array_test" result="fail"/><test-result test-name="const_ranges" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="string_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="captures_example" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="regex_grep_example_2" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/></library>
+<library name="serialization"><test-result test-name="test_array_binary_archive" result="fail"/><test-result test-name="test_array_text_archive" result="fail"/><test-result test-name="test_array_text_warchive" result="fail"/><test-result test-name="test_array_xml_archive" result="fail"/><test-result test-name="test_array_xml_warchive" result="fail"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_binary_text_warchive" result="success"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="success"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="success"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_const" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_demo_fast_archive" result="fail"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_deque_text_warchive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="success"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="success"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="success"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_exported_text_warchive" result="success"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_list_text_warchive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_map_text_warchive" result="success"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="success"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="success"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="success"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="success"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="fail"/><test-result test-name="test_no_rtti_text_archive" result="fail"/><test-result test-name="test_no_rtti_text_warchive" result="fail"/><test-result test-name="test_no_rtti_xml_archive" result="fail"/><test-result test-name="test_no_rtti_xml_warchive" result="fail"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="success"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_nvp_text_warchive" result="success"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_object_text_warchive" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="success"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_recursion_text_warchive" result="success"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_registered_text_warchive" result="success"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_registered_xml_warchive" result="success"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="fail"/><test-result test-name="test_set_xml_archive" result="fail"/><test-result test-name="test_set_xml_warchive" result="fail"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="success"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_split_text_warchive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="success"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="success"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="success"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_void_cast" result="success"/></library>
+<library name="signals"><test-result test-name="dead_slot_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="signal_test" result="fail"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="get_deleter_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/></library>
+<library name="spirit"><test-result test-name="action_tests" result="fail"/><test-result test-name="action_tests_debug" result="fail"/><test-result test-name="ast_calc_tests" result="fail"/><test-result test-name="ast_calc_tests_debug" result="fail"/><test-result test-name="bug_000008" result="fail"/><test-result test-name="bug_fixes" result="fail"/><test-result test-name="bug_fixes_debug" result="fail"/><test-result test-name="chset_tests" result="fail"/><test-result test-name="chset_tests_debug" result="fail"/><test-result test-name="closure_tests" result="fail"/><test-result test-name="closure_tests_debug" result="fail"/><test-result test-name="confix_tests" result="fail"/><test-result test-name="confix_tests_debug" result="fail"/><test-result test-name="directives_tests" result="fail"/><test-result test-name="directives_tests_debug" result="fail"/><test-result test-name="distinct_tests" result="fail"/><test-result test-name="distinct_tests_debug" result="fail"/><test-result test-name="epsilon_tests" result="fail"/><test-result test-name="epsilon_tests_debug" result="fail"/><test-result test-name="escape_char_parser_tests" result="fail"/><test-result test-name="escape_char_parser_tests_debug" result="fail"/><test-result test-name="exception_tests" result="fail"/><test-result test-name="exception_tests_debug" result="fail"/><test-result test-name="file_iterator_tests" result="fail"/><test-result test-name="file_iterator_tests_debug" result="fail"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="fixed_size_queue_tests" result="fail"/><test-result test-name="fixed_size_queue_tests_debug" result="fail"/><test-result test-name="for_p_as_parser_tests" result="fail"/><test-result test-name="for_tests" result="fail"/><test-result test-name="for_tests_debug" result="fail"/><test-result test-name="fundamental_tests" result="fail"/><test-result test-name="fundamental_tests_debug" result="fail"/><test-result test-name="grammar_mt_tests" result="fail"/><test-result test-name="grammar_multi_instance_tst" result="fail"/><test-result test-name="grammar_multi_instance_tst_debug" result="fail"/><test-result test-name="grammar_tests" result="fail"/><test-result test-name="grammar_tests_debug" result="fail"/><test-result test-name="if_p_as_parser_tests" result="fail"/><test-result test-name="if_tests" result="fail"/><test-result test-name="if_tests_debug" result="fail"/><test-result test-name="lazy_tests" result="fail"/><test-result test-name="lazy_tests_debug" result="fail"/><test-result test-name="loops_tests" result="fail"/><test-result test-name="loops_tests_debug" result="fail"/><test-result test-name="match_tests" result="fail"/><test-result test-name="match_tests_debug" result="fail"/><test-result test-name="multi_pass_compile_tests" result="fail"/><test-result test-name="multi_pass_tests" result="fail"/><test-result test-name="multi_pass_tests_debug" result="fail"/><test-result test-name="negated_eps_p_test" result="fail"/><test-result test-name="negated_eps_p_test_debug" result="fail"/><test-result test-name="numerics_tests" result="fail"/><test-result test-name="numerics_tests_debug" result="fail"/><test-result test-name="operators_tests" result="fail"/><test-result test-name="operators_tests_debug" result="fail"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="parametric_tests" result="fail"/><test-result test-name="parametric_tests_debug" result="fail"/><test-result test-name="parser_context_test" result="fail"/><test-result test-name="parser_context_test_debug" result="fail"/><test-result test-name="parser_traits_tests" result="fail"/><test-result test-name="parser_traits_tests_debug" result="fail"/><test-result test-name="position_iterator_tests" result="fail"/><test-result test-name="position_iterator_tests_debug" result="fail"/><test-result test-name="primitives_tests" result="fail"/><test-result test-name="primitives_tests_debug" result="fail"/><test-result test-name="repeat_ast_tests" result="fail"/><test-result test-name="repeat_ast_tests_debug" result="fail"/><test-result test-name="rule_tests" result="fail"/><test-result test-name="rule_tests_debug" result="fail"/><test-result test-name="scanner_tests" result="fail"/><test-result test-name="scanner_tests_debug" result="fail"/><test-result test-name="scoped_lock_tests" result="fail"/><test-result test-name="scoped_lock_tests_debug" result="fail"/><test-result test-name="select_p_with_rule" result="fail"/><test-result test-name="select_p_with_rule_debug" result="fail"/><test-result test-name="sf_bug_720917" result="fail"/><test-result test-name="sf_bug_720917_debug" result="fail"/><test-result test-name="shortest_alternative_tests" result="fail"/><test-result test-name="shortest_alternative_tests_debug" result="fail"/><test-result test-name="subrule_tests" result="fail"/><test-result test-name="subrule_tests_debug" result="fail"/><test-result test-name="switch_problem" result="fail"/><test-result test-name="switch_problem_debug" result="fail"/><test-result test-name="switch_tests_eps_default" result="fail"/><test-result test-name="switch_tests_eps_default_debug" result="fail"/><test-result test-name="switch_tests_general_def" result="fail"/><test-result test-name="switch_tests_general_def_debug" result="fail"/><test-result test-name="switch_tests_single" result="fail"/><test-result test-name="switch_tests_single_debug" result="fail"/><test-result test-name="switch_tests_wo_default" result="fail"/><test-result test-name="switch_tests_wo_default_debug" result="fail"/><test-result test-name="symbols_tests" result="fail"/><test-result test-name="symbols_tests_debug" result="fail"/><test-result test-name="traverse_tests" result="fail"/><test-result test-name="traverse_tests_debug" result="fail"/><test-result test-name="while_p_as_parser_tests" result="fail"/><test-result test-name="while_tests" result="fail"/><test-result test-name="while_tests_debug" result="fail"/></library>
+<library name="static_assert"><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test" result="fail"/><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/></library>
+<library name="test"><test-result test-name="algorithms_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="test_case_template_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="thread"><test-result test-name="test_barrier" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_tss_lib" result="fail"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_xtime_lib" result="success"/></library>
+<library name="type_traits"><test-result test-name="add_const_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="is_abstract_test" result="fail"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_base_and_derived_test" result="fail"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_convertible_test" result="fail"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="is_union_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="remove_bounds_test" result="fail"/><test-result test-name="remove_const_test" result="fail"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_pointer_test" result="fail"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="remove_volatile_test" result="fail"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="fail"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="fail"/><test-result test-name="tricky_is_enum_test" result="fail"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="udt_specialisations" result="success"/></library>
+<library name="utility"><test-result test-name="addressof_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="call_traits_test" result="fail"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="next_prior_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="numeric_traits_test" result="fail"/><test-result test-name="operators_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="result_of_test" result="fail"/><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="fail"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_test1" result="fail"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="fail"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="fail"/></library>
+<library name="config"><test-result test-name="abi_test" result="success"/><test-result test-name="config_info" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="config_test" result="success"/><test-result test-name="limits_test" result="fail"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/></library>
+<library name="lambda"><test-result test-name="algorithm_test" result="fail"/><test-result test-name="bind_tests_advanced" result="fail"/><test-result test-name="bind_tests_simple" result="fail"/><test-result test-name="bind_tests_simple_f_refs" result="fail"/><test-result test-name="bll_and_function" result="fail"/><test-result test-name="constructor_tests" result="fail"/><test-result test-name="control_structures" result="fail"/><test-result test-name="exception_test" result="fail"/><test-result test-name="extending_rt_traits" result="fail"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="lambda_cast_test" result="fail"/><test-result test-name="member_pointer_test" result="fail"/><test-result test-name="operator_tests_simple" result="fail"/><test-result test-name="phoenix_control_structures" result="fail"/><test-result test-name="switch_construct" result="fail"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="control" result="success"/><test-result test-name="debug" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="list" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="tuple" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="fail"/><test-result test-name="array4" result="fail"/><test-result test-name="array5" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="class_concept_fail_expected" result="fail"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="rational"><test-result test-name="rational_example" result="success"/><test-result test-name="rational_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+</toolset><toolset name="cw-8_3"><library name="algorithm/minmax"><test-result test-name="minmax" result="success"/><test-result test-name="minmax_element" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="container" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="find" result="success"/><test-result test-name="predicate" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="trim" result="success"/></library>
+<library name="assign"><test-result test-name="array" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="email_example" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="multi_index_container" result="success"/><test-result test-name="my_vector_example" result="success"/><test-result test-name="std" result="success"/></library>
+<library name="bind"><test-result test-name="bind_const_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="bind_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="date_time"><test-result test-name="testclock" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testfacet" result="success"/><test-result test-name="testfacet_dll" result="fail"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_cal" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testgreg_wstream" result="fail"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="teststreams" result="success"/><test-result test-name="testtime" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testtime_wstream" result="success"/><test-result test-name="testtime_wstream_std_config" result="success"/><test-result test-name="testwrapping_int" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="filesystem"><test-result test-name="convenience_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="function"><test-result test-name="allocator_test" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="function_30" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="lambda_test" result="fail"/><test-result test-name="lib_function_test" result="fail"/><test-result test-name="mem_fun_cxx98" result="fail"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="sum_avg_portable" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="layout_test" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="vector_graph_cc" result="success"/></library>
+<library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/></library>
+<library name="iterator"><test-result test-name="concept_tests" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="interoperable_fail" result="fail"/><test-result test-name="is_convertible_fail" result="fail"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="iterator_traits_test" result="success"/><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="zip_iterator_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/><test-result test-name="tribool_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="octonion_test" result="success"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="quaternion_test" result="success"/><test-result test-name="special_functions_test" result="success"/></library>
+<library name="mpl"><test-result test-name="advance" result="success"/><test-result test-name="always" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="as_sequence" result="fail"/><test-result test-name="at" result="success"/><test-result test-name="back" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="count" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="front" result="success"/><test-result test-name="has_xxx" result="fail"/><test-result test-name="identity" result="success"/><test-result test-name="if" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="int" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="is_sequence" result="fail"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="lambda_args" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="map" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="next" result="success"/><test-result test-name="no_has_xxx" result="fail"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="partition" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="set" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="size" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="zip_view" result="success"/></library>
+<library name="multi_array"><test-result test-name="access" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_criterator" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="storage_order" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_basic" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_update" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="udt_support_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="add" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="cmp_lex" result="success"/><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="det" result="fail"/><test-result test-name="fmod" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="test_float" result="success"/></library>
+<library name="numeric/ublas"><test-result test-name="concepts" result="success"/><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_tie" result="success"/></library>
+<library name="program_options"><test-result test-name="cmdline_test" result="success"/><test-result test-name="cmdline_test_dll" result="fail"/><test-result test-name="options_description_test" result="success"/><test-result test-name="options_description_test_dll" result="fail"/><test-result test-name="parsers_test" result="success"/><test-result test-name="parsers_test_dll" result="fail"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="positional_options_test_dll" result="fail"/><test-result test-name="unicode_test" result="success"/><test-result test-name="unicode_test_dll" result="fail"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="variable_map_test_dll" result="fail"/><test-result test-name="winmain" result="success"/><test-result test-name="winmain_dll" result="fail"/></library>
+<library name="python"><test-result test-name="args" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="list" result="success"/><test-result test-name="long" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="nested" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="object" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="result" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="select_from_python_test" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="str" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="virtual_functions" result="success"/></library>
+<library name="random"><test-result test-name="random_demo" result="success"/><test-result test-name="random_test" result="fail"/></library>
+<library name="range"><test-result test-name="array_test" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="string_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="captures_example" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="regex_grep_example_2" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/></library>
+<library name="serialization"><test-result test-name="test_array_binary_archive" result="fail"/><test-result test-name="test_array_text_archive" result="fail"/><test-result test-name="test_array_text_warchive" result="fail"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_array_xml_warchive" result="success"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_binary_text_warchive" result="success"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="success"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="success"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_const" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_demo" result="fail"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_demo_exception" result="fail"/><test-result test-name="test_demo_fast_archive" result="fail"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_demo_shared_ptr" result="fail"/><test-result test-name="test_demo_xml" result="fail"/><test-result test-name="test_demo_xml_load" result="fail"/><test-result test-name="test_demo_xml_save" result="fail"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_deque_text_warchive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="success"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="success"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="success"/><test-result test-name="test_exported_binary_archive" result="fail"/><test-result test-name="test_exported_text_archive" result="fail"/><test-result test-name="test_exported_text_warchive" result="fail"/><test-result test-name="test_exported_xml_archive" result="fail"/><test-result test-name="test_exported_xml_warchive" result="fail"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_list_text_warchive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_map_text_warchive" result="success"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_mi_binary_archive" result="fail"/><test-result test-name="test_mi_text_archive" result="fail"/><test-result test-name="test_mi_text_warchive" result="fail"/><test-result test-name="test_mi_xml_archive" result="fail"/><test-result test-name="test_mi_xml_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_mult_archive_types" result="fail"/><test-result test-name="test_non_default_ctor2_binary_archive" result="fail"/><test-result test-name="test_non_default_ctor2_text_archive" result="fail"/><test-result test-name="test_non_default_ctor2_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor2_xml_archive" result="fail"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="fail"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="fail"/><test-result test-name="test_no_rtti_text_archive" result="fail"/><test-result test-name="test_no_rtti_text_warchive" result="fail"/><test-result test-name="test_no_rtti_xml_archive" result="fail"/><test-result test-name="test_no_rtti_xml_warchive" result="fail"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="success"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_nvp_text_warchive" result="success"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_object_text_warchive" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="success"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_recursion_text_warchive" result="success"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_registered_binary_archive" result="fail"/><test-result test-name="test_registered_text_archive" result="fail"/><test-result test-name="test_registered_text_warchive" result="fail"/><test-result test-name="test_registered_xml_archive" result="fail"/><test-result test-name="test_registered_xml_warchive" result="fail"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="success"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_binary_archive" result="fail"/><test-result test-name="test_shared_ptr_text_archive" result="fail"/><test-result test-name="test_shared_ptr_text_warchive" result="fail"/><test-result test-name="test_shared_ptr_xml_archive" result="fail"/><test-result test-name="test_shared_ptr_xml_warchive" result="fail"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_split_text_warchive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_binary_archive" result="fail"/><test-result test-name="test_unregistered_text_archive" result="fail"/><test-result test-name="test_unregistered_text_warchive" result="fail"/><test-result test-name="test_unregistered_xml_archive" result="fail"/><test-result test-name="test_unregistered_xml_warchive" result="fail"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="success"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_void_cast" result="success"/></library>
+<library name="signals"><test-result test-name="dead_slot_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="signal_test" result="fail"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="get_deleter_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/></library>
+<library name="spirit"><test-result test-name="action_tests" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="ast_calc_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="closure_tests" result="success"/><test-result test-name="closure_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="for_tests" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="multi_pass_compile_tests" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="repeat_ast_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/></library>
+<library name="static_assert"><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test" result="success"/><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/></library>
+<library name="test"><test-result test-name="algorithms_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="test_case_template_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="thread"><test-result test-name="test_barrier" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_tss_lib" result="fail"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_xtime_lib" result="success"/></library>
+<library name="type_traits"><test-result test-name="add_const_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="alignment_of_test" result="fail"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="is_abstract_test" result="fail"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="is_union_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="type_with_alignment_test" result="fail"/><test-result test-name="udt_specialisations" result="success"/></library>
+<library name="utility"><test-result test-name="addressof_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="next_prior_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="result_of_test" result="fail"/><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_reference_test" result="fail"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="config"><test-result test-name="abi_test" result="success"/><test-result test-name="config_info" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="config_test" result="success"/><test-result test-name="limits_test" result="fail"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/></library>
+<library name="lambda"><test-result test-name="algorithm_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="bll_and_function" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="control" result="success"/><test-result test-name="debug" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="list" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="tuple" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="class_concept_fail_expected" result="fail"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="rational"><test-result test-name="rational_example" result="success"/><test-result test-name="rational_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+</toolset><toolset name="iw-7_1-vc6"><library name="algorithm/minmax"><test-result test-name="minmax" result="success"/><test-result test-name="minmax_element" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="container" result="success"/><test-result test-name="conv" result="fail"/><test-result test-name="find" result="fail"/><test-result test-name="predicate" result="fail"/><test-result test-name="regex" result="fail"/><test-result test-name="replace" result="fail"/><test-result test-name="split" result="fail"/><test-result test-name="trim" result="fail"/></library>
+<library name="assign"><test-result test-name="array" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="email_example" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="multi_index_container" result="success"/><test-result test-name="my_vector_example" result="success"/><test-result test-name="std" result="success"/></library>
+<library name="bind"><test-result test-name="bind_const_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="bind_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="date_time"><test-result test-name="testclock" result="fail"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testc_local_adjustor" result="fail"/><test-result test-name="testdate" result="fail"/><test-result test-name="testdate_dll" result="fail"/><test-result test-name="testdate_duration" result="fail"/><test-result test-name="testdate_duration_dll" result="fail"/><test-result test-name="testdate_iterator" result="fail"/><test-result test-name="testdate_iterator_dll" result="fail"/><test-result test-name="testdst_rules" result="fail"/><test-result test-name="testduration" result="fail"/><test-result test-name="testfacet" result="fail"/><test-result test-name="testfacet_dll" result="fail"/><test-result test-name="testfiletime_functions" result="fail"/><test-result test-name="testformatters" result="fail"/><test-result test-name="testformatters_dll" result="fail"/><test-result test-name="testgenerators" result="fail"/><test-result test-name="testgenerators_dll" result="fail"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_cal" result="fail"/><test-result test-name="testgreg_cal_dll" result="fail"/><test-result test-name="testgreg_day" result="fail"/><test-result test-name="testgreg_day_dll" result="fail"/><test-result test-name="testgreg_durations" result="fail"/><test-result test-name="testgreg_duration_operators" result="fail"/><test-result test-name="testgreg_month" result="fail"/><test-result test-name="testgreg_month_dll" result="fail"/><test-result test-name="testgreg_wstream" result="fail"/><test-result test-name="testgreg_year" result="fail"/><test-result test-name="testgreg_year_dll" result="fail"/><test-result test-name="testint_adapter" result="fail"/><test-result test-name="testiterator" result="fail"/><test-result test-name="testlocal_adjustor" result="fail"/><test-result test-name="testmicrosec_time_clock" result="fail"/><test-result test-name="testparse_date" result="fail"/><test-result test-name="testparse_time" result="fail"/><test-result test-name="testperiod" result="fail"/><test-result test-name="testperiod_dll" result="fail"/><test-result test-name="teststreams" result="fail"/><test-result test-name="testtime" result="fail"/><test-result test-name="testtime_formatters" result="fail"/><test-result test-name="testtime_period" result="fail"/><test-result test-name="testtime_resolution_traits" result="fail"/><test-result test-name="testtime_wstream" result="fail"/><test-result test-name="testtime_wstream_std_config" result="fail"/><test-result test-name="testwrapping_int" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="filesystem"><test-result test-name="convenience_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="fail"/><test-result test-name="format_test3" result="fail"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="function"><test-result test-name="allocator_test" result="fail"/><test-result test-name="contains_test" result="success"/><test-result test-name="function_30" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="std_bind_cxx98" result="fail"/><test-result test-name="std_bind_portable" result="fail"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="sum_avg_portable" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="fail"/><test-result test-name="bfs" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="layout_test" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="vector_graph_cc" result="success"/></library>
+<library name="io"><test-result test-name="ios_state_test" result="fail"/><test-result test-name="ios_state_unit_test" result="fail"/></library>
+<library name="iterator"><test-result test-name="concept_tests" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="interoperable_fail" result="success"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="iterator_traits_test" result="success"/><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="zip_iterator_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/><test-result test-name="tribool_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="octonion_test" result="fail"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="quaternion_test" result="fail"/><test-result test-name="special_functions_test" result="fail"/></library>
+<library name="mpl"><test-result test-name="advance" result="success"/><test-result test-name="always" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="back" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="count" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="front" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="if" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="int" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="lambda_args" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="map" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="next" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="partition" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="set" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="size" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="zip_view" result="success"/></library>
+<library name="multi_array"><test-result test-name="access" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_criterator" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="storage_order" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_basic" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_update" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="udt_support_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="add" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="cmp_lex" result="success"/><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="det" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="test_float" result="fail"/></library>
+<library name="numeric/ublas"><test-result test-name="concepts" result="success"/><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_tie" result="success"/></library>
+<library name="program_options"><test-result test-name="cmdline_test" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="options_description_test_dll" result="fail"/><test-result test-name="parsers_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="unicode_test" result="fail"/><test-result test-name="unicode_test_dll" result="fail"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="variable_map_test_dll" result="fail"/><test-result test-name="winmain" result="success"/><test-result test-name="winmain_dll" result="success"/></library>
+<library name="python"><test-result test-name="args" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="list" result="success"/><test-result test-name="long" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="nested" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="object" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="result" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="select_from_python_test" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="str" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="virtual_functions" result="success"/></library>
+<library name="random"><test-result test-name="random_demo" result="success"/><test-result test-name="random_test" result="fail"/></library>
+<library name="range"><test-result test-name="array_test" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="string_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="captures_example" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="regex_grep_example_2" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/></library>
+<library name="serialization"><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_array_text_warchive" result="success"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_array_xml_warchive" result="success"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_binary_text_warchive" result="success"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="success"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="success"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_const" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_deque_text_warchive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="success"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="success"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="success"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_exported_text_warchive" result="success"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_list_text_warchive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_map_text_warchive" result="success"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="success"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="success"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="success"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="success"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="success"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="success"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="success"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_nvp_text_warchive" result="success"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_object_text_warchive" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="success"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_recursion_text_warchive" result="success"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_registered_text_warchive" result="success"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_registered_xml_warchive" result="success"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="success"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="success"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_split_text_warchive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="success"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="success"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="success"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_void_cast" result="success"/></library>
+<library name="signals"><test-result test-name="dead_slot_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="signal_test" result="success"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="get_deleter_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/></library>
+<library name="spirit"><test-result test-name="action_tests" result="fail"/><test-result test-name="action_tests_debug" result="fail"/><test-result test-name="ast_calc_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="closure_tests" result="success"/><test-result test-name="closure_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="fail"/><test-result test-name="escape_char_parser_tests_debug" result="fail"/><test-result test-name="exception_tests" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="for_tests" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="multi_pass_compile_tests" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="repeat_ast_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/></library>
+<library name="static_assert"><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test" result="success"/><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/></library>
+<library name="test"><test-result test-name="algorithms_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="test_case_template_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="token_iterator_test" result="fail"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="thread"><test-result test-name="test_barrier" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_tss_lib" result="success"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_xtime_lib" result="success"/></library>
+<library name="type_traits"><test-result test-name="add_const_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="is_abstract_test" result="success"/><test-result test-name="is_arithmetic_test" result="fail"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="is_fundamental_test" result="fail"/><test-result test-name="is_integral_test" result="fail"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="is_union_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="udt_specialisations" result="success"/></library>
+<library name="utility"><test-result test-name="addressof_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="next_prior_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_reference_test" result="fail"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="config"><test-result test-name="abi_test" result="success"/><test-result test-name="config_info" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="config_test" result="fail"/><test-result test-name="limits_test" result="fail"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/></library>
+<library name="lambda"><test-result test-name="algorithm_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="bll_and_function" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="control" result="success"/><test-result test-name="debug" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="list" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="tuple" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_test" result="success"/><test-result test-name="integer_traits_test" result="fail"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="rational"><test-result test-name="rational_example" result="success"/><test-result test-name="rational_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="fail"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+</toolset><toolset name="iw-7_1-vc6-stlp-4_5_3"><library name="algorithm/minmax"><test-result test-name="minmax" result="success"/><test-result test-name="minmax_element" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="container" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="find" result="success"/><test-result test-name="predicate" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="trim" result="success"/></library>
+<library name="assign"><test-result test-name="array" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="email_example" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="multi_index_container" result="success"/><test-result test-name="my_vector_example" result="success"/><test-result test-name="std" result="success"/></library>
+<library name="bind"><test-result test-name="bind_const_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="bind_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="date_time"><test-result test-name="testclock" result="fail"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testc_local_adjustor" result="fail"/><test-result test-name="testdate" result="fail"/><test-result test-name="testdate_dll" result="fail"/><test-result test-name="testdate_duration" result="fail"/><test-result test-name="testdate_duration_dll" result="fail"/><test-result test-name="testdate_iterator" result="fail"/><test-result test-name="testdate_iterator_dll" result="fail"/><test-result test-name="testdst_rules" result="fail"/><test-result test-name="testduration" result="fail"/><test-result test-name="testfacet" result="fail"/><test-result test-name="testfacet_dll" result="fail"/><test-result test-name="testfiletime_functions" result="fail"/><test-result test-name="testformatters" result="fail"/><test-result test-name="testformatters_dll" result="fail"/><test-result test-name="testgenerators" result="fail"/><test-result test-name="testgenerators_dll" result="fail"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_cal" result="fail"/><test-result test-name="testgreg_cal_dll" result="fail"/><test-result test-name="testgreg_day" result="fail"/><test-result test-name="testgreg_day_dll" result="fail"/><test-result test-name="testgreg_durations" result="fail"/><test-result test-name="testgreg_duration_operators" result="fail"/><test-result test-name="testgreg_month" result="fail"/><test-result test-name="testgreg_month_dll" result="fail"/><test-result test-name="testgreg_wstream" result="fail"/><test-result test-name="testgreg_year" result="fail"/><test-result test-name="testgreg_year_dll" result="fail"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testiterator" result="fail"/><test-result test-name="testlocal_adjustor" result="fail"/><test-result test-name="testmicrosec_time_clock" result="fail"/><test-result test-name="testparse_date" result="fail"/><test-result test-name="testparse_time" result="fail"/><test-result test-name="testperiod" result="fail"/><test-result test-name="testperiod_dll" result="fail"/><test-result test-name="teststreams" result="fail"/><test-result test-name="testtime" result="fail"/><test-result test-name="testtime_formatters" result="fail"/><test-result test-name="testtime_period" result="fail"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testtime_wstream" result="fail"/><test-result test-name="testtime_wstream_std_config" result="fail"/><test-result test-name="testwrapping_int" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="filesystem"><test-result test-name="convenience_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="fail"/><test-result test-name="format_test3" result="fail"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="function"><test-result test-name="allocator_test" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="function_30" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="sum_avg_portable" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="fail"/><test-result test-name="bfs" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="layout_test" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="vector_graph_cc" result="success"/></library>
+<library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="fail"/></library>
+<library name="iterator"><test-result test-name="concept_tests" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="interoperable_fail" result="success"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="iterator_traits_test" result="success"/><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="zip_iterator_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/><test-result test-name="tribool_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="octonion_test" result="fail"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="quaternion_test" result="fail"/><test-result test-name="special_functions_test" result="fail"/></library>
+<library name="mpl"><test-result test-name="advance" result="success"/><test-result test-name="always" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="back" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="count" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="front" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="if" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="int" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="lambda_args" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="map" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="next" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="partition" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="set" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="size" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="zip_view" result="success"/></library>
+<library name="multi_array"><test-result test-name="access" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_criterator" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="storage_order" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_basic" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_update" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="udt_support_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="add" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="cmp_lex" result="success"/><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="det" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="test_float" result="fail"/></library>
+<library name="numeric/ublas"><test-result test-name="concepts" result="success"/><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_tie" result="success"/></library>
+<library name="program_options"><test-result test-name="cmdline_test" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="options_description_test_dll" result="success"/><test-result test-name="parsers_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="unicode_test" result="fail"/><test-result test-name="unicode_test_dll" result="fail"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="variable_map_test_dll" result="success"/><test-result test-name="winmain" result="success"/><test-result test-name="winmain_dll" result="success"/></library>
+<library name="python"><test-result test-name="args" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="list" result="success"/><test-result test-name="long" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="nested" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="object" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="result" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="select_from_python_test" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="str" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="virtual_functions" result="success"/></library>
+<library name="random"><test-result test-name="random_demo" result="success"/><test-result test-name="random_test" result="fail"/></library>
+<library name="range"><test-result test-name="array_test" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="string_test" result="success"/><test-result test-name="sub_range" result="fail"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="captures_example" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="regex_grep_example_2" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/></library>
+<library name="serialization"><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_array_text_warchive" result="fail"/><test-result test-name="test_array_xml_archive" result="fail"/><test-result test-name="test_array_xml_warchive" result="fail"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_binary_text_warchive" result="fail"/><test-result test-name="test_binary_xml_archive" result="fail"/><test-result test-name="test_binary_xml_warchive" result="fail"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="fail"/><test-result test-name="test_class_info_load_xml_archive" result="fail"/><test-result test-name="test_class_info_load_xml_warchive" result="fail"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="fail"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="fail"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_const" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="fail"/><test-result test-name="test_contained_class_xml_archive" result="fail"/><test-result test-name="test_contained_class_xml_warchive" result="fail"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="fail"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_warchive" result="fail"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="fail"/><test-result test-name="test_delete_pointer_xml_archive" result="fail"/><test-result test-name="test_delete_pointer_xml_warchive" result="fail"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_demo_xml" result="fail"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_deque_text_warchive" result="fail"/><test-result test-name="test_deque_xml_archive" result="fail"/><test-result test-name="test_deque_xml_warchive" result="fail"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="fail"/><test-result test-name="test_derived_class_ptr_xml_archive" result="fail"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="fail"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="fail"/><test-result test-name="test_derived_class_xml_archive" result="fail"/><test-result test-name="test_derived_class_xml_warchive" result="fail"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="fail"/><test-result test-name="test_derived_xml_archive" result="fail"/><test-result test-name="test_derived_xml_warchive" result="fail"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="fail"/><test-result test-name="test_diamond_xml_archive" result="fail"/><test-result test-name="test_diamond_xml_warchive" result="fail"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_exported_text_warchive" result="fail"/><test-result test-name="test_exported_xml_archive" result="fail"/><test-result test-name="test_exported_xml_warchive" result="fail"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="fail"/><test-result test-name="test_list_ptrs_xml_archive" result="fail"/><test-result test-name="test_list_ptrs_xml_warchive" result="fail"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_list_text_warchive" result="fail"/><test-result test-name="test_list_xml_archive" result="fail"/><test-result test-name="test_list_xml_warchive" result="fail"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_map_text_warchive" result="fail"/><test-result test-name="test_map_xml_archive" result="fail"/><test-result test-name="test_map_xml_warchive" result="fail"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="fail"/><test-result test-name="test_mi_xml_archive" result="fail"/><test-result test-name="test_mi_xml_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_xml_archive" result="fail"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="fail"/><test-result test-name="test_mult_archive_types" result="fail"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor2_xml_archive" result="fail"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="fail"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor_xml_archive" result="fail"/><test-result test-name="test_non_default_ctor_xml_warchive" result="fail"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="fail"/><test-result test-name="test_non_intrusive_xml_archive" result="fail"/><test-result test-name="test_non_intrusive_xml_warchive" result="fail"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="fail"/><test-result test-name="test_no_rtti_xml_archive" result="fail"/><test-result test-name="test_no_rtti_xml_warchive" result="fail"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="fail"/><test-result test-name="test_null_ptr_xml_archive" result="fail"/><test-result test-name="test_null_ptr_xml_warchive" result="fail"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_nvp_text_warchive" result="fail"/><test-result test-name="test_nvp_xml_archive" result="fail"/><test-result test-name="test_nvp_xml_warchive" result="fail"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_object_text_warchive" result="fail"/><test-result test-name="test_object_xml_archive" result="fail"/><test-result test-name="test_object_xml_warchive" result="fail"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="fail"/><test-result test-name="test_optional_xml_archive" result="fail"/><test-result test-name="test_optional_xml_warchive" result="fail"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="fail"/><test-result test-name="test_polymorphic_xml_archive" result="fail"/><test-result test-name="test_polymorphic_xml_warchive" result="fail"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="fail"/><test-result test-name="test_primitive_xml_archive" result="fail"/><test-result test-name="test_primitive_xml_warchive" result="fail"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_recursion_text_warchive" result="fail"/><test-result test-name="test_recursion_xml_archive" result="fail"/><test-result test-name="test_recursion_xml_warchive" result="fail"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_registered_text_warchive" result="fail"/><test-result test-name="test_registered_xml_archive" result="fail"/><test-result test-name="test_registered_xml_warchive" result="fail"/><test-result test-name="test_set_binary_archive" result="fail"/><test-result test-name="test_set_text_archive" result="fail"/><test-result test-name="test_set_text_warchive" result="fail"/><test-result test-name="test_set_xml_archive" result="fail"/><test-result test-name="test_set_xml_warchive" result="fail"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="fail"/><test-result test-name="test_shared_ptr_xml_archive" result="fail"/><test-result test-name="test_shared_ptr_xml_warchive" result="fail"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="fail"/><test-result test-name="test_simple_class_ptr_xml_archive" result="fail"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="fail"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="fail"/><test-result test-name="test_simple_class_xml_archive" result="fail"/><test-result test-name="test_simple_class_xml_warchive" result="fail"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_split_text_warchive" result="fail"/><test-result test-name="test_split_xml_archive" result="fail"/><test-result test-name="test_split_xml_warchive" result="fail"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="fail"/><test-result test-name="test_tracking_xml_archive" result="fail"/><test-result test-name="test_tracking_xml_warchive" result="fail"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="fail"/><test-result test-name="test_unregistered_xml_archive" result="fail"/><test-result test-name="test_unregistered_xml_warchive" result="fail"/><test-result test-name="test_utf8_codecvt" result="fail"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="fail"/><test-result test-name="test_vector_xml_archive" result="fail"/><test-result test-name="test_vector_xml_warchive" result="fail"/><test-result test-name="test_void_cast" result="success"/></library>
+<library name="signals"><test-result test-name="dead_slot_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="signal_test" result="success"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="get_deleter_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/></library>
+<library name="spirit"><test-result test-name="action_tests" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="ast_calc_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="closure_tests" result="success"/><test-result test-name="closure_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="for_tests" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="multi_pass_compile_tests" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="repeat_ast_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/></library>
+<library name="static_assert"><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test" result="success"/><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/></library>
+<library name="test"><test-result test-name="algorithms_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="test_case_template_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="thread"><test-result test-name="test_barrier" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_tss_lib" result="success"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_xtime_lib" result="success"/></library>
+<library name="type_traits"><test-result test-name="add_const_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="is_abstract_test" result="success"/><test-result test-name="is_arithmetic_test" result="fail"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="is_fundamental_test" result="fail"/><test-result test-name="is_integral_test" result="fail"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="is_union_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="udt_specialisations" result="success"/></library>
+<library name="utility"><test-result test-name="addressof_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="next_prior_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_reference_test" result="fail"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="config"><test-result test-name="abi_test" result="success"/><test-result test-name="config_info" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="config_test" result="success"/><test-result test-name="limits_test" result="fail"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/></library>
+<library name="lambda"><test-result test-name="algorithm_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="bll_and_function" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="control" result="success"/><test-result test-name="debug" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="list" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="tuple" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_test" result="success"/><test-result test-name="integer_traits_test" result="fail"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="rational"><test-result test-name="rational_example" result="success"/><test-result test-name="rational_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+</toolset><toolset name="msvc"><library name="algorithm/minmax"><test-result test-name="minmax" result="success"/><test-result test-name="minmax_element" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="container" result="fail"/><test-result test-name="conv" result="fail"/><test-result test-name="find" result="fail"/><test-result test-name="predicate" result="fail"/><test-result test-name="regex" result="fail"/><test-result test-name="replace" result="fail"/><test-result test-name="split" result="fail"/><test-result test-name="trim" result="fail"/></library>
+<library name="assign"><test-result test-name="array" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="email_example" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="multi_index_container" result="fail"/><test-result test-name="my_vector_example" result="success"/><test-result test-name="std" result="success"/></library>
+<library name="bind"><test-result test-name="bind_const_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="bind_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="date_time"><test-result test-name="testclock" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testfacet" result="fail"/><test-result test-name="testfacet_dll" result="fail"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_cal" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testgreg_wstream" result="fail"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testparse_date" result="fail"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="teststreams" result="fail"/><test-result test-name="testtime" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testtime_wstream" result="fail"/><test-result test-name="testtime_wstream_std_config" result="fail"/><test-result test-name="testwrapping_int" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="filesystem"><test-result test-name="convenience_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="function"><test-result test-name="allocator_test" result="fail"/><test-result test-name="contains_test" result="fail"/><test-result test-name="function_30" result="success"/><test-result test-name="function_arith_cxx98" result="fail"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_ref_cxx98" result="fail"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="lambda_test" result="fail"/><test-result test-name="lib_function_test" result="fail"/><test-result test-name="mem_fun_cxx98" result="fail"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="std_bind_cxx98" result="fail"/><test-result test-name="std_bind_portable" result="fail"/><test-result test-name="sum_avg_cxx98" result="fail"/><test-result test-name="sum_avg_portable" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="fail"/><test-result test-name="adj_list_cc" result="fail"/><test-result test-name="adj_matrix_cc" result="fail"/><test-result test-name="betweenness_centrality_test" result="fail"/><test-result test-name="bfs" result="fail"/><test-result test-name="bfs_cc" result="fail"/><test-result test-name="bundled_properties" result="fail"/><test-result test-name="copy" result="fail"/><test-result test-name="dfs" result="fail"/><test-result test-name="dfs_cc" result="fail"/><test-result test-name="dijkstra_cc" result="fail"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="filtered_graph_cc" result="fail"/><test-result test-name="graph" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="isomorphism" result="fail"/><test-result test-name="layout_test" result="fail"/><test-result test-name="property_iter" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="subgraph" result="fail"/><test-result test-name="transitive_closure_test" result="fail"/><test-result test-name="vector_graph_cc" result="fail"/></library>
+<library name="io"><test-result test-name="ios_state_test" result="fail"/><test-result test-name="ios_state_unit_test" result="fail"/></library>
+<library name="iterator"><test-result test-name="concept_tests" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="interoperable_fail" result="success"/><test-result test-name="is_convertible_fail" result="fail"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="iterator_traits_test" result="success"/><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="zip_iterator_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/><test-result test-name="tribool_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="octonion_test" result="fail"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="quaternion_test" result="fail"/><test-result test-name="special_functions_test" result="fail"/></library>
+<library name="mpl"><test-result test-name="advance" result="success"/><test-result test-name="always" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="back" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="count" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="front" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="if" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="int" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="lambda_args" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="map" result="fail"/><test-result test-name="max_element" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="next" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="partition" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="quote" result="fail"/><test-result test-name="range_c" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="set" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="size" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="zip_view" result="success"/></library>
+<library name="multi_array"><test-result test-name="access" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_criterator" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="storage_order" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_basic" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_update" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="converter_test" result="fail"/><test-result test-name="numeric_cast_test" result="fail"/><test-result test-name="traits_test" result="success"/><test-result test-name="udt_support_test" result="fail"/></library>
+<library name="numeric/interval"><test-result test-name="add" result="fail"/><test-result test-name="cmp" result="fail"/><test-result test-name="cmp_exn" result="fail"/><test-result test-name="cmp_exp" result="fail"/><test-result test-name="cmp_lex" result="fail"/><test-result test-name="cmp_set" result="fail"/><test-result test-name="cmp_tribool" result="fail"/><test-result test-name="det" result="fail"/><test-result test-name="fmod" result="fail"/><test-result test-name="integer" result="fail"/><test-result test-name="mul" result="fail"/><test-result test-name="overflow" result="fail"/><test-result test-name="pi" result="fail"/><test-result test-name="pow" result="fail"/><test-result test-name="test_float" result="fail"/></library>
+<library name="numeric/ublas"><test-result test-name="concepts" result="success"/><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_ref" result="fail"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_tie" result="success"/></library>
+<library name="program_options"><test-result test-name="cmdline_test" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="options_description_test_dll" result="fail"/><test-result test-name="parsers_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="unicode_test" result="fail"/><test-result test-name="unicode_test_dll" result="fail"/><test-result test-name="variable_map_test" result="fail"/><test-result test-name="variable_map_test_dll" result="fail"/><test-result test-name="winmain" result="success"/><test-result test-name="winmain_dll" result="success"/></library>
+<library name="python"><test-result test-name="args" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="list" result="success"/><test-result test-name="long" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="nested" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="object" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="result" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="select_from_python_test" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="str" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="virtual_functions" result="success"/></library>
+<library name="random"><test-result test-name="random_demo" result="fail"/><test-result test-name="random_test" result="fail"/></library>
+<library name="range"><test-result test-name="array_test" result="fail"/><test-result test-name="const_ranges" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="string_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="captures_example" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="regex_grep_example_2" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="fail"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/></library>
+<library name="serialization"><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_array_text_warchive" result="success"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_array_xml_warchive" result="success"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_binary_text_warchive" result="success"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="fail"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="success"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_const" result="fail"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_demo" result="fail"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_demo_exception" result="fail"/><test-result test-name="test_demo_fast_archive" result="fail"/><test-result test-name="test_demo_pimpl" result="fail"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_demo_portable_archive" result="fail"/><test-result test-name="test_demo_shared_ptr" result="fail"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_demo_xml_load" result="fail"/><test-result test-name="test_demo_xml_save" result="fail"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_deque_text_warchive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="success"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_diamond_binary_archive" result="fail"/><test-result test-name="test_diamond_text_archive" result="fail"/><test-result test-name="test_diamond_text_warchive" result="fail"/><test-result test-name="test_diamond_xml_archive" result="fail"/><test-result test-name="test_diamond_xml_warchive" result="fail"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_exported_text_warchive" result="success"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_list_text_warchive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_map_binary_archive" result="fail"/><test-result test-name="test_map_text_archive" result="fail"/><test-result test-name="test_map_text_warchive" result="fail"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_mi_binary_archive" result="fail"/><test-result test-name="test_mi_text_archive" result="fail"/><test-result test-name="test_mi_text_warchive" result="fail"/><test-result test-name="test_mi_xml_archive" result="fail"/><test-result test-name="test_mi_xml_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_mult_archive_types" result="fail"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="success"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="success"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="success"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="success"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="success"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_nvp_text_warchive" result="success"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_object_text_warchive" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="success"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_recursion_text_warchive" result="success"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_registered_text_warchive" result="success"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_registered_xml_warchive" result="success"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="success"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="success"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_split_text_warchive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="success"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="success"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="success"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_void_cast" result="fail"/></library>
+<library name="signals"><test-result test-name="dead_slot_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="signal_test" result="fail"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="get_deleter_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/></library>
+<library name="spirit"><test-result test-name="action_tests" result="fail"/><test-result test-name="action_tests_debug" result="fail"/><test-result test-name="ast_calc_tests" result="fail"/><test-result test-name="ast_calc_tests_debug" result="fail"/><test-result test-name="bug_000008" result="fail"/><test-result test-name="bug_fixes" result="fail"/><test-result test-name="bug_fixes_debug" result="fail"/><test-result test-name="chset_tests" result="fail"/><test-result test-name="chset_tests_debug" result="fail"/><test-result test-name="closure_tests" result="fail"/><test-result test-name="closure_tests_debug" result="fail"/><test-result test-name="confix_tests" result="fail"/><test-result test-name="confix_tests_debug" result="fail"/><test-result test-name="directives_tests" result="fail"/><test-result test-name="directives_tests_debug" result="fail"/><test-result test-name="distinct_tests" result="fail"/><test-result test-name="distinct_tests_debug" result="fail"/><test-result test-name="epsilon_tests" result="fail"/><test-result test-name="epsilon_tests_debug" result="fail"/><test-result test-name="escape_char_parser_tests" result="fail"/><test-result test-name="escape_char_parser_tests_debug" result="fail"/><test-result test-name="exception_tests" result="fail"/><test-result test-name="exception_tests_debug" result="fail"/><test-result test-name="file_iterator_tests" result="fail"/><test-result test-name="file_iterator_tests_debug" result="fail"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="for_p_as_parser_tests" result="fail"/><test-result test-name="for_tests" result="fail"/><test-result test-name="for_tests_debug" result="fail"/><test-result test-name="fundamental_tests" result="fail"/><test-result test-name="fundamental_tests_debug" result="fail"/><test-result test-name="grammar_mt_tests" result="fail"/><test-result test-name="grammar_multi_instance_tst" result="fail"/><test-result test-name="grammar_multi_instance_tst_debug" result="fail"/><test-result test-name="grammar_tests" result="fail"/><test-result test-name="grammar_tests_debug" result="fail"/><test-result test-name="if_p_as_parser_tests" result="fail"/><test-result test-name="if_tests" result="fail"/><test-result test-name="if_tests_debug" result="fail"/><test-result test-name="lazy_tests" result="fail"/><test-result test-name="lazy_tests_debug" result="fail"/><test-result test-name="loops_tests" result="fail"/><test-result test-name="loops_tests_debug" result="fail"/><test-result test-name="match_tests" result="fail"/><test-result test-name="match_tests_debug" result="fail"/><test-result test-name="multi_pass_compile_tests" result="fail"/><test-result test-name="multi_pass_tests" result="fail"/><test-result test-name="multi_pass_tests_debug" result="fail"/><test-result test-name="negated_eps_p_test" result="fail"/><test-result test-name="negated_eps_p_test_debug" result="fail"/><test-result test-name="numerics_tests" result="fail"/><test-result test-name="numerics_tests_debug" result="fail"/><test-result test-name="operators_tests" result="fail"/><test-result test-name="operators_tests_debug" result="fail"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="parametric_tests" result="fail"/><test-result test-name="parametric_tests_debug" result="fail"/><test-result test-name="parser_context_test" result="fail"/><test-result test-name="parser_context_test_debug" result="fail"/><test-result test-name="parser_traits_tests" result="fail"/><test-result test-name="parser_traits_tests_debug" result="fail"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="primitives_tests" result="fail"/><test-result test-name="primitives_tests_debug" result="fail"/><test-result test-name="repeat_ast_tests" result="fail"/><test-result test-name="repeat_ast_tests_debug" result="fail"/><test-result test-name="rule_tests" result="fail"/><test-result test-name="rule_tests_debug" result="fail"/><test-result test-name="scanner_tests" result="fail"/><test-result test-name="scanner_tests_debug" result="fail"/><test-result test-name="scoped_lock_tests" result="fail"/><test-result test-name="scoped_lock_tests_debug" result="fail"/><test-result test-name="select_p_with_rule" result="fail"/><test-result test-name="select_p_with_rule_debug" result="fail"/><test-result test-name="sf_bug_720917" result="fail"/><test-result test-name="sf_bug_720917_debug" result="fail"/><test-result test-name="shortest_alternative_tests" result="fail"/><test-result test-name="shortest_alternative_tests_debug" result="fail"/><test-result test-name="subrule_tests" result="fail"/><test-result test-name="subrule_tests_debug" result="fail"/><test-result test-name="switch_problem" result="fail"/><test-result test-name="switch_problem_debug" result="fail"/><test-result test-name="switch_tests_eps_default" result="fail"/><test-result test-name="switch_tests_eps_default_debug" result="fail"/><test-result test-name="switch_tests_general_def" result="fail"/><test-result test-name="switch_tests_general_def_debug" result="fail"/><test-result test-name="switch_tests_single" result="fail"/><test-result test-name="switch_tests_single_debug" result="fail"/><test-result test-name="switch_tests_wo_default" result="fail"/><test-result test-name="switch_tests_wo_default_debug" result="fail"/><test-result test-name="symbols_tests" result="fail"/><test-result test-name="symbols_tests_debug" result="fail"/><test-result test-name="traverse_tests" result="fail"/><test-result test-name="traverse_tests_debug" result="fail"/><test-result test-name="while_p_as_parser_tests" result="fail"/><test-result test-name="while_tests" result="fail"/><test-result test-name="while_tests_debug" result="fail"/></library>
+<library name="static_assert"><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_example_3" result="fail"/><test-result test-name="static_assert_test" result="success"/><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/></library>
+<library name="test"><test-result test-name="algorithms_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="fail"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="test_case_template_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="token_iterator_test" result="fail"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="thread"><test-result test-name="test_barrier" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_tss_lib" result="success"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_xtime_lib" result="success"/></library>
+<library name="type_traits"><test-result test-name="add_const_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="function_traits_test" result="fail"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="is_abstract_test" result="fail"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="is_array_test" result="fail"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_const_test" result="fail"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="is_empty_test" result="fail"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_reference_test" result="fail"/><test-result test-name="is_same_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="is_union_test" result="fail"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_volatile_test" result="fail"/><test-result test-name="remove_bounds_test" result="fail"/><test-result test-name="remove_const_test" result="fail"/><test-result test-name="remove_cv_test" result="fail"/><test-result test-name="remove_pointer_test" result="fail"/><test-result test-name="remove_reference_test" result="fail"/><test-result test-name="remove_volatile_test" result="fail"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="fail"/><test-result test-name="tricky_function_type_test" result="fail"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="tricky_is_enum_test" result="fail"/><test-result test-name="tricky_partial_spec_test" result="fail"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="udt_specialisations" result="success"/></library>
+<library name="utility"><test-result test-name="addressof_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="iterators_test" result="fail"/><test-result test-name="next_prior_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="result_of_test" result="fail"/><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="value_init_test" result="fail"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="fail"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_reference_test" result="fail"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="config"><test-result test-name="abi_test" result="success"/><test-result test-name="config_info" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="config_test" result="success"/><test-result test-name="limits_test" result="fail"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/></library>
+<library name="lambda"><test-result test-name="algorithm_test" result="fail"/><test-result test-name="bind_tests_advanced" result="fail"/><test-result test-name="bind_tests_simple" result="fail"/><test-result test-name="bind_tests_simple_f_refs" result="fail"/><test-result test-name="bll_and_function" result="fail"/><test-result test-name="constructor_tests" result="fail"/><test-result test-name="control_structures" result="fail"/><test-result test-name="exception_test" result="fail"/><test-result test-name="extending_rt_traits" result="fail"/><test-result test-name="is_instance_of_test" result="fail"/><test-result test-name="lambda_cast_test" result="fail"/><test-result test-name="member_pointer_test" result="fail"/><test-result test-name="operator_tests_simple" result="fail"/><test-result test-name="phoenix_control_structures" result="fail"/><test-result test-name="switch_construct" result="fail"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="control" result="success"/><test-result test-name="debug" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="list" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="tuple" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="fail"/><test-result test-name="array4" result="fail"/><test-result test-name="array5" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="class_concept_fail_expected" result="fail"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="rational"><test-result test-name="rational_example" result="success"/><test-result test-name="rational_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="fail"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+</toolset><toolset name="vc-6_5"><library name="algorithm/minmax"><test-result test-name="minmax" result="success"/><test-result test-name="minmax_element" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="container" result="fail"/><test-result test-name="conv" result="fail"/><test-result test-name="find" result="fail"/><test-result test-name="predicate" result="fail"/><test-result test-name="regex" result="fail"/><test-result test-name="replace" result="fail"/><test-result test-name="split" result="fail"/><test-result test-name="trim" result="fail"/></library>
+<library name="assign"><test-result test-name="array" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="email_example" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="multi_index_container" result="fail"/><test-result test-name="my_vector_example" result="success"/><test-result test-name="std" result="success"/></library>
+<library name="bind"><test-result test-name="bind_const_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="bind_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="date_time"><test-result test-name="testclock" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testfacet" result="fail"/><test-result test-name="testfacet_dll" result="fail"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_cal" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testgreg_wstream" result="fail"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testparse_date" result="fail"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="teststreams" result="fail"/><test-result test-name="testtime" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testtime_wstream" result="fail"/><test-result test-name="testtime_wstream_std_config" result="fail"/><test-result test-name="testwrapping_int" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="filesystem"><test-result test-name="convenience_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="function"><test-result test-name="allocator_test" result="fail"/><test-result test-name="contains_test" result="fail"/><test-result test-name="function_30" result="success"/><test-result test-name="function_arith_cxx98" result="fail"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_ref_cxx98" result="fail"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="lambda_test" result="fail"/><test-result test-name="lib_function_test" result="fail"/><test-result test-name="mem_fun_cxx98" result="fail"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="std_bind_cxx98" result="fail"/><test-result test-name="std_bind_portable" result="fail"/><test-result test-name="sum_avg_cxx98" result="fail"/><test-result test-name="sum_avg_portable" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="fail"/><test-result test-name="adj_list_cc" result="fail"/><test-result test-name="adj_matrix_cc" result="fail"/><test-result test-name="betweenness_centrality_test" result="fail"/><test-result test-name="bfs" result="fail"/><test-result test-name="bfs_cc" result="fail"/><test-result test-name="bundled_properties" result="fail"/><test-result test-name="copy" result="fail"/><test-result test-name="dfs" result="fail"/><test-result test-name="dfs_cc" result="fail"/><test-result test-name="dijkstra_cc" result="fail"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="filtered_graph_cc" result="fail"/><test-result test-name="graph" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="isomorphism" result="fail"/><test-result test-name="layout_test" result="fail"/><test-result test-name="property_iter" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="subgraph" result="fail"/><test-result test-name="transitive_closure_test" result="fail"/><test-result test-name="vector_graph_cc" result="fail"/></library>
+<library name="io"><test-result test-name="ios_state_test" result="fail"/><test-result test-name="ios_state_unit_test" result="fail"/></library>
+<library name="iterator"><test-result test-name="concept_tests" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="interoperable_fail" result="success"/><test-result test-name="is_convertible_fail" result="fail"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="iterator_traits_test" result="success"/><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="zip_iterator_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/><test-result test-name="tribool_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="octonion_test" result="fail"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="quaternion_test" result="fail"/><test-result test-name="special_functions_test" result="fail"/></library>
+<library name="mpl"><test-result test-name="advance" result="success"/><test-result test-name="always" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="back" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="count" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="front" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="if" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="int" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="lambda_args" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="map" result="fail"/><test-result test-name="max_element" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="next" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="partition" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="quote" result="fail"/><test-result test-name="range_c" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="set" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="size" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="zip_view" result="success"/></library>
+<library name="multi_array"><test-result test-name="access" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_criterator" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="storage_order" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_basic" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_update" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="converter_test" result="fail"/><test-result test-name="numeric_cast_test" result="fail"/><test-result test-name="traits_test" result="success"/><test-result test-name="udt_support_test" result="fail"/></library>
+<library name="numeric/interval"><test-result test-name="add" result="fail"/><test-result test-name="cmp" result="fail"/><test-result test-name="cmp_exn" result="fail"/><test-result test-name="cmp_exp" result="fail"/><test-result test-name="cmp_lex" result="fail"/><test-result test-name="cmp_set" result="fail"/><test-result test-name="cmp_tribool" result="fail"/><test-result test-name="det" result="fail"/><test-result test-name="fmod" result="fail"/><test-result test-name="integer" result="fail"/><test-result test-name="mul" result="fail"/><test-result test-name="overflow" result="fail"/><test-result test-name="pi" result="fail"/><test-result test-name="pow" result="fail"/><test-result test-name="test_float" result="fail"/></library>
+<library name="numeric/ublas"><test-result test-name="concepts" result="success"/><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_ref" result="fail"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_tie" result="success"/></library>
+<library name="program_options"><test-result test-name="cmdline_test" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="options_description_test_dll" result="fail"/><test-result test-name="parsers_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="unicode_test" result="fail"/><test-result test-name="unicode_test_dll" result="fail"/><test-result test-name="variable_map_test" result="fail"/><test-result test-name="variable_map_test_dll" result="fail"/><test-result test-name="winmain" result="success"/><test-result test-name="winmain_dll" result="success"/></library>
+<library name="python"><test-result test-name="args" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="list" result="success"/><test-result test-name="long" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="nested" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="object" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="result" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="select_from_python_test" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="str" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="virtual_functions" result="success"/></library>
+<library name="random"><test-result test-name="random_demo" result="fail"/><test-result test-name="random_test" result="fail"/></library>
+<library name="range"><test-result test-name="array_test" result="fail"/><test-result test-name="const_ranges" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="string_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="captures_example" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="regex_grep_example_2" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="fail"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/></library>
+<library name="serialization"><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_array_text_warchive" result="success"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_array_xml_warchive" result="success"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_binary_text_warchive" result="success"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="fail"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="success"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_const" result="fail"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_demo" result="fail"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_demo_exception" result="fail"/><test-result test-name="test_demo_fast_archive" result="fail"/><test-result test-name="test_demo_pimpl" result="fail"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_demo_portable_archive" result="fail"/><test-result test-name="test_demo_shared_ptr" result="fail"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_demo_xml_load" result="fail"/><test-result test-name="test_demo_xml_save" result="fail"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_deque_text_warchive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="success"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_diamond_binary_archive" result="fail"/><test-result test-name="test_diamond_text_archive" result="fail"/><test-result test-name="test_diamond_text_warchive" result="fail"/><test-result test-name="test_diamond_xml_archive" result="fail"/><test-result test-name="test_diamond_xml_warchive" result="fail"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_exported_text_warchive" result="success"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_list_text_warchive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_map_binary_archive" result="fail"/><test-result test-name="test_map_text_archive" result="fail"/><test-result test-name="test_map_text_warchive" result="fail"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_mi_binary_archive" result="fail"/><test-result test-name="test_mi_text_archive" result="fail"/><test-result test-name="test_mi_text_warchive" result="fail"/><test-result test-name="test_mi_xml_archive" result="fail"/><test-result test-name="test_mi_xml_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_mult_archive_types" result="fail"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="success"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="success"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="success"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="success"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="success"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_nvp_text_warchive" result="success"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_object_text_warchive" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="success"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_recursion_text_warchive" result="success"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_registered_text_warchive" result="success"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_registered_xml_warchive" result="success"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="success"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="success"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_split_text_warchive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="success"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="success"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="success"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_void_cast" result="fail"/></library>
+<library name="signals"><test-result test-name="dead_slot_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="signal_test" result="fail"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="get_deleter_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/></library>
+<library name="spirit"><test-result test-name="action_tests" result="fail"/><test-result test-name="action_tests_debug" result="fail"/><test-result test-name="ast_calc_tests" result="fail"/><test-result test-name="ast_calc_tests_debug" result="fail"/><test-result test-name="bug_000008" result="fail"/><test-result test-name="bug_fixes" result="fail"/><test-result test-name="bug_fixes_debug" result="fail"/><test-result test-name="chset_tests" result="fail"/><test-result test-name="chset_tests_debug" result="fail"/><test-result test-name="closure_tests" result="fail"/><test-result test-name="closure_tests_debug" result="fail"/><test-result test-name="confix_tests" result="fail"/><test-result test-name="confix_tests_debug" result="fail"/><test-result test-name="directives_tests" result="fail"/><test-result test-name="directives_tests_debug" result="fail"/><test-result test-name="distinct_tests" result="fail"/><test-result test-name="distinct_tests_debug" result="fail"/><test-result test-name="epsilon_tests" result="fail"/><test-result test-name="epsilon_tests_debug" result="fail"/><test-result test-name="escape_char_parser_tests" result="fail"/><test-result test-name="escape_char_parser_tests_debug" result="fail"/><test-result test-name="exception_tests" result="fail"/><test-result test-name="exception_tests_debug" result="fail"/><test-result test-name="file_iterator_tests" result="fail"/><test-result test-name="file_iterator_tests_debug" result="fail"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="for_p_as_parser_tests" result="fail"/><test-result test-name="for_tests" result="fail"/><test-result test-name="for_tests_debug" result="fail"/><test-result test-name="fundamental_tests" result="fail"/><test-result test-name="fundamental_tests_debug" result="fail"/><test-result test-name="grammar_mt_tests" result="fail"/><test-result test-name="grammar_multi_instance_tst" result="fail"/><test-result test-name="grammar_multi_instance_tst_debug" result="fail"/><test-result test-name="grammar_tests" result="fail"/><test-result test-name="grammar_tests_debug" result="fail"/><test-result test-name="if_p_as_parser_tests" result="fail"/><test-result test-name="if_tests" result="fail"/><test-result test-name="if_tests_debug" result="fail"/><test-result test-name="lazy_tests" result="fail"/><test-result test-name="lazy_tests_debug" result="fail"/><test-result test-name="loops_tests" result="fail"/><test-result test-name="loops_tests_debug" result="fail"/><test-result test-name="match_tests" result="fail"/><test-result test-name="match_tests_debug" result="fail"/><test-result test-name="multi_pass_compile_tests" result="fail"/><test-result test-name="multi_pass_tests" result="fail"/><test-result test-name="multi_pass_tests_debug" result="fail"/><test-result test-name="negated_eps_p_test" result="fail"/><test-result test-name="negated_eps_p_test_debug" result="fail"/><test-result test-name="numerics_tests" result="fail"/><test-result test-name="numerics_tests_debug" result="fail"/><test-result test-name="operators_tests" result="fail"/><test-result test-name="operators_tests_debug" result="fail"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="parametric_tests" result="fail"/><test-result test-name="parametric_tests_debug" result="fail"/><test-result test-name="parser_context_test" result="fail"/><test-result test-name="parser_context_test_debug" result="fail"/><test-result test-name="parser_traits_tests" result="fail"/><test-result test-name="parser_traits_tests_debug" result="fail"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="primitives_tests" result="fail"/><test-result test-name="primitives_tests_debug" result="fail"/><test-result test-name="repeat_ast_tests" result="fail"/><test-result test-name="repeat_ast_tests_debug" result="fail"/><test-result test-name="rule_tests" result="fail"/><test-result test-name="rule_tests_debug" result="fail"/><test-result test-name="scanner_tests" result="fail"/><test-result test-name="scanner_tests_debug" result="fail"/><test-result test-name="scoped_lock_tests" result="fail"/><test-result test-name="scoped_lock_tests_debug" result="fail"/><test-result test-name="select_p_with_rule" result="fail"/><test-result test-name="select_p_with_rule_debug" result="fail"/><test-result test-name="sf_bug_720917" result="fail"/><test-result test-name="sf_bug_720917_debug" result="fail"/><test-result test-name="shortest_alternative_tests" result="fail"/><test-result test-name="shortest_alternative_tests_debug" result="fail"/><test-result test-name="subrule_tests" result="fail"/><test-result test-name="subrule_tests_debug" result="fail"/><test-result test-name="switch_problem" result="fail"/><test-result test-name="switch_problem_debug" result="fail"/><test-result test-name="switch_tests_eps_default" result="fail"/><test-result test-name="switch_tests_eps_default_debug" result="fail"/><test-result test-name="switch_tests_general_def" result="fail"/><test-result test-name="switch_tests_general_def_debug" result="fail"/><test-result test-name="switch_tests_single" result="fail"/><test-result test-name="switch_tests_single_debug" result="fail"/><test-result test-name="switch_tests_wo_default" result="fail"/><test-result test-name="switch_tests_wo_default_debug" result="fail"/><test-result test-name="symbols_tests" result="fail"/><test-result test-name="symbols_tests_debug" result="fail"/><test-result test-name="traverse_tests" result="fail"/><test-result test-name="traverse_tests_debug" result="fail"/><test-result test-name="while_p_as_parser_tests" result="fail"/><test-result test-name="while_tests" result="fail"/><test-result test-name="while_tests_debug" result="fail"/></library>
+<library name="static_assert"><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_example_3" result="fail"/><test-result test-name="static_assert_test" result="success"/><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/></library>
+<library name="test"><test-result test-name="algorithms_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="fail"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="test_case_template_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="token_iterator_test" result="fail"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="thread"><test-result test-name="test_barrier" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_tss_lib" result="success"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_xtime_lib" result="success"/></library>
+<library name="type_traits"><test-result test-name="add_const_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="function_traits_test" result="fail"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="is_abstract_test" result="fail"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="is_array_test" result="fail"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_const_test" result="fail"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="is_empty_test" result="fail"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_reference_test" result="fail"/><test-result test-name="is_same_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="is_union_test" result="fail"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_volatile_test" result="fail"/><test-result test-name="remove_bounds_test" result="fail"/><test-result test-name="remove_const_test" result="fail"/><test-result test-name="remove_cv_test" result="fail"/><test-result test-name="remove_pointer_test" result="fail"/><test-result test-name="remove_reference_test" result="fail"/><test-result test-name="remove_volatile_test" result="fail"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="fail"/><test-result test-name="tricky_function_type_test" result="fail"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="tricky_is_enum_test" result="fail"/><test-result test-name="tricky_partial_spec_test" result="fail"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="udt_specialisations" result="success"/></library>
+<library name="utility"><test-result test-name="addressof_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="iterators_test" result="fail"/><test-result test-name="next_prior_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="result_of_test" result="fail"/><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="value_init_test" result="fail"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="fail"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_reference_test" result="fail"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="config"><test-result test-name="abi_test" result="success"/><test-result test-name="config_info" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="config_test" result="success"/><test-result test-name="limits_test" result="fail"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/></library>
+<library name="lambda"><test-result test-name="algorithm_test" result="fail"/><test-result test-name="bind_tests_advanced" result="fail"/><test-result test-name="bind_tests_simple" result="fail"/><test-result test-name="bind_tests_simple_f_refs" result="fail"/><test-result test-name="bll_and_function" result="fail"/><test-result test-name="constructor_tests" result="fail"/><test-result test-name="control_structures" result="fail"/><test-result test-name="exception_test" result="fail"/><test-result test-name="extending_rt_traits" result="fail"/><test-result test-name="is_instance_of_test" result="fail"/><test-result test-name="lambda_cast_test" result="fail"/><test-result test-name="member_pointer_test" result="fail"/><test-result test-name="operator_tests_simple" result="fail"/><test-result test-name="phoenix_control_structures" result="fail"/><test-result test-name="switch_construct" result="fail"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="control" result="success"/><test-result test-name="debug" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="list" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="tuple" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="fail"/><test-result test-name="array4" result="fail"/><test-result test-name="array5" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="class_concept_fail_expected" result="fail"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="rational"><test-result test-name="rational_example" result="success"/><test-result test-name="rational_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="fail"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+</toolset><toolset name="vc-6_5-stlport"><library name="algorithm/minmax"><test-result test-name="minmax" result="success"/><test-result test-name="minmax_element" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="container" result="fail"/><test-result test-name="conv" result="fail"/><test-result test-name="find" result="fail"/><test-result test-name="predicate" result="fail"/><test-result test-name="regex" result="fail"/><test-result test-name="replace" result="fail"/><test-result test-name="split" result="fail"/><test-result test-name="trim" result="fail"/></library>
+<library name="assign"><test-result test-name="array" result="fail"/><test-result test-name="basic" result="success"/><test-result test-name="email_example" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="multi_index_container" result="fail"/><test-result test-name="my_vector_example" result="success"/><test-result test-name="std" result="success"/></library>
+<library name="bind"><test-result test-name="bind_const_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="bind_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="date_time"><test-result test-name="testclock" result="fail"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testc_local_adjustor" result="fail"/><test-result test-name="testdate" result="fail"/><test-result test-name="testdate_dll" result="fail"/><test-result test-name="testdate_duration" result="fail"/><test-result test-name="testdate_duration_dll" result="fail"/><test-result test-name="testdate_iterator" result="fail"/><test-result test-name="testdate_iterator_dll" result="fail"/><test-result test-name="testdst_rules" result="fail"/><test-result test-name="testduration" result="fail"/><test-result test-name="testfacet" result="fail"/><test-result test-name="testfacet_dll" result="fail"/><test-result test-name="testfiletime_functions" result="fail"/><test-result test-name="testformatters" result="fail"/><test-result test-name="testformatters_dll" result="fail"/><test-result test-name="testgenerators" result="fail"/><test-result test-name="testgenerators_dll" result="fail"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_cal" result="fail"/><test-result test-name="testgreg_cal_dll" result="fail"/><test-result test-name="testgreg_day" result="fail"/><test-result test-name="testgreg_day_dll" result="fail"/><test-result test-name="testgreg_durations" result="fail"/><test-result test-name="testgreg_duration_operators" result="fail"/><test-result test-name="testgreg_month" result="fail"/><test-result test-name="testgreg_month_dll" result="fail"/><test-result test-name="testgreg_wstream" result="fail"/><test-result test-name="testgreg_year" result="fail"/><test-result test-name="testgreg_year_dll" result="fail"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testiterator" result="fail"/><test-result test-name="testlocal_adjustor" result="fail"/><test-result test-name="testmicrosec_time_clock" result="fail"/><test-result test-name="testparse_date" result="fail"/><test-result test-name="testparse_time" result="fail"/><test-result test-name="testperiod" result="fail"/><test-result test-name="testperiod_dll" result="fail"/><test-result test-name="teststreams" result="fail"/><test-result test-name="testtime" result="fail"/><test-result test-name="testtime_formatters" result="fail"/><test-result test-name="testtime_period" result="fail"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testtime_wstream" result="fail"/><test-result test-name="testtime_wstream_std_config" result="fail"/><test-result test-name="testwrapping_int" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="fail"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="filesystem"><test-result test-name="convenience_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="function"><test-result test-name="allocator_test" result="fail"/><test-result test-name="contains_test" result="fail"/><test-result test-name="function_30" result="success"/><test-result test-name="function_arith_cxx98" result="fail"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_ref_cxx98" result="fail"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="lambda_test" result="fail"/><test-result test-name="lib_function_test" result="fail"/><test-result test-name="mem_fun_cxx98" result="fail"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="std_bind_cxx98" result="fail"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="sum_avg_cxx98" result="fail"/><test-result test-name="sum_avg_portable" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="fail"/><test-result test-name="adj_list_cc" result="fail"/><test-result test-name="adj_matrix_cc" result="fail"/><test-result test-name="betweenness_centrality_test" result="fail"/><test-result test-name="bfs" result="fail"/><test-result test-name="bfs_cc" result="fail"/><test-result test-name="bundled_properties" result="fail"/><test-result test-name="copy" result="fail"/><test-result test-name="dfs" result="fail"/><test-result test-name="dfs_cc" result="fail"/><test-result test-name="dijkstra_cc" result="fail"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="filtered_graph_cc" result="fail"/><test-result test-name="graph" result="fail"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="isomorphism" result="fail"/><test-result test-name="layout_test" result="fail"/><test-result test-name="property_iter" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="subgraph" result="fail"/><test-result test-name="transitive_closure_test" result="fail"/><test-result test-name="vector_graph_cc" result="fail"/></library>
+<library name="io"><test-result test-name="ios_state_test" result="fail"/><test-result test-name="ios_state_unit_test" result="fail"/></library>
+<library name="iterator"><test-result test-name="concept_tests" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="interoperable_fail" result="success"/><test-result test-name="is_convertible_fail" result="fail"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="iterator_traits_test" result="success"/><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="zip_iterator_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_io_test" result="fail"/><test-result test-name="tribool_rename_test" result="success"/><test-result test-name="tribool_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="octonion_test" result="fail"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="quaternion_test" result="fail"/><test-result test-name="special_functions_test" result="fail"/></library>
+<library name="mpl"><test-result test-name="advance" result="success"/><test-result test-name="always" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="back" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="count" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="front" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="if" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="int" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="lambda_args" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="map" result="fail"/><test-result test-name="max_element" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="next" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="partition" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="quote" result="fail"/><test-result test-name="range_c" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="set" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="size" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="zip_view" result="success"/></library>
+<library name="multi_array"><test-result test-name="access" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_criterator" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="storage_order" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_basic" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_update" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="converter_test" result="fail"/><test-result test-name="numeric_cast_test" result="fail"/><test-result test-name="traits_test" result="success"/><test-result test-name="udt_support_test" result="fail"/></library>
+<library name="numeric/interval"><test-result test-name="add" result="fail"/><test-result test-name="cmp" result="fail"/><test-result test-name="cmp_exn" result="fail"/><test-result test-name="cmp_exp" result="fail"/><test-result test-name="cmp_lex" result="fail"/><test-result test-name="cmp_set" result="fail"/><test-result test-name="cmp_tribool" result="fail"/><test-result test-name="det" result="fail"/><test-result test-name="fmod" result="fail"/><test-result test-name="integer" result="fail"/><test-result test-name="mul" result="fail"/><test-result test-name="overflow" result="fail"/><test-result test-name="pi" result="fail"/><test-result test-name="pow" result="fail"/><test-result test-name="test_float" result="fail"/></library>
+<library name="numeric/ublas"><test-result test-name="concepts" result="success"/><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_ref" result="fail"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_tie" result="success"/></library>
+<library name="program_options"><test-result test-name="cmdline_test" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="options_description_test_dll" result="success"/><test-result test-name="parsers_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="unicode_test" result="fail"/><test-result test-name="unicode_test_dll" result="fail"/><test-result test-name="variable_map_test" result="fail"/><test-result test-name="variable_map_test_dll" result="fail"/><test-result test-name="winmain" result="success"/><test-result test-name="winmain_dll" result="success"/></library>
+<library name="python"><test-result test-name="args" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="list" result="success"/><test-result test-name="long" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="nested" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="object" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="result" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="select_from_python_test" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="str" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="virtual_functions" result="success"/></library>
+<library name="random"><test-result test-name="random_demo" result="fail"/><test-result test-name="random_test" result="fail"/></library>
+<library name="range"><test-result test-name="array_test" result="fail"/><test-result test-name="const_ranges" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="iterator_range" result="fail"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="string_test" result="success"/><test-result test-name="sub_range" result="fail"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="captures_example" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="regex_grep_example_2" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/></library>
+<library name="serialization"><test-result test-name="test_array_binary_archive" result="fail"/><test-result test-name="test_array_text_archive" result="fail"/><test-result test-name="test_array_text_warchive" result="fail"/><test-result test-name="test_array_xml_archive" result="fail"/><test-result test-name="test_array_xml_warchive" result="fail"/><test-result test-name="test_binary_binary_archive" result="fail"/><test-result test-name="test_binary_text_archive" result="fail"/><test-result test-name="test_binary_text_warchive" result="fail"/><test-result test-name="test_binary_xml_archive" result="fail"/><test-result test-name="test_binary_xml_warchive" result="fail"/><test-result test-name="test_class_info_load_binary_archive" result="fail"/><test-result test-name="test_class_info_load_text_archive" result="fail"/><test-result test-name="test_class_info_load_text_warchive" result="fail"/><test-result test-name="test_class_info_load_xml_archive" result="fail"/><test-result test-name="test_class_info_load_xml_warchive" result="fail"/><test-result test-name="test_class_info_save_binary_archive" result="fail"/><test-result test-name="test_class_info_save_text_archive" result="fail"/><test-result test-name="test_class_info_save_text_warchive" result="fail"/><test-result test-name="test_class_info_save_xml_archive" result="fail"/><test-result test-name="test_class_info_save_xml_warchive" result="fail"/><test-result test-name="test_codecvt_null" result="fail"/><test-result test-name="test_const" result="fail"/><test-result test-name="test_contained_class_binary_archive" result="fail"/><test-result test-name="test_contained_class_text_archive" result="fail"/><test-result test-name="test_contained_class_text_warchive" result="fail"/><test-result test-name="test_contained_class_xml_archive" result="fail"/><test-result test-name="test_contained_class_xml_warchive" result="fail"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="fail"/><test-result test-name="test_cyclic_ptrs_text_archive" result="fail"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="fail"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="fail"/><test-result test-name="test_cyclic_ptrs_xml_warchive" result="fail"/><test-result test-name="test_delete_pointer_binary_archive" result="fail"/><test-result test-name="test_delete_pointer_text_archive" result="fail"/><test-result test-name="test_delete_pointer_text_warchive" result="fail"/><test-result test-name="test_delete_pointer_xml_archive" result="fail"/><test-result test-name="test_delete_pointer_xml_warchive" result="fail"/><test-result test-name="test_demo" result="fail"/><test-result test-name="test_demo_auto_ptr" result="fail"/><test-result test-name="test_demo_exception" result="fail"/><test-result test-name="test_demo_fast_archive" result="fail"/><test-result test-name="test_demo_pimpl" result="fail"/><test-result test-name="test_demo_polymorphic" result="fail"/><test-result test-name="test_demo_portable_archive" result="fail"/><test-result test-name="test_demo_shared_ptr" result="fail"/><test-result test-name="test_demo_xml" result="fail"/><test-result test-name="test_demo_xml_load" result="fail"/><test-result test-name="test_demo_xml_save" result="fail"/><test-result test-name="test_deque_binary_archive" result="fail"/><test-result test-name="test_deque_text_archive" result="fail"/><test-result test-name="test_deque_text_warchive" result="fail"/><test-result test-name="test_deque_xml_archive" result="fail"/><test-result test-name="test_deque_xml_warchive" result="fail"/><test-result test-name="test_derived_binary_archive" result="fail"/><test-result test-name="test_derived_class_binary_archive" result="fail"/><test-result test-name="test_derived_class_ptr_binary_archive" result="fail"/><test-result test-name="test_derived_class_ptr_text_archive" result="fail"/><test-result test-name="test_derived_class_ptr_text_warchive" result="fail"/><test-result test-name="test_derived_class_ptr_xml_archive" result="fail"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="fail"/><test-result test-name="test_derived_class_text_archive" result="fail"/><test-result test-name="test_derived_class_text_warchive" result="fail"/><test-result test-name="test_derived_class_xml_archive" result="fail"/><test-result test-name="test_derived_class_xml_warchive" result="fail"/><test-result test-name="test_derived_text_archive" result="fail"/><test-result test-name="test_derived_text_warchive" result="fail"/><test-result test-name="test_derived_xml_archive" result="fail"/><test-result test-name="test_derived_xml_warchive" result="fail"/><test-result test-name="test_diamond_binary_archive" result="fail"/><test-result test-name="test_diamond_text_archive" result="fail"/><test-result test-name="test_diamond_text_warchive" result="fail"/><test-result test-name="test_diamond_xml_archive" result="fail"/><test-result test-name="test_diamond_xml_warchive" result="fail"/><test-result test-name="test_exported_binary_archive" result="fail"/><test-result test-name="test_exported_text_archive" result="fail"/><test-result test-name="test_exported_text_warchive" result="fail"/><test-result test-name="test_exported_xml_archive" result="fail"/><test-result test-name="test_exported_xml_warchive" result="fail"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_list_binary_archive" result="fail"/><test-result test-name="test_list_ptrs_binary_archive" result="fail"/><test-result test-name="test_list_ptrs_text_archive" result="fail"/><test-result test-name="test_list_ptrs_text_warchive" result="fail"/><test-result test-name="test_list_ptrs_xml_archive" result="fail"/><test-result test-name="test_list_ptrs_xml_warchive" result="fail"/><test-result test-name="test_list_text_archive" result="fail"/><test-result test-name="test_list_text_warchive" result="fail"/><test-result test-name="test_list_xml_archive" result="fail"/><test-result test-name="test_list_xml_warchive" result="fail"/><test-result test-name="test_map_binary_archive" result="fail"/><test-result test-name="test_map_text_archive" result="fail"/><test-result test-name="test_map_text_warchive" result="fail"/><test-result test-name="test_map_xml_archive" result="fail"/><test-result test-name="test_map_xml_warchive" result="fail"/><test-result test-name="test_mi_binary_archive" result="fail"/><test-result test-name="test_mi_text_archive" result="fail"/><test-result test-name="test_mi_text_warchive" result="fail"/><test-result test-name="test_mi_xml_archive" result="fail"/><test-result test-name="test_mi_xml_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_binary_archive" result="fail"/><test-result test-name="test_multiple_ptrs_text_archive" result="fail"/><test-result test-name="test_multiple_ptrs_text_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_xml_archive" result="fail"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="fail"/><test-result test-name="test_mult_archive_types" result="fail"/><test-result test-name="test_non_default_ctor2_binary_archive" result="fail"/><test-result test-name="test_non_default_ctor2_text_archive" result="fail"/><test-result test-name="test_non_default_ctor2_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor2_xml_archive" result="fail"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="fail"/><test-result test-name="test_non_default_ctor_binary_archive" result="fail"/><test-result test-name="test_non_default_ctor_text_archive" result="fail"/><test-result test-name="test_non_default_ctor_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor_xml_archive" result="fail"/><test-result test-name="test_non_default_ctor_xml_warchive" result="fail"/><test-result test-name="test_non_intrusive_binary_archive" result="fail"/><test-result test-name="test_non_intrusive_text_archive" result="fail"/><test-result test-name="test_non_intrusive_text_warchive" result="fail"/><test-result test-name="test_non_intrusive_xml_archive" result="fail"/><test-result test-name="test_non_intrusive_xml_warchive" result="fail"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="fail"/><test-result test-name="test_no_rtti_text_archive" result="fail"/><test-result test-name="test_no_rtti_text_warchive" result="fail"/><test-result test-name="test_no_rtti_xml_archive" result="fail"/><test-result test-name="test_no_rtti_xml_warchive" result="fail"/><test-result test-name="test_null_ptr_binary_archive" result="fail"/><test-result test-name="test_null_ptr_text_archive" result="fail"/><test-result test-name="test_null_ptr_text_warchive" result="fail"/><test-result test-name="test_null_ptr_xml_archive" result="fail"/><test-result test-name="test_null_ptr_xml_warchive" result="fail"/><test-result test-name="test_nvp_binary_archive" result="fail"/><test-result test-name="test_nvp_text_archive" result="fail"/><test-result test-name="test_nvp_text_warchive" result="fail"/><test-result test-name="test_nvp_xml_archive" result="fail"/><test-result test-name="test_nvp_xml_warchive" result="fail"/><test-result test-name="test_object_binary_archive" result="fail"/><test-result test-name="test_object_text_archive" result="fail"/><test-result test-name="test_object_text_warchive" result="fail"/><test-result test-name="test_object_xml_archive" result="fail"/><test-result test-name="test_object_xml_warchive" result="fail"/><test-result test-name="test_optional_binary_archive" result="fail"/><test-result test-name="test_optional_text_archive" result="fail"/><test-result test-name="test_optional_text_warchive" result="fail"/><test-result test-name="test_optional_xml_archive" result="fail"/><test-result test-name="test_optional_xml_warchive" result="fail"/><test-result test-name="test_polymorphic_binary_archive" result="fail"/><test-result test-name="test_polymorphic_text_archive" result="fail"/><test-result test-name="test_polymorphic_text_warchive" result="fail"/><test-result test-name="test_polymorphic_xml_archive" result="fail"/><test-result test-name="test_polymorphic_xml_warchive" result="fail"/><test-result test-name="test_primitive_binary_archive" result="fail"/><test-result test-name="test_primitive_text_archive" result="fail"/><test-result test-name="test_primitive_text_warchive" result="fail"/><test-result test-name="test_primitive_xml_archive" result="fail"/><test-result test-name="test_primitive_xml_warchive" result="fail"/><test-result test-name="test_private_ctor" result="fail"/><test-result test-name="test_recursion_binary_archive" result="fail"/><test-result test-name="test_recursion_text_archive" result="fail"/><test-result test-name="test_recursion_text_warchive" result="fail"/><test-result test-name="test_recursion_xml_archive" result="fail"/><test-result test-name="test_recursion_xml_warchive" result="fail"/><test-result test-name="test_registered_binary_archive" result="fail"/><test-result test-name="test_registered_text_archive" result="fail"/><test-result test-name="test_registered_text_warchive" result="fail"/><test-result test-name="test_registered_xml_archive" result="fail"/><test-result test-name="test_registered_xml_warchive" result="fail"/><test-result test-name="test_set_binary_archive" result="fail"/><test-result test-name="test_set_text_archive" result="fail"/><test-result test-name="test_set_text_warchive" result="fail"/><test-result test-name="test_set_xml_archive" result="fail"/><test-result test-name="test_set_xml_warchive" result="fail"/><test-result test-name="test_shared_ptr_binary_archive" result="fail"/><test-result test-name="test_shared_ptr_text_archive" result="fail"/><test-result test-name="test_shared_ptr_text_warchive" result="fail"/><test-result test-name="test_shared_ptr_xml_archive" result="fail"/><test-result test-name="test_shared_ptr_xml_warchive" result="fail"/><test-result test-name="test_simple_class_binary_archive" result="fail"/><test-result test-name="test_simple_class_ptr_binary_archive" result="fail"/><test-result test-name="test_simple_class_ptr_text_archive" result="fail"/><test-result test-name="test_simple_class_ptr_text_warchive" result="fail"/><test-result test-name="test_simple_class_ptr_xml_archive" result="fail"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="fail"/><test-result test-name="test_simple_class_text_archive" result="fail"/><test-result test-name="test_simple_class_text_warchive" result="fail"/><test-result test-name="test_simple_class_xml_archive" result="fail"/><test-result test-name="test_simple_class_xml_warchive" result="fail"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_split_binary_archive" result="fail"/><test-result test-name="test_split_text_archive" result="fail"/><test-result test-name="test_split_text_warchive" result="fail"/><test-result test-name="test_split_xml_archive" result="fail"/><test-result test-name="test_split_xml_warchive" result="fail"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_tracking_binary_archive" result="fail"/><test-result test-name="test_tracking_text_archive" result="fail"/><test-result test-name="test_tracking_text_warchive" result="fail"/><test-result test-name="test_tracking_xml_archive" result="fail"/><test-result test-name="test_tracking_xml_warchive" result="fail"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_binary_archive" result="fail"/><test-result test-name="test_unregistered_text_archive" result="fail"/><test-result test-name="test_unregistered_text_warchive" result="fail"/><test-result test-name="test_unregistered_xml_archive" result="fail"/><test-result test-name="test_unregistered_xml_warchive" result="fail"/><test-result test-name="test_utf8_codecvt" result="fail"/><test-result test-name="test_vector_binary_archive" result="fail"/><test-result test-name="test_vector_text_archive" result="fail"/><test-result test-name="test_vector_text_warchive" result="fail"/><test-result test-name="test_vector_xml_archive" result="fail"/><test-result test-name="test_vector_xml_warchive" result="fail"/><test-result test-name="test_void_cast" result="fail"/></library>
+<library name="signals"><test-result test-name="dead_slot_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="signal_test" result="fail"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="get_deleter_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/></library>
+<library name="spirit"><test-result test-name="action_tests" result="fail"/><test-result test-name="action_tests_debug" result="fail"/><test-result test-name="ast_calc_tests" result="fail"/><test-result test-name="ast_calc_tests_debug" result="fail"/><test-result test-name="bug_000008" result="fail"/><test-result test-name="bug_fixes" result="fail"/><test-result test-name="bug_fixes_debug" result="fail"/><test-result test-name="chset_tests" result="fail"/><test-result test-name="chset_tests_debug" result="fail"/><test-result test-name="closure_tests" result="fail"/><test-result test-name="closure_tests_debug" result="fail"/><test-result test-name="confix_tests" result="fail"/><test-result test-name="confix_tests_debug" result="fail"/><test-result test-name="directives_tests" result="fail"/><test-result test-name="directives_tests_debug" result="fail"/><test-result test-name="distinct_tests" result="fail"/><test-result test-name="distinct_tests_debug" result="fail"/><test-result test-name="epsilon_tests" result="fail"/><test-result test-name="epsilon_tests_debug" result="fail"/><test-result test-name="escape_char_parser_tests" result="fail"/><test-result test-name="escape_char_parser_tests_debug" result="fail"/><test-result test-name="exception_tests" result="fail"/><test-result test-name="exception_tests_debug" result="fail"/><test-result test-name="file_iterator_tests" result="fail"/><test-result test-name="file_iterator_tests_debug" result="fail"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="for_p_as_parser_tests" result="fail"/><test-result test-name="for_tests" result="fail"/><test-result test-name="for_tests_debug" result="fail"/><test-result test-name="fundamental_tests" result="fail"/><test-result test-name="fundamental_tests_debug" result="fail"/><test-result test-name="grammar_mt_tests" result="fail"/><test-result test-name="grammar_multi_instance_tst" result="fail"/><test-result test-name="grammar_multi_instance_tst_debug" result="fail"/><test-result test-name="grammar_tests" result="fail"/><test-result test-name="grammar_tests_debug" result="fail"/><test-result test-name="if_p_as_parser_tests" result="fail"/><test-result test-name="if_tests" result="fail"/><test-result test-name="if_tests_debug" result="fail"/><test-result test-name="lazy_tests" result="fail"/><test-result test-name="lazy_tests_debug" result="fail"/><test-result test-name="loops_tests" result="fail"/><test-result test-name="loops_tests_debug" result="fail"/><test-result test-name="match_tests" result="fail"/><test-result test-name="match_tests_debug" result="fail"/><test-result test-name="multi_pass_compile_tests" result="fail"/><test-result test-name="multi_pass_tests" result="fail"/><test-result test-name="multi_pass_tests_debug" result="fail"/><test-result test-name="negated_eps_p_test" result="fail"/><test-result test-name="negated_eps_p_test_debug" result="fail"/><test-result test-name="numerics_tests" result="fail"/><test-result test-name="numerics_tests_debug" result="fail"/><test-result test-name="operators_tests" result="fail"/><test-result test-name="operators_tests_debug" result="fail"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="parametric_tests" result="fail"/><test-result test-name="parametric_tests_debug" result="fail"/><test-result test-name="parser_context_test" result="fail"/><test-result test-name="parser_context_test_debug" result="fail"/><test-result test-name="parser_traits_tests" result="fail"/><test-result test-name="parser_traits_tests_debug" result="fail"/><test-result test-name="position_iterator_tests" result="fail"/><test-result test-name="position_iterator_tests_debug" result="fail"/><test-result test-name="primitives_tests" result="fail"/><test-result test-name="primitives_tests_debug" result="fail"/><test-result test-name="repeat_ast_tests" result="fail"/><test-result test-name="repeat_ast_tests_debug" result="fail"/><test-result test-name="rule_tests" result="fail"/><test-result test-name="rule_tests_debug" result="fail"/><test-result test-name="scanner_tests" result="fail"/><test-result test-name="scanner_tests_debug" result="fail"/><test-result test-name="scoped_lock_tests" result="fail"/><test-result test-name="scoped_lock_tests_debug" result="fail"/><test-result test-name="select_p_with_rule" result="fail"/><test-result test-name="select_p_with_rule_debug" result="fail"/><test-result test-name="sf_bug_720917" result="fail"/><test-result test-name="sf_bug_720917_debug" result="fail"/><test-result test-name="shortest_alternative_tests" result="fail"/><test-result test-name="shortest_alternative_tests_debug" result="fail"/><test-result test-name="subrule_tests" result="fail"/><test-result test-name="subrule_tests_debug" result="fail"/><test-result test-name="switch_problem" result="fail"/><test-result test-name="switch_problem_debug" result="fail"/><test-result test-name="switch_tests_eps_default" result="fail"/><test-result test-name="switch_tests_eps_default_debug" result="fail"/><test-result test-name="switch_tests_general_def" result="fail"/><test-result test-name="switch_tests_general_def_debug" result="fail"/><test-result test-name="switch_tests_single" result="fail"/><test-result test-name="switch_tests_single_debug" result="fail"/><test-result test-name="switch_tests_wo_default" result="fail"/><test-result test-name="switch_tests_wo_default_debug" result="fail"/><test-result test-name="symbols_tests" result="fail"/><test-result test-name="symbols_tests_debug" result="fail"/><test-result test-name="traverse_tests" result="fail"/><test-result test-name="traverse_tests_debug" result="fail"/><test-result test-name="while_p_as_parser_tests" result="fail"/><test-result test-name="while_tests" result="fail"/><test-result test-name="while_tests_debug" result="fail"/></library>
+<library name="static_assert"><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_example_3" result="fail"/><test-result test-name="static_assert_test" result="success"/><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/></library>
+<library name="test"><test-result test-name="algorithms_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="fail"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="test_case_template_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="token_iterator_test" result="fail"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="thread"><test-result test-name="test_barrier" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_tss_lib" result="success"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_xtime_lib" result="success"/></library>
+<library name="type_traits"><test-result test-name="add_const_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="function_traits_test" result="fail"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="is_abstract_test" result="fail"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="is_array_test" result="fail"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_const_test" result="fail"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="is_empty_test" result="fail"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_reference_test" result="fail"/><test-result test-name="is_same_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="is_union_test" result="fail"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_volatile_test" result="fail"/><test-result test-name="remove_bounds_test" result="fail"/><test-result test-name="remove_const_test" result="fail"/><test-result test-name="remove_cv_test" result="fail"/><test-result test-name="remove_pointer_test" result="fail"/><test-result test-name="remove_reference_test" result="fail"/><test-result test-name="remove_volatile_test" result="fail"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="fail"/><test-result test-name="tricky_function_type_test" result="fail"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="tricky_is_enum_test" result="fail"/><test-result test-name="tricky_partial_spec_test" result="fail"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="udt_specialisations" result="success"/></library>
+<library name="utility"><test-result test-name="addressof_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="iterators_test" result="fail"/><test-result test-name="next_prior_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="result_of_test" result="fail"/><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="value_init_test" result="fail"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="fail"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_reference_test" result="fail"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="config"><test-result test-name="abi_test" result="success"/><test-result test-name="config_info" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="config_test" result="success"/><test-result test-name="limits_test" result="fail"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/></library>
+<library name="lambda"><test-result test-name="algorithm_test" result="fail"/><test-result test-name="bind_tests_advanced" result="fail"/><test-result test-name="bind_tests_simple" result="fail"/><test-result test-name="bind_tests_simple_f_refs" result="fail"/><test-result test-name="bll_and_function" result="fail"/><test-result test-name="constructor_tests" result="fail"/><test-result test-name="control_structures" result="fail"/><test-result test-name="exception_test" result="fail"/><test-result test-name="extending_rt_traits" result="fail"/><test-result test-name="is_instance_of_test" result="fail"/><test-result test-name="lambda_cast_test" result="fail"/><test-result test-name="member_pointer_test" result="fail"/><test-result test-name="operator_tests_simple" result="fail"/><test-result test-name="phoenix_control_structures" result="fail"/><test-result test-name="switch_construct" result="fail"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="control" result="success"/><test-result test-name="debug" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="list" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="tuple" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="fail"/><test-result test-name="array4" result="fail"/><test-result test-name="array5" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="class_concept_fail_expected" result="fail"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="rational"><test-result test-name="rational_example" result="success"/><test-result test-name="rational_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="fail"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+</toolset><toolset name="vc-7_0"><library name="algorithm/minmax"><test-result test-name="minmax" result="success"/><test-result test-name="minmax_element" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="container" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="find" result="success"/><test-result test-name="predicate" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="trim" result="success"/></library>
+<library name="assign"><test-result test-name="array" result="fail"/><test-result test-name="basic" result="success"/><test-result test-name="email_example" result="success"/><test-result test-name="list_inserter" result="fail"/><test-result test-name="list_of" result="fail"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="multi_index_container" result="fail"/><test-result test-name="my_vector_example" result="success"/><test-result test-name="std" result="success"/></library>
+<library name="bind"><test-result test-name="bind_const_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="bind_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="date_time"><test-result test-name="testclock" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testfacet" result="success"/><test-result test-name="testfacet_dll" result="success"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_cal" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testgreg_wstream" result="fail"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testparse_date" result="fail"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="teststreams" result="fail"/><test-result test-name="testtime" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testtime_wstream" result="fail"/><test-result test-name="testtime_wstream_std_config" result="fail"/><test-result test-name="testwrapping_int" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="filesystem"><test-result test-name="convenience_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="function"><test-result test-name="allocator_test" result="fail"/><test-result test-name="contains_test" result="success"/><test-result test-name="function_30" result="success"/><test-result test-name="function_arith_cxx98" result="fail"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_ref_cxx98" result="fail"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="lambda_test" result="fail"/><test-result test-name="lib_function_test" result="fail"/><test-result test-name="mem_fun_cxx98" result="fail"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="std_bind_cxx98" result="fail"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="sum_avg_cxx98" result="fail"/><test-result test-name="sum_avg_portable" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="adj_matrix_cc" result="fail"/><test-result test-name="betweenness_centrality_test" result="fail"/><test-result test-name="bfs" result="success"/><test-result test-name="bfs_cc" result="fail"/><test-result test-name="bundled_properties" result="fail"/><test-result test-name="copy" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="dfs_cc" result="fail"/><test-result test-name="dijkstra_cc" result="fail"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="layout_test" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="subgraph" result="fail"/><test-result test-name="transitive_closure_test" result="fail"/><test-result test-name="vector_graph_cc" result="fail"/></library>
+<library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/></library>
+<library name="iterator"><test-result test-name="concept_tests" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="interoperable_fail" result="success"/><test-result test-name="is_convertible_fail" result="fail"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="iterator_traits_test" result="success"/><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="zip_iterator_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/><test-result test-name="tribool_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="octonion_test" result="fail"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="quaternion_test" result="fail"/><test-result test-name="special_functions_test" result="fail"/></library>
+<library name="mpl"><test-result test-name="advance" result="success"/><test-result test-name="always" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="back" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="count" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="front" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="if" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="int" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="lambda_args" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="map" result="fail"/><test-result test-name="max_element" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="next" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="partition" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="set" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="size" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="zip_view" result="success"/></library>
+<library name="multi_array"><test-result test-name="access" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_criterator" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="storage_order" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_basic" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_update" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="udt_support_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="add" result="fail"/><test-result test-name="cmp" result="fail"/><test-result test-name="cmp_exn" result="fail"/><test-result test-name="cmp_exp" result="fail"/><test-result test-name="cmp_lex" result="fail"/><test-result test-name="cmp_set" result="fail"/><test-result test-name="cmp_tribool" result="fail"/><test-result test-name="det" result="fail"/><test-result test-name="fmod" result="fail"/><test-result test-name="integer" result="fail"/><test-result test-name="mul" result="fail"/><test-result test-name="overflow" result="fail"/><test-result test-name="pi" result="fail"/><test-result test-name="pow" result="fail"/><test-result test-name="test_float" result="fail"/></library>
+<library name="numeric/ublas"><test-result test-name="concepts" result="success"/><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_ref" result="fail"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_tie" result="success"/></library>
+<library name="program_options"><test-result test-name="cmdline_test" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="options_description_test_dll" result="success"/><test-result test-name="parsers_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="unicode_test" result="success"/><test-result test-name="unicode_test_dll" result="success"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="variable_map_test_dll" result="success"/><test-result test-name="winmain" result="success"/><test-result test-name="winmain_dll" result="success"/></library>
+<library name="python"><test-result test-name="args" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="list" result="success"/><test-result test-name="long" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="nested" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="object" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="result" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="select_from_python_test" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="str" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="virtual_functions" result="success"/></library>
+<library name="random"><test-result test-name="random_demo" result="fail"/><test-result test-name="random_test" result="fail"/></library>
+<library name="range"><test-result test-name="array_test" result="fail"/><test-result test-name="const_ranges" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="iterator_range" result="fail"/><test-result test-name="reversible_range_test" result="fail"/><test-result test-name="std_container_test" result="success"/><test-result test-name="string_test" result="fail"/><test-result test-name="sub_range" result="fail"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="captures_example" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="regex_grep_example_2" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/></library>
+<library name="serialization"><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_array_text_warchive" result="success"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_array_xml_warchive" result="success"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_binary_text_warchive" result="success"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="success"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="success"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_const" result="fail"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_demo" result="fail"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_demo_exception" result="fail"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_demo_pimpl" result="fail"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_demo_shared_ptr" result="fail"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_demo_xml_load" result="fail"/><test-result test-name="test_demo_xml_save" result="fail"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_deque_text_warchive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="success"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_diamond_binary_archive" result="fail"/><test-result test-name="test_diamond_text_archive" result="fail"/><test-result test-name="test_diamond_text_warchive" result="fail"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="success"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_exported_text_warchive" result="success"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_list_text_warchive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_map_binary_archive" result="fail"/><test-result test-name="test_map_text_archive" result="fail"/><test-result test-name="test_map_text_warchive" result="fail"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="success"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="success"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="success"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="success"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="success"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="success"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="success"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_nvp_text_warchive" result="success"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_object_text_warchive" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="success"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_recursion_text_warchive" result="success"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_registered_text_warchive" result="success"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_registered_xml_warchive" result="success"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="success"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="success"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_split_text_warchive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="success"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="success"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="success"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_void_cast" result="success"/></library>
+<library name="signals"><test-result test-name="dead_slot_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="signal_test" result="fail"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="get_deleter_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/></library>
+<library name="spirit"><test-result test-name="action_tests" result="fail"/><test-result test-name="action_tests_debug" result="fail"/><test-result test-name="ast_calc_tests" result="fail"/><test-result test-name="ast_calc_tests_debug" result="fail"/><test-result test-name="bug_000008" result="fail"/><test-result test-name="bug_fixes" result="fail"/><test-result test-name="bug_fixes_debug" result="fail"/><test-result test-name="chset_tests" result="fail"/><test-result test-name="chset_tests_debug" result="fail"/><test-result test-name="closure_tests" result="fail"/><test-result test-name="closure_tests_debug" result="fail"/><test-result test-name="confix_tests" result="fail"/><test-result test-name="confix_tests_debug" result="fail"/><test-result test-name="directives_tests" result="fail"/><test-result test-name="directives_tests_debug" result="fail"/><test-result test-name="distinct_tests" result="fail"/><test-result test-name="distinct_tests_debug" result="fail"/><test-result test-name="epsilon_tests" result="fail"/><test-result test-name="epsilon_tests_debug" result="fail"/><test-result test-name="escape_char_parser_tests" result="fail"/><test-result test-name="escape_char_parser_tests_debug" result="fail"/><test-result test-name="exception_tests" result="fail"/><test-result test-name="exception_tests_debug" result="fail"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="for_p_as_parser_tests" result="fail"/><test-result test-name="for_tests" result="fail"/><test-result test-name="for_tests_debug" result="fail"/><test-result test-name="fundamental_tests" result="fail"/><test-result test-name="fundamental_tests_debug" result="fail"/><test-result test-name="grammar_mt_tests" result="fail"/><test-result test-name="grammar_multi_instance_tst" result="fail"/><test-result test-name="grammar_multi_instance_tst_debug" result="fail"/><test-result test-name="grammar_tests" result="fail"/><test-result test-name="grammar_tests_debug" result="fail"/><test-result test-name="if_p_as_parser_tests" result="fail"/><test-result test-name="if_tests" result="fail"/><test-result test-name="if_tests_debug" result="fail"/><test-result test-name="lazy_tests" result="fail"/><test-result test-name="lazy_tests_debug" result="fail"/><test-result test-name="loops_tests" result="fail"/><test-result test-name="loops_tests_debug" result="fail"/><test-result test-name="match_tests" result="fail"/><test-result test-name="match_tests_debug" result="fail"/><test-result test-name="multi_pass_compile_tests" result="fail"/><test-result test-name="multi_pass_tests" result="fail"/><test-result test-name="multi_pass_tests_debug" result="fail"/><test-result test-name="negated_eps_p_test" result="fail"/><test-result test-name="negated_eps_p_test_debug" result="fail"/><test-result test-name="numerics_tests" result="fail"/><test-result test-name="numerics_tests_debug" result="fail"/><test-result test-name="operators_tests" result="fail"/><test-result test-name="operators_tests_debug" result="fail"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="parametric_tests" result="fail"/><test-result test-name="parametric_tests_debug" result="fail"/><test-result test-name="parser_context_test" result="fail"/><test-result test-name="parser_context_test_debug" result="fail"/><test-result test-name="parser_traits_tests" result="fail"/><test-result test-name="parser_traits_tests_debug" result="fail"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="primitives_tests" result="fail"/><test-result test-name="primitives_tests_debug" result="fail"/><test-result test-name="repeat_ast_tests" result="fail"/><test-result test-name="repeat_ast_tests_debug" result="fail"/><test-result test-name="rule_tests" result="fail"/><test-result test-name="rule_tests_debug" result="fail"/><test-result test-name="scanner_tests" result="fail"/><test-result test-name="scanner_tests_debug" result="fail"/><test-result test-name="scoped_lock_tests" result="fail"/><test-result test-name="scoped_lock_tests_debug" result="fail"/><test-result test-name="select_p_with_rule" result="fail"/><test-result test-name="select_p_with_rule_debug" result="fail"/><test-result test-name="sf_bug_720917" result="fail"/><test-result test-name="sf_bug_720917_debug" result="fail"/><test-result test-name="shortest_alternative_tests" result="fail"/><test-result test-name="shortest_alternative_tests_debug" result="fail"/><test-result test-name="subrule_tests" result="fail"/><test-result test-name="subrule_tests_debug" result="fail"/><test-result test-name="switch_problem" result="fail"/><test-result test-name="switch_problem_debug" result="fail"/><test-result test-name="switch_tests_eps_default" result="fail"/><test-result test-name="switch_tests_eps_default_debug" result="fail"/><test-result test-name="switch_tests_general_def" result="fail"/><test-result test-name="switch_tests_general_def_debug" result="fail"/><test-result test-name="switch_tests_single" result="fail"/><test-result test-name="switch_tests_single_debug" result="fail"/><test-result test-name="switch_tests_wo_default" result="fail"/><test-result test-name="switch_tests_wo_default_debug" result="fail"/><test-result test-name="symbols_tests" result="fail"/><test-result test-name="symbols_tests_debug" result="fail"/><test-result test-name="traverse_tests" result="fail"/><test-result test-name="traverse_tests_debug" result="fail"/><test-result test-name="while_p_as_parser_tests" result="fail"/><test-result test-name="while_tests" result="fail"/><test-result test-name="while_tests_debug" result="fail"/></library>
+<library name="static_assert"><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_example_3" result="fail"/><test-result test-name="static_assert_test" result="success"/><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/></library>
+<library name="test"><test-result test-name="algorithms_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="test_case_template_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="thread"><test-result test-name="test_barrier" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_tss_lib" result="success"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_xtime_lib" result="success"/></library>
+<library name="type_traits"><test-result test-name="add_const_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="function_traits_test" result="fail"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="is_abstract_test" result="fail"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="is_array_test" result="fail"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_const_test" result="fail"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_reference_test" result="fail"/><test-result test-name="is_same_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="is_union_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_volatile_test" result="fail"/><test-result test-name="remove_bounds_test" result="fail"/><test-result test-name="remove_const_test" result="fail"/><test-result test-name="remove_cv_test" result="fail"/><test-result test-name="remove_pointer_test" result="fail"/><test-result test-name="remove_reference_test" result="fail"/><test-result test-name="remove_volatile_test" result="fail"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="fail"/><test-result test-name="tricky_function_type_test" result="fail"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="fail"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="udt_specialisations" result="success"/></library>
+<library name="utility"><test-result test-name="addressof_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="next_prior_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="operators_test" result="fail"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="result_of_test" result="fail"/><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="value_init_test" result="fail"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="fail"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_reference_test" result="fail"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="config"><test-result test-name="abi_test" result="success"/><test-result test-name="config_info" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="config_test" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/></library>
+<library name="lambda"><test-result test-name="algorithm_test" result="fail"/><test-result test-name="bind_tests_advanced" result="fail"/><test-result test-name="bind_tests_simple" result="fail"/><test-result test-name="bind_tests_simple_f_refs" result="fail"/><test-result test-name="bll_and_function" result="fail"/><test-result test-name="constructor_tests" result="fail"/><test-result test-name="control_structures" result="fail"/><test-result test-name="exception_test" result="fail"/><test-result test-name="extending_rt_traits" result="fail"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="lambda_cast_test" result="fail"/><test-result test-name="member_pointer_test" result="fail"/><test-result test-name="operator_tests_simple" result="fail"/><test-result test-name="phoenix_control_structures" result="fail"/><test-result test-name="switch_construct" result="fail"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="control" result="success"/><test-result test-name="debug" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="list" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="tuple" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="fail"/><test-result test-name="array4" result="fail"/><test-result test-name="array5" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="class_concept_fail_expected" result="fail"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="rational"><test-result test-name="rational_example" result="success"/><test-result test-name="rational_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="fail"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+</toolset><toolset name="vc-8_0"><library name="algorithm/minmax"><test-result test-name="minmax" result="success"/><test-result test-name="minmax_element" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="container" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="find" result="success"/><test-result test-name="predicate" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="trim" result="success"/></library>
+<library name="assign"><test-result test-name="array" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="email_example" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="multi_index_container" result="success"/><test-result test-name="my_vector_example" result="success"/><test-result test-name="std" result="success"/></library>
+<library name="bind"><test-result test-name="bind_const_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="bind_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="lexical_cast_test" result="fail"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="date_time"><test-result test-name="testclock" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testfacet" result="success"/><test-result test-name="testfacet_dll" result="success"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_cal" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testgreg_wstream" result="success"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="teststreams" result="success"/><test-result test-name="testtime" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testtime_wstream" result="success"/><test-result test-name="testtime_wstream_std_config" result="success"/><test-result test-name="testwrapping_int" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="filesystem"><test-result test-name="convenience_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="function"><test-result test-name="allocator_test" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="function_30" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="sum_avg_portable" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="layout_test" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="vector_graph_cc" result="success"/></library>
+<library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/></library>
+<library name="iterator"><test-result test-name="concept_tests" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="interoperable_fail" result="success"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="iterator_traits_test" result="success"/><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="zip_iterator_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/><test-result test-name="tribool_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="octonion_test" result="success"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="quaternion_test" result="success"/><test-result test-name="special_functions_test" result="success"/></library>
+<library name="mpl"><test-result test-name="advance" result="success"/><test-result test-name="always" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="back" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="count" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="front" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="if" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="int" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="lambda_args" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="map" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="next" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="partition" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="set" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="size" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="zip_view" result="success"/></library>
+<library name="multi_array"><test-result test-name="access" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_criterator" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="storage_order" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_basic" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_update" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="udt_support_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="add" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="cmp_lex" result="success"/><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="det" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="test_float" result="success"/></library>
+<library name="numeric/ublas"><test-result test-name="concepts" result="success"/><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="fail"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_tie" result="success"/></library>
+<library name="program_options"><test-result test-name="cmdline_test" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="options_description_test_dll" result="success"/><test-result test-name="parsers_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="unicode_test" result="success"/><test-result test-name="unicode_test_dll" result="success"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="variable_map_test_dll" result="success"/><test-result test-name="winmain" result="success"/><test-result test-name="winmain_dll" result="success"/></library>
+<library name="python"><test-result test-name="args" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="list" result="success"/><test-result test-name="long" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="nested" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="object" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="result" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="select_from_python_test" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="str" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="virtual_functions" result="success"/></library>
+<library name="random"><test-result test-name="random_demo" result="success"/><test-result test-name="random_test" result="success"/></library>
+<library name="range"><test-result test-name="array_test" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="string_test" result="success"/><test-result test-name="sub_range" result="fail"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="captures_example" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="regex_grep_example_2" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/></library>
+<library name="serialization"><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_array_text_warchive" result="fail"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_array_xml_warchive" result="fail"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_binary_text_warchive" result="fail"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="fail"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="fail"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="fail"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="fail"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="fail"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_const" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="fail"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="fail"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="fail"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_warchive" result="fail"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="fail"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="fail"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_deque_text_warchive" result="fail"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_deque_xml_warchive" result="fail"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="fail"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="fail"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="fail"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="fail"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="fail"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="fail"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="fail"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="fail"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_exported_text_warchive" result="fail"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="fail"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="fail"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="fail"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_list_text_warchive" result="fail"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_list_xml_warchive" result="fail"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_map_text_warchive" result="fail"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="fail"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="fail"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="fail"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="fail"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="fail"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="fail"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="fail"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="fail"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="fail"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="fail"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="fail"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_nvp_text_warchive" result="fail"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_nvp_xml_warchive" result="fail"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_object_text_warchive" result="fail"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_object_xml_warchive" result="fail"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="fail"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_optional_xml_warchive" result="fail"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="fail"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="fail"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="fail"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="fail"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_recursion_text_warchive" result="fail"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="fail"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_registered_text_warchive" result="fail"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_registered_xml_warchive" result="fail"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="fail"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="fail"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="fail"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="fail"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="fail"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="fail"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="fail"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="fail"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_split_text_warchive" result="fail"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_split_xml_warchive" result="fail"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="fail"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_tracking_xml_warchive" result="fail"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="fail"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="fail"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="fail"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_vector_xml_warchive" result="fail"/><test-result test-name="test_void_cast" result="success"/></library>
+<library name="signals"><test-result test-name="dead_slot_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="signal_test" result="success"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="get_deleter_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/></library>
+<library name="spirit"><test-result test-name="action_tests" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="ast_calc_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="closure_tests" result="success"/><test-result test-name="closure_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="fail"/><test-result test-name="epsilon_tests_debug" result="fail"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="for_tests" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="multi_pass_compile_tests" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="repeat_ast_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/></library>
+<library name="static_assert"><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test" result="success"/><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/></library>
+<library name="test"><test-result test-name="algorithms_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="test_case_template_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="thread"><test-result test-name="test_barrier" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_tss_lib" result="success"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_xtime_lib" result="success"/></library>
+<library name="type_traits"><test-result test-name="add_const_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="is_abstract_test" result="success"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="is_union_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="udt_specialisations" result="success"/></library>
+<library name="utility"><test-result test-name="addressof_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="next_prior_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="config"><test-result test-name="abi_test" result="success"/><test-result test-name="config_info" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="config_test" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/></library>
+<library name="lambda"><test-result test-name="algorithm_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="bll_and_function" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="control" result="success"/><test-result test-name="debug" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="list" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="tuple" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="rational"><test-result test-name="rational_example" result="success"/><test-result test-name="rational_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+</toolset><toolset name="intel-win32-8_1"><library name="algorithm/minmax"><test-result test-name="minmax" result="success"/><test-result test-name="minmax_element" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="container" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="find" result="success"/><test-result test-name="predicate" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="trim" result="success"/></library>
+<library name="assign"><test-result test-name="array" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="email_example" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="multi_index_container" result="success"/><test-result test-name="my_vector_example" result="success"/><test-result test-name="std" result="success"/></library>
+<library name="bind"><test-result test-name="bind_const_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="bind_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="date_time"><test-result test-name="testclock" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testfacet" result="success"/><test-result test-name="testfacet_dll" result="success"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_cal" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testgreg_wstream" result="success"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="teststreams" result="success"/><test-result test-name="testtime" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testtime_wstream" result="success"/><test-result test-name="testtime_wstream_std_config" result="success"/><test-result test-name="testwrapping_int" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="filesystem"><test-result test-name="convenience_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="function"><test-result test-name="allocator_test" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="function_30" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="sum_avg_portable" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="layout_test" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="vector_graph_cc" result="success"/></library>
+<library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/></library>
+<library name="iterator"><test-result test-name="concept_tests" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="interoperable_fail" result="success"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="iterator_traits_test" result="success"/><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="zip_iterator_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/><test-result test-name="tribool_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="octonion_test" result="success"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="quaternion_test" result="success"/><test-result test-name="special_functions_test" result="success"/></library>
+<library name="mpl"><test-result test-name="advance" result="success"/><test-result test-name="always" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="back" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="count" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="front" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="if" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="int" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="lambda_args" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="map" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="next" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="partition" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="set" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="size" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="zip_view" result="success"/></library>
+<library name="multi_array"><test-result test-name="access" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_criterator" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="storage_order" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_basic" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_update" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="udt_support_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="add" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="cmp_lex" result="success"/><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="det" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="test_float" result="success"/></library>
+<library name="numeric/ublas"><test-result test-name="concepts" result="success"/><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="fail"/><test-result test-name="test4" result="fail"/><test-result test-name="test5" result="fail"/><test-result test-name="test6" result="fail"/></library>
+<library name="optional"><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_tie" result="success"/></library>
+<library name="program_options"><test-result test-name="cmdline_test" result="success"/><test-result test-name="cmdline_test_dll" result="fail"/><test-result test-name="options_description_test" result="success"/><test-result test-name="options_description_test_dll" result="fail"/><test-result test-name="parsers_test" result="success"/><test-result test-name="parsers_test_dll" result="fail"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="positional_options_test_dll" result="fail"/><test-result test-name="unicode_test" result="success"/><test-result test-name="unicode_test_dll" result="fail"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="variable_map_test_dll" result="fail"/><test-result test-name="winmain" result="success"/><test-result test-name="winmain_dll" result="fail"/></library>
+<library name="python"><test-result test-name="args" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="list" result="success"/><test-result test-name="long" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="nested" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="object" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="result" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="select_from_python_test" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="str" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="virtual_functions" result="success"/></library>
+<library name="random"><test-result test-name="random_demo" result="success"/><test-result test-name="random_test" result="success"/></library>
+<library name="range"><test-result test-name="array_test" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="string_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="captures_example" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="regex_grep_example_2" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/></library>
+<library name="serialization"><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_array_text_warchive" result="success"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_array_xml_warchive" result="success"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_binary_text_warchive" result="success"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="fail"/><test-result test-name="test_class_info_load_text_archive" result="fail"/><test-result test-name="test_class_info_load_text_warchive" result="fail"/><test-result test-name="test_class_info_load_xml_archive" result="fail"/><test-result test-name="test_class_info_load_xml_warchive" result="fail"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_const" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_deque_text_warchive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="success"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="success"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="success"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_exported_text_warchive" result="success"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_list_text_warchive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_map_text_warchive" result="success"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="success"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="success"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="success"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="success"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="success"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="success"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="success"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_nvp_text_warchive" result="success"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_object_text_warchive" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="success"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_recursion_text_warchive" result="success"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_registered_text_warchive" result="success"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_registered_xml_warchive" result="success"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="success"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="success"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_split_text_warchive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="success"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="success"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="success"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_void_cast" result="success"/></library>
+<library name="signals"><test-result test-name="dead_slot_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="signal_test" result="success"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="get_deleter_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/></library>
+<library name="spirit"><test-result test-name="action_tests" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="ast_calc_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="closure_tests" result="success"/><test-result test-name="closure_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="for_tests" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="multi_pass_compile_tests" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="repeat_ast_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/></library>
+<library name="static_assert"><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test" result="success"/><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/></library>
+<library name="test"><test-result test-name="algorithms_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="test_case_template_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="thread"><test-result test-name="test_barrier" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_tss_lib" result="success"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_xtime_lib" result="success"/></library>
+<library name="type_traits"><test-result test-name="add_const_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="is_abstract_test" result="success"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="is_union_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="udt_specialisations" result="success"/></library>
+<library name="utility"><test-result test-name="addressof_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="next_prior_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="config"><test-result test-name="abi_test" result="success"/><test-result test-name="config_info" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="config_test" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/></library>
+<library name="lambda"><test-result test-name="algorithm_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="bll_and_function" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="control" result="success"/><test-result test-name="debug" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="list" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="tuple" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="rational"><test-result test-name="rational_example" result="success"/><test-result test-name="rational_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+</toolset><toolset name="cw-9_3"><library name="algorithm/minmax"><test-result test-name="minmax" result="success"/><test-result test-name="minmax_element" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="container" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="find" result="success"/><test-result test-name="predicate" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="trim" result="success"/></library>
+<library name="assign"><test-result test-name="array" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="email_example" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="multi_index_container" result="success"/><test-result test-name="my_vector_example" result="success"/><test-result test-name="std" result="success"/></library>
+<library name="bind"><test-result test-name="bind_const_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="bind_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="date_time"><test-result test-name="testclock" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testfacet" result="success"/><test-result test-name="testfacet_dll" result="success"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_cal" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testgreg_wstream" result="success"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="teststreams" result="success"/><test-result test-name="testtime" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testtime_wstream" result="success"/><test-result test-name="testtime_wstream_std_config" result="success"/><test-result test-name="testwrapping_int" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="fail"/></library>
+<library name="filesystem"><test-result test-name="convenience_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="function"><test-result test-name="allocator_test" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="function_30" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="sum_avg_portable" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="layout_test" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="vector_graph_cc" result="success"/></library>
+<library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/></library>
+<library name="iterator"><test-result test-name="concept_tests" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="interoperable_fail" result="success"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="iterator_traits_test" result="success"/><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="zip_iterator_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/><test-result test-name="tribool_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="octonion_test" result="success"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="quaternion_test" result="success"/><test-result test-name="special_functions_test" result="success"/></library>
+<library name="mpl"><test-result test-name="advance" result="success"/><test-result test-name="always" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="back" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="count" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="front" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="if" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="int" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="lambda_args" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="map" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="next" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="partition" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="set" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="size" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="zip_view" result="success"/></library>
+<library name="multi_array"><test-result test-name="access" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_criterator" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="storage_order" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_basic" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_update" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="udt_support_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="add" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="cmp_lex" result="success"/><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="det" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="test_float" result="success"/></library>
+<library name="numeric/ublas"><test-result test-name="concepts" result="success"/><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_tie" result="success"/></library>
+<library name="program_options"><test-result test-name="cmdline_test" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="options_description_test_dll" result="success"/><test-result test-name="parsers_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="unicode_test" result="success"/><test-result test-name="unicode_test_dll" result="success"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="variable_map_test_dll" result="success"/><test-result test-name="winmain" result="success"/><test-result test-name="winmain_dll" result="success"/></library>
+<library name="python"><test-result test-name="args" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="list" result="success"/><test-result test-name="long" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="nested" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="object" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="result" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="select_from_python_test" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="str" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="virtual_functions" result="success"/></library>
+<library name="random"><test-result test-name="random_demo" result="success"/><test-result test-name="random_test" result="success"/></library>
+<library name="range"><test-result test-name="array_test" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="string_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="captures_example" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="regex_grep_example_2" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/></library>
+<library name="serialization"><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_array_text_warchive" result="success"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_array_xml_warchive" result="success"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_binary_text_warchive" result="success"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="success"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="success"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_const" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_demo" result="fail"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_demo_exception" result="fail"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_demo_shared_ptr" result="fail"/><test-result test-name="test_demo_xml" result="fail"/><test-result test-name="test_demo_xml_load" result="fail"/><test-result test-name="test_demo_xml_save" result="fail"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_deque_text_warchive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="success"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="success"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="success"/><test-result test-name="test_exported_binary_archive" result="fail"/><test-result test-name="test_exported_text_archive" result="fail"/><test-result test-name="test_exported_text_warchive" result="fail"/><test-result test-name="test_exported_xml_archive" result="fail"/><test-result test-name="test_exported_xml_warchive" result="fail"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_list_text_warchive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_map_text_warchive" result="success"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_mi_binary_archive" result="fail"/><test-result test-name="test_mi_text_archive" result="fail"/><test-result test-name="test_mi_text_warchive" result="fail"/><test-result test-name="test_mi_xml_archive" result="fail"/><test-result test-name="test_mi_xml_warchive" result="fail"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_mult_archive_types" result="fail"/><test-result test-name="test_non_default_ctor2_binary_archive" result="fail"/><test-result test-name="test_non_default_ctor2_text_archive" result="fail"/><test-result test-name="test_non_default_ctor2_text_warchive" result="fail"/><test-result test-name="test_non_default_ctor2_xml_archive" result="fail"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="fail"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="fail"/><test-result test-name="test_no_rtti_text_archive" result="fail"/><test-result test-name="test_no_rtti_text_warchive" result="fail"/><test-result test-name="test_no_rtti_xml_archive" result="fail"/><test-result test-name="test_no_rtti_xml_warchive" result="fail"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="success"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_nvp_text_warchive" result="success"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_object_text_warchive" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="success"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_recursion_text_warchive" result="success"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_registered_binary_archive" result="fail"/><test-result test-name="test_registered_text_archive" result="fail"/><test-result test-name="test_registered_text_warchive" result="fail"/><test-result test-name="test_registered_xml_archive" result="fail"/><test-result test-name="test_registered_xml_warchive" result="fail"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="success"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_binary_archive" result="fail"/><test-result test-name="test_shared_ptr_text_archive" result="fail"/><test-result test-name="test_shared_ptr_text_warchive" result="fail"/><test-result test-name="test_shared_ptr_xml_archive" result="fail"/><test-result test-name="test_shared_ptr_xml_warchive" result="fail"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_split_text_warchive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_binary_archive" result="fail"/><test-result test-name="test_unregistered_text_archive" result="fail"/><test-result test-name="test_unregistered_text_warchive" result="fail"/><test-result test-name="test_unregistered_xml_archive" result="fail"/><test-result test-name="test_unregistered_xml_warchive" result="fail"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="success"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_void_cast" result="success"/></library>
+<library name="signals"><test-result test-name="dead_slot_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="signal_test" result="success"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="get_deleter_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/></library>
+<library name="spirit"><test-result test-name="action_tests" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="ast_calc_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="closure_tests" result="success"/><test-result test-name="closure_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="for_tests" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="multi_pass_compile_tests" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="repeat_ast_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/></library>
+<library name="static_assert"><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test" result="success"/><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/></library>
+<library name="test"><test-result test-name="algorithms_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="test_case_template_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="thread"><test-result test-name="test_barrier" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_tss_lib" result="fail"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_xtime_lib" result="success"/></library>
+<library name="type_traits"><test-result test-name="add_const_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="is_abstract_test" result="fail"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="is_union_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="udt_specialisations" result="success"/></library>
+<library name="utility"><test-result test-name="addressof_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="next_prior_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="config"><test-result test-name="abi_test" result="success"/><test-result test-name="config_info" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="config_test" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/></library>
+<library name="lambda"><test-result test-name="algorithm_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="bll_and_function" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="control" result="success"/><test-result test-name="debug" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="list" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="tuple" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="rational"><test-result test-name="rational_example" result="success"/><test-result test-name="rational_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+</toolset><toolset name="intel-win32-8_0"><library name="algorithm/minmax"><test-result test-name="minmax" result="success"/><test-result test-name="minmax_element" result="success"/></library>
+<library name="algorithm/string"><test-result test-name="container" result="success"/><test-result test-name="conv" result="success"/><test-result test-name="find" result="success"/><test-result test-name="predicate" result="success"/><test-result test-name="regex" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="split" result="success"/><test-result test-name="trim" result="success"/></library>
+<library name="assign"><test-result test-name="array" result="success"/><test-result test-name="basic" result="success"/><test-result test-name="email_example" result="success"/><test-result test-name="list_inserter" result="success"/><test-result test-name="list_of" result="success"/><test-result test-name="list_of_workaround" result="success"/><test-result test-name="multi_index_container" result="success"/><test-result test-name="my_vector_example" result="success"/><test-result test-name="std" result="success"/></library>
+<library name="bind"><test-result test-name="bind_const_test" result="success"/><test-result test-name="bind_cv_test" result="success"/><test-result test-name="bind_eq_test" result="success"/><test-result test-name="bind_stateful_test" result="success"/><test-result test-name="bind_test" result="success"/><test-result test-name="mem_fn_derived_test" result="success"/><test-result test-name="mem_fn_eq_test" result="success"/><test-result test-name="mem_fn_test" result="success"/><test-result test-name="mem_fn_void_test" result="success"/></library>
+<library name="conversion"><test-result test-name="cast_test" result="success"/><test-result test-name="implicit_cast" result="success"/><test-result test-name="implicit_cast_fail" result="success"/><test-result test-name="lexical_cast_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/></library>
+<library name="date_time"><test-result test-name="testclock" result="success"/><test-result test-name="testconstrained_value" result="success"/><test-result test-name="testc_local_adjustor" result="success"/><test-result test-name="testdate" result="success"/><test-result test-name="testdate_dll" result="success"/><test-result test-name="testdate_duration" result="success"/><test-result test-name="testdate_duration_dll" result="success"/><test-result test-name="testdate_iterator" result="success"/><test-result test-name="testdate_iterator_dll" result="success"/><test-result test-name="testdst_rules" result="success"/><test-result test-name="testduration" result="success"/><test-result test-name="testfacet" result="success"/><test-result test-name="testfacet_dll" result="success"/><test-result test-name="testfiletime_functions" result="success"/><test-result test-name="testformatters" result="success"/><test-result test-name="testformatters_dll" result="success"/><test-result test-name="testgenerators" result="success"/><test-result test-name="testgenerators_dll" result="success"/><test-result test-name="testgeneric_period" result="success"/><test-result test-name="testgregorian_calendar" result="success"/><test-result test-name="testgreg_cal" result="success"/><test-result test-name="testgreg_cal_dll" result="success"/><test-result test-name="testgreg_day" result="success"/><test-result test-name="testgreg_day_dll" result="success"/><test-result test-name="testgreg_durations" result="success"/><test-result test-name="testgreg_duration_operators" result="success"/><test-result test-name="testgreg_month" result="success"/><test-result test-name="testgreg_month_dll" result="success"/><test-result test-name="testgreg_wstream" result="success"/><test-result test-name="testgreg_year" result="success"/><test-result test-name="testgreg_year_dll" result="success"/><test-result test-name="testint_adapter" result="success"/><test-result test-name="testiterator" result="success"/><test-result test-name="testlocal_adjustor" result="success"/><test-result test-name="testmicrosec_time_clock" result="success"/><test-result test-name="testparse_date" result="success"/><test-result test-name="testparse_time" result="success"/><test-result test-name="testperiod" result="success"/><test-result test-name="testperiod_dll" result="success"/><test-result test-name="teststreams" result="success"/><test-result test-name="testtime" result="success"/><test-result test-name="testtime_formatters" result="success"/><test-result test-name="testtime_period" result="success"/><test-result test-name="testtime_resolution_traits" result="success"/><test-result test-name="testtime_wstream" result="success"/><test-result test-name="testtime_wstream_std_config" result="success"/><test-result test-name="testwrapping_int" result="success"/></library>
+<library name="dynamic_bitset"><test-result test-name="dyn_bitset_unit_tests1" result="success"/><test-result test-name="dyn_bitset_unit_tests2" result="success"/><test-result test-name="dyn_bitset_unit_tests3" result="success"/><test-result test-name="dyn_bitset_unit_tests4" result="success"/></library>
+<library name="filesystem"><test-result test-name="convenience_test" result="success"/><test-result test-name="default_name_check_test" result="success"/><test-result test-name="fstream_test" result="success"/><test-result test-name="large_file_support_test" result="success"/><test-result test-name="operations_test" result="success"/><test-result test-name="path_test" result="success"/></library>
+<library name="format"><test-result test-name="format_test1" result="success"/><test-result test-name="format_test2" result="success"/><test-result test-name="format_test3" result="success"/><test-result test-name="format_test_wstring" result="success"/></library>
+<library name="function"><test-result test-name="allocator_test" result="success"/><test-result test-name="contains_test" result="success"/><test-result test-name="function_30" result="success"/><test-result test-name="function_arith_cxx98" result="success"/><test-result test-name="function_arith_portable" result="success"/><test-result test-name="function_n_test" result="success"/><test-result test-name="function_ref_cxx98" result="success"/><test-result test-name="function_ref_portable" result="success"/><test-result test-name="function_test_fail1" result="success"/><test-result test-name="function_test_fail2" result="success"/><test-result test-name="lambda_test" result="success"/><test-result test-name="lib_function_test" result="success"/><test-result test-name="mem_fun_cxx98" result="success"/><test-result test-name="mem_fun_portable" result="success"/><test-result test-name="stateless_test" result="success"/><test-result test-name="std_bind_cxx98" result="success"/><test-result test-name="std_bind_portable" result="success"/><test-result test-name="sum_avg_cxx98" result="success"/><test-result test-name="sum_avg_portable" result="success"/></library>
+<library name="graph"><test-result test-name="adjacency_matrix_test" result="success"/><test-result test-name="adj_list_cc" result="success"/><test-result test-name="adj_matrix_cc" result="success"/><test-result test-name="betweenness_centrality_test" result="success"/><test-result test-name="bfs" result="success"/><test-result test-name="bfs_cc" result="success"/><test-result test-name="bundled_properties" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="dfs" result="success"/><test-result test-name="dfs_cc" result="success"/><test-result test-name="dijkstra_cc" result="success"/><test-result test-name="edge_list_cc" result="success"/><test-result test-name="filtered_graph_cc" result="success"/><test-result test-name="graph" result="success"/><test-result test-name="graph_concepts" result="success"/><test-result test-name="isomorphism" result="success"/><test-result test-name="layout_test" result="success"/><test-result test-name="property_iter" result="success"/><test-result test-name="reverse_graph_cc" result="success"/><test-result test-name="subgraph" result="success"/><test-result test-name="transitive_closure_test" result="success"/><test-result test-name="vector_graph_cc" result="success"/></library>
+<library name="io"><test-result test-name="ios_state_test" result="success"/><test-result test-name="ios_state_unit_test" result="success"/></library>
+<library name="iterator"><test-result test-name="concept_tests" result="success"/><test-result test-name="counting_iterator_test" result="success"/><test-result test-name="filter_iterator_test" result="success"/><test-result test-name="indirect_iterator_test" result="success"/><test-result test-name="indirect_iter_member_types" result="success"/><test-result test-name="interoperable" result="success"/><test-result test-name="interoperable_fail" result="success"/><test-result test-name="is_convertible_fail" result="success"/><test-result test-name="is_lvalue_iterator" result="success"/><test-result test-name="is_readable_iterator" result="success"/><test-result test-name="iterator_adaptor_cc" result="success"/><test-result test-name="iterator_adaptor_test" result="success"/><test-result test-name="iterator_archetype_cc" result="success"/><test-result test-name="iterator_facade" result="success"/><test-result test-name="iterator_traits_test" result="success"/><test-result test-name="iter_archetype_default_ctor" result="success"/><test-result test-name="lvalue_concept_fail" result="success"/><test-result test-name="permutation_iterator_test" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="reverse_iterator_test" result="success"/><test-result test-name="transform_iterator_test" result="success"/><test-result test-name="unit_tests" result="success"/><test-result test-name="zip_iterator_test" result="success"/></library>
+<library name="logic"><test-result test-name="tribool_io_test" result="success"/><test-result test-name="tribool_rename_test" result="success"/><test-result test-name="tribool_test" result="success"/></library>
+<library name="math"><test-result test-name="common_factor_test" result="success"/><test-result test-name="octonion_test" result="success"/><test-result test-name="quaternion_mult_incl_test" result="success"/><test-result test-name="quaternion_test" result="success"/><test-result test-name="special_functions_test" result="success"/></library>
+<library name="mpl"><test-result test-name="advance" result="success"/><test-result test-name="always" result="success"/><test-result test-name="apply" result="success"/><test-result test-name="apply_wrap" result="success"/><test-result test-name="arithmetic" result="success"/><test-result test-name="assert" result="success"/><test-result test-name="as_sequence" result="success"/><test-result test-name="at" result="success"/><test-result test-name="back" result="success"/><test-result test-name="bind" result="success"/><test-result test-name="bitwise" result="success"/><test-result test-name="bool" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="contains" result="success"/><test-result test-name="copy" result="success"/><test-result test-name="copy_if" result="success"/><test-result test-name="count" result="success"/><test-result test-name="count_if" result="success"/><test-result test-name="deque" result="success"/><test-result test-name="distance" result="success"/><test-result test-name="empty" result="success"/><test-result test-name="equal" result="success"/><test-result test-name="erase" result="success"/><test-result test-name="erase_range" result="success"/><test-result test-name="eval_if" result="success"/><test-result test-name="filter_view" result="success"/><test-result test-name="find" result="success"/><test-result test-name="find_if" result="success"/><test-result test-name="fold" result="success"/><test-result test-name="for_each" result="success"/><test-result test-name="front" result="success"/><test-result test-name="has_xxx" result="success"/><test-result test-name="identity" result="success"/><test-result test-name="if" result="success"/><test-result test-name="index_of" result="success"/><test-result test-name="inherit" result="success"/><test-result test-name="insert" result="success"/><test-result test-name="insert_range" result="success"/><test-result test-name="int" result="success"/><test-result test-name="integral_c" result="success"/><test-result test-name="is_placeholder" result="success"/><test-result test-name="is_sequence" result="success"/><test-result test-name="iterator_tags" result="success"/><test-result test-name="joint_view" result="success"/><test-result test-name="lambda" result="success"/><test-result test-name="lambda_args" result="success"/><test-result test-name="largest_int" result="success"/><test-result test-name="list" result="success"/><test-result test-name="list_c" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="lower_bound" result="success"/><test-result test-name="map" result="success"/><test-result test-name="max_element" result="success"/><test-result test-name="min_max" result="success"/><test-result test-name="msvc_is_class" result="success"/><test-result test-name="multiset" result="success"/><test-result test-name="next" result="success"/><test-result test-name="no_has_xxx" result="success"/><test-result test-name="numeric_ops" result="success"/><test-result test-name="pair_view" result="success"/><test-result test-name="partition" result="success"/><test-result test-name="pop_front" result="success"/><test-result test-name="push_front" result="success"/><test-result test-name="quote" result="success"/><test-result test-name="range_c" result="success"/><test-result test-name="remove" result="success"/><test-result test-name="remove_if" result="success"/><test-result test-name="replace" result="success"/><test-result test-name="replace_if" result="success"/><test-result test-name="reverse" result="success"/><test-result test-name="same_as" result="success"/><test-result test-name="set" result="success"/><test-result test-name="set_c" result="success"/><test-result test-name="single_view" result="success"/><test-result test-name="size" result="success"/><test-result test-name="sizeof" result="success"/><test-result test-name="size_t" result="success"/><test-result test-name="sort" result="success"/><test-result test-name="stable_partition" result="success"/><test-result test-name="template_arity" result="success"/><test-result test-name="transform" result="success"/><test-result test-name="transform_view" result="success"/><test-result test-name="unique" result="success"/><test-result test-name="unpack_args" result="success"/><test-result test-name="upper_bound" result="success"/><test-result test-name="vector" result="success"/><test-result test-name="vector_c" result="success"/><test-result test-name="zip_view" result="success"/></library>
+<library name="multi_array"><test-result test-name="access" result="success"/><test-result test-name="assign" result="success"/><test-result test-name="assign_to_array" result="success"/><test-result test-name="compare" result="success"/><test-result test-name="concept_checks" result="success"/><test-result test-name="constructors" result="success"/><test-result test-name="fail_cbracket" result="success"/><test-result test-name="fail_cdata" result="success"/><test-result test-name="fail_citerator" result="success"/><test-result test-name="fail_cparen" result="success"/><test-result test-name="fail_criterator" result="success"/><test-result test-name="fail_csubarray" result="success"/><test-result test-name="fail_csubarray2" result="success"/><test-result test-name="fail_csubarray3" result="success"/><test-result test-name="fail_cview" result="success"/><test-result test-name="fail_cview2" result="success"/><test-result test-name="fail_cview3" result="success"/><test-result test-name="fail_ref_cbracket" result="success"/><test-result test-name="fail_ref_cdata" result="success"/><test-result test-name="fail_ref_citerator" result="success"/><test-result test-name="fail_ref_cparen" result="success"/><test-result test-name="fail_ref_criterator" result="success"/><test-result test-name="fail_ref_csubarray" result="success"/><test-result test-name="fail_ref_csubarray2" result="success"/><test-result test-name="fail_ref_csubarray3" result="success"/><test-result test-name="fail_ref_cview" result="success"/><test-result test-name="fail_ref_cview2" result="success"/><test-result test-name="fail_ref_cview3" result="success"/><test-result test-name="idxgen1" result="success"/><test-result test-name="index_bases" result="success"/><test-result test-name="iterators" result="success"/><test-result test-name="range1" result="success"/><test-result test-name="reshape" result="success"/><test-result test-name="resize" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="stl_interaction" result="success"/><test-result test-name="storage_order" result="success"/></library>
+<library name="multi_index"><test-result test-name="test_basic" result="success"/><test-result test-name="test_capacity" result="success"/><test-result test-name="test_comparison" result="success"/><test-result test-name="test_composite_key" result="success"/><test-result test-name="test_conv_iterators" result="success"/><test-result test-name="test_copy_assignment" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_key_extractors" result="success"/><test-result test-name="test_list_ops" result="success"/><test-result test-name="test_modifiers" result="success"/><test-result test-name="test_mpl_ops" result="success"/><test-result test-name="test_projection" result="success"/><test-result test-name="test_range" result="success"/><test-result test-name="test_safe_mode" result="success"/><test-result test-name="test_set_ops" result="success"/><test-result test-name="test_special_list_ops" result="success"/><test-result test-name="test_special_set_ops" result="success"/><test-result test-name="test_update" result="success"/></library>
+<library name="numeric/conversion"><test-result test-name="bounds_test" result="success"/><test-result test-name="converter_test" result="success"/><test-result test-name="numeric_cast_test" result="success"/><test-result test-name="traits_test" result="success"/><test-result test-name="udt_support_test" result="success"/></library>
+<library name="numeric/interval"><test-result test-name="add" result="success"/><test-result test-name="cmp" result="success"/><test-result test-name="cmp_exn" result="success"/><test-result test-name="cmp_exp" result="success"/><test-result test-name="cmp_lex" result="success"/><test-result test-name="cmp_set" result="success"/><test-result test-name="cmp_tribool" result="success"/><test-result test-name="det" result="success"/><test-result test-name="fmod" result="success"/><test-result test-name="integer" result="success"/><test-result test-name="mul" result="success"/><test-result test-name="overflow" result="success"/><test-result test-name="pi" result="success"/><test-result test-name="pow" result="success"/><test-result test-name="test_float" result="success"/></library>
+<library name="numeric/ublas"><test-result test-name="concepts" result="success"/><test-result test-name="placement_new" result="success"/><test-result test-name="test1" result="success"/><test-result test-name="test2" result="success"/><test-result test-name="test3" result="success"/><test-result test-name="test4" result="success"/><test-result test-name="test5" result="success"/><test-result test-name="test6" result="success"/></library>
+<library name="optional"><test-result test-name="optional_test" result="success"/><test-result test-name="optional_test_fail1" result="success"/><test-result test-name="optional_test_fail2" result="success"/><test-result test-name="optional_test_fail3a" result="success"/><test-result test-name="optional_test_fail3b" result="success"/><test-result test-name="optional_test_inplace" result="success"/><test-result test-name="optional_test_inplace_fail" result="success"/><test-result test-name="optional_test_inplace_fail2" result="success"/><test-result test-name="optional_test_ref" result="success"/><test-result test-name="optional_test_ref_fail1" result="success"/><test-result test-name="optional_test_ref_fail2" result="success"/><test-result test-name="optional_test_ref_fail3" result="success"/><test-result test-name="optional_test_ref_fail4" result="success"/><test-result test-name="optional_test_tie" result="success"/></library>
+<library name="program_options"><test-result test-name="cmdline_test" result="success"/><test-result test-name="cmdline_test_dll" result="success"/><test-result test-name="options_description_test" result="success"/><test-result test-name="options_description_test_dll" result="success"/><test-result test-name="parsers_test" result="success"/><test-result test-name="parsers_test_dll" result="success"/><test-result test-name="positional_options_test" result="success"/><test-result test-name="positional_options_test_dll" result="success"/><test-result test-name="unicode_test" result="success"/><test-result test-name="unicode_test_dll" result="success"/><test-result test-name="variable_map_test" result="success"/><test-result test-name="variable_map_test_dll" result="success"/><test-result test-name="winmain" result="success"/><test-result test-name="winmain_dll" result="success"/></library>
+<library name="python"><test-result test-name="args" result="success"/><test-result test-name="as_to_python_function" result="success"/><test-result test-name="auto_ptr" result="success"/><test-result test-name="back_reference" result="success"/><test-result test-name="bases" result="success"/><test-result test-name="ben_scott1" result="success"/><test-result test-name="bienstman1" result="success"/><test-result test-name="bienstman2" result="success"/><test-result test-name="bienstman3" result="success"/><test-result test-name="borrowed" result="success"/><test-result test-name="builtin_converters" result="success"/><test-result test-name="callbacks" result="success"/><test-result test-name="const_argument" result="success"/><test-result test-name="copy_ctor_mutates_rhs" result="success"/><test-result test-name="crossmod_exception" result="success"/><test-result test-name="data_members" result="success"/><test-result test-name="defaults" result="success"/><test-result test-name="destroy_test" result="success"/><test-result test-name="dict" result="success"/><test-result test-name="docstring" result="success"/><test-result test-name="embedding" result="success"/><test-result test-name="enum" result="success"/><test-result test-name="exception_translator" result="success"/><test-result test-name="extract" result="success"/><test-result test-name="if_else" result="success"/><test-result test-name="implicit" result="success"/><test-result test-name="indirect_traits_test" result="success"/><test-result test-name="injected" result="success"/><test-result test-name="iterator" result="success"/><test-result test-name="keywords" result="success"/><test-result test-name="list" result="success"/><test-result test-name="long" result="success"/><test-result test-name="map_indexing_suite" result="success"/><test-result test-name="minimal" result="success"/><test-result test-name="multi_arg_constructor" result="success"/><test-result test-name="nested" result="success"/><test-result test-name="numpy" result="success"/><test-result test-name="object" result="success"/><test-result test-name="object_fail1" result="success"/><test-result test-name="object_manager" result="success"/><test-result test-name="opaque" result="success"/><test-result test-name="operators" result="success"/><test-result test-name="pearu1" result="success"/><test-result test-name="pickle1" result="success"/><test-result test-name="pickle2" result="success"/><test-result test-name="pickle3" result="success"/><test-result test-name="pickle4" result="success"/><test-result test-name="pointee" result="success"/><test-result test-name="pointer_type_id_test" result="success"/><test-result test-name="polymorphism" result="success"/><test-result test-name="polymorphism2" result="success"/><test-result test-name="properties" result="success"/><test-result test-name="raw_pyobject_fail1" result="success"/><test-result test-name="raw_pyobject_fail2" result="success"/><test-result test-name="result" result="success"/><test-result test-name="return_arg" result="success"/><test-result test-name="select_arg_to_python_test" result="success"/><test-result test-name="select_from_python_test" result="success"/><test-result test-name="select_holder" result="success"/><test-result test-name="shared_ptr" result="success"/><test-result test-name="slice" result="success"/><test-result test-name="staticmethod" result="success"/><test-result test-name="str" result="success"/><test-result test-name="string_literal" result="success"/><test-result test-name="test_pointer_adoption" result="success"/><test-result test-name="try" result="success"/><test-result test-name="tuple" result="success"/><test-result test-name="upcast" result="success"/><test-result test-name="vector_indexing_suite" result="success"/><test-result test-name="virtual_functions" result="success"/></library>
+<library name="random"><test-result test-name="random_demo" result="fail"/><test-result test-name="random_test" result="fail"/></library>
+<library name="range"><test-result test-name="array_test" result="success"/><test-result test-name="const_ranges" result="success"/><test-result test-name="example_test" result="success"/><test-result test-name="iterator_pair_test" result="success"/><test-result test-name="iterator_range" result="success"/><test-result test-name="reversible_range_test" result="success"/><test-result test-name="std_container_test" result="success"/><test-result test-name="string_test" result="success"/><test-result test-name="sub_range" result="success"/><test-result test-name="workaround_test" result="success"/></library>
+<library name="regex"><test-result test-name="captures_example" result="success"/><test-result test-name="credit_card_example" result="success"/><test-result test-name="jgrep" result="success"/><test-result test-name="partial_regex_grep" result="success"/><test-result test-name="partial_regex_match" result="success"/><test-result test-name="regex_grep_example_1" result="success"/><test-result test-name="regex_grep_example_2" result="success"/><test-result test-name="regex_grep_example_3" result="success"/><test-result test-name="regex_grep_example_4" result="success"/><test-result test-name="regex_iterator_example" result="success"/><test-result test-name="regex_match_example" result="success"/><test-result test-name="regex_merge_example" result="success"/><test-result test-name="regex_replace_example" result="success"/><test-result test-name="regex_search_example" result="success"/><test-result test-name="regex_split_example_1" result="success"/><test-result test-name="regex_split_example_2" result="success"/><test-result test-name="regex_timer" result="success"/><test-result test-name="regex_token_iterator_eg_1" result="success"/><test-result test-name="regex_token_iterator_eg_2" result="success"/><test-result test-name="bad_expression_test" result="success"/><test-result test-name="captures_test" result="success"/><test-result test-name="concept_check" result="success"/><test-result test-name="posix_api_check" result="success"/><test-result test-name="posix_api_check_cpp" result="success"/><test-result test-name="recursion_test" result="success"/><test-result test-name="regex_config_info" result="success"/><test-result test-name="regex_dll_config_info" result="success"/><test-result test-name="regex_regress" result="success"/><test-result test-name="regex_regress_dll" result="success"/><test-result test-name="regex_wide_regress" result="success"/><test-result test-name="regex_wide_regress_dll" result="success"/><test-result test-name="wide_concept_check" result="success"/><test-result test-name="wide_posix_api_check_c" result="success"/><test-result test-name="wide_posix_api_check_cpp" result="success"/></library>
+<library name="serialization"><test-result test-name="test_array_binary_archive" result="success"/><test-result test-name="test_array_text_archive" result="success"/><test-result test-name="test_array_text_warchive" result="success"/><test-result test-name="test_array_xml_archive" result="success"/><test-result test-name="test_array_xml_warchive" result="success"/><test-result test-name="test_binary_binary_archive" result="success"/><test-result test-name="test_binary_text_archive" result="success"/><test-result test-name="test_binary_text_warchive" result="success"/><test-result test-name="test_binary_xml_archive" result="success"/><test-result test-name="test_binary_xml_warchive" result="success"/><test-result test-name="test_class_info_load_binary_archive" result="success"/><test-result test-name="test_class_info_load_text_archive" result="success"/><test-result test-name="test_class_info_load_text_warchive" result="fail"/><test-result test-name="test_class_info_load_xml_archive" result="success"/><test-result test-name="test_class_info_load_xml_warchive" result="success"/><test-result test-name="test_class_info_save_binary_archive" result="success"/><test-result test-name="test_class_info_save_text_archive" result="success"/><test-result test-name="test_class_info_save_text_warchive" result="success"/><test-result test-name="test_class_info_save_xml_archive" result="success"/><test-result test-name="test_class_info_save_xml_warchive" result="success"/><test-result test-name="test_codecvt_null" result="success"/><test-result test-name="test_const" result="success"/><test-result test-name="test_contained_class_binary_archive" result="success"/><test-result test-name="test_contained_class_text_archive" result="success"/><test-result test-name="test_contained_class_text_warchive" result="success"/><test-result test-name="test_contained_class_xml_archive" result="success"/><test-result test-name="test_contained_class_xml_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_binary_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_archive" result="success"/><test-result test-name="test_cyclic_ptrs_text_warchive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_archive" result="success"/><test-result test-name="test_cyclic_ptrs_xml_warchive" result="success"/><test-result test-name="test_delete_pointer_binary_archive" result="success"/><test-result test-name="test_delete_pointer_text_archive" result="success"/><test-result test-name="test_delete_pointer_text_warchive" result="success"/><test-result test-name="test_delete_pointer_xml_archive" result="success"/><test-result test-name="test_delete_pointer_xml_warchive" result="success"/><test-result test-name="test_demo" result="success"/><test-result test-name="test_demo_auto_ptr" result="success"/><test-result test-name="test_demo_exception" result="success"/><test-result test-name="test_demo_fast_archive" result="success"/><test-result test-name="test_demo_pimpl" result="success"/><test-result test-name="test_demo_polymorphic" result="success"/><test-result test-name="test_demo_portable_archive" result="success"/><test-result test-name="test_demo_shared_ptr" result="success"/><test-result test-name="test_demo_xml" result="success"/><test-result test-name="test_demo_xml_load" result="success"/><test-result test-name="test_demo_xml_save" result="success"/><test-result test-name="test_deque_binary_archive" result="success"/><test-result test-name="test_deque_text_archive" result="success"/><test-result test-name="test_deque_text_warchive" result="success"/><test-result test-name="test_deque_xml_archive" result="success"/><test-result test-name="test_deque_xml_warchive" result="success"/><test-result test-name="test_derived_binary_archive" result="success"/><test-result test-name="test_derived_class_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_binary_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_archive" result="success"/><test-result test-name="test_derived_class_ptr_text_warchive" result="success"/><test-result test-name="test_derived_class_ptr_xml_archive" result="success"/><test-result test-name="test_derived_class_ptr_xml_warchive" result="success"/><test-result test-name="test_derived_class_text_archive" result="success"/><test-result test-name="test_derived_class_text_warchive" result="success"/><test-result test-name="test_derived_class_xml_archive" result="success"/><test-result test-name="test_derived_class_xml_warchive" result="success"/><test-result test-name="test_derived_text_archive" result="success"/><test-result test-name="test_derived_text_warchive" result="success"/><test-result test-name="test_derived_xml_archive" result="success"/><test-result test-name="test_derived_xml_warchive" result="success"/><test-result test-name="test_diamond_binary_archive" result="success"/><test-result test-name="test_diamond_text_archive" result="success"/><test-result test-name="test_diamond_text_warchive" result="success"/><test-result test-name="test_diamond_xml_archive" result="success"/><test-result test-name="test_diamond_xml_warchive" result="success"/><test-result test-name="test_exported_binary_archive" result="success"/><test-result test-name="test_exported_text_archive" result="success"/><test-result test-name="test_exported_text_warchive" result="success"/><test-result test-name="test_exported_xml_archive" result="success"/><test-result test-name="test_exported_xml_warchive" result="success"/><test-result test-name="test_iterators" result="success"/><test-result test-name="test_iterators_base64" result="success"/><test-result test-name="test_list_binary_archive" result="success"/><test-result test-name="test_list_ptrs_binary_archive" result="success"/><test-result test-name="test_list_ptrs_text_archive" result="success"/><test-result test-name="test_list_ptrs_text_warchive" result="success"/><test-result test-name="test_list_ptrs_xml_archive" result="success"/><test-result test-name="test_list_ptrs_xml_warchive" result="success"/><test-result test-name="test_list_text_archive" result="success"/><test-result test-name="test_list_text_warchive" result="success"/><test-result test-name="test_list_xml_archive" result="success"/><test-result test-name="test_list_xml_warchive" result="success"/><test-result test-name="test_map_binary_archive" result="success"/><test-result test-name="test_map_text_archive" result="success"/><test-result test-name="test_map_text_warchive" result="success"/><test-result test-name="test_map_xml_archive" result="success"/><test-result test-name="test_map_xml_warchive" result="success"/><test-result test-name="test_mi_binary_archive" result="success"/><test-result test-name="test_mi_text_archive" result="success"/><test-result test-name="test_mi_text_warchive" result="success"/><test-result test-name="test_mi_xml_archive" result="success"/><test-result test-name="test_mi_xml_warchive" result="success"/><test-result test-name="test_multiple_ptrs_binary_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_archive" result="success"/><test-result test-name="test_multiple_ptrs_text_warchive" result="success"/><test-result test-name="test_multiple_ptrs_xml_archive" result="success"/><test-result test-name="test_multiple_ptrs_xml_warchive" result="success"/><test-result test-name="test_mult_archive_types" result="success"/><test-result test-name="test_non_default_ctor2_binary_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_archive" result="success"/><test-result test-name="test_non_default_ctor2_text_warchive" result="success"/><test-result test-name="test_non_default_ctor2_xml_archive" result="success"/><test-result test-name="test_non_default_ctor2_xml_warchive" result="success"/><test-result test-name="test_non_default_ctor_binary_archive" result="success"/><test-result test-name="test_non_default_ctor_text_archive" result="success"/><test-result test-name="test_non_default_ctor_text_warchive" result="success"/><test-result test-name="test_non_default_ctor_xml_archive" result="success"/><test-result test-name="test_non_default_ctor_xml_warchive" result="success"/><test-result test-name="test_non_intrusive_binary_archive" result="success"/><test-result test-name="test_non_intrusive_text_archive" result="success"/><test-result test-name="test_non_intrusive_text_warchive" result="success"/><test-result test-name="test_non_intrusive_xml_archive" result="success"/><test-result test-name="test_non_intrusive_xml_warchive" result="success"/><test-result test-name="test_not_serializable" result="success"/><test-result test-name="test_no_rtti_binary_archive" result="success"/><test-result test-name="test_no_rtti_text_archive" result="success"/><test-result test-name="test_no_rtti_text_warchive" result="success"/><test-result test-name="test_no_rtti_xml_archive" result="success"/><test-result test-name="test_no_rtti_xml_warchive" result="success"/><test-result test-name="test_null_ptr_binary_archive" result="success"/><test-result test-name="test_null_ptr_text_archive" result="success"/><test-result test-name="test_null_ptr_text_warchive" result="success"/><test-result test-name="test_null_ptr_xml_archive" result="success"/><test-result test-name="test_null_ptr_xml_warchive" result="success"/><test-result test-name="test_nvp_binary_archive" result="success"/><test-result test-name="test_nvp_text_archive" result="success"/><test-result test-name="test_nvp_text_warchive" result="success"/><test-result test-name="test_nvp_xml_archive" result="success"/><test-result test-name="test_nvp_xml_warchive" result="success"/><test-result test-name="test_object_binary_archive" result="success"/><test-result test-name="test_object_text_archive" result="success"/><test-result test-name="test_object_text_warchive" result="success"/><test-result test-name="test_object_xml_archive" result="success"/><test-result test-name="test_object_xml_warchive" result="success"/><test-result test-name="test_optional_binary_archive" result="success"/><test-result test-name="test_optional_text_archive" result="success"/><test-result test-name="test_optional_text_warchive" result="success"/><test-result test-name="test_optional_xml_archive" result="success"/><test-result test-name="test_optional_xml_warchive" result="success"/><test-result test-name="test_polymorphic_binary_archive" result="success"/><test-result test-name="test_polymorphic_text_archive" result="success"/><test-result test-name="test_polymorphic_text_warchive" result="success"/><test-result test-name="test_polymorphic_xml_archive" result="success"/><test-result test-name="test_polymorphic_xml_warchive" result="success"/><test-result test-name="test_primitive_binary_archive" result="success"/><test-result test-name="test_primitive_text_archive" result="success"/><test-result test-name="test_primitive_text_warchive" result="success"/><test-result test-name="test_primitive_xml_archive" result="success"/><test-result test-name="test_primitive_xml_warchive" result="success"/><test-result test-name="test_private_ctor" result="success"/><test-result test-name="test_recursion_binary_archive" result="success"/><test-result test-name="test_recursion_text_archive" result="success"/><test-result test-name="test_recursion_text_warchive" result="success"/><test-result test-name="test_recursion_xml_archive" result="success"/><test-result test-name="test_recursion_xml_warchive" result="success"/><test-result test-name="test_registered_binary_archive" result="success"/><test-result test-name="test_registered_text_archive" result="success"/><test-result test-name="test_registered_text_warchive" result="success"/><test-result test-name="test_registered_xml_archive" result="success"/><test-result test-name="test_registered_xml_warchive" result="success"/><test-result test-name="test_set_binary_archive" result="success"/><test-result test-name="test_set_text_archive" result="success"/><test-result test-name="test_set_text_warchive" result="success"/><test-result test-name="test_set_xml_archive" result="success"/><test-result test-name="test_set_xml_warchive" result="success"/><test-result test-name="test_shared_ptr_binary_archive" result="success"/><test-result test-name="test_shared_ptr_text_archive" result="success"/><test-result test-name="test_shared_ptr_text_warchive" result="success"/><test-result test-name="test_shared_ptr_xml_archive" result="success"/><test-result test-name="test_shared_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_binary_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_archive" result="success"/><test-result test-name="test_simple_class_ptr_text_warchive" result="success"/><test-result test-name="test_simple_class_ptr_xml_archive" result="success"/><test-result test-name="test_simple_class_ptr_xml_warchive" result="success"/><test-result test-name="test_simple_class_text_archive" result="success"/><test-result test-name="test_simple_class_text_warchive" result="success"/><test-result test-name="test_simple_class_xml_archive" result="success"/><test-result test-name="test_simple_class_xml_warchive" result="success"/><test-result test-name="test_smart_cast" result="success"/><test-result test-name="test_split_binary_archive" result="success"/><test-result test-name="test_split_text_archive" result="success"/><test-result test-name="test_split_text_warchive" result="success"/><test-result test-name="test_split_xml_archive" result="success"/><test-result test-name="test_split_xml_warchive" result="success"/><test-result test-name="test_static_warning" result="success"/><test-result test-name="test_tracking_binary_archive" result="success"/><test-result test-name="test_tracking_text_archive" result="success"/><test-result test-name="test_tracking_text_warchive" result="success"/><test-result test-name="test_tracking_xml_archive" result="success"/><test-result test-name="test_tracking_xml_warchive" result="success"/><test-result test-name="test_traits_fail" result="success"/><test-result test-name="test_traits_pass" result="success"/><test-result test-name="test_unregistered_binary_archive" result="success"/><test-result test-name="test_unregistered_text_archive" result="success"/><test-result test-name="test_unregistered_text_warchive" result="success"/><test-result test-name="test_unregistered_xml_archive" result="success"/><test-result test-name="test_unregistered_xml_warchive" result="success"/><test-result test-name="test_utf8_codecvt" result="success"/><test-result test-name="test_vector_binary_archive" result="success"/><test-result test-name="test_vector_text_archive" result="success"/><test-result test-name="test_vector_text_warchive" result="success"/><test-result test-name="test_vector_xml_archive" result="success"/><test-result test-name="test_vector_xml_warchive" result="success"/><test-result test-name="test_void_cast" result="success"/></library>
+<library name="signals"><test-result test-name="dead_slot_test" result="success"/><test-result test-name="deletion_test" result="success"/><test-result test-name="ordering_test" result="success"/><test-result test-name="signal_n_test" result="success"/><test-result test-name="signal_test" result="success"/><test-result test-name="trackable_test" result="success"/></library>
+<library name="smart_ptr"><test-result test-name="get_deleter_test" result="success"/><test-result test-name="intrusive_ptr_test" result="success"/><test-result test-name="shared_from_this_test" result="success"/><test-result test-name="shared_ptr_assign_fail" result="success"/><test-result test-name="shared_ptr_basic_test" result="success"/><test-result test-name="shared_ptr_test" result="success"/><test-result test-name="smart_ptr_test" result="success"/><test-result test-name="weak_ptr_test" result="success"/></library>
+<library name="spirit"><test-result test-name="action_tests" result="success"/><test-result test-name="action_tests_debug" result="success"/><test-result test-name="ast_calc_tests" result="success"/><test-result test-name="ast_calc_tests_debug" result="success"/><test-result test-name="bug_000008" result="success"/><test-result test-name="bug_fixes" result="success"/><test-result test-name="bug_fixes_debug" result="success"/><test-result test-name="chset_tests" result="success"/><test-result test-name="chset_tests_debug" result="success"/><test-result test-name="closure_tests" result="success"/><test-result test-name="closure_tests_debug" result="success"/><test-result test-name="confix_tests" result="success"/><test-result test-name="confix_tests_debug" result="success"/><test-result test-name="directives_tests" result="success"/><test-result test-name="directives_tests_debug" result="success"/><test-result test-name="distinct_tests" result="success"/><test-result test-name="distinct_tests_debug" result="success"/><test-result test-name="epsilon_tests" result="success"/><test-result test-name="epsilon_tests_debug" result="success"/><test-result test-name="escape_char_parser_tests" result="success"/><test-result test-name="escape_char_parser_tests_debug" result="success"/><test-result test-name="exception_tests" result="success"/><test-result test-name="exception_tests_debug" result="success"/><test-result test-name="file_iterator_tests" result="success"/><test-result test-name="file_iterator_tests_debug" result="success"/><test-result test-name="fixed_size_queue_fail_tests" result="success"/><test-result test-name="fixed_size_queue_tests" result="success"/><test-result test-name="fixed_size_queue_tests_debug" result="success"/><test-result test-name="for_p_as_parser_tests" result="success"/><test-result test-name="for_tests" result="success"/><test-result test-name="for_tests_debug" result="success"/><test-result test-name="fundamental_tests" result="success"/><test-result test-name="fundamental_tests_debug" result="success"/><test-result test-name="grammar_mt_tests" result="success"/><test-result test-name="grammar_multi_instance_tst" result="success"/><test-result test-name="grammar_multi_instance_tst_debug" result="success"/><test-result test-name="grammar_tests" result="success"/><test-result test-name="grammar_tests_debug" result="success"/><test-result test-name="if_p_as_parser_tests" result="success"/><test-result test-name="if_tests" result="success"/><test-result test-name="if_tests_debug" result="success"/><test-result test-name="lazy_tests" result="success"/><test-result test-name="lazy_tests_debug" result="success"/><test-result test-name="loops_tests" result="success"/><test-result test-name="loops_tests_debug" result="success"/><test-result test-name="match_tests" result="success"/><test-result test-name="match_tests_debug" result="success"/><test-result test-name="multi_pass_compile_tests" result="success"/><test-result test-name="multi_pass_tests" result="success"/><test-result test-name="multi_pass_tests_debug" result="success"/><test-result test-name="negated_eps_p_test" result="success"/><test-result test-name="negated_eps_p_test_debug" result="success"/><test-result test-name="numerics_tests" result="success"/><test-result test-name="numerics_tests_debug" result="success"/><test-result test-name="operators_tests" result="success"/><test-result test-name="operators_tests_debug" result="success"/><test-result test-name="owi_mt_tests" result="success"/><test-result test-name="owi_st_tests" result="success"/><test-result test-name="owi_st_tests_debug" result="success"/><test-result test-name="parametric_tests" result="success"/><test-result test-name="parametric_tests_debug" result="success"/><test-result test-name="parser_context_test" result="success"/><test-result test-name="parser_context_test_debug" result="success"/><test-result test-name="parser_traits_tests" result="success"/><test-result test-name="parser_traits_tests_debug" result="success"/><test-result test-name="position_iterator_tests" result="success"/><test-result test-name="position_iterator_tests_debug" result="success"/><test-result test-name="primitives_tests" result="success"/><test-result test-name="primitives_tests_debug" result="success"/><test-result test-name="repeat_ast_tests" result="success"/><test-result test-name="repeat_ast_tests_debug" result="success"/><test-result test-name="rule_tests" result="success"/><test-result test-name="rule_tests_debug" result="success"/><test-result test-name="scanner_tests" result="success"/><test-result test-name="scanner_tests_debug" result="success"/><test-result test-name="scoped_lock_tests" result="success"/><test-result test-name="scoped_lock_tests_debug" result="success"/><test-result test-name="select_p_with_rule" result="success"/><test-result test-name="select_p_with_rule_debug" result="success"/><test-result test-name="sf_bug_720917" result="success"/><test-result test-name="sf_bug_720917_debug" result="success"/><test-result test-name="shortest_alternative_tests" result="success"/><test-result test-name="shortest_alternative_tests_debug" result="success"/><test-result test-name="subrule_tests" result="success"/><test-result test-name="subrule_tests_debug" result="success"/><test-result test-name="switch_problem" result="success"/><test-result test-name="switch_problem_debug" result="success"/><test-result test-name="switch_tests_eps_default" result="success"/><test-result test-name="switch_tests_eps_default_debug" result="success"/><test-result test-name="switch_tests_general_def" result="success"/><test-result test-name="switch_tests_general_def_debug" result="success"/><test-result test-name="switch_tests_single" result="success"/><test-result test-name="switch_tests_single_debug" result="success"/><test-result test-name="switch_tests_wo_default" result="success"/><test-result test-name="switch_tests_wo_default_debug" result="success"/><test-result test-name="symbols_tests" result="success"/><test-result test-name="symbols_tests_debug" result="success"/><test-result test-name="traverse_tests" result="success"/><test-result test-name="traverse_tests_debug" result="success"/><test-result test-name="while_p_as_parser_tests" result="success"/><test-result test-name="while_tests" result="success"/><test-result test-name="while_tests_debug" result="success"/></library>
+<library name="static_assert"><test-result test-name="static_assert_example_2" result="success"/><test-result test-name="static_assert_example_3" result="success"/><test-result test-name="static_assert_test" result="success"/><test-result test-name="static_assert_test_fail_1" result="success"/><test-result test-name="static_assert_test_fail_2" result="success"/><test-result test-name="static_assert_test_fail_3" result="success"/><test-result test-name="static_assert_test_fail_4" result="success"/><test-result test-name="static_assert_test_fail_5" result="success"/><test-result test-name="static_assert_test_fail_6" result="success"/><test-result test-name="static_assert_test_fail_7" result="success"/><test-result test-name="static_assert_test_fail_8" result="success"/></library>
+<library name="test"><test-result test-name="algorithms_test" result="success"/><test-result test-name="auto_unit_test_test" result="success"/><test-result test-name="auto_unit_test_test_mult" result="success"/><test-result test-name="basic_cstring_test" result="success"/><test-result test-name="class_properties_test" result="success"/><test-result test-name="custom_exception_test" result="success"/><test-result test-name="errors_handling_test" result="success"/><test-result test-name="fixed_mapping_test" result="success"/><test-result test-name="online_test" result="success"/><test-result test-name="output_test_stream_test" result="success"/><test-result test-name="parameterized_test_test" result="success"/><test-result test-name="result_report_test" result="success"/><test-result test-name="test_case_template_test" result="success"/><test-result test-name="test_fp_comparisons" result="success"/><test-result test-name="test_tools_test" result="success"/><test-result test-name="token_iterator_test" result="success"/><test-result test-name="unit_test_suite_ex_test" result="success"/></library>
+<library name="thread"><test-result test-name="test_barrier" result="success"/><test-result test-name="test_barrier_lib" result="success"/><test-result test-name="test_condition" result="success"/><test-result test-name="test_condition_lib" result="success"/><test-result test-name="test_mutex" result="success"/><test-result test-name="test_mutex_lib" result="success"/><test-result test-name="test_once" result="success"/><test-result test-name="test_once_lib" result="success"/><test-result test-name="test_read_write_mutex" result="success"/><test-result test-name="test_read_write_mutex_lib" result="success"/><test-result test-name="test_thread" result="success"/><test-result test-name="test_thread_lib" result="success"/><test-result test-name="test_tss" result="success"/><test-result test-name="test_tss_lib" result="success"/><test-result test-name="test_xtime" result="success"/><test-result test-name="test_xtime_lib" result="success"/></library>
+<library name="type_traits"><test-result test-name="add_const_test" result="success"/><test-result test-name="add_pointer_test" result="success"/><test-result test-name="add_reference_test" result="success"/><test-result test-name="add_volatile_test" result="success"/><test-result test-name="alignment_of_test" result="success"/><test-result test-name="function_traits_test" result="success"/><test-result test-name="has_nothrow_assign_test" result="success"/><test-result test-name="has_nothrow_constr_test" result="success"/><test-result test-name="has_nothrow_copy_test" result="success"/><test-result test-name="has_trivial_assign_test" result="success"/><test-result test-name="has_trivial_constr_test" result="success"/><test-result test-name="has_trivial_copy_test" result="success"/><test-result test-name="has_trivial_destructor_test" result="success"/><test-result test-name="is_abstract_test" result="success"/><test-result test-name="is_arithmetic_test" result="success"/><test-result test-name="is_array_test" result="success"/><test-result test-name="is_base_and_derived_test" result="success"/><test-result test-name="is_class_test" result="success"/><test-result test-name="is_compound_test" result="success"/><test-result test-name="is_const_test" result="success"/><test-result test-name="is_convertible_test" result="success"/><test-result test-name="is_empty_test" result="success"/><test-result test-name="is_enum_test" result="success"/><test-result test-name="is_float_test" result="success"/><test-result test-name="is_function_test" result="success"/><test-result test-name="is_fundamental_test" result="success"/><test-result test-name="is_integral_test" result="success"/><test-result test-name="is_member_func_test" result="success"/><test-result test-name="is_member_pointer_test" result="success"/><test-result test-name="is_object_test" result="success"/><test-result test-name="is_pod_test" result="success"/><test-result test-name="is_pointer_test" result="success"/><test-result test-name="is_polymorphic_test" result="success"/><test-result test-name="is_reference_test" result="success"/><test-result test-name="is_same_test" result="success"/><test-result test-name="is_scalar_test" result="success"/><test-result test-name="is_stateless_test" result="success"/><test-result test-name="is_union_test" result="success"/><test-result test-name="is_void_test" result="success"/><test-result test-name="is_volatile_test" result="success"/><test-result test-name="remove_bounds_test" result="success"/><test-result test-name="remove_const_test" result="success"/><test-result test-name="remove_cv_test" result="success"/><test-result test-name="remove_pointer_test" result="success"/><test-result test-name="remove_reference_test" result="success"/><test-result test-name="remove_volatile_test" result="success"/><test-result test-name="tricky_abstract_type_test" result="success"/><test-result test-name="tricky_add_pointer_test" result="success"/><test-result test-name="tricky_function_type_test" result="success"/><test-result test-name="tricky_incomplete_type_test" result="success"/><test-result test-name="tricky_is_enum_test" result="success"/><test-result test-name="tricky_partial_spec_test" result="success"/><test-result test-name="type_with_alignment_test" result="success"/><test-result test-name="udt_specialisations" result="success"/></library>
+<library name="utility"><test-result test-name="addressof_test" result="success"/><test-result test-name="assert_test" result="success"/><test-result test-name="base_from_member_test" result="success"/><test-result test-name="binary_search_test" result="success"/><test-result test-name="call_traits_test" result="success"/><test-result test-name="checked_delete_test" result="success"/><test-result test-name="compressed_pair_test" result="success"/><test-result test-name="current_function_test" result="success"/><test-result test-name="iterators_test" result="success"/><test-result test-name="next_prior_test" result="success"/><test-result test-name="noncopyable_test" result="success"/><test-result test-name="numeric_traits_test" result="success"/><test-result test-name="operators_test" result="success"/><test-result test-name="ref_ct_test" result="success"/><test-result test-name="ref_test" result="success"/><test-result test-name="result_of_test" result="success"/><test-result test-name="shared_iterator_test" result="success"/><test-result test-name="value_init_test" result="success"/><test-result test-name="value_init_test_fail1" result="success"/><test-result test-name="value_init_test_fail2" result="success"/><test-result test-name="value_init_test_fail3" result="success"/></library>
+<library name="variant"><test-result test-name="recursive_variant_test" result="success"/><test-result test-name="variant_comparison_test" result="success"/><test-result test-name="variant_reference_test" result="success"/><test-result test-name="variant_test1" result="success"/><test-result test-name="variant_test2" result="success"/><test-result test-name="variant_test3" result="success"/><test-result test-name="variant_test4" result="success"/><test-result test-name="variant_test5" result="success"/><test-result test-name="variant_test6" result="success"/><test-result test-name="variant_test7" result="success"/><test-result test-name="variant_test8" result="success"/><test-result test-name="variant_visit_test" result="success"/></library>
+<library name="config"><test-result test-name="abi_test" result="success"/><test-result test-name="config_info" result="success"/><test-result test-name="config_link_test" result="success"/><test-result test-name="config_test" result="success"/><test-result test-name="limits_test" result="success"/><test-result test-name="test_thread_fail1" result="success"/><test-result test-name="test_thread_fail2" result="success"/></library>
+<library name="lambda"><test-result test-name="algorithm_test" result="success"/><test-result test-name="bind_tests_advanced" result="success"/><test-result test-name="bind_tests_simple" result="success"/><test-result test-name="bind_tests_simple_f_refs" result="success"/><test-result test-name="bll_and_function" result="success"/><test-result test-name="constructor_tests" result="success"/><test-result test-name="control_structures" result="success"/><test-result test-name="exception_test" result="success"/><test-result test-name="extending_rt_traits" result="success"/><test-result test-name="is_instance_of_test" result="success"/><test-result test-name="lambda_cast_test" result="success"/><test-result test-name="member_pointer_test" result="success"/><test-result test-name="operator_tests_simple" result="success"/><test-result test-name="phoenix_control_structures" result="success"/><test-result test-name="switch_construct" result="success"/></library>
+<library name="any"><test-result test-name="any_test" result="success"/></library>
+<library name="preprocessor"><test-result test-name="arithmetic" result="success"/><test-result test-name="array" result="success"/><test-result test-name="comparison" result="success"/><test-result test-name="control" result="success"/><test-result test-name="debug" result="success"/><test-result test-name="facilities" result="success"/><test-result test-name="iteration" result="success"/><test-result test-name="list" result="success"/><test-result test-name="logical" result="success"/><test-result test-name="repetition" result="success"/><test-result test-name="selection" result="success"/><test-result test-name="slot" result="success"/><test-result test-name="tuple" result="success"/></library>
+<library name="array"><test-result test-name="array1" result="success"/><test-result test-name="array2" result="success"/><test-result test-name="array3" result="success"/><test-result test-name="array4" result="success"/><test-result test-name="array5" result="success"/></library>
+<library name="concept_check"><test-result test-name="class_concept_check_test" result="success"/><test-result test-name="class_concept_fail_expected" result="success"/><test-result test-name="concept_check_fail_expected" result="success"/><test-result test-name="concept_check_test" result="success"/></library>
+<library name="crc"><test-result test-name="crc_test" result="success"/></library>
+<library name="integer"><test-result test-name="cstdint_test" result="success"/><test-result test-name="integer_test" result="success"/><test-result test-name="integer_traits_test" result="success"/></library>
+<library name="disjoint_sets"><test-result test-name="disjoint_set_test" result="success"/></library>
+<library name="tokenizer"><test-result test-name="examples" result="success"/><test-result test-name="simple_example_1" result="success"/><test-result test-name="simple_example_2" result="success"/><test-result test-name="simple_example_3" result="success"/><test-result test-name="simple_example_4" result="success"/><test-result test-name="simple_example_5" result="success"/></library>
+<library name="functional"><test-result test-name="function_test" result="success"/></library>
+<library name="tuple"><test-result test-name="io_test" result="success"/><test-result test-name="tuple_test_bench" result="success"/></library>
+<library name="property_map"><test-result test-name="property_map_cc" result="success"/></library>
+<library name="rational"><test-result test-name="rational_example" result="success"/><test-result test-name="rational_test" result="success"/></library>
+<library name="pool"><test-result test-name="test_pool_alloc" result="success"/></library>
+<library name="timer"><test-result test-name="timer_test" result="success"/></library>
+</toolset></expected-failures>
diff --git a/libs/filesystem b/libs/filesystem
new file mode 160000
+Subproject ffd2d4a2b83a53147f2798fa4058dc2a90dcdc5
diff --git a/libs/format b/libs/format
new file mode 160000
+Subproject 2dec5a24d6c2cedee522fd159991e7411ae088d
diff --git a/libs/function b/libs/function
new file mode 160000
+Subproject 7fd8ec7fbd2901084f414e250611bfa9efe2c25
diff --git a/libs/functional b/libs/functional
new file mode 160000
+Subproject 35fd143ea0b13020a004704f86970b1bdad53a5
diff --git a/libs/graph b/libs/graph
new file mode 160000
+Subproject e5d7b1b2b0d625b0c0a90b20fcbff47548d3a07
diff --git a/libs/index.html b/libs/index.html
new file mode 100644
index 0000000000..94045cf1bf
--- /dev/null
+++ b/libs/index.html
@@ -0,0 +1,9 @@
+<html>
+<head>
+<meta http-equiv="refresh" content="0; URL=libraries.htm">
+</head>
+<body>
+Automatic redirection failed, please go to
+<a href="libraries.htm">libraries.htm</a>.
+</body>
+</html>
diff --git a/libs/integer b/libs/integer
new file mode 160000
+Subproject d73551d222618636adfe6ed358d4c41e53310e0
diff --git a/libs/io b/libs/io
new file mode 160000
+Subproject 6264225ed4dc88b4063d9890062ede91402459c
diff --git a/libs/iostreams b/libs/iostreams
new file mode 160000
+Subproject f850064d02db0553c28ee68d8afba9b0d1a0ee1
diff --git a/libs/iterator b/libs/iterator
new file mode 160000
+Subproject 856c5914d7049a2dbc0851b8ac1e54c60ce7467
diff --git a/libs/lambda b/libs/lambda
new file mode 160000
+Subproject 827b9976d8567dc0b3ff4f670529ca73778c0a8
diff --git a/libs/libraries.htm b/libs/libraries.htm
new file mode 100644
index 0000000000..fe6fb6ab88
--- /dev/null
+++ b/libs/libraries.htm
@@ -0,0 +1,616 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<html>
+
+<head>
+<meta http-equiv="Content-Type"
+content="text/html; charset=iso-8859-1">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<title>Boost Libraries</title>
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+
+<table border="1" cellpadding="2" bgcolor="#007F7F">
+ <tr>
+ <td bgcolor="#FFFFFF">
+ <img src="../boost.png"
+ alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font color="#FFFFFF" size="4"
+ face="Arial">Home</font></a></td>
+ <td><a href="libraries.htm"><font color="#FFFFFF"
+ size="4" face="Arial">Libraries</font></a></td>
+ <td><a href="../people/people.htm"><font color="#FFFFFF"
+ size="4" face="Arial">People</font></a></td>
+ <td><a href="../more/faq.htm"><font color="#FFFFFF"
+ size="4" face="Arial">FAQ</font></a></td>
+ <td><a href="../more/index.htm"><font color="#FFFFFF"
+ size="4" face="Arial">More</font></a></td>
+ </tr>
+</table>
+
+<h1>Boost Libraries and Documentation</h1>
+
+<p>
+<dl>
+ <dt><a href="#Alphabetically">Libraries Listed Alphabetically</a></dt>
+ <dt><a href="#Category">Libraries Listed by Category</a></dt>
+ <dl>
+ <dt><a href="#String">String and text processing</a></dt>
+ <dt><a href="#Containers">Containers</a></dt>
+ <dt><a href="#Iterators">Iterators</a></dt>
+ <dt><a href="#Algorithms">Algorithms</a></dt>
+ <dt><a href="#Function-objects">Function Objects and higher-order programming</a></dt>
+ <dt><a href="#Generic">Generic Programming</a></dt>
+ <dt><a href="#Metaprogramming">Template Metaprogramming</a></dt>
+ <dt><a href="#Preprocessor">Preprocessor Metaprogramming</a></dt>
+ <dt><a href="#Concurrent">Concurrent Programming</a>
+ <dt><a href="#Math">Math and numerics</a></dt>
+ <dt><a href="#Correctness">Correctness and testing</a></dt>
+ <dt><a href="#Data">Data structures</a></dt>
+ <dt><a href="#IO">Input/Output</a><a href="#Memory"></a></dt>
+ <dt><a href="#Inter-language">Inter-language support</a></dt>
+ <dt><a href="#Memory">Memory</a></dt>
+ <dt><a href="#Parsing">Parsing</a></dt>
+ <dt><a href="#Programming">Programming Interfaces</a></dt>
+ <dt><a href="#Miscellaneous">Miscellaneous</a></dt>
+ <dt><a href="#workarounds">Broken compiler workarounds</a></dt>
+ </dl>
+ <dt><a href="#Removed">Libraries Retired from Boost</a></dt>
+</dl>
+</p>
+
+<p>See <a href="../status/compiler_status.html">Compiler Status</a>
+ page to find out what library works with which compiler.<br>
+See <a href="../more/getting_started.html">Getting Started</a> page to find out
+how to download, build, and install the libraries.</p>
+
+<p>Documentation for some Boost libraries is available in other forms,
+ including DocBook, XSL Formatting Objects, and Unix man pages. This
+ documentation is <a
+ href="https://sourceforge.net/project/showfiles.php?group_id=7586&package_id=159715">available
+ on Sourceforge.</a></p>
+
+<hr>
+
+<h2>Libraries Listed <a name="Alphabetically">Alphabetically</a></h2>
+
+<ul>
+ <li><a href="any/index.html">any</a> - Safe, generic container for single
+ values of different value types, from Kevlin Henney.&nbsp;</li>
+ <li><a href="array/index.html">array</a> - STL compliant
+ container wrapper for arrays of constant size, from
+ Nicolai Josuttis.</li>
+ <li><a href="assign/index.html">assign</a> - Filling containers
+ with constant or generated data has never been
+ easier, from Thorsten Ottosen.
+ </li>
+ <li><a href="bind/bind.html">bind</a> and <a href="bind/mem_fn.html"> mem_fn</a> - Generalized binders for function/object/pointers and member functions, from Peter
+ Dimov.</li>
+ <li><a href="utility/call_traits.htm">call_traits</a> -
+ Defines types for passing parameters, from John Maddock,
+ Howard Hinnant, et al.</li>
+ <li><a href="compatibility/index.html">compatibility</a> - Help for
+ non-conforming standard libraries, from Ralf Grosse-Kunstleve and Jens
+ Maurer.</li>
+ <li><a href="utility/compressed_pair.htm">compressed_pair</a>
+ - Empty member optimization, from John Maddock, Howard
+ Hinnant, et al.</li>
+ <li><a href="concept_check/concept_check.htm">concept check</a>
+ - Tools for generic programming, from Jeremy Siek.</li>
+ <li><a href="config/config.htm">config</a> - Helps boost
+ library developers adapt to compiler idiosyncrasies; not
+ intended for library users.</li>
+ <li><a href="conversion/index.html">conversion</a> - Polymorphic and lexical casts, from Dave Abrahams and
+ Kevlin Henney.</li>
+ <li><a href="crc/index.html">crc</a> - Cyclic Redundancy Code, from Daryle
+ Walker.</li>
+ <li><a href="date_time/doc/index.html">date_time</a> - Date-Time library from Jeff Garland.</li>
+ <li><a href="dynamic_bitset/dynamic_bitset.html">dynamic_bitset</a> - A runtime sized version of <tt>std::bitset</tt> from Jeremy Siek and Chuck Allison.</li>
+ <li><a href="utility/enable_if.html">enable_if</a> - Selective inclusion of function template overloads, from Jaakko J&auml;rvi, Jeremiah Willcock, and Andrew Lumsdaine.</li>
+ <li><a href="filesystem/doc/index.htm">filesystem</a> - Portable paths,
+ iteration over directories, and other useful filesystem operations, from
+ Beman Dawes.</li>
+ <li><a href="format/index.html">format</a> - Type-safe 'printf-like' format
+ operations, from Samuel Krempp.</li>
+ <li><a href="function/index.html">function</a> - Function object wrappers
+ for deferred calls or callbacks, from Doug Gregor.</li>
+ <li><a href="functional/index.html">functional</a> - Enhanced
+ function object adaptors, from Mark Rodgers.</li>
+ <li><a href="functional/hash/index.html">functional/hash</a> -
+ A TR1 hash function object that can be extended to hash user defined
+ types, from Daniel James.</li>
+ <li><a href="graph/doc/table_of_contents.html">graph</a> -
+ Generic graph components and algorithms, from Jeremy Siek
+ and a University of Notre Dame team.</li>
+ <li><a href="integer/index.html">integer</a> - Headers to ease
+ dealing with integral types.</li>
+ <li><a href="numeric/interval/doc/interval.htm">interval </a>- Extends the
+ usual arithmetic functions to mathematical intervals, from Guillaume
+ Melquiond, Herv&acute; Br&ouml;nnimann and Sylvain Pion.</li>
+ <li><a href="utility/in_place_factories.html">in_place_factory, typed_in_place_factory</a>- Generic in-place construction of contained objects with a variadic argument-list, from Fernando Cacciola.</li>
+ <li><a href="io/doc/ios_state.html">io state savers</a> - Save I/O state to
+ prevent jumbled data, from Daryle Walker.</li>
+ <li><a href="iostreams/doc/index.html">iostreams</a> - Framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis.</li>
+ <li><a href="iterator/doc/index.html">iterators</a> - Iterator
+ construction framework, adaptors, concepts, and more, from Dave
+ Abrahams, Jeremy Siek, and Thomas Witt.</li>
+ <li><a href="lambda/index.html">lambda</a> - Define small unnamed
+ function objects at the actual call site, and more, from Jaakko Järvi and
+ Gary Powell.</li>
+ <li><a href="math/doc/index.html">math</a> - Several contributions in the
+ domain of mathematics, from various authors.</li>
+ <li><a href="math/doc/common_factor.html">math/common_factor</a> - Greatest
+ common divisor and least common multiple, from Daryle Walker.</li>
+ <li><a href="math/octonion/index.html">math/octonion</a> -
+ Octonions, from Hubert Holin.</li>
+ <li><a href="math/quaternion/index.html">math/quaternion</a> -
+ Quaternions, from Hubert Holin.</li>
+ <li><a href="math/special_functions/index.html">math/special_functions</a> -
+ Mathematical special functions such as atanh, sinc, and sinhc,
+ from Hubert Holin.</li>
+ <li><a href="algorithm/minmax/index.html">minmax</a> - standard library
+ extensions for simultaneous min/max and min/max element computations,
+ from Herv&eacute; Br&ouml;nnimann.</li>
+ <li><a href="mpl/doc/index.html">mpl</a> - Template metaprogramming
+ framework of compile-time algorithms, sequences and metafunction classes,
+ from Aleksey Gurtovoy.</li>
+ <li><a href="multi_array/doc/index.html">multi_array</a> - Multidimensional
+ containers and adaptors for arrays of contiguous data, from Ron Garcia.</li>
+ <li><a href="multi_index/doc/index.html">multi_index</a> - Containers with
+ multiple STL-compatible access interfaces, from Joaqu&iacute;n M L&oacute;pez
+ Mu&ntilde;oz.</li>
+ <li><a href="numeric/conversion/index.html">numeric/conversion</a> - Optimized Policy-based Numeric Conversions,
+ from Fernando Cacciola.</li>
+ <li><a href="utility/operators.htm">operators</a> - Templates
+ ease arithmetic classes and iterators, from Dave Abrahams
+ and Jeremy Siek.</li>
+ <li><a href="optional/doc/optional.html">optional</a> - Discriminated-union
+ wrapper for optional values, from Fernando Cacciola.</li>
+
+ <li><span class="library"><a href=
+ "parameter/doc/html/index.html">parameter</a></span> -
+ Write functions that accept arguments by name, by David Abrahams
+ and Daniel Wallin.</li>
+
+ <li><a href="ptr_container/index.html">pointer container</a>
+ - Containers for storing heap-allocated polymorphic objects to ease
+ OO-programming, from Thorsten Ottosen. </li>
+ <li><a href="pool/doc/index.html">pool</a> - Memory pool management, from
+ Steve Cleary.</li>
+ <li><a href="preprocessor/doc/index.html">preprocessor</a> - Preprocessor
+ metaprogramming tools including repetition and recursion, from Vesa Karvonen
+ and Paul Mensonides.</li>
+ <li><a href="../doc/html/program_options.html">program_options</a> - Access to configuration
+ data given on command line, in config files and other sources, from Vladimir Prus.</li>
+ <li><a href="property_map/property_map.html">property map</a>
+ - Concepts defining interfaces which map key objects to
+ value objects, from Jeremy Siek.</li>
+ <li><a href="python/doc/index.html">python</a> - Reflects C++
+ classes and functions into <a
+ href="http://www.python.org">Python</a>, from Dave
+ Abrahams.</li>
+ <li><a href="random/index.html">random</a> - A complete
+ system for random number generation, from Jens Maurer.</li>
+ <li><a href="range/index.html">range</a> - A new infrastructure
+ for generic algorithms that builds on top
+ of the new iterator concepts, from Thorsten Ottosen.</li>
+ <li><a href="rational/index.html">rational</a> - A rational
+ number class, from Paul Moore.</li>
+
+ <li><a href="bind/ref.html">ref</a> - A utility library for
+ passing references to generic functions, from Jaako J&auml;rvi,
+ Peter Dimov, Doug Gregor, and Dave Abrahams.</li>
+
+ <li><a href="regex/index.html">regex</a> - Regular expression
+ library, from John Maddock.</li>
+ <li><a href="serialization/doc/index.html">serialization</a>
+ - Serialization for persistence and marshalling, from Robert Ramey</li>
+ <li><a href="signals/index.html">signals</a> - managed signals &amp;
+ slots callback implementation, from Doug Gregor.</li>
+ <li><a href="smart_ptr/index.html">smart_ptr</a> - Five smart
+ pointer class templates, from Greg Colvin, Beman Dawes,
+ Peter Dimov, and Darin Adler.</li>
+ <li><a href="static_assert/static_assert.htm">static_assert</a>
+ - Static assertions (compile time assertions), from John
+ Maddock.</li>
+ <li><a href="spirit/index.html">spirit</a> - LL parser framework&nbsp;
+ represents parsers directly as EBNF grammars in inlined C++, from Joel de
+ Guzman and team.</li>
+ <li><a href="algorithm/string/index.html">string_algo</a> -
+ String algorithms library, from Pavol Droba</li>
+ <li><a href="test/doc/index.html">test</a> - Support for simple program testing,
+ full unit testing, and for program
+ execution monitoring, from Gennadiy Rozental.</li>
+ <li><a href="thread/doc/index.html">thread</a> - Portable C++
+ multi-threading, from William Kempf.</li>
+ <li><a href="timer/index.html">timer</a> - Event timer,
+ progress timer, and progress display classes, from Beman
+ Dawes.</li>
+ <li><a href="tokenizer/index.html">tokenizer</a> - Break of a string or other
+ character sequence into a series of tokens, from John Bandela.</li>
+ <li><a href="../doc/html/tribool.html">tribool</a> - 3-state boolean type library, from Doug Gregor.</li>
+ <li><a href="tuple/doc/tuple_users_guide.html">tuple</a> - Ease definition of functions returning multiple values, and more,
+ from Jaakko Järvi.</li>
+ <li><a href="type_traits/index.html">type_traits</a> -
+ Templates for fundamental properties of types, from John
+ Maddock, Steve Cleary, et al.</li>
+ <li><a href="numeric/ublas/doc/index.htm">uBLAS</a> - Basic linear algebra
+ for dense, packed and sparse matrices, from Joerg Walter and Mathias Koch.</li>
+ <li><a href="utility/utility.htm">utility</a> - Class <b>noncopyable</b>
+ plus <b>checked_delete()</b>, <b>checked_array_delete()</b>, <b>next(),</b>&nbsp;
+ <b>prior()</b>
+ function templates, plus <b>base-from-member idiom</b>, from Dave Abrahams and others.</li>
+ <li><a href="utility/value_init.htm">value_initialized</a> - Wrapper for uniform-syntax value initialization,
+ from Fernando Cacciola, based on the original idea of David Abrahams.</li>
+ <li><a href="variant/index.html">variant</a> - Safe, generic, stack-based discriminated union
+ container, from Eric Friedman and Itay Maman.</li>
+ <li><a href="wave/index.html">wave</a> - Standards conformant
+ implementation of the mandated C99/C++ preprocessor functionality packed behind an easy to use iterator interface, from Hartmut&nbsp;Kaiser </li>
+</ul>
+
+<hr>
+
+<h2>Libraries Listed by <a name="Category">Category</a></h2>
+
+<h3><a name="String">String</a> and text processing</h3>
+
+<ul>
+ <li><a href="conversion/lexical_cast.htm">conversion/lexical_cast</a> - <tt>lexical_cast</tt>
+ class template, from Kevlin Henney.</li>
+ <li><a href="format/index.html">format</a> - Type-safe 'printf-like' format
+ operations, from Samuel Krempp.</li>
+ <li><a href="iostreams/doc/index.html">iostreams</a> - Framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis.</li>
+ <li><a href="regex/index.html">regex</a> - Regular expression
+ library, from John Maddock</li>
+ <li><a href="spirit/index.html">spirit</a> - LL parser framework&nbsp;
+ represents parsers directly as EBNF grammars in inlined C++, from Joel de
+ Guzman and team.</li>
+ <li><a href="algorithm/string/index.html">string_algo</a> -
+ String algorithms library, from Pavol Droba</li>
+ <li><a href="tokenizer/index.html">tokenizer</a> - Break of a string or other
+ character sequence into a series of tokens, from John Bandela</li>
+ <li><a href="wave/index.html">wave</a> - Standards conformant implementation of the mandated C99/C++ preprocessor functionality packed behind an easy to use iterator interface, from Hartmut&nbsp;Kaiser.</li>
+</ul>
+
+<h3><a name="Containers">Containers</a></h3>
+
+<ul>
+ <li><a href="array/index.html">array</a> - STL compliant
+ container wrapper for arrays of constant size, from
+ Nicolai Josuttis.</li>
+ <li><a href="dynamic_bitset/dynamic_bitset.html">dynamic_bitset</a> - A runtime sized version of <tt>std::bitset</tt> from Jeremy Siek and Chuck Allison.</li>
+ <li><a href="graph/doc/table_of_contents.html">graph</a> -
+ Generic graph components and algorithms, from Jeremy Siek
+ and a University of Notre Dame team.</li>
+ <li><a href="multi_array/doc/index.html">multi_array</a> - Multidimensional
+ containers and adaptors for arrays of contiguous data, from Ron Garcia.</li>
+ <li><a href="multi_index/doc/index.html">multi_index</a> - Containers with
+ multiple STL-compatible access interfaces, from Joaqu&iacute;n M L&oacute;pez
+ Mu&ntilde;oz.</li>
+ <li><a href="ptr_container/index.html">pointer container</a>
+ - Containers for storing heap-allocated polymorphic objects to ease OO-programming, from Thorsten Ottosen. </li>
+ <li><a href="property_map/property_map.html">property map</a>
+ - Concepts defining interfaces which map key objects to
+ value objects, from Jeremy Siek.</li>
+ <li><a href="variant/index.html">variant</a> - Safe, generic, stack-based
+ discriminated union container, from Eric Friedman and Itay Maman.</li>
+</ul>
+
+<h3><a name="Iterators">Iterators</a></h3>
+
+<ul>
+ <li><a href="graph/doc/table_of_contents.html">graph</a> -
+ Generic graph components and algorithms, from Jeremy Siek
+ and a University of Notre Dame team.</li>
+ <li><a href="iterator/doc/index.html">iterators</a> - Iterator
+ construction framework, adaptors, concepts, and more, from Dave
+ Abrahams, Jeremy Siek, and Thomas Witt.</li>
+ <li><a href="utility/operators.htm">operators</a> - Templates
+ ease arithmetic classes and iterators, from Dave Abrahams
+ and Jeremy Siek.</li>
+ <li><a href="tokenizer/index.html">tokenizer</a> - Break of a string or other
+ character sequence into a series of tokens, from John Bandela.</li>
+</ul>
+
+<h3><a name="Algorithms">Algorithms</a></h3>
+
+<ul>
+ <li><a href="graph/doc/table_of_contents.html">graph</a> -
+ Generic graph components and algorithms, from Jeremy Siek
+ and a University of Notre Dame team.</li>
+ <li><a href="algorithm/minmax/index.html">minmax</a> - standard library
+ extensions for simultaneous min/max and min/max element computations,
+ from Herv&eacute; Br&ouml;nnimann.</li>
+ <li><a href="algorithm/string/index.html">string_algo</a> -
+ String algorithms library, from Pavol Droba</li>
+ <li><a href="utility/utility.htm">utility</a> - Class <b>next(),</b>&nbsp; <b>prior()</b>
+ function templates, from Dave Abrahams and others. </li>
+ <li><a href="range/index.html">range</a> - A new infrastructure
+ for generic algorithms that builds on top
+ of the new iterator concepts, from Thorsten Ottosen.</li>
+</ul>
+
+<h3><a name="Function-objects">Function objects</a> and higher-order programming</h3>
+
+<ul>
+ <li><a href="bind/bind.html">bind</a> and <a href="bind/mem_fn.html"> mem_fn</a> - Generalized binders for function/object/pointers and member functions, from Peter Dimov.</li>
+
+ <li><a href="function/index.html">function</a> - Function object wrappers
+ for deferred calls or callbacks, from Doug Gregor.</li>
+ <li><a href="functional/index.html">functional</a> - Enhanced
+ function object adaptors, from Mark Rodgers.</li>
+ <li><a href="functional/hash/index.html">functional/hash</a> -
+ A TR1 hash function object that can be extended to hash user defined
+ types, from Daniel James.</li>
+ <li><a href="lambda/index.html">lambda</a> - Define small unnamed
+ function objects at the actual call site, and more, from Jaakko Järvi and
+ Gary Powell.</li>
+
+ <li><a href="bind/ref.html">ref</a> - A utility library for
+ passing references to generic functions, from Jaako J&auml;rvi,
+ Peter Dimov, Doug Gregor, and Dave Abrahams.</li>
+
+ <li><a href="signals/index.html">signals</a> - managed signals &amp;
+ slots callback implementation, from Doug Gregor.</li>
+
+ <li><a href="utility/utility.htm#result_of">result_of</a> - determines the type of a function call expression.</li>
+</ul>
+
+<h3><a name="Generic">Generic</a> Programming</h3>
+
+<ul>
+ <li><a href="utility/call_traits.htm">call_traits</a> -
+ Defines types for passing parameters, from John Maddock,
+ Howard Hinnant, et al.</li>
+ <li><a href="concept_check/concept_check.htm">concept check</a>
+ - Tools for generic programming, from Jeremy Siek.</li>
+ <li><a href="utility/enable_if.html">enable_if</a> -
+ Selective inclusion of function template overloads, from Jaakko
+ J&auml;rvi, Jeremiah Willcock, and Andrew Lumsdaine.</li>
+ <li><a href="utility/in_place_factories.html">in_place_factory, typed_in_place_factory</a>- Generic in-place construction
+ of contained objects with a variadic argument-list, from Fernando Cacciola.</li>
+ <li><a href="utility/operators.htm">operators</a> - Templates
+ ease arithmetic classes and iterators, from Dave Abrahams
+ and Jeremy Siek.</li>
+
+ <li><a href="property_map/property_map.html">property map</a>
+ - Concepts defining interfaces which map key objects to
+ value objects, from Jeremy Siek.</li>
+ <li><a href="static_assert/static_assert.htm">static_assert</a>
+ - Static assertions (compile time assertions), from John
+ Maddock.</li>
+ <li><a href="type_traits/index.html">type_traits</a> -
+ Templates for fundamental properties of types, from John
+ Maddock, Steve Cleary, et al.</li>
+</ul>
+
+<h3>Template <a name="Metaprogramming"> Metaprogramming</a></h3>
+
+<ul>
+ <li><a href="mpl/doc/index.html">mpl</a> - Template metaprogramming
+ framework of compile-time algorithms, sequences and metafunction classes,
+ from Aleksey Gurtovoy.</li>
+ <li><a href="static_assert/static_assert.htm">static_assert</a>
+ - Static assertions (compile time assertions), from John
+ Maddock.</li>
+ <li><a href="type_traits/index.html">type_traits</a> -
+ Templates for fundamental properties of types, from John
+ Maddock, Steve Cleary, et al.</li>
+</ul>
+
+<h3><a name="Preprocessor">Preprocessor</a> Metaprogramming</h3>
+
+<ul>
+ <li><a href="preprocessor/doc/index.html">preprocessor</a> - Preprocessor
+ metaprogramming tools including repetition and recursion, from Vesa Karvonen
+ and Paul Mensonides.</li>
+</ul>
+
+<h3><a name="Concurrent">Concurrent</a> Programming</h3>
+
+<ul>
+ <li><a href="thread/doc/index.html">thread</a> - Portable C++
+ multi-threading, from William Kempf.</li>
+</ul>
+
+<h3><a name="Math">Math</a> and numerics</h3>
+
+<ul>
+ <li><a href="math/doc/index.html">math</a> - Several contributions in the
+ domain of mathematics, from various authors.</li>
+ <li><a href="numeric/conversion/index.html">numeric/conversion</a> - Optimized Policy-based Numeric Conversions,
+ from Fernando Cacciola.</li>
+ <li><a href="integer/index.html">integer</a> - Headers to ease
+ dealing with integral types.</li>
+ <li><a href="numeric/interval/doc/interval.htm">interval </a>- Extends the
+ usual arithmetic functions to mathematical intervals, from Guillaume
+ Melquiond, Hervé Brönnimann and Sylvain Pion.</li>
+ <li><a href="math/doc/common_factor.html">math/common_factor</a> - Greatest
+ common divisor and least common multiple, from Daryle Walker.</li>
+ <li><a href="math/octonion/index.html">math/octonion</a> -
+ Octonions, from Hubert Holin.</li>
+ <li><a href="math/quaternion/index.html">math/quaternion</a> -
+ Quaternions, from Hubert Holin.</li>
+ <li><a href="math/special_functions/index.html">math/special_functions</a> -
+ Mathematical special functions such as atanh, sinc, and sinhc,
+ from Hubert Holin.</li>
+ <li><a href="multi_array/doc/index.html">multi_array</a> - Multidimensional
+ containers and adaptors for arrays of contiguous data, from Ron Garcia.</li>
+ <li><a href="utility/operators.htm">operators</a> - Templates
+ ease arithmetic classes and iterators, from Dave Abrahams
+ and Jeremy Siek.</li>
+ <li><a href="random/index.html">random</a> - A complete
+ system for random number generation, from Jens Maurer.</li>
+ <li><a href="rational/index.html">rational</a> - A rational
+ number class, from Paul Moore.</li>
+ <li><a href="numeric/ublas/doc/index.htm">uBLAS</a> - Basic linear algebra
+ for dense, packed and sparse matrices, from Joerg Walter and Mathias Koch.</li>
+</ul>
+
+<h3><a name="Correctness">Correctness</a> and testing</h3>
+
+<ul>
+ <li><a href="concept_check/concept_check.htm">concept check</a>
+ - Tools for generic programming, from Jeremy Siek.</li>
+ <li><a href="static_assert/static_assert.htm">static_assert</a>
+ - Static assertions (compile time assertions), from John
+ Maddock.</li>
+ <li><a href="test/doc/index.html">test</a> - Support for simple program testing,
+ full unit testing, and for program
+ execution monitoring, from Gennadiy Rozental.</li>
+</ul>
+
+<h3><a name="Data">Data</a> structures</h3>
+
+<ul>
+ <li><a href="any/index.html">any</a> - Safe, generic container for single
+ values of different value types, from Kevlin Henney.</li>
+ <li><a href="utility/compressed_pair.htm">compressed_pair</a>
+ - Empty member optimization, from John Maddock, Howard
+ Hinnant, et al.</li>
+ <li><a href="multi_index/doc/index.html">multi_index</a> - Containers with
+ multiple STL-compatible access interfaces, from Joaqu&iacute;n M L&oacute;pez
+ Mu&ntilde;oz.</li>
+ <li><a href="ptr_container/index.html">pointer container</a>
+ - Containers for storing heap-allocated polymorphic objects to ease OO-programming, from Thorsten Ottosen. </li>
+ <li><a href="tuple/doc/tuple_users_guide.html">tuple</a> - Ease definition of functions returning multiple values, and more,
+ from Jaakko Järvi.</li>
+ <li><a href="variant/index.html">variant</a> - Safe, generic, stack-based
+ discriminated union container, from Eric Friedman and Itay Maman.</li>
+</ul>
+
+<h3><a name="IO">Input/Output</a></h3>
+<ul>
+ <li><a href="format/index.html">format</a> - Type-safe 'printf-like' format
+ operations, from Samuel Krempp.</li>
+ <li><a href="io/doc/ios_state.html">io state savers</a> - Save I/O state to
+ prevent jumbled data, from Daryle Walker.</li>
+ <li><a href="iostreams/doc/index.html">iostreams</a> - Framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis.</li>
+ <li><a href="../doc/html/program_options.html">program_options</a> - Access to configuration
+ data given on command line, in config files and other sources, from Vladimir Prus.</li>
+ <li><a href="serialization/doc/index.html">serialization</a> - Serialization
+of arbitrary data for persistence and marshalling, from Robert Ramey</li>
+ <li><a href="assign/index.html">assign</a> - Filling containers
+ with constant or generated data has never been
+ easier, from Thorsten Ottosen.
+ </li>
+
+</ul>
+
+<h3><a name="Inter-language">Inter-language</a> support</h3>
+
+<ul>
+ <li><a href="python/doc/index.html">python</a> - Reflects C++
+ classes and functions into <a
+ href="http://www.python.org">Python</a>, from Dave
+ Abrahams.</li>
+</ul>
+
+<h3><a name="Memory">Memory</a></h3>
+
+<ul>
+ <li><a href="pool/doc/index.html">pool</a> - Memory pool management, from
+ Steve Cleary.</li>
+ <li><a href="smart_ptr/index.html">smart_ptr</a> - Five smart
+ pointer class templates, from Greg Colvin, Beman Dawes,
+ Peter Dimov, and Darin Adler.</li>
+ <li><a href="utility/utility.htm">utility</a> - Class <b>noncopyable</b>
+ plus <b>checked_delete()</b>, <b>checked_array_delete()</b>, <b>next(),</b>&nbsp;
+ <b>prior()</b>
+ function templates, plus <b>base-from-member idiom</b>, from Dave Abrahams and others. </li>
+</ul>
+
+<h3><a name="Parsing">Parsing</a></h3>
+
+<ul>
+ <li><a href="spirit/index.html">spirit</a> - LL parser framework&nbsp;
+ represents parsers directly as EBNF grammars in inlined C++, from Joel de
+ Guzman and team.</li>
+</ul>
+
+<h3><a name="Programming">Programming Interfaces</a></h3>
+
+<ul>
+ <li><a href="function/index.html">function</a> - Function object wrappers
+ for deferred calls or callbacks, from Doug Gregor.</li>
+
+ <li><span class="library"><a href=
+ "parameter/doc/html/index.html">parameter</a></span> -
+ Write functions that accept arguments by name, by David Abrahams
+ and Daniel Wallin.</li>
+</ul>
+
+<h3><a name="Miscellaneous">Miscellaneous</a></h3>
+
+<ul>
+ <li><a href="utility/base_from_member.html">base-from-member</a> - Idiom to
+ initialize a base class with a member, from Daryle Walker.</li>
+ <li><a href="utility/compressed_pair.htm">compressed_pair</a>
+ - Empty member optimization, from John Maddock, Howard
+ Hinnant, et al.</li>
+ <li><a href="conversion/index.html">conversion</a> - Polymorphic and lexical casts, from Dave Abrahams and
+ Kevlin Henney.</li>
+ <li><a href="numeric/conversion/index.html">numeric/conversion</a> - Optimized Policy-based Numeric Conversions,
+ from Fernando Cacciola.</li>
+ <li><a href="crc/index.html">crc</a> - Cyclic Redundancy Code, from Daryle
+ Walker.</li>
+ <li><a href="date_time/doc/index.html">date_time</a> - Date-Time library from Jeff Garland.</li>
+ <li><a href="filesystem/doc/index.htm">filesystem</a> - Portable paths,
+ iteration over directories, and other useful filesystem operations, from
+ Beman Dawes.</li>
+ <li><a href="optional/doc/optional.html">optional</a> - Discriminated-union
+ wrapper for optional values, from Fernando Cacciola.</li>
+ <li><a href="../doc/html/program_options.html">program_options</a> - Access to configuration
+ data given on command line, in config files and other sources, from Vladimir Prus.</li>
+ <li><a href="timer/index.html">timer</a> - Event timer,
+ progress timer, and progress display classes, from Beman
+ Dawes.</li>
+ <li><a href="../doc/html/tribool.html">tribool</a> - 3-state boolean type library, from Doug Gregor.</li>
+ <li><a href="utility/utility.htm">utility</a> - Class <b>noncopyable</b>
+ plus <b>checked_delete()</b>, <b>checked_array_delete()</b>, <b>next(),</b>&nbsp;
+ <b>prior()</b>
+ function templates, plus <b>base-from-member idiom</b>, from Dave Abrahams and others. </li>
+ <li><a href="utility/value_init.htm">value_initialized</a> - Wrapper for uniform-syntax value initialization,
+ from Fernando Cacciola, based on the original idea of David Abrahams.</li>
+</ul>
+
+<h3>Broken compiler <a name="workarounds">workarounds</a></h3>
+
+<ul>
+ <li><a href="compatibility/index.html">compatibility</a> - Help for
+ non-conforming standard libraries, from Ralf Grosse-Kunstleve and Jens
+ Maurer.</li>
+ <li><a href="config/config.htm">config</a> - Helps boost
+ library developers adapt to compiler idiosyncrasies; not
+ intended for library users.</li>
+</ul>
+
+<p>[Category suggestions from Aleksey Gurtovoy and Beman Dawes]</p>
+
+<hr>
+
+<h2>Libraries <a name="Removed">Retired</a> from Boost</h2>
+
+<ul>
+ <li>compose - Functional composition adapters for the STL,
+ from Nicolai Josuttis. Removed in Boost version 1.32.
+ Please use <a href="bind/bind.html">Bind</a> or <a
+ href="lambda/index.html">Lambda</a> instead.</li>
+</ul>
+
+<hr>
+
+<p>Revised
+<!--webbot bot="Timestamp" s-type="EDITED"
+s-format="%d %b %Y" startspan -->02 Aug 2005<!--webbot bot="Timestamp" endspan i-checksum="14768" --></p>
+
+<p>© Copyright Beman Dawes 2000-2004</p>
+<p>Distributed under the Boost Software License, Version 1.0.
+(See accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
+or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
+</p>
+
+</body>
+</html>
diff --git a/libs/logic b/libs/logic
new file mode 160000
+Subproject 9180db053b8efe3f5462d1c63c75171280b38b1
diff --git a/libs/maintainers.txt b/libs/maintainers.txt
new file mode 100644
index 0000000000..b1df814328
--- /dev/null
+++ b/libs/maintainers.txt
@@ -0,0 +1,58 @@
+algorithm/minmax Herve Bronnimann <hbr -at- poly.edu>
+algorithm/string Pavol Droba <droba -at- topmail.sk>
+any
+array
+assign Thorsten Ottosen <nesotto -at- cs.auc.dk>
+bind Peter Dimov <pdimov -at- mmltd.net>
+concept_check
+config John Maddock <john -at- johnmaddock.co.uk>
+conversion
+crc
+date_time Jeff Garland <jeff -at- crystalclearsoftware.com>
+disjoint_sets
+dynamic_bitset
+filesystem Beman Dawes <bdawes -at- acm.org>
+format
+function Douglas Gregor <dgregor -at- cs.indiana.edu>
+functional
+functional/hash Daniel James <daniel -at- calamity.org.uk>
+graph Douglas Gregor <dgregor -at- cs.indiana.edu>
+integer
+io
+iostreams Jonathan Turkanis <technews -at- kangaroologic.com>
+iterator David Abrahams <dave -at- boost-consulting.com>, Thomas Witt <witt - at - acm.org>
+lambda Jaakko Jarvi <jarvi -at- cs.tamu.edu>
+logic Douglas Gregor <dgregor -at- cs.indiana.edu>
+math Hubert Holin <Hubert.Holin -at- meteo.fr>
+mpl Aleksey Gurtovoy <agurtovoy -at- meta-comm.com>, David Abrahams <dave -at- boost-consulting.com>
+multi_array Ronald Garcia <garcia -at- osl.iu.edu>
+multi_index Joaquin M Lopez Munoz <joaquin -at- tid.es>
+numeric/conversion Fernando Cacciola <fernando_cacciola -at- ciudad.com.ar>
+numeric/interval Sylvain Pion <Sylvain.Pion -at- sophia.inria.fr>, Herve Bronnimann <hbr -at- poly.edu>, Guillaume Melquiond <guillaume.melquiond -at- ens-lyon.fr>
+numeric/ublas Michael Stevens <michael -at- michael-stevens.de>
+optional Fernando Cacciola <fernando_cacciola -at- ciudad.com.ar>
+parameter David Abrahams <dave -at- boost-consulting.com>, Daniel Wallin <dalwan01 -at- student.umu.se>
+pool
+preprocessor Paul Mensonides <pmenso57 -at- comcast.net>
+program_options Vladimir Prus <ghost -at- cs.msu.su>
+property_map Douglas Gregor <dgregor -at- cs.indiana.edu>
+ptr_container Thorsten Ottosen <nesotto -at- cs.auc.dk>
+python David Abrahams <dave -at- boost-consulting.com>
+random Jens Maurer <Jens.Maurer -at- gmx.net>
+range Thorsten Ottosen <nesotto -at- cs.auc.dk>
+rational Jonathan Turkanis <technews -at- kangaroologic.com>
+regex John Maddock <john -at- johnmaddock.co.uk>
+serialization Robert Ramey <ramey -at- rrsd.com>
+signals Douglas Gregor <dgregor -at- cs.indiana.edu>
+smart_ptr Beman Dawes <bdawes -at- acm.org>, Peter Dimov <pdimov -at- mmltd.net>
+spirit Joel de Guzman <djowel -at- gmail.com>
+static_assert John Maddock <john -at- johnmaddock.co.uk>
+test Gennadiy Rozental <gennadiy.rozental -at- thomson.com>
+thread Michael Glassford <glassfordm -at- hotmail.com>
+timer Beman Dawes <bdawes -at- acm.org>
+tokenizer
+tuple Jaakko Jarvi <jarvi -at- cs.tamu.edu>
+type_traits John Maddock <john -at- johnmaddock.co.uk>, David Abrahams <dave -at- boost-consulting.com>
+utility
+variant Eric Friedman <ericbrandon -at- gmail.com>
+wave Hartmut Kaiser <hartmut.kaiser -at- gmail.com>
diff --git a/libs/math b/libs/math
new file mode 160000
+Subproject 66b5058e51fbbaf3be9d968fdf39426192bb1ad
diff --git a/libs/mpl b/libs/mpl
new file mode 160000
+Subproject fabd0f66908bac1e0488e306208a218b62802c3
diff --git a/libs/multi_array b/libs/multi_array
new file mode 160000
+Subproject 6fa3edc852c9f178a82fb3cb62d4db7de57460d
diff --git a/libs/multi_index b/libs/multi_index
new file mode 160000
+Subproject 33358ff13d6e43a156a76279cc15e66e79e612a
diff --git a/libs/numeric/conversion b/libs/numeric/conversion
new file mode 160000
+Subproject 6b6e35e7741f45a9bfae47cee6e9cd2560fca0a
diff --git a/libs/numeric/index.html b/libs/numeric/index.html
new file mode 100644
index 0000000000..116646f253
--- /dev/null
+++ b/libs/numeric/index.html
@@ -0,0 +1,9 @@
+<html>
+<head>
+<meta http-equiv="refresh" content="0; URL=ublas/doc/index.htm">
+</head>
+<body>
+Automatic redirection failed, please go to
+<a href="ublas/doc/index.htm">ublas/doc/index.htm</a>.
+</body>
+</html> \ No newline at end of file
diff --git a/libs/numeric/interval b/libs/numeric/interval
new file mode 160000
+Subproject 5abdc9605897566bcf7e035cf1841ed35126e3d
diff --git a/libs/numeric/sublibs b/libs/numeric/sublibs
new file mode 100644
index 0000000000..721d7c4a92
--- /dev/null
+++ b/libs/numeric/sublibs
@@ -0,0 +1 @@
+The existance of this file tells the regression reporting programs that the directory contains sub-directories which are libraries. \ No newline at end of file
diff --git a/libs/numeric/ublas b/libs/numeric/ublas
new file mode 160000
+Subproject 3f28bba427f4b5ef9b2675f8a6d9f29e8c81280
diff --git a/libs/optional b/libs/optional
new file mode 160000
+Subproject 6688ce9995bc1670f3ee3c82354e2069128dad0
diff --git a/libs/parameter b/libs/parameter
new file mode 160000
+Subproject 4e794207e35458017c2b3cfff813d7388f06477
diff --git a/libs/platform_maintainers.txt b/libs/platform_maintainers.txt
new file mode 100644
index 0000000000..d30340ba2d
--- /dev/null
+++ b/libs/platform_maintainers.txt
@@ -0,0 +1,2 @@
+gcc-3_3-darwin Noel Belcourt <kbelco -at- sandia.gov>
+cw-9_5-darwin Noel Belcourt <kbelco -at- sandia.gov>
diff --git a/libs/pool b/libs/pool
new file mode 160000
+Subproject 017435bbd9bfbe805c26c9a7dd4330bff5b944e
diff --git a/libs/preprocessor b/libs/preprocessor
new file mode 160000
+Subproject 9075ef1d15410367c1735fe0a004f9d94483dd1
diff --git a/libs/program_options b/libs/program_options
new file mode 160000
+Subproject c8f95dbda3f9baba461e182e4e95e7bfcc56cb2
diff --git a/libs/property_map b/libs/property_map
new file mode 160000
+Subproject 3a2716f98c0fd418978918070d3bf50dfe8d79f
diff --git a/libs/ptr_container b/libs/ptr_container
new file mode 160000
+Subproject a184441758488c9d0a1292e4d976d2e741df5af
diff --git a/libs/python b/libs/python
new file mode 160000
+Subproject 0e2b1e1069c42eeb8406f11847cc094b239670b
diff --git a/libs/random b/libs/random
new file mode 160000
+Subproject 6757f38a3bb6e69aa31b19128cd98412040f36d
diff --git a/libs/range b/libs/range
new file mode 160000
+Subproject a54b6086358de0d1d7388f9a2694977e7f0a901
diff --git a/libs/rational b/libs/rational
new file mode 160000
+Subproject 92037a57142adac6a0d763d0af361f16c4c12cd
diff --git a/libs/regex b/libs/regex
new file mode 160000
+Subproject e2a6dbc882ef9af6b4b86c53a3e51070e6bee0c
diff --git a/libs/serialization b/libs/serialization
new file mode 160000
+Subproject 6e19afbb3933075373312c77cadbe62484720ba
diff --git a/libs/signals b/libs/signals
new file mode 160000
+Subproject f556f285a454072c5ceb1d7ce9150653af0fc87
diff --git a/libs/smart_ptr b/libs/smart_ptr
-Subproject c47f309991b83794f0f037a320dc223939d65b0
+Subproject 876ccab92a714c70ba33dbdb15dfbb254783d6b
diff --git a/libs/spirit b/libs/spirit
new file mode 160000
+Subproject 6cb92ade6052286d4e66c22cab21119219e85f5
diff --git a/libs/static_assert b/libs/static_assert
new file mode 160000
+Subproject 262c03e7a765f72fe30e6aa8c65660e1d46084a
diff --git a/libs/test b/libs/test
new file mode 160000
+Subproject f7996ffeec6a5f8d77cd15a671cf3b7a979ee2d
diff --git a/libs/thread b/libs/thread
new file mode 160000
+Subproject 2c62ce3ede99ca2436e40efe3111444d9986851
diff --git a/libs/timer b/libs/timer
new file mode 160000
+Subproject f51aa93ded46f48e0f08dddaaf24709282bdf61
diff --git a/libs/tokenizer b/libs/tokenizer
new file mode 160000
+Subproject 309fa898460421ed256478d91661712053a8346
diff --git a/libs/tuple b/libs/tuple
new file mode 160000
+Subproject 479553c985cd9001e63cce6001cac42678d51ce
diff --git a/libs/type_traits b/libs/type_traits
new file mode 160000
+Subproject f6248bbe82d37c7f7d143f7bc3e29887f272314
diff --git a/libs/utility b/libs/utility
new file mode 160000
+Subproject efce512ea4a0c1dd2ed4588bf94797c21befab0
diff --git a/libs/variant b/libs/variant
new file mode 160000
+Subproject 3dfa6f5caf365d4539698951679eb5472e461d4
diff --git a/libs/wave b/libs/wave
new file mode 160000
+Subproject 08bd2de9f576621a7d1eb471cfed8e28d24773f
diff --git a/more/background.html b/more/background.html
new file mode 100644
index 0000000000..5c0fa86439
--- /dev/null
+++ b/more/background.html
@@ -0,0 +1,132 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Boost Background Information</title>
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <table border="1" cellpadding="2" bgcolor="#007f7f">
+ <tr>
+ <td bgcolor="#ffffff">
+ <img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font color="#ffffff" size="4" face="Arial">Home</font></a></td>
+ <td><a href="../libs/libraries.htm"><font color="#ffffff" size="4" face="Arial">Libraries</font></a></td>
+ <td><a href="../people/people.htm"><font color="#ffffff" size="4" face="Arial">People</font></a></td>
+ <td><a href="../more/faq.htm"><font color="#ffffff" size="4" face="Arial">FAQ</font></a></td>
+ <td><a href="../more/index.htm"><font color="#ffffff" size="4" face="Arial">More</font></a></td>
+ </tr>
+ </table>
+ <h1>Boost Background Information</h1>
+<h2>Why should an organization use Boost?</h2>
+<p>
+In a word, <i><b>Productivity</b></i>. Use of high-quality libraries like
+Boost speeds initial development, results in fewer bugs,
+reduces reinvention-of-the-wheel, and cuts long-term maintenance costs. And
+since Boost libraries tend to become de facto or de jure standards, many
+programmers are already familiar with them.</p>
+<p>
+Ten of the Boost libraries are included in the
+<a href="http://open-std.org/jtc1/sc22/wg21/docs/library_technical_report.html">
+C++ Standard Library's TR1</a>, and so are slated for later full
+standardization. More Boost libraries are in the pipeline for
+<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1810.html">TR2</a>.
+Using Boost libraries gives an organization a head-start in adopting new
+technologies.</p>
+<p>
+Many organization already use programs implemented with
+Boost, like Adobe <a href="http://www.adobe.com/products/acrobat/readermain.html">Acrobat
+Reader 7.0</a>.</p>
+<h2>Who else is using Boost?</h2>
+<p>See the <a href="../doc/html/who_s_using_boost_.html">
+Who's Using Boost page</a> for a sampling. We don't know the exact numbers, but
+a release gets around 100,000 downloads from SourceForge, and that is only one
+of several distribution routes.</p>
+<h2>What do others say about Boost?</h2>
+<p> <i><b>&quot;...one of the most highly regarded and expertly
+designed C++ library projects in the world.&quot;</b></i></p>
+ <blockquote>
+<p>-- <a href="http://www.gotw.ca/">Herb Sutter</a> and
+<a href="http://en.wikipedia.org/wiki/Andrei_Alexandrescu">Andrei Alexandrescu</a>,
+<a href="http://safari.awprofessional.com/?XmlId=0321113586">C++ Coding
+Standards</a> </p>
+ </blockquote>
+<p> <b><i>&quot;Item 55: Familiarize yourself with Boost.&quot;</i></b></p>
+ <blockquote>
+<p>-- <a href="http://www.aristeia.com/">Scott Meyers</a>,
+<a href="http://www.awl.com/cseng/titles/0-321-33487-6/">Effective C++, 3rd Ed.</a> </p>
+ </blockquote>
+<p> <i><b>&quot;The obvious solution for most
+programmers is to use a library that provides an elegant and efficient
+platform independent to needed services. Examples are BOOST...&quot;</b></i></p>
+ <blockquote>
+<p>--<i><b> </b></i><a href="http://www.research.att.com/~bs/">Bjarne Stroustrup</a>,
+<a href="http://www.research.att.com/~bs/abstraction.pdf">Abstraction,
+libraries, and efficiency in C++</a> </p>
+ </blockquote>
+<h2>How do users get support?</h2>
+<p>For relatively straightforward support needs, users rely on the
+<a href="mailing_lists.htm">mailing lists</a>. One of the
+advantages of Boost is the responsiveness of other users and Boost
+developers.</p>
+<p>For more involved needs, <a href="links.htm#CommercialSupport">
+Commercial Support</a> is available.</p>
+<h2>What about license issues?</h2>
+<p>Boost has its own <a href="license_info.html">license</a>, developed
+with help from the Harvard Law School.&nbsp; The
+<a href="license_info.html">Boost license polices</a> encourage both
+commercial and non-commercial use, and the Boost license is not related to the
+GPL or other licenses - that are sometimes seen as business unfriendly.</p>
+<h2>What about other intellectual property issues?</h2>
+<p>The Boost libraries tend to be new, fresh, and creative designs. They are not
+copies, clones, or derivations of proprietary libraries. Boost has a firm policy
+to respect the IP rights of others. The development of Boost libraries is
+publicly documented via the mailing lists and version control repository. The
+source code has been inspected by many, many knowledgeable programmers. Each
+Boost file has a copyright notice and license information. IP issues have been
+reviewed by the legal teams from some of the corporations which use Boost, and
+in some cases these lawyers have been kind enough to give Boost feedback on IP
+issues. There are no guarantees, but those factors all tend to reduce IP risk.</p>
+<h2>Why would anyone give away valuable software for free?</h2>
+<p>Businesses and other organizations often prefer to have code developed,
+maintained, and improved in the open source community when it does not contain
+technology specific to their application domain, because it allows them to focus
+more development resources on their core business.</p>
+<p>Individuals contribute for the technical challenge, to hone their technical
+skills, for the sense of community, as part of their graduate school programs,
+as a way around geographic isolation, to enhance their employment opportunities,
+and as advertisements for their consulting services. There are probably as many
+reasons as there are individuals. Some of the apparently individual
+contributions come from employees of support companies with contracts from
+businesses or other organizations who have an interest in seeing that a library
+is well-maintained.</p>
+<h2>Who pays Boost's expenses?</h2>
+<p>Boost doesn't really have any expenses! All the infrastructure is contributed
+by supporters, such as the <a href="http://www.osl.iu.edu/">Open Systems Lab</a>
+at Indiana University,&nbsp; <a href="http://sourceforge.net/index.php">
+SourceForge</a>, <a href="http://www.boost-consulting.com/">Boost Consulting</a>,
+<a href="http://www.meta-comm.com/">MetaCommunications</a>, and the
+individuals, companies, and other organizations who run the regression tests.
+Borland, HP, Intel, and Microsoft have contributed compilers. And hundreds, or
+even thousands, of programmers contribute their time. That's what makes Boost
+possible.</p>
+ <hr>
+ <p>
+ Revised
+ <!--webbot bot="Timestamp" s-type="EDITED"
+s-format="%d %B, %Y" startspan -->07 July, 2005<!--webbot bot="Timestamp" endspan i-checksum="21138" --></p>
+ <p>
+ © Copyright Beman Dawes 2005.</p>
+ <p>
+ Use, modification, and distribution are subject to the Boost Software License,
+ Version 1.0. (See accompanying file
+ <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
+ or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</p>
+
+</body>
+
+</html>
diff --git a/more/bibliography.html b/more/bibliography.html
new file mode 100644
index 0000000000..95f0439848
--- /dev/null
+++ b/more/bibliography.html
@@ -0,0 +1,512 @@
+<html>
+ <head>
+ <title>Boost Bibliography</title>
+ <meta name="vs_showGrid" content="True">
+ <meta http-equiv="Content-Language" content="en-us">
+ <meta content="Microsoft FrontPage 5.0" name="GENERATOR">
+ <meta content="FrontPage.Editor.Document" name="ProgId">
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ </head>
+ <body bgColor="#ffffff">
+ <table cellPadding="2" bgColor="#007f7f" border="1">
+ <tr>
+ <td bgColor="#ffffff"><IMG height="86" alt="boost.png (6897 bytes)" src="../boost.png" width="277"></td>
+ <td><A href="../index.htm"><font face="Arial" color="#ffffff" size="4">Home</font></A></td>
+ <td><A href="../libs/libraries.htm"><font face="Arial" color="#ffffff" size="4">Libraries</font></A></td>
+ <td><A href="../people/people.htm"><font face="Arial" color="#ffffff" size="4">People</font></A></td>
+ <td><A href="faq.htm"><font face="Arial" color="#ffffff" size="4">FAQ</font></A></td>
+ <td><A href="index.htm"><font face="Arial" color="#ffffff" size="4">More</font></A></td>
+ </tr>
+ </table>
+ <h1>Boost Bibliography</h1>
+ <p><A href="#Print_publications">Print publications about Boost or Boost Libraries</A><br>
+ <A href="#Online_publications">Online publications about Boost or Boost Libraries</A><br>
+ <A href="#Print_mentions">Print mentions of Boost or Boost Libraries</A><br>
+ <A href="#Online_mentions">Online mentions of Boost or Boost Libraries</A><br>
+ <A href="#update">How to update this page</A><br>
+ <a href="#Acknowledgements">Acknowledgements</a></p>
+ <h2><a name="Print_publications">Print publications</a> about Boost or Boost
+ Libraries</h2>
+ <table style="BORDER-COLLAPSE: collapse" borderColor="#111111" cellPadding="5" width="100%"
+ border="0">
+ <tr>
+ <td vAlign="top" align="left" width="16%"><b>[<a name="MaddockCleary00">MaddockCleary00</a>]</b></td>
+ <td vAlign="top" align="left" width="84%">John Maddock and Steve Cleary, <i>C++ Type
+ Traits</i>. Dr. Dobb's Journal, Vol. 25, Issue 10, October, 2000, page 38. <a href="http://www.boost.org/libs/type_traits/cxx_type_traits.htm">
+ www.boost.org/libs/type_traits/c++_type_traits.htm</a></td>
+ </tr>
+
+ <!-- year separator -->
+ <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
+
+ <tr>
+ <td vAlign="top" align="left" width="16%"><b>[<a name="Maddock01">Maddock01</a>]</b></td>
+ <td vAlign="top" align="left" width="84%">John Maddock, <i>Regular Expressions in C++</i>.
+ Dr. Dobb's Journal, Vol. 26, Issue 10, October, 2001, page 21.</td>
+ </tr>
+ <tr>
+ <td vAlign="top" align="left" width="16%"><b>[<a name="SiekLumsdaine01">SiekLumsdaine01</a>]</b></td>
+ <td vAlign="top" align="left" width="84%">Jeremy Siek and Andrew Lumsdaine, <i>C++
+ Concept Checking</i>. Dr. Dobb's Journal, Vol. 26, Issue 6, June, 2001,
+ page 64.</td>
+ </tr>
+
+ <!-- year separator -->
+ <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
+
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Karlsson02">Karlsson02</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Björn Karlsson, <i>Smart Pointers in Boost</i>.
+ C/C++ Users Journal, April, 2002. <A href="http://www.cuj.com/documents/s=8014/cuj0204karlsson/">
+ www.cuj.com/documents/s=8014/cuj0204karlsson/</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Karlsson02a">Karlsson02a</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Björn Karlsson, <i>C/C++ Tip #9: Lexical
+ Conversions</i>. C/C++ Users Journal, November, 2002. <A href="http://www.cuj.com/documents/s=8470/cuj0211karlsson/">
+ www.cuj.com/documents/s=8470/cuj0211karlsson/</A></TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Kempf02">Kempf02</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Bill Kempf, <i>The Boost.Threads Library</i>.
+ C/C++ Users Journal, May, 2002. <A href="http://www.cuj.com/documents/s=8013/cuj0205kempf/">
+ www.cuj.com/documents/s=8013/cuj0205kempf/</A></TD>
+ </TR>
+ <tr>
+ <td vAlign="top" align="left" width="16%"><b>[<a name="SiekLeeLumsdaine02">SiekLeeLumsdaine02</a>]</b></td>
+ <td vAlign="top" align="left" width="84%">
+ Jeremy Siek, Lie-Quan Lee and Andrew Lumsdaine, <i>The Boost Graph Library</i>.
+ Addison-Wesley, 2002. ISBN: 0-201-72914-8. <a href="http://www.awprofessional.com/titles/0-201-72914-8">
+ www.awprofessional.com/titles/0-201-72914-8/</a>
+ <br>A sample chapter is available at: <A href="http://tinyurl.com/24666">tinyurl.com/24666</A>
+ </td>
+ </tr>
+
+ <!-- year separator -->
+ <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
+
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="AbrahamsGrosse-Kunstleve03">AbrahamsGrosse-Kunstleve03</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">David Abrahams and Ralf W.
+ Grosse-Kunstleve, <i>Building Hybrid Systems with Boost.Python</i>. C/C++ Users
+ Journal, July, 2003. <A href="http://www.cuj.com/documents/s=8470/cuj0307abrahams/">
+ www.cuj.com/documents/s=8470/cuj0307abrahams/</A></TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="GuzmanNuffer03">GuzmanNuffer03</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Joel de Guzman and Dan Nuffer, <i>The Spirit
+ Library: Inline Parsing in C++</i>. C/C++ Users Journal, September, 2003,
+ Vol. 21, Issue 9, page 22.</TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Karlsson03">Karlsson03</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Björn Karlsson, <i>Lambda Expressions &amp;
+ C++</i>. C/C++ Users Journal, December, 2003, Vol. 21, Issue 12, page 20.</TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Sutter03">Sutter03</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Herb Sutter, <i>Generalized Function Pointers</i>.
+ C/C++ Users Journal, August, 2003. <A href="http://www.cuj.com/documents/s=8464/cujcexp0308sutter/">
+ www.cuj.com/documents/s=8464/cujcexp0308sutter/</A>
+ </TD>
+ </TR>
+
+ <!-- year separator -->
+ <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
+
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="AbrahamsGurtovoy04">AbrahamsGurtovoy04</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">
+ David Abrahams and Aleksey Gurtovoy, <i>C++ Template Metaprogramming: Concepts,
+ Tools, and Techniques from Boost and Beyond</i>. Addison-Wesley, November,
+ 2004. ISBN: 0-321-22725-5. <A href="http://www.awprofessional.com/titles/0321227255/">
+ www.awprofessional.com/titles/0321227255/</A>
+ <br>
+ Additional information and two sample chapters are available at: <A href="http://boost-consulting.com/tmpbook/">
+ boost-consulting.com/tmpbook/</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Inaba04">Inaba04</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">
+ Kazuhiro Inaba, <i>Boost C++ Library Programming</i>. Shuwa System, May, 2004. ISBN: 4-7980-0786-2. <A href="http://www.shuwasystem.co.jp/books/7980/0786-2/0786-2.html">
+ www.shuwasystem.co.jp/books/7980/0786-2/0786-2.html</A>
+ <br>
+ Additional information and a sample chapter are available at: <A href="http://www.kmonos.net/pub/BoostBook/">
+ www.kmonos.net/pub/BoostBook/</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Lopez04">L&oacute;pez04</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz,
+ <i>The Boost Multi-Index Containers Library</i>. C/C++ Users Journal,
+ September, 2004, Vol. 22, Issue 9, page 6.</TD>
+ </TR>
+ </table>
+ <h2><a name="Online_publications">Online publications</a> about Boost or Boost
+ Libraries</h2>
+ <table style="BORDER-COLLAPSE: collapse" borderColor="#111111" cellPadding="5" width="100%"
+ border="0">
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Brownell02">Brownell02</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">David Brownell, <i>C++ Techniques for
+ Tomorrow That Can be Implemented Today (a.k.a. Boosting your Code)</i>.
+ NWCPP, November 13, 2002. <A href="http://www.nwcpp.org/Meetings/2002/11.html">www.nwcpp.org/Meetings/2002/11.html</A></TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Long02">Long02</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Matt Long, <i>Adding Regular Expressions to Your App with Regex++</i>.
+ The Code Project, June 18, 2002. <A href="http://www.codeproject.com/string/regex__.asp">www.codeproject.com/string/regex__.asp</A></TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Siek02">Siek02</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Jeremy G. Siek, <i>The Boost Graph Library</i>.
+ InformIT, March 1, 2002. <A href="http://tinyurl.com/2hc27">tinyurl.com/2hc27</A></TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Siek02a">Siek02a</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Jeremy G. Siek, <i>A Boost Graph Library
+ Tutorial</i>. InformIT, March 1, 2002. <A href="http://tinyurl.com/2sa4s">tinyurl.com/2sa4s</A></TD>
+ </TR>
+
+ <!-- year separator -->
+ <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
+
+ <TR>
+ <TD vAlign="top" align="left" width="16%" height="32"><b>[<a name="Abrahams03">Abrahams03</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%" height="30">David Abrahams, <i>The Boost
+ Metaprogramming Library</i>. ACCU, 2003. <A href="http://www.boost-consulting.com/writing/ACCU_MPL_slides.ppt">
+ www.boost-consulting.com/writing/ACCU_MPL_slides.ppt</A></TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Dawes03">Dawes03</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Beman Dawes, <i>Multiplatform Software
+ Development</i>. 2003. <A href="http://www.esva.net/~beman/multiplat_dev.ppt">www.esva.net/~beman/multiplat_dev.ppt</A></TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Halleux03">Halleux03</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Jonathan de Halleux, <i>Opening a door
+ towards Spirit: a parser framework</i>. The Code Project, March 24, 2003. <A href="http://www.codeproject.com/cpp/spiritintro.asp">
+ www.codeproject.com/cpp/spiritintro.asp</A></TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Trentini03">Trentini03</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Matthew S. Trentini, <i>Introduction to Boost</i>.</TD>
+ </TR>
+ <tr>
+ <td vAlign="top" align="left" width="16%"><b>[<a name="Walker03">Walker03</a>]</b>
+ </td>
+ <td vAlign="top" align="left" width="84%">Andrew Walker, <i>An Introduction to Boost</i>.
+ The Code Project, July 7, 2003. <a href="http://www.codeproject.com/vcpp/stl/BoostIntro.asp">
+ www.codeproject.com/vcpp/stl/BoostIntro.asp</a>
+ <br>A short and straightforward introduction to Boost.
+ </td>
+ </tr>
+
+ <!-- year separator -->
+ <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
+
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Dawes04">Dawes04</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Beman Dawes, <i>Boost for Visual C++
+ Developers</i>. MSDN, May 17, 2004. <A href="http://tinyurl.com/2lzyh">tinyurl.com/2lzyh</A></TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="D'Agostino04">D'Agostino04</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Jim D'Agostino, <i>Designing Robust Objects with Boost</i>.
+ The Code Project, August 17, 2004. <A href="http://www.codeproject.com/cpp/Designing_Robust_Objects.asp">
+ www.codeproject.com/cpp/Designing_Robust_Objects.asp</A></TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Handley04">Handley04</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Dave Handley, <i>An Introduction to the Boost Spirit Parser framework</i>.
+ The Code Project, October 9, 2004. <A href="http://www.codeproject.com/vcpp/stl/introduction_spirit.asp">
+ www.codeproject.com/vcpp/stl/introduction_spirit.asp</A></TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Handley04a">Handley04a</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Dave Handley, <i>Implementing Semantic Actions in the Boost Spirit Parser Framework</i>.
+ The Code Project, October 10, 2004. <A href="http://www.codeproject.com/vcpp/stl/spirit_semantic_actions.asp">
+ www.codeproject.com/vcpp/stl/spirit_semantic_actions.asp</A></TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Hauptmann04">Hauptmann04</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Peter Hauptmann, <i>Smart Pointers to boost your
+ code</i>. The Code Project, September 27, 2004. <A href="http://www.codeproject.com/vcpp/stl/boostsmartptr.asp">
+ www.codeproject.com/vcpp/stl/boostsmartptr.asp</A></TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Hauptmann04a">Hauptmann04a</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Peter Hauptmann, <i>boost 2: shared_ptr wraps
+ resource handles</i>. The Code Project, October 4, 2004. <A href="http://www.codeproject.com/vcpp/stl/boostsp_handleref.asp">
+ www.codeproject.com/vcpp/stl/boostsp_handleref.asp</A></TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Wikipedia04">Wikipedia04</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Wikipedia, <i>Boost (Programming)</i>.
+ Wikipedia, The Free Encyclopedia, 2004. <A href="http://en.wikipedia.org/wiki/Boost_(programming)">
+ en.wikipedia.org/wiki/Boost_(programming)</A></TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Witt04">Witt04</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Thomas Witt, <i>The Boost Iterator Library</i>.
+ ACCU Spring Conference, 2004. <A href="http://www.accu.org/conference/presentations/Witt_-_Boost_Iterator_Library.pdf">
+ www.accu.org/conference/presentations/Witt_-_Boost_Iterator_Library.pdf</A></TD>
+ </TR>
+
+ <!-- year separator -->
+ <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
+
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Cogswell05">Cogswell05</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Jeff Cogswell, <i>Adding an Easy File Save and File Load Mechanism
+ to Your C++ Program</i>. InformIT, July 1, 2005. <A href="http://www.informit.com/articles/article.asp?p=398702">
+ http://www.informit.com/articles/article.asp?p=398702</A>
+ <br>Explains Boost.Serialization.</TD>
+ </TR>
+ </table>
+ <h2><a name="Print_mentions">Print mentions</a> of Boost or Boost Libraries</h2>
+ <table style="BORDER-COLLAPSE: collapse" borderColor="#111111" cellPadding="5" width="100%"
+ border="0">
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="HyslopSutter01">HyslopSutter01</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Jim Hyslop and Herb Sutter, <i>Conversations:
+ I'd Hold Anything for You</i>. C/C++ Users Journal, December, 2001. <A href="http://www.cuj.com/documents/s=7988/cujcexp1912hyslop/">
+ www.cuj.com/documents/s=7988/cujcexp1912hyslop/</A>
+ <br><CODE>boost::any</CODE>
+ </TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Meyers01">Meyers01</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Scott Meyers, <i>Item 50: Familiarize yourself with
+ STL-related web sites</i>. Effective STL, Addison-Wesley, 2001, page 221. ISBN: 0-201-74962-9
+ </TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Sutter01">Sutter01</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Herb Sutter, <i>The String Formatters of
+ Manor Farm</i>. C/C++ Users Journal, Vol. 19, November, 2001. <A href="http://www.gotw.ca/publications/mill19.htm">
+ www.gotw.ca/publications/mill19.htm</A>
+ <br><CODE>boost::lexical_cast</CODE>
+ </TD>
+ </TR>
+
+ <!-- year separator -->
+ <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
+
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Ablavsky02">Ablavsky02</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Vitaly Ablavsky, <i>Applying BGL to
+ Computational Geometry</i>. C/C++ Users Journal, August, 2002. <A href="http://www.cuj.com/documents/s=8470/cuj0208ablavsky/">
+ www.cuj.com/documents/s=8470/cuj0208ablavsky/</A></TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Alexandrescu02">Alexandrescu02</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Andrei Alexandrescu, <i>Generic&lt;Programming&gt;:
+ Efficient Generic Sorting and Searching in C++ (I): In Search of a Better
+ Search</i>. C/C++ Users Journal, October, 2002. <A href="http://www.cuj.com/documents/s=7978/cujcexp2010alexandr/">
+ www.cuj.com/documents/s=7978/cujcexp2010alexandr/</A>
+ <br><CODE>boost::type_traits</CODE>
+ </TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="HyslopSutter02">HyslopSutter02</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Jim Hyslop and Herb Sutter, <i>Conversations:
+ Getting to the Point</i>. C/C++ Users Journal, July, 2002. <A href="http://www.cuj.com/documents/s=7981/cujcexp2007hyslop/">
+ www.cuj.com/documents/s=7981/cujcexp2007hyslop/</A>
+ <br>smart pointer discussion. <CODE>boost::scoped_ptr, shared_ptr, scoped_array,
+ shared_array.</CODE>
+ </TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Sutter02">Sutter02</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Herb Sutter, <i>The New C++: The Group of
+ Seven - Extensions under Consideration for the C++ Standard Library</i>.
+ C/C++ Users Journal, April, 2002. <A href="http://www.cuj.com/documents/s=7984/cujcexp2004sutter/">
+ www.cuj.com/documents/s=7984/cujcexp2004sutter/</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Sutter02a">Sutter02a</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Herb Sutter, <i>The New C++: Smart(er)
+ Pointers</i>. C/C++ Users Journal, August, 2002. <A href="http://www.cuj.com/documents/s=7980/cujcexp2008sutter/">
+ www.cuj.com/documents/s=7980/cujcexp2008sutter/</A></TD>
+ </TR>
+
+ <!-- year separator -->
+ <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
+
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Besser03">Besser03</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Mitch Besser, <i>Generic Printable ENUM++</i>.
+ C/C++ Users Journal, June, 2003. <A href="http://www.cuj.com/documents/s=8470/cujboost0306besser/">
+ www.cuj.com/documents/s=8470/cujboost0306besser/</A>
+ <br>Mentions <CODE>BOOST_PP</CODE>
+ </TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Nasonov03">Nasonov03</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Alexander Nasonov, <i>I/O System: dynamic_any
+ Campaign</i>. C/C++ Users Journal, September, 2003. <A href="http://www.cuj.com/documents/s=8470/cujweb0309nasonov/">
+ www.cuj.com/documents/s=8470/cujweb0309nasonov/</A>
+ <br>Improved <CODE>boost::any</CODE>
+ </TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Sutter03a">Sutter03a</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Herb Sutter, <i>Generalizing Observer</i>.
+ C/C++ Users Journal, September, 2003. <A href="http://www.cuj.com/documents/s=8840/cujexp0309sutter/">
+ www.cuj.com/documents/s=8840/cujexp0309sutter/</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Tan03">Tan03</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Kwee H. Tan, <i>Exploring EDA Algorithms with
+ the Boost Graph Library</i>. C/C++ Users Journal, July, 2003. <A href="http://www.cuj.com/documents/s=8470/cuj0307tan/">
+ www.cuj.com/documents/s=8470/cuj0307tan/</A>
+ </TD>
+ </TR>
+ <tr>
+ <td vAlign="top" align="left" width="16%"><b>[<a name="VandervoordeJosuttis03">VandervoordeJosuttis03</a>]</b>
+ </td>
+ <td vAlign="top" align="left" width="84%">David Vandevoorde and Nicolai M.
+ Josuttis, <i>Using Templates in Practice</i>. C/C++ Users Journal, February,
+ 2003. <A href="http://www.cuj.com/documents/s=8208/cujweb0302vandevoorde/web0302b.htm">
+ www.cuj.com/documents/s=8208/cujweb0302vandevoorde/web0302b.htm</A>
+ <br>Concept Check Library
+ </td>
+ </tr>
+
+ <!-- year separator -->
+ <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
+
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Meyers05">Meyers05</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Scott Meyers, <i>Item 55: Familiarize yourself
+ with Boost</i>. Effective C++, 3rd Edition, Addison-Wesley, May 12, 2005. ISBN: 0-321-33487-6
+ </TD>
+ </TR>
+ </table>
+ <h2><a name="Online_mentions">Online mentions</a> of Boost or Boost Libraries</h2>
+ <table style="BORDER-COLLAPSE: collapse" borderColor="#111111" cellPadding="5" width="100%"
+ border="0">
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Siek01">Siek01</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Jeremy G. Siek, <i>An Implementation of Graph Isomorphism Testing</i>,
+ December 9, 2001. <A href="http://www.boost.org/libs/graph/doc/isomorphism-impl.pdf">
+ www.boost.org/libs/graph/doc/isomorphism-impl.pdf</A></TD>
+ </TR>
+
+ <!-- year separator -->
+ <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
+
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Burnap02">Burnap02</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Steven R. Burnap, <i>Boost::any</i>,
+ Kuro5hin, May 1, 2002. <A href="http://www.kuro5hin.org/story/2002/5/1/142321/9513">
+ www.kuro5hin.org/story/2002/5/1/142321/9513</A></TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Carbon02">Carbon02</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">David S?, <i>Boost : The handy library of
+ handy libraries</i>. Kuro5hin, July 18, 2002. <A href="http://www.kuro5hin.org/story/2002/7/18/3313/01429">
+ www.kuro5hin.org/story/2002/7/18/3313/01429</A>
+ </TD>
+ </TR>
+ <tr>
+ <td vAlign="top" align="left" width="16%"><b>[<a name="Curran02">Curran02</a>]</b></td>
+ <td vAlign="top" align="left" width="84%">James Curran, <i>Access Raw Data with
+ Performance Counters in Visual C++</i>. DevX.com, October, 2002. <a href="http://www.devx.com/cplus/article/7951">
+ www.devx.com/cplus/article/7951</a>
+ <br>Devotes several paragraphs to <code>boost::shared_ptr&lt;&gt;</code>.
+ </td>
+ </tr>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Siek02b">Siek02b</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Jeremy G. Siek, <i>Internet Packet Routing
+ with the Boost Graph Library</i>. InformIT, March 1, 2002. <A href="http://tinyurl.com/26dwj">
+ tinyurl.com/26dwj</A></TD>
+ </TR>
+
+ <!-- year separator -->
+ <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
+
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Casad03">Casad03</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Joe Casad, <i>Introducing the Boost Corner</i>.
+ C/C++ Users Journal, August, 2003. <A href="http://www.cuj.com/documents/s=8470/cuj0308boostcorner/">
+ www.cuj.com/documents/s=8470/cuj0308boostcorner/</A>
+ </TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Lischner03">Lischner03</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">
+ Ray Lischner, <i>C++: Beyond the Standard Library</i>. O'Reilly Network, May 6,
+ 2003. <A href="http://www.oreillynet.com/lpt/a/3683">www.oreillynet.com/lpt/a/3683</A>
+ <br>Mentions <CODE>tuples, shared_ptr, lambda, spirit</CODE>.
+ </TD>
+ </TR>
+
+ <!-- year separator -->
+ <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
+
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Inaba04a">Inaba04a</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Kazuhiro Inaba, <i>Let's Boost</i>. 2004. <A href="http://www.kmonos.net/alang/boost/">
+ www.kmonos.net/alang/boost/</A></TD>
+ </TR>
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Stein04">Stein04</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">
+ <P>Sebastian Stein, <i>How to use Boost Test for automated testing</i>. 2004. <A href="http://www.hpfsc.de/boosttest/">
+ www.hpfsc.de/boosttest/</A></P>
+ </TD>
+ </TR>
+
+ <!-- year separator -->
+ <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
+
+ <TR>
+ <TD vAlign="top" align="left" width="16%"><b>[<a name="Lindrud05">Lindrud05</a>]</b></TD>
+ <TD vAlign="top" align="left" width="84%">Jarl Lindrud, <i>RMI for C++</i>.
+ The Code Project, April 11, 2005. <A href="http://www.codeproject.com/threads/RMI_For_Cpp.asp">www.codeproject.com/threads/RMI_For_Cpp.asp</A>
+ <br>Uses Boost.Serialization.</TD>
+ </TR>
+ </table>
+ <h2>How to <a name="update">update</a> this page</h2>
+ <p>Please help us keep this page updated - users can post new citations to the
+ mailing list, while Boost developers should update the page directly in CVS.</p>
+ <ul>
+ <li>
+ If a publication is available both in print and online, cite it in the
+ appropriate <i>print</i>
+ section, with a hyperlink to the online version.
+ <li>
+ Bookmark the contents of [...] in the first column to make it easy to link to
+ the entry.
+ <li>
+ Identify the first entry an author has in a given year with just the two-digit
+ year. Subsequent entries for the same author and year should have <b>a-z</b>
+ appended.
+ <li>
+ Inside each section, entries are grouped by year and, within a year, alphabetically
+ sorted by author name.
+ <li>
+ In the text, spell out absolute URL's so that printed versions of this page
+ include the full URL.
+ </li>
+ </ul>
+ <h2><a name="Acknowledgements">Acknowledgements</a></h2>
+ <p>Fredrik Blomqvist provided many of the initial citations.</p>
+ <hr>
+ <p>Revised
+ <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
+ 20 July, 2005<!--webbot bot="Timestamp" endspan i-checksum="40409" --></p>
+ <p>© Copyright Beman Dawes 2003</p>
+ <p> Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
+ copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+ </body>
+</html>
diff --git a/more/blanket-permission.txt b/more/blanket-permission.txt
new file mode 100644
index 0000000000..320252d433
--- /dev/null
+++ b/more/blanket-permission.txt
@@ -0,0 +1,83 @@
+The following people hereby grant permission to replace all existing
+licenses on their contributions to Boost with the Boost Software
+License, Version 1.0.
+
+David Abrahams (dave@boost-consulting.com)
+Dave Abrahams (dave@boost-consulting.com)
+Beman Dawes (bdawes@acm.org)
+Daniel Frey (d.frey -at- gmx.de, daniel.frey -at- aixigo.de)
+Douglas Gregor (gregod -at- cs.rpi.edu, dgregor -at- cs.indiana.edu )
+Aleksey Gurtovoy (agurtovoy@meta-comm.com)
+Jaakko Järvi (jajarvi -at- osl.iu.edu)
+Dave Moore (dmoore -at- viefinancial.com) (See Boost list message of 18 Dec 2003 15:35:50 -0500)
+John Maddock (john - at - johnmaddock.co.uk)
+Dr John Maddock (john - at - johnmaddock.co.uk)
+Gary Powell (powellg - at - amazon.com) (See Boost list message of 10 Feb 2004 14:22:46 -0800)
+Fernando Cacciola (fernando_cacciola@ciudad.com.ar)
+Fernando Luis Cacciola Carballal (fernando_cacciola@ciudad.com.ar)
+Michael Glassford (glassfordm - at - hotmail.com)
+Eric Friedman (ebf@users.sourceforge.net)
+Peter Dimov (pdimov@mmltd.net)
+Jens Maurer (Jens.Maurer@gmx.net)
+Mac Murrett (mmurrett -at- mac.com)
+John Bandela (jbandela-at-ufl.edu)
+John R Bandela (jbandela-at-ufl.edu)
+Robert Ramey (ramey@www.rrsd.com)
+Rene Rivera (grafik/redshift-software.com, rrivera/acm.org)
+Paul Mensonides (pmenso57 -at- comcast.net) (See Boost list message of July 21, 2004 1:12:21 AM EST)
+Multi Media Ltd. (pdimov@mmltd.net)
+Brad King (brad.king -at- kitware.com) (See Boost list message of Wed, 21 Jul 2004 11:15:46 -0400)
+Jeremy Siek (jsiek@osl.iu.edu)
+Jeremy G Siek (jsiek@osl.iu.edu)
+Howard Hinnant (hinnant -at- twcny.rr.com) (See Boost list message of July 25, 2004 3:44:49 PM EST)
+Joel de Guzman (joel -at- boost-consulting.com) (See Boost list message of July 25, 2004 8:32:00 PM EST)
+Vladimir Prus (ghost@cs.msu.su)
+Jeff Garland (jeff - at - crystalclearsoftware.com) (see Boost list post of July 25, 2004 19:31:09 -0700)
+Thorsten Jørgen Ottosen (nesotto - at - cs.auc.dk)
+Thorsten Ottosen (nesotto - at - cs.auc.dk)
+Daryle Walker (darylew - at - hotmail.com)
+Toon Knapen (toon dot knapen - at - fft.be)
+Pavol Droba (droba -at- topmail.sk)
+Thomas Witt (witt - at - ive.uni-hannover.de, witt - at - acm.org, witt - at - styleadvisor.com)
+Ralf W. Grosse-Kunstleve (RWGrosse-Kunstleve@lbl.gov)
+R W Grosse-Kunstleve (RWGrosse-Kunstleve@lbl.gov)
+Hervé Brönnimann (hbr -at- poly.edu)
+Herve Bronnimann (hbr -at- poly.edu)
+Andrei Alexandrescu (andrewalex - at - hotmail.com) (See Boost list message of August 12, 2004 11:06:58 AM EST)
+Cromwell D Enage (sponage -at- yahoo.com) (See Boost list message of August 12, 2004 11:49:13 AM EST)
+Juergen Hunold (hunold -at- ive.uni-hannover.de) (See Boost List Message of Fri, 13 Aug 2004 19:39:55 +0200)
+Gregory Colvin (gregory.colvin -at- oracle.com) (See Boost list message of Sat, 14 Aug 2004 10:57:00 +0100)
+Greg Colvin (gregory.colvin -at- oracle.com) (See Boost list message of Sat, 14 Aug 2004 10:57:00 +0100)
+Eric Ford (un5o6n902 -at- sneakemail.com) (See Boost list message of Sun, 15 Aug 2004 10:29:13 +0100)
+Gottfried Ganssauge (Gottfried.Ganssauge -at- HAUFE.DE) (See Boost List message of Mon, 16 Aug 2004 10:09:19 +0200)
+Gottfried Ganßauge (Gottfried.Ganssauge -at- HAUFE.DE) (Alternative spelling of Gottfried Ganssauge)
+Gunter Winkler (gunter.winkler -at- unibw-muenchen.de) (See Boost List message of Mon, 16 Aug 2004 10:24:17 +0200)
+Kresimir Fresl (fresl -at- master.grad.hr) (See Boost List message of August 16, 2004 8:23:35 AM EST)
+Lie-Quan Lee (liequan - at - slac.stanford.edu, llee - at - cs.indiana.edu)
+Bruno da Silva de Oliveira (bruno - at - esss.com.br)
+Bruce Barr (schmoost -at- yahoo.com) (See Boost list of Mon, 16 Aug 2004 15:06:43 -0500)
+Roland Richter (roland -at- flll.jku.at) (See Boost list post of Mon, 16 Aug 2004 22:16:55 +0200)
+Michael Stevens (Michael.Stevens - at - epost.de)
+Rational Discovery LLC (Greg Landrum Landrum -at- RationalDiscovery.com) (See Boost list post of Tue, 17 Aug 2004 10:35:36 +0100)
+Lars Gullik Bjønnes (larsbj -at- lyx.org) (See Boost list message of Tue, 17 Aug 2004 15:49:02 +0100)
+Nikolay Mladenov (nickm -at- sitius.com) (See Boost list message of Tue, 17 Aug 2004 15:45:33 +0100)
+Itay Maman (imaman -at- users.sourceforge.net)
+Hubert Holin (hubert_holin -at- users.sourceforge.net)
+Maarten Keijzer (mkeijzer -at- cs.vu.nl) (See Boost list message of Wed, 18 Aug 2004 21:43:18 +0100)
+Dan Gohman (djg -at- cray.com) (See Boost list messsage of Sat, 21 Aug 2004 10:54:59 +0100)
+Daniel Nuffer (dan -at- nuffer.name)
+Dan Nuffer (dan -at- nuffer.name)
+Nicolai M Josuttis (solutions -at- josuttis.com) (See Boost list message of Mon, 30 Aug 2004 10:52:00 +0100)
+Christain Engstrom (christian.engstrom -at- glindra.org) (See Boost list message of Mon, 30 Aug 2004 14:31:49 +0200)
+Housemarque Oy (Ilari Kuittinen ilari.kuittinen -at- housemarque.fi)
+Kevlin Henney (kevlin -at- curbralan.com) (See Boost list message of Wed, 15 Sep 2004 18:15:17 +0200)
+Jaap Suter (j.suter -at- student.utwente.nl) (See Boost list message of Thu, 16 Sep 2004 09:32:43 -0700)
+Samuel Krempp (krempp -at- crans.ens-cachan.fr) (See Boost list message of Mon, 27 Sep 2004 13:18:36 +0200)
+Stephen Cleary (scleary -at- jerviswebb.com) (See Boost list message of Tue, 28 Sep 2004 13:11:46 +0100)
+Steve Cleary (Variant of Stephen Cleary)
+Hartmut Kaiser (HartmutKaiser -at- t-online.de)
+Indiana University ()
+The Trustees of Indiana University ()
+Trustees of Indiana University ()
+University of Notre Dame ()
+Andrew Lumsdaine ()
diff --git a/more/boost-dark-trans.png b/more/boost-dark-trans.png
new file mode 100644
index 0000000000..1aa16e202f
--- /dev/null
+++ b/more/boost-dark-trans.png
Binary files differ
diff --git a/more/boost_1_33_0.jpg b/more/boost_1_33_0.jpg
new file mode 100644
index 0000000000..6f26ef38d3
--- /dev/null
+++ b/more/boost_1_33_0.jpg
Binary files differ
diff --git a/more/borland_cpp.html b/more/borland_cpp.html
new file mode 100644
index 0000000000..754e562812
--- /dev/null
+++ b/more/borland_cpp.html
@@ -0,0 +1,398 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Portability Hints: Borland C++ 5.5.1</title>
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+
+<table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="../people/people.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="faq.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="index.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+</table>
+
+<p>
+
+<h1>Portability Hints: Borland C++ 5.5.1</h1>
+
+It is a general aim for boost libraries to be
+<a href="lib_guide.htm#Portability">portable</a>. The primary means
+for achieving this goal is to adhere to ISO Standard C++. However,
+ISO C++ is a broad and complex standard and most compilers are
+not fully conformant to ISO C++ yet. In order to achieve portability
+in the light of this restriction, it seems advisable to get acquainted
+with those language features that some compilers do not fully
+implement yet.
+<p>
+
+This page gives portability hints on some language features of the
+Borland C++ version 5.5.1 compiler. Furthermore, the appendix
+presents additional problems with Borland C++ version 5.5. Borland
+C++ 5.5.1 is a freely available command-line compiler for Win32
+available at
+<a href="http://www.borland.com/">http://www.borland.com/</a>.
+<p>
+
+Each entry in the following list describes a particular issue,
+complete with sample source code to demonstrate the effect.
+Most sample code herein has been verified to compile with gcc 2.95.2
+and Comeau C++ 4.2.44.
+
+
+<h2>Preprocessor symbol</h2>
+
+The preprocessor symbol <code>__BORLANDC__</code> is defined for all
+Borland C++ compilers. Its value is the version number of the
+compiler interpreted as a hexadecimal number. The following table
+lists some known values.
+<p>
+
+<table border="1">
+<tr>
+<th>Compiler</th>
+<th><code>__BORLANDC__</code> value</th>
+</tr>
+
+<tr>
+<td>Borland C++ Builder 4</td>
+<td>0x0540</td>
+</tr>
+
+<tr>
+<td>Borland C++ Builder 5</td>
+<td>0x0550</td>
+</tr>
+
+<tr>
+<td>Borland C++ 5.5</td>
+<td>0x0550</td>
+</tr>
+
+<tr>
+<td>Borland C++ 5.5.1</td>
+<td>0x0551</td>
+</tr>
+
+<tr>
+<td>Borland C++ Builder 6</td>
+<td>0x0560</td>
+</tr>
+
+</table>
+
+<h2>Core Language</h2>
+
+<h3>[using-directive] Mixing <code>using</code>-declarations and
+<code>using</code>-directives</h3>
+
+Mixing <code>using</code>-directives (which refer to whole namespaces)
+and namespace-level <code>using</code>-declarations (which refer to
+individual identifiers within foreign namespaces) causes ambiguities
+where there are none. The following code fragment illustrates this:
+
+<pre>
+namespace N {
+ int x();
+}
+
+using N::x;
+using namespace N;
+
+int main()
+{
+ &amp;x; // Ambiguous overload
+}
+</pre>
+
+
+<h3>[using template] <code>using</code>-declarations for class
+templates</h3>
+
+Identifiers for class templates can be used as arguments to
+<code>using</code>-declarations as any other identifier. However, the
+following code fails to compile with Borland C++:
+
+<pre>
+template&lt;class T&gt;
+class X { };
+
+namespace N
+{
+ // "cannot use template 'X&lt;T&gt;' without specifying specialization parameters"
+ using ::X;
+};
+</pre>
+
+
+<h3>[template const arg] Deduction of constant arguments to function
+templates</h3>
+
+Template function type deduction should omit top-level constness.
+However, this code fragment instantiates "f&lt;const int&gt;(int)":
+
+<pre>
+template&lt;class T&gt;
+void f(T x)
+{
+ x = 1; // works
+ (void) &amp;x;
+ T y = 17;
+ y = 20; // "Cannot modify a const object in function f&lt;const int&gt;(int)"
+ (void) &amp;y;
+}
+
+int main()
+{
+ const int i = 17;
+ f(i);
+}
+</pre>
+
+The boost/rational.hpp header exhibits this problem in connection with
+the gcd() function.
+
+
+<h3>[function address] Resolving addresses of overloaded
+functions</h3>
+
+Addresses of overloaded functions are not in all contexts properly
+resolved (std:13.4 [over.over]); here is a small example:
+<pre>
+template&lt;class Arg&gt;
+void f( void(*g)(Arg) );
+
+void h(int);
+void h(double);
+
+template&lt;class T&gt;
+void h2(T);
+
+int main()
+{
+ void (*p)(int) = h; // this works (std:13.4-1.1)
+ void (*p2)(unsigned char) = h2; // this works as well (std:13.4-1.1)
+ f&lt;int&gt;(h2); // this also works (std:13.4-1.3)
+
+ // "Cannot generate template specialization from h(int)",
+ // "Could not find a match for f&lt;Arg&gt;(void (*)(int))"
+ f&lt;double&gt;(h); // should work (std:13.4-1.3)
+
+ f( (void(*)(double))h); // C-style cast works (std:13.4-1.6 with 5.4)
+
+ // "Overloaded 'h' ambiguous in this context"
+ f(static_cast&lt;void(*)(double)&gt;(h)); // should work (std:13.4-1.6 with 5.2.9)
+}
+</pre>
+
+<strong>Workaround:</strong> Always use C-style casts when determining
+addresses of (potentially) overloaded functions.
+
+<h3>[string conversion] Converting <code>const char *</code> to
+<code>std::string</code></h3>
+
+Implicitly converting <code>const char *</code> parameters to
+<code>std::string</code> arguments fails if template functions are
+explicitly instantiated (it works in the usual cases, though):
+
+<pre>
+#include &lt;string&gt;
+
+template&lt;class T&gt;
+void f(const std::string &amp; s)
+{}
+
+int main()
+{
+ f&lt;double&gt;("hello"); // "Could not find a match for f&lt;T&gt;(char *)"
+}
+
+</pre>
+
+<strong>Workaround:</strong> Avoid explicit template function
+instantiations (they have significant problems with Microsoft Visual
+C++) and pass default-constructed unused dummy arguments with the
+appropriate type. Alternatively, if you wish to keep to the explicit
+instantiation, you could use an explicit conversion to
+<code>std::string</code> or declare the template function as taking a
+<code>const char *</code> parameter.
+
+
+<h3>[template value defaults] Dependent default arguments for template
+value parameters</h3>
+
+Template value parameters which default to an expression dependent on
+previous template parameters don't work:
+
+<pre>
+template&lt;class T&gt;
+struct A
+{
+ static const bool value = true;
+};
+
+// "Templates must be classes or functions", "Declaration syntax error"
+template&lt;class T, bool v = A&lt;T&gt;::value&gt;
+struct B {};
+
+int main()
+{
+ B&lt;int&gt; x;
+}
+
+</pre>
+
+
+<strong>Workaround:</strong> If the relevant non-type template
+parameter is an implementation detail, use inheritance and a fully
+qualified identifier (for example, ::N::A&lt;T&gt;::value).
+
+
+<h3>[function partial ordering] Partial ordering of function
+templates</h3>
+
+Partial ordering of function templates, as described in std:14.5.5.2
+[temp.func.order], does not work:
+
+<pre>
+#include &lt;iostream&gt;
+
+template&lt;class T&gt; struct A {};
+
+template&lt;class T1&gt;
+void f(const A&lt;T1&gt; &)
+{
+ std::cout << "f(const A&lt;T1&gt;&)\n";
+}
+
+template&lt;class T&gt;
+void f(T)
+{
+ std::cout << "f(T)\n";
+}
+
+int main()
+{
+ A&lt;double&gt; a;
+ f(a); // output: f(T) (wrong)
+ f(1); // output: f(T) (correct)
+}
+</pre>
+
+<strong>Workaround:</strong> Declare all such functions uniformly as
+either taking a value or a reference parameter.
+
+
+<h3>[instantiate memfun ptr] Instantiation with member function pointer</h3>
+
+When directly instantiating a template with some member function
+pointer, which is itself dependent on some template parameter, the
+compiler cannot cope:
+<pre>
+template&lt;class U&gt; class C { };
+template&lt;class T&gt;
+class A
+{
+ static const int v = C&lt;void (T::*)()&gt;::value;
+};
+</pre>
+
+<strong>Workaround:</strong> Use an intermediate <code>typedef</code>:
+
+<pre>
+template&lt;class U&gt; class C { };
+template&lt;class T&gt;
+class A
+{
+ typedef void (T::*my_type)();
+ static const int v = C&lt;my_type&gt;::value;
+};
+</pre>
+
+(Extracted from e-mail exchange of David Abrahams, Fernando Cacciola,
+and Peter Dimov; not actually tested.)
+
+
+<h2>Library</h2>
+
+
+<h3>[cmath.abs] Function <code>double std::abs(double)</code>
+missing</h3>
+
+The function <code>double std::abs(double)</code> should be defined
+(std:26.5-5 [lib.c.math]), but it is not:
+
+<pre>
+#include &lt;cmath&gt;
+
+int main()
+{
+ double (*p)(double) = std::abs; // error
+}
+</pre>
+
+Note that <code>int std::abs(int)</code> will be used without warning
+if you write <code>std::abs(5.1)</code>.
+<p>
+Similar remarks apply to seemingly all of the other standard math
+functions, where Borland C++ fails to provide <code>float</code> and
+<code>long double</code> overloads.
+<p>
+<strong>Workaround:</strong> Use <code>std::fabs</code> instead if
+type genericity is not required.
+
+<h2>Appendix: Additional issues with Borland C++ version 5.5</h2>
+
+These issues are documented mainly for historic reasons. If you are
+still using Borland C++ version 5.5, you are strongly encouraged to
+obtain an upgrade to version 5.5.1, which fixes the issues described
+in this section.
+
+<h3>[inline friend] Inline friend functions in template classes</h3>
+
+If a friend function of some class has not been declared before the
+friend function declaration, the function is declared at the namespace
+scope surrounding the class definition. Together with class templates
+and inline definitions of friend functions, the code in the following
+fragment should declare (and define) a non-template function "bool
+N::f(int,int)", which is a friend of class N::A&lt;int&gt;. However,
+Borland C++ v5.5 expects the function f to be declared beforehand:
+
+<pre>
+namespace N {
+template&lt;class T&gt;
+class A
+{
+ // "f is not a member of 'N' in function main()"
+ friend bool f(T x, T y) { return x < y; }
+};
+}
+
+int main()
+{
+ N::A&lt;int&gt; a;
+}
+</pre>
+
+This technique is extensively used in boost/operators.hpp. Giving in
+to the wish of the compiler doesn't work in this case, because then
+the "instantiate one template, get lots of helper functions at
+namespace scope" approach doesn't work anymore. Defining
+BOOST_NO_OPERATORS_IN_NAMESPACE (a define
+BOOST_NO_INLINE_FRIENDS_IN_CLASS_TEMPLATES would match this case
+better) works around this problem and leads to another one, see
+[using-template].
+
+<p>
+
+<hr>
+
+2000-09-30 <a href="../people/jens_maurer.htm">Jens Maurer</a>
+</body>
+</html>
diff --git a/more/bugs.htm b/more/bugs.htm
new file mode 100644
index 0000000000..7c1ce18bf4
--- /dev/null
+++ b/more/bugs.htm
@@ -0,0 +1,118 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>
+ <meta http-equiv="Content-Language" content="en-us">
+
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+
+ <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Bugs</title>
+</head>
+
+
+<body bgcolor="#ffffff" text="#000000">
+
+<table border="1" bgcolor="#007f7f" cellpadding="2">
+
+ <tbody><tr>
+ <td bgcolor="#ffffff">
+ <img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#ffffff"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#ffffff"><big>
+ Libraries</big></font></a></td>
+ <td><a href="../people/people.htm"><font face="Arial" color="#ffffff"><big>
+ People</big></font></a></td>
+ <td><a href="faq.htm"><font face="Arial" color="#ffffff"><big>FAQ</big></font></a></td>
+ <td><a href="index.htm"><font face="Arial" color="#ffffff"><big>More</big></font></a></td>
+ </tr>
+</tbody>
+</table>
+
+<h1>What to do about Boost bugs</h1>
+
+<ol>
+
+ <li>Make sure the bug isn't already fixed in the latest sources. The most
+ recent version of everything on the Boost web site is available from
+ the <a href="http://www.boost.org/more/getting_started.html#CVS">boost public
+ CVS repository</a>.<br>
+<br>
+ </li>
+ <li>If you are a Boost user, or a Boost developer that doesn't have a CVS
+ write access: <br>
+<br>
+ <ol>
+ <li>Submit a bug report to either
+ <a href="http://www.boost.org/more/mailing_lists.htm#users">boost-users list</a>,
+ <a href="http://www.boost.org/more/mailing_lists.htm#main">boost mailing
+ list</a>, or our <a href="http://sourceforge.net/tracker/?group_id=7586">bug
+ tracking facility</a> at SourceForge; submitting it to either of the mailing
+ lists is a preferred way - because many of the Boost developers read the
+ lists on a daily basis, this way you are likely to get a quicker response,
+ and the discussions that often arise there from (possible) bug reports are
+ quite interesting and educational as well;<br>
+<br>
+ </li>
+ <li>If you have a proposed patch to the code, post it along with your bug
+ report, preferably in the <em>unified diffs</em> format (<code>cvs diff -du</code>);
+ if you can, send a patch relative to the current CVS state. A canonical
+example of creating a patch file follows (let's assume that you've found
+a bug in the file <code>intentional_bug.hpp</code>:<br>
+<br>
+ <ol>
+ <li>Download the latest version of <code>intentional_bug.hpp</code> from CVS.</li>
+ <li>Make sure that the bug is still present in the code.</li>
+ <li>Copy the file <code>intentional_bug.hpp</code> to a file called <code>intentional_bug.hpp.orig</code>.</li>
+ <li>Apply your changes to <code>intentional_bug.hpp</code>.</li>
+ <li>Run "<code>diff -c intentional_bug.hpp.orig intentional_bug.hpp &gt; intentional_bug.hpp.patch</code>" from the command prompt.</li>
+ <li>Submit the patch file together with an explanation of the bug
+and the proposed fix; and don't forget to include the word <b>patch</b> or <b>bug</b>
+in the subject if you're submitting to the <a href="http://www.boost.org/more/mailing_lists.htm#main">boost mailing list</a>.<br>
+ <br>
+</li>
+ </ol>
+
+ </li>
+
+ </ol>
+ </li>
+ <li>If you are a Boost developer, and you have a CVS write access: <br>
+<br>
+ <ol>
+ <li>If the bug is trivial (e.g. misspelled name, missed <code>typename</code>,
+ etc.), and you are willing to make a fix, either make your changes locally
+ and contact the library author(s)/maintainer(s) about it, or go ahead and
+ check the fix into CVS, but post a notification about it to the
+ <a href="http://www.boost.org/more/mailing_lists.htm#main">boost mailing
+ list</a> (if the author is not very active on the list, you also might want
+ to consider <code>cc</code>'ing him as well); <br>
+<br>
+ </li>
+ <li>If the bug is non-trivial, and/or you don't have the time and resources to fix it,
+ submit a bug report (see p. 2 above); chances are that the maintainer(s)
+ will respond promptly and take care of the problem; <br>
+<br>
+ </li>
+ <li>Otherwise, create a temporary branch in CVS, make your changes there, and
+ ask the library author(s)/maintainer(s) to review them; if they are ok with
+ the new code, either you or they can integrate the fixes into the main
+ trunk. </li>
+ </ol>
+ </li>
+</ol>
+
+<hr>
+<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->18 January, 2002<!--webbot bot="Timestamp" i-checksum="38453" endspan -->
+</p>
+
+<p>© Copyright <a href="../people/aleksey_gurtovoy.htm">Aleksey Gurtovoy</a>
+2002</p>
+<p> Distributed under the Boost Software License, Version 1.0.
+(See accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
+copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
+</p>
+
+<br>
+
+</body></html>
+
diff --git a/more/count_bdy.htm b/more/count_bdy.htm
new file mode 100644
index 0000000000..0dd6f0bc79
--- /dev/null
+++ b/more/count_bdy.htm
@@ -0,0 +1,1166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+
+<HTML>
+
+<HEAD>
+
+ <TITLE>Counted Body Techniques</TITLE>
+
+ <META NAME="GENERATOR" CONTENT="Microsoft FrontPage 4.0">
+
+ <META NAME="Author" CONTENT="Kevlin Henney">
+
+ <META NAME="KeyWords" CONTENT="C++, Reference Counting, Advanced Techniques, Smart Pointers, Patterns">
+
+</HEAD>
+
+<BODY bgcolor="#FFFFFF" text="#000000">
+
+
+
+<H1 ALIGN=CENTER><I><FONT SIZE=+4>Counted Body Techniques</FONT></I></H1>
+
+
+
+<CENTER><P><B><FONT SIZE=+1><a href="../people/kevlin_henney.htm">Kevlin Henney</a><BR>
+
+</FONT>(<A HREF="mailto:kevlin@acm.org">kevlin@acm.org</A>, <a HREF="mailto:khenney@qatraining.com">khenney@qatraining.com</a>)</B></P></CENTER>
+
+
+
+<UL>
+
+<P>Reference counting techniques? Nothing new, you might think. Every good
+
+C++ text that takes you to an intermediate or advanced level will introduce
+
+the concept. It has been explored with such thoroughness in the past that
+
+you might be forgiven for thinking that everything that can be said has
+
+been said. Well, let's start from first principles and see if we can unearth
+
+something new....</P>
+
+</UL>
+
+
+
+
+<HR WIDTH="100%">
+<H2>And then there were none...</H2>
+
+
+<UL>
+
+<P>The principle behind reference counting is to keep a running usage count
+
+of an object so that when it falls to zero we know the object is unused.
+
+This is normally used to simplify the memory management for dynamically
+
+allocated objects: keep a count of the number of references held to that
+
+object and, on zero, delete the object.</P>
+
+
+
+<P>How to keep a track of the number of users of an object? Well, normal
+
+pointers are quite dumb, and so an extra level of indirection is required
+
+to manage the count. This is essentially the P<FONT SIZE=-1>ROXY</FONT>
+
+pattern described in <I>Design Patterns</I> [Gamma, Helm, Johnson &amp;
+
+Vlissides, Addison-Wesley, <FONT SIZE=-1>ISBN </FONT>0-201-63361-2]. The
+
+intent is given as</P>
+
+
+
+<UL>
+
+<P><I>Provide a surrogate or placeholder for another object to control
+
+access to it.</I></P>
+
+</UL>
+
+
+
+<P>Coplien [<I>Advanced C++ Programming Styles and Idioms</I>, Addison-Wesley,
+
+<FONT SIZE=-1>ISBN </FONT>0-201-56365-7] defines a set of idioms related
+
+to this essential separation of a handle and a body part. The <I>Taligent
+
+Guide to Designing Programs </I>[Addison-Wesley, <FONT SIZE=-1>ISBN </FONT>0-201-40888-0]
+
+identifies a number of specific categories for proxies (aka surrogates).
+
+Broadly speaking they fall into two general categories:</P>
+
+
+
+<UL>
+
+<LI><I>Hidden</I>: The handle is the object of interest, hiding the body
+
+itself. The functionality of the handle is obtained by delegation to the
+
+body, and the user of the handle is unaware of the body. Reference counted
+
+strings offer a transparent optimisation. The body is shared between copies
+
+of a string until such a time as a change is needed, at which point a copy
+
+is made. Such a C<FONT SIZE=-1>OPY</FONT> <FONT SIZE=-1>ON</FONT> W<FONT SIZE=-1>RITE</FONT>
+
+pattern (a specialisation of L<FONT SIZE=-1>AZY</FONT> E<FONT SIZE=-1>VALUATION</FONT>)
+
+requires the use of a hidden reference counted body.</LI>
+
+
+
+<LI><I>Explicit</I>: Here the body is of interest and the handle merely
+
+provides intelligence for its access and housekeeping. In C++ this is often
+
+implemented as the S<FONT SIZE=-1>MART</FONT> P<FONT SIZE=-1>OINTER</FONT>
+
+idiom. One such application is that of reference counted smart pointers
+
+that collaborate to keep a count of an object, deleting it when the count
+
+falls to zero.</LI>
+
+</UL>
+
+</UL>
+
+
+
+
+<HR WIDTH="100%">
+<H2>Attached vs detached</H2>
+
+
+<UL>
+
+<P>For reference counted smart pointers there are two places the count
+
+can exist, resulting in two different patterns, both outlined in <I>Software
+
+Patterns</I> [Coplien, SIGS, <FONT SIZE=-1>ISBN </FONT>0-884842-50-X]:</P>
+
+
+
+<UL>
+
+<LI>C<FONT SIZE=-1>OUNTED</FONT> B<FONT SIZE=-1>ODY</FONT> or A<FONT SIZE=-1>TTACHED</FONT>
+
+C<FONT SIZE=-1>OUNTED</FONT> H<FONT SIZE=-1>ANDLE</FONT>/B<FONT SIZE=-1>ODY</FONT>
+
+places the count within the object being counted. The benefits are that
+
+countability is a part of the object being counted, and that reference
+
+counting does not require an additional object. The drawbacks are clearly
+
+that this is intrusive, and that the space for the reference count is wasted
+
+when the object is not heap based. Therefore the reference counting ties
+
+you to a particular implementation and style of use.</LI>
+
+
+
+<LI>D<FONT SIZE=-1>ETACHED</FONT> C<FONT SIZE=-1>OUNTED</FONT> H<FONT SIZE=-1>ANDLE</FONT>/B<FONT SIZE=-1>ODY</FONT>
+
+places the count outside the object being counted, such that they are handled
+
+together. The clear benefit of this is that this technique is completely
+
+unintrusive, with all of the intelligence and support apparatus in the
+
+smart pointer, and therefore can be used on classes created independently
+
+of the reference counted pointer. The main disadvantage is that frequent
+
+use of this can lead to a proliferation of small objects, i.e. the counter,
+
+being created on the heap.</LI>
+
+</UL>
+
+
+
+<P>Even with this simple analysis, it seems that the D<FONT SIZE=-1>ETACHED</FONT>
+
+C<FONT SIZE=-1>OUNTED</FONT> H<FONT SIZE=-1>ANDLE</FONT>/B<FONT SIZE=-1>ODY</FONT>
+
+approach is ahead. Indeed, with the increasing use of templates this is
+
+often the favourite, and is the principle behind the common - but not standard
+
+- <TT><FONT SIZE=+1>counted_ptr</FONT></TT>.
+<I>[The Boost name is <a href="../libs/smart_ptr/shared_ptr.htm"><TT><FONT SIZE=+1>shared_ptr</FONT></TT></a>
+
+rather than <TT><FONT SIZE=+1>counted_ptr</FONT></TT>.]</I></P>
+
+
+
+<P>A common implementation of C<FONT SIZE=-1>OUNTED</FONT> B<FONT SIZE=-1>ODY</FONT>
+
+is to provide the counting mechanism in a base class that the counted type
+
+is derived from. Either that, or the reference counting mechanism is provided
+
+anew for each class that needs it. Both of these approaches are unsatisfactory
+
+because they are quite closed, coupling a class into a particular framework.
+
+Added to this the non-cohesiveness of having the count lying dormant in
+
+a non-counted object, and you get the feeling that excepting its use in
+
+widespread object models such as COM and CORBA the C<FONT SIZE=-1>OUNTED</FONT>
+
+B<FONT SIZE=-1>ODY</FONT> approach is perhaps only of use in specialised
+
+situations.</P>
+
+</UL>
+
+
+
+<HR WIDTH="100%">
+<H2>A requirements based approach</H2>
+
+
+<UL>
+
+<P>It is the question of openness that convinced me to revisit the problems
+
+with the C<FONT SIZE=-1>OUNTED</FONT> B<FONT SIZE=-1>ODY</FONT> idiom.
+
+Yes, there is a certain degree of intrusion expected when using this idiom,
+
+but is there anyway to minimise this and decouple the choice of counting
+
+mechanism from the smart pointer type used?</P>
+
+
+
+<P>In recent years the most instructive body of code and specification
+
+for constructing open general purpose components has been the Stepanov
+
+and Lee's STL (Standard Template Library), now part of the C++ standard
+
+library. The STL approach makes extensive use of compile time polymorphism
+
+based on well defined operational requirements for types. For instance,
+
+each container, contained and iterator type is defined by the operations
+
+that should be performable on an object of that type, often with annotations
+
+describing additional constraints. Compile time polymorphism, as its name
+
+suggests, resolves functions at compile time based on function name and
+
+argument usage, i.e. overloading. This is less intrusive, although less
+
+easily diagnosed if incorrect, than runtime poymorphism that is based on
+
+types, names and function signatures.</P>
+
+
+
+<P>This requirements based approach can be applied to reference counting.
+
+The operations we need for a type to be <I>Countable</I> are loosely:</P>
+
+
+
+<UL>
+
+<LI>An <TT><FONT SIZE=+1>acquire</FONT></TT> operation that registers interest
+
+in a <I>Countable </I>object.</LI>
+
+
+
+<LI>A <TT><FONT SIZE=+1>release</FONT></TT> operation unregisters interest
+
+in a <I>Countable </I>object.</LI>
+
+
+
+<LI>An <TT><FONT SIZE=+1>acquired</FONT></TT> query that returns whether
+
+or not a <I>Countable </I>object is currently acquired.</LI>
+
+
+
+<LI>A <TT><FONT SIZE=+1>dispose</FONT></TT> operation that is responsible
+
+for disposing of an object that is no longer acquired.</LI>
+
+</UL>
+
+
+
+<P>Note that the count is deduced as a part of the abstract state of this
+
+type, and is not mentioned or defined in any other way. The openness of
+
+this approach derives in part from the use of global functions, meaning
+
+that no particular member functions are implied; a perfect way to wrap
+
+up an existing counted body class without modifying the class itself. The
+
+other aspect to the openness comes from a more precise specification of
+
+the operations.</P>
+
+
+
+<P>For a type to be <I>Countable</I> it must satisfy the following requirements,
+
+where <TT><FONT SIZE=+1>ptr</FONT></TT> is a non-null pointer to a single
+
+object (i.e. not an array) of the type, and <I><TT><FONT SIZE=+1>#function</FONT></TT></I>
+
+indicates number of calls to <TT><FONT SIZE=+1><I>function(</I>ptr<I>)</I></FONT></TT>:</P>
+
+
+
+<CENTER><TABLE BORDER=1 CELLSPACING=2 CELLPADDING=2 >
+
+<TR>
+
+<TD><I>Expression</I></TD>
+
+
+
+<TD><I>Return type</I></TD>
+
+
+
+<TD><I>Semantics and notes</I></TD>
+
+</TR>
+
+
+
+<TR>
+
+<TD><TT><FONT SIZE=+1>acquire(ptr)</FONT></TT></TD>
+
+
+
+<TD>no requirement</TD>
+
+
+
+<TD><I>post</I>: <TT><FONT SIZE=+1>acquired(ptr)</FONT></TT></TD>
+
+</TR>
+
+
+
+<TR>
+
+<TD><TT><FONT SIZE=+1>release(ptr)</FONT></TT></TD>
+
+
+
+<TD>no requirement</TD>
+
+
+
+<TD><I>pre</I>: <TT><FONT SIZE=+1>acquired(ptr)<BR>
+
+</FONT></TT><I>post</I>: <TT><FONT SIZE=+1>acquired(ptr) == #acquire -
+
+#release</FONT></TT></TD>
+
+</TR>
+
+
+
+<TR>
+
+<TD><TT><FONT SIZE=+1>acquired(ptr)</FONT></TT></TD>
+
+
+
+<TD>convertible to <TT><FONT SIZE=+1>bool</FONT></TT></TD>
+
+
+
+<TD><I>return</I>: <TT><FONT SIZE=+1>#acquire &gt; #release</FONT></TT></TD>
+
+</TR>
+
+
+
+<TR>
+
+<TD><TT><FONT SIZE=+1>dispose(ptr, ptr)</FONT></TT></TD>
+
+
+
+<TD>no requirement</TD>
+
+
+
+<TD><I>pre</I>: <TT><FONT SIZE=+1>!acquired(ptr)<BR>
+
+</FONT></TT><I>post</I>: <TT><FONT SIZE=+1>*ptr</FONT></TT> no longer usable</TD>
+
+</TR>
+
+</TABLE></CENTER>
+
+
+
+<P>Note that the two arguments to <TT><FONT SIZE=+1>dispose</FONT></TT>
+
+are to support selection of the appropriate type safe version of the function
+
+to be called. In the general case the intent is that the first argument
+
+determines the type to be deleted, and would typically be templated, while
+
+the second selects which template to use, e.g. by conforming to a specific
+
+base class.</P>
+
+
+
+<P>In addition the following requirements must also be satisfied, where
+
+<TT><FONT SIZE=+1>null</FONT></TT> is a null pointer to the <I>Countable</I>
+
+type:</P>
+
+
+
+<CENTER><TABLE BORDER=1 >
+
+<TR>
+
+<TD><I>Expression</I></TD>
+
+
+
+<TD><I>Return type</I></TD>
+
+
+
+<TD><I>Semantics and notes</I></TD>
+
+</TR>
+
+
+
+<TR>
+
+<TD><TT><FONT SIZE=+1>acquire(null)</FONT></TT></TD>
+
+
+
+<TD>no requirement</TD>
+
+
+
+<TD><I>action</I>: none</TD>
+
+</TR>
+
+
+
+<TR>
+
+<TD><TT><FONT SIZE=+1>release(null)</FONT></TT></TD>
+
+
+
+<TD>no requirement</TD>
+
+
+
+<TD><I>action</I>: none</TD>
+
+</TR>
+
+
+
+<TR>
+
+<TD><TT><FONT SIZE=+1>acquired(null)</FONT></TT></TD>
+
+
+
+<TD>convertible to <TT><FONT SIZE=+1>bool</FONT></TT></TD>
+
+
+
+<TD><I>return</I>: <TT><FONT SIZE=+1>false</FONT></TT></TD>
+
+</TR>
+
+
+
+<TR>
+
+<TD><TT><FONT SIZE=+1>dispose(null, null)</FONT></TT></TD>
+
+
+
+<TD>no requirement</TD>
+
+
+
+<TD><I>action</I>: none</TD>
+
+</TR>
+
+</TABLE></CENTER>
+
+
+
+<P>Note that there are no requirements on these functions in terms of exceptions
+
+thrown or not thrown, except that if exceptions are thrown the functions
+
+themselves should be exception safe.</P>
+
+</UL>
+
+
+
+<HR WIDTH="100%">
+<H2>Getting smart</H2>
+
+
+<UL>
+
+<P>Given the <I>Countable</I> requirements for a type, it is possible to
+
+define a generic smart pointer type that uses them for reference counting:</P>
+
+
+
+<UL>
+<PRE><TT>template&lt;typename countable_type&gt;
+class countable_ptr
+{
+public: // construction and destruction
+
+ explicit countable_ptr(countable_type *);
+ countable_ptr(const countable_ptr &amp;);
+ ~countable_ptr();
+
+public: // access
+
+ countable_type *operator-&gt;() const;
+ countable_type &amp;operator*() const;
+ countable_type *get() const;
+
+public: // modification
+
+ countable_ptr &amp;clear();
+ countable_ptr &amp;assign(countable_type *);
+ countable_ptr &amp;assign(const countable_ptr &amp;);
+ countable_ptr &amp;operator=(const countable_ptr &amp;);
+
+private: // representation
+
+ countable_type *body;
+
+};
+</TT></PRE>
+
+</UL>
+
+
+
+<P>The interface to this class has been kept intentionally simple, e.g.
+
+member templates and <TT><FONT SIZE=+1>throw</FONT></TT> specs have been
+
+omitted, for exposition. The majority of the functions are quite simple
+
+in implementation, relying very much on the <TT><FONT SIZE=+1>assign</FONT></TT>
+
+member as a keystone function:</P>
+
+
+
+<UL>
+
+<PRE><TT>template&lt;typename countable_type&gt;
+countable_ptr&lt;countable_type&gt;::countable_ptr(countable_type *initial)
+ : body(initial)
+{
+ acquire(body);
+}
+
+template&lt;typename countable_type&gt;
+countable_ptr&lt;countable_type&gt;::countable_ptr(const countable_ptr &amp;other)
+ : body(other.body)
+{
+ acquire(body);
+}
+
+template&lt;typename countable_type&gt;
+countable_ptr&lt;countable_type&gt;::~countable_ptr()
+{
+ clear();
+}
+
+template&lt;typename countable_type&gt;
+countable_type *countable_ptr&lt;countable_type&gt;::operator-&gt;() const
+{
+ return body;
+}
+
+template&lt;typename countable_type&gt;
+countable_type &amp;countable_ptr&lt;countable_type&gt;::operator*() const
+{
+ return *body;
+}
+
+template&lt;typename countable_type&gt;
+countable_type *countable_ptr&lt;countable_type&gt;::get() const
+{
+ return body;
+}
+
+template&lt;typename countable_type&gt;
+countable_ptr&lt;countable_type&gt; &amp;countable_ptr&lt;countable_type&gt;::clear()
+{
+ return assign(0);
+}
+
+template&lt;typename countable_type&gt;
+countable_ptr&lt;countable_type&gt; &amp;countable_ptr&lt;countable_type&gt;::assign(countable_type *rhs)
+{
+ // set to rhs (uses Copy Before Release idiom which is self assignment safe)
+ acquire(rhs);
+ countable_type *old_body = body;
+ body = rhs;
+
+ // tidy up
+ release(old_body);
+ if(!acquired(old_body))
+ {
+ dispose(old_body, old_body);
+ }
+
+ return *this;
+}
+
+template&lt;typename countable_type&gt;
+countable_ptr&lt;countable_type&gt; &amp;countable_ptr&lt;countable_type&gt;::assign(const countable_ptr &amp;rhs)
+{
+ return assign(rhs.body);
+}
+
+template&lt;typename countable_type&gt;
+countable_ptr&lt;countable_type&gt; &amp;countable_ptr&lt;countable_type&gt;::operator=(const countable_ptr &amp;rhs)
+{
+ return assign(rhs);
+}
+</TT></PRE>
+
+</UL>
+
+</UL>
+
+
+
+<HR WIDTH="100%">
+<H2>Public accountability</H2>
+
+
+<UL>
+
+<P>Conformance to the requirements means that a type can be used with <TT><FONT SIZE=+1>countable_ptr</FONT></TT>.
+
+Here is an implementation mix-in class (<I>mix-imp</I>) that confers countability
+
+on its derived classes through member functions. This class can be used
+
+as a class adaptor:</P>
+
+
+
+<UL>
+
+<PRE><TT>class countability
+{
+public: // manipulation
+
+ void acquire() const;
+ void release() const;
+ size_t acquired() const;
+
+protected: // construction and destruction
+
+ countability();
+ ~countability();
+
+private: // representation
+
+ mutable size_t count;
+
+private: // prevention
+
+ countability(const countability &amp;);
+ countability &amp;operator=(const countability &amp;);
+
+};
+</TT></PRE>
+
+</UL>
+
+
+
+<P>Notice that the manipulation functions are <TT><FONT SIZE=+1>const</FONT></TT>
+
+and that the <TT><FONT SIZE=+1>count</FONT></TT> member itself is <TT><FONT SIZE=+1>mutable</FONT></TT>.
+
+This is because countability is not a part of an object's abstract state:
+
+memory management does not depend on the <TT><FONT SIZE=+1>const</FONT></TT>-ness
+
+or otherwise of an object. I won't include the definitions of the member
+
+functions here as you can probably guess them: increment, decrement and
+
+return the current count, respectively for the manipulation functions.
+
+In a multithreaded environment you should ensure that such read and write
+
+operations are atomic.</P>
+
+
+
+<P>So how do we make this class <I>Countable</I>? A simple set of forwarding
+
+functions does the job:</P>
+
+
+
+<UL>
+
+<PRE><TT>void acquire(const countability *ptr)
+{
+ if(ptr)
+ {
+ ptr-&gt;acquire();
+ }
+}
+
+void release(const countability *ptr)
+{
+ if(ptr)
+ {
+ ptr-&gt;release();
+ }
+}
+
+size_t acquired(const countability *ptr)
+{
+ return ptr ? ptr-&gt;acquired() : 0;
+}
+
+template&lt;class countability_derived&gt;
+void dispose(const countability_derived *ptr, const countability *)
+{
+ delete ptr;
+}
+</TT></PRE>
+
+</UL>
+
+
+
+<P>Any type that now derives from <TT><FONT SIZE=+1>countability</FONT></TT>
+
+may now be used with <TT><FONT SIZE=+1>countable_ptr</FONT></TT>:</P>
+
+
+
+<UL>
+
+<PRE><TT>class example : public countability
+{
+ ...
+};
+
+void simple()
+{
+ countable_ptr&lt;example&gt; ptr(new example);
+ countable_ptr&lt;example&gt; qtr(ptr);
+ ptr.clear(); // set ptr to point to null
+} // allocated object deleted when qtr destructs
+</TT></PRE>
+</UL>
+</UL>
+
+
+
+
+<HR WIDTH="100%">
+<H2>Runtime mixin</H2>
+
+
+<UL>
+
+<P>The challenge is to apply C<FONT SIZE=-1>OUNTED</FONT> B<FONT SIZE=-1>ODY</FONT>
+
+in a non-intrusive fashion, such that there is no overhead when an object
+
+is not counted. What we would like to do is confer this capability on a
+
+per object rather than on a per class basis. Effectively we are after <I>Countability
+
+</I>on any object, i.e. anything pointed to by a <TT><FONT SIZE=+1>void
+
+*</FONT></TT>! It goes without saying that <TT><FONT SIZE=+1>void</FONT></TT>
+
+is perhaps the least committed of any type.</P>
+
+
+
+<P>The forces to resolve on this are quite interesting, to say the least.
+
+Interesting, but not insurmountable. Given that the class of a runtime
+
+object cannot change dynamically in any well defined manner, and the layout
+
+of the object must be fixed, we have to find a new place and time to add
+
+the counting state. The fact that this must be added only on heap creation
+
+suggests the following solution:</P>
+
+
+
+<UL>
+
+<PRE><TT>struct countable_new;
+extern const countable_new countable;
+
+void *operator new(size_t, const countable_new &amp;);
+void operator delete(void *, const countable_new &amp;);</TT></PRE>
+</UL>
+
+
+
+<P>We have overloaded <TT><FONT SIZE=+1>operator new</FONT></TT> with a
+
+dummy argument to distinguish it from the regular global <TT><FONT SIZE=+1>operator
+
+new</FONT></TT>. This is comparable to the use of the <TT><FONT SIZE=+1>std::nothrow_t</FONT></TT>
+
+type and <TT><FONT SIZE=+1>std::nothrow</FONT></TT> object in the standard
+
+library. The placement <TT><FONT SIZE=+1>operator delete</FONT></TT> is
+
+there to perform any tidy up in the event of failed construction. Note
+
+that this is not yet supported on all that many compilers.</P>
+
+
+
+<P>The result of a <TT><FONT SIZE=+1>new</FONT></TT> expression using <TT><FONT SIZE=+1>countable</FONT></TT>
+
+is an object allocated on the heap that has a header block that holds the
+
+count, i.e. we have extended the object by prefixing it. We can provide
+
+a couple of features in an anonymous namespace (not shown) in the implementation
+
+file for for supporting the count and its access from a raw pointer:</P>
+
+
+
+<UL>
+
+<PRE><TT>struct count
+{
+ size_t value;
+};
+
+count *header(const void *ptr)
+{
+ return const_cast&lt;count *&gt;(static_cast&lt;const count *&gt;(ptr) - 1);
+}
+</TT></PRE>
+
+</UL>
+
+
+
+<P>An important constraint to observe here is the alignment of <TT><FONT SIZE=+1>count</FONT></TT>
+
+should be such that it is suitably aligned for any type. For the definition
+
+shown this will be the case on almost all platforms. However, you may need
+
+to add a padding member for those that don't, e.g. using an anonymous <TT><FONT SIZE=+1>union</FONT></TT>
+
+to coalign <TT><FONT SIZE=+1>count</FONT></TT> and the most aligned type.
+
+Unfortunately, there is no portable way of specifying this such that the
+
+minimum alignment is also observed - this is a common problem when specifying
+
+your own allocators that do not directly use the results of either <TT><FONT SIZE=+1>new</FONT></TT>
+
+or <TT><FONT SIZE=+1>malloc</FONT></TT>.</P>
+
+
+
+<P>Again, note that the count is not considered to be a part of the logical
+
+state of the object, and hence the conversion from <TT><FONT SIZE=+1>const</FONT></TT>
+
+to non-<TT><FONT SIZE=+1>const</FONT></TT> - <TT><FONT SIZE=+1>count</FONT></TT>
+
+is in effect a <TT><FONT SIZE=+1>mutable</FONT></TT> type.</P>
+
+
+
+<P>The allocator functions themselves are fairly straightforward:</P>
+
+
+
+<UL>
+
+<PRE><TT>void *operator new(size_t size, const countable_new &amp;)
+{
+ count *allocated = static_cast&lt;count *&gt;(::operator new(sizeof(count) + size));
+ *allocated = count(); // initialise the header
+ return allocated + 1; // adjust result to point to the body
+}
+
+void operator delete(void *ptr, const countable_new &amp;)
+{
+ ::operator delete(header(ptr));
+}
+</TT></PRE>
+
+</UL>
+
+
+
+<P>Given a correctly allocated header, we now need the <I>Countable </I>functions
+
+to operate on <TT><FONT SIZE=+1>const void *</FONT></TT> to complete the
+
+picture:</P>
+
+
+
+<UL>
+
+<PRE><TT>void acquire(const void *ptr)
+{
+ if(ptr)
+ {
+ ++header(ptr)-&gt;value;
+ }
+}
+
+void release(const void *ptr)
+{
+ if(ptr)
+ {
+ --header(ptr)-&gt;value;
+ }
+}
+
+size_t acquired(const void *ptr)
+{
+ return ptr ? header(ptr)-&gt;value : 0;
+}
+
+template&lt;typename countable_type&gt;
+void dispose(const countable_type *ptr, const void *)
+{
+ ptr-&gt;~countable_type();
+ operator delete(const_cast&lt;countable_type *&gt;(ptr), countable);
+}
+</TT></PRE>
+
+</UL>
+
+
+
+<P>The most complex of these is the <TT><FONT SIZE=+1>dispose</FONT></TT>
+
+function that must ensure that the correct type is destructed and also
+
+that the memory is collected from the correct offset. It uses the value
+
+and type of first argument to perform this correctly, and the second argument
+
+merely acts as a strategy selector, i.e. the use of <TT><FONT SIZE=+1>const
+
+void *</FONT></TT> distinguishes it from the earlier dispose shown for
+
+<TT><FONT SIZE=+1>const countability *</FONT></TT>.</P>
+
+</UL>
+
+
+
+
+<HR WIDTH="100%">
+<H2>Getting smarter</H2>
+
+
+
+<UL>
+
+<P>Now that we have a way of adding countability at creation for objects
+
+of any type, what extra is needed to make this work with the <TT><FONT SIZE=+1>countable_ptr</FONT></TT>
+
+we defined earlier? Good news: nothing!</P>
+
+
+
+<UL>
+
+<PRE><TT>class example
+{
+ ...
+};
+
+void simple()
+{
+ countable_ptr&lt;example&gt; ptr(new(countable) example);
+ countable_ptr&lt;example&gt; qtr(ptr);
+ ptr.clear(); // set ptr to point to null
+} // allocated object deleted when qtr destructs
+</TT></PRE>
+
+</UL>
+
+
+
+<P>The <TT><FONT SIZE=+1>new(countable)</FONT></TT> expression defines
+
+a different policy for allocation and deallocation and, in common with
+
+other allocators, any attempt to mix your allocation policies, e.g. call
+
+<TT><FONT SIZE=+1>delete</FONT></TT> on an object allocated with <TT><FONT SIZE=+1>new(countable)</FONT></TT>,
+
+results in undefined behaviour. This is similar to what happens when you
+
+mix <TT><FONT SIZE=+1>new[]</FONT></TT> with <TT><FONT SIZE=+1>delete</FONT></TT>
+
+or <TT><FONT SIZE=+1>malloc</FONT></TT> with <TT><FONT SIZE=+1>delete</FONT></TT>.
+
+The whole point of <I>Countable </I>conformance is that <I>Countable </I>objects
+
+are used with <TT><FONT SIZE=+1>countable_ptr</FONT></TT>, and this ensures
+
+the correct use.</P>
+
+
+
+<P>However, accidents will happen, and inevitably you may forget to allocate
+
+using <TT><FONT SIZE=+1>new(countable)</FONT></TT> and instead use <TT><FONT SIZE=+1>new</FONT></TT>.
+
+This error and others can be detected in most cases by extending the code
+
+shown here to add a check member to the <TT><FONT SIZE=+1>count</FONT></TT>,
+
+validating the check on every access. A benefit of ensuring clear separation
+
+between header and implementation source files means that you can introduce
+
+a checking version of this allocator without having to recompile your code.</P>
+
+</UL>
+
+
+
+
+<HR WIDTH="100%">
+<H2>Conclusion</H2>
+
+
+
+<UL>
+
+<P>There are two key concepts that this article has introduced:</P>
+
+
+
+<UL>
+
+<LI>The use of a generic requirements based approach to simplify and adapt
+
+the use of the C<FONT SIZE=-1>OUNTED</FONT> B<FONT SIZE=-1>ODY</FONT> pattern.</LI>
+
+
+
+<LI>The ability, through control of allocation, to dynamically and non-intrusively
+
+add capabilities to fixed types using the R<FONT SIZE=-1>UNTIME</FONT>
+
+M<FONT SIZE=-1>IXIN</FONT> pattern.</LI>
+
+</UL>
+
+
+
+<P>The application of the two together gives rise to a new variant of the
+
+essential C<FONT SIZE=-1>OUNTED</FONT> B<FONT SIZE=-1>ODY</FONT> pattern,
+
+U<FONT SIZE=-1>NINTRUSIVE</FONT> C<FONT SIZE=-1>OUNTED</FONT> B<FONT SIZE=-1>ODY</FONT>.
+
+You can take this theme even further and contrive a simple garbage collection
+
+system for C++.</P>
+
+
+
+<P>The complete code for <TT><FONT SIZE=+1>countable_ptr</FONT></TT>, <TT><FONT SIZE=+1>countability</FONT></TT>,
+
+and the <TT><FONT SIZE=+1>countable new</FONT></TT> is also available.</P>
+
+</UL>
+
+
+
+<DIV ALIGN=right><P>
+
+<HR WIDTH="100%"><FONT SIZE=-1><I>First published in </I><a href="http://www.accu.org/c++sig/public/Overload.html">Overload</a> <I>25,
+
+April 1998, ISSN 1354-3172<BR>
+
+&copy; Copyright Kevlin Henney, 1998, 1999</I></FONT></DIV>
+
+
+
+</BODY>
+
+</HTML>
+
diff --git a/more/cpp_committee_meetings.html b/more/cpp_committee_meetings.html
new file mode 100644
index 0000000000..66445e5c62
--- /dev/null
+++ b/more/cpp_committee_meetings.html
@@ -0,0 +1,122 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>C++ Committee Meetings</title>
+</head>
+
+<body bgcolor="#FFFFFF">
+
+<h1>C++ Committee Meeting FAQ for Boost Members</h1>
+<p><b>Who can attend C++ Committee meetings?</b> Members of
+J16 (the INCITS/ANSI committee) or of a WG21 (ISO) member country committee
+(&quot;national body&quot; in
+ISO-speak). <a href="http://www.ncits.org/">
+INCITS</a> has broadened&nbsp; J16 membership requirements so anyone can
+join, regardless of nationality or employer.</p>
+<p>In addition, a small number of &quot;technical experts&quot; who are not committee
+members can also attend meetings. The &quot;technical expert&quot; umbrella is broad enough to cover
+the
+Boost members who attend meetings.</p>
+<p><b>When and where is the next meeting?</b> There are two meetings a year. The
+Fall meeting is usually in North America, and the Spring meeting is usually
+outside North America. See a general
+<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/meetings">list of meeting locations and
+dates</a>. Detailed information about a particular meeting, including hotel
+information, is usually provided in a paper appearing in one of
+<a href="#Mailing">mailings</a> for the prior meeting. If there isn't a link to
+it on the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/meetings">
+Meetings</a> web page, you will have to go to
+the committee's <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/">
+Papers</a> page and search a bit.</p>
+<p><b>Is there a fee for attending meetings?</b> No, but there can be a lot of
+incidental expenses like travel, lodging, and meals, and there is a $US 800 a
+year INCITS fee to become a voting member.</p>
+<p><b>What is the schedule?</b>&nbsp; The meetings start at 9:00AM on
+Monday, and 8:30AM other days, unless otherwise announced. It is best to arrive
+a half-hour early to grab a good seat, some coffee, tea, or donuts, and to say
+hello to people. (There is also a Sunday evening a WG21 administrative meeting,
+which is closed except to delegates from national bodies.)</p>
+<p>The meetings generally end on Friday, although there is discussion of
+extending them one extra day until the next standard ships. The last day the meeting&nbsp; is generally over by 11:00AM. Because
+the last day's meeting is for formal votes only, it is primarily of interest only to
+actual committee
+members.</p>
+<p>Sometimes there are evening technical sessions; the details aren't
+usually available until the Monday morning meeting.&nbsp; There may be a
+reception one evening, and, yes, significant others are
+invited. Again, details usually&nbsp;become available Monday morning.</p>
+<p><b>What actually happens at the meetings?</b> Monday morning an hour or two
+is spent in full committee on administrivia, and then the committee breaks up
+into working groups (Core, Library, and Enhancements). The full committee also
+gets together later in the week to hear working group progress reports.</p>
+<p>The working groups are where most technical activities take place.&nbsp; Each
+active issue that appears on an issues list is discussed, as are papers from the
+mailing. Most issues are non-controversial and disposed of in a few minutes.
+Technical discussions are often led by long-term committee members, often
+referring to past decisions or longstanding working group practice. Sometimes a
+controversy erupts. It takes first-time attendees awhile to understand the
+discussions and how decisions are actually made. The working group chairperson
+moderates.</p>
+<p>Sometimes straw polls are taken. In a straw poll anyone attending can vote,
+in contrast to the formal votes taken by the full committee, where only voting
+members can vote.</p>
+<p>Lunch break is an hour and a half.&nbsp; Informal subgroups often lunch
+together; a lot of technical problems are discussed or actually solved at lunch,
+or later at dinner. In many ways these discussions involving only a few people
+are the most interesting. Sometimes during the regular meetings, a working group
+chair will break off a sub-group to tackle a difficult problem. </p>
+<p><b>Do I have to stay at the main hotel?</b> No, and committee members on
+tight budgets often stay at other, cheaper, hotels. (The main hotels are usually
+chosen because they have large meeting rooms available, and thus tend to be pricey.)
+The advantage of staying at the main hotel is that it is then easier to
+participate in the off-line discussions which can be at least as interesting
+as what actually happens in the scheduled meetings.</p>
+<p><b>What do people wear at meetings?</b>&nbsp; Programmer casual. No neckties
+to be seen. </p>
+<p><b>What should I bring to a meeting?</b> It is almost essential to have a
+laptop computer along. There is a committee LAN with a wiki and Internet connectivity.
+Wireless connectivity has become the norm, although there is usually a wired hub
+or two for those needed wired access.</p>
+<p><b>What should I do to prepare for a meeting?</b> It is helpful to have
+downloaded the mailing or individual papers for the
+meeting, and read any papers you are interested in. Familiarize yourself with
+the issues lists if you haven't done so already. Decide which of the working
+groups you want to attend.</p>
+<p><b>What is a &quot;<a name="Paper">Paper</a>&quot;?</b> An electronic document containing issues,
+proposals, or anything else the committee is interested in. Very little gets
+discussed at a meeting, much less acted upon, unless it is presented in a paper.&nbsp;
+<a href="http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/">Papers are available</a>
+to anyone. Papers don't just appear randomly; they become available four (lately
+six) times a
+year, before and after each meeting. Committee members often refer to a paper by
+saying what mailing it was in: &quot;See the pre-Redmond mailing.&quot;</p>
+<p><b>What is a &quot;<a name="Mailing">Mailing</a>&quot;?</b> A mailing is the
+set of papers prepared four to six times a year before and after each meeting,
+or between meetings.&nbsp; It
+is physically just a
+<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/mailings/">.zip or .gz</a>
+archive of
+all the papers for a meeting. Although the mailing's archive file itself is only available to committee members and technical
+experts, the contents (except copies of the standard) are available to the
+general public as individual papers. The ways of ISO are
+inscrutable.</p>
+<p><b>What is a &quot;Reflector&quot;?</b> The committee's mailing lists are
+called &quot;reflectors&quot;. There are a number of them; &quot;all&quot;, &quot;core&quot;, &quot;lib&quot;, and &quot;ext&quot;
+are the main ones. As a courtesy, Boost technical experts can be added to
+committee reflectors at the request of a committee member. </p>
+<hr>
+<p>Revised
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%B %d, %Y" startspan -->April 17, 2005<!--webbot bot="Timestamp" endspan i-checksum="17669" --></p>
+<p>© Copyright Beman Dawes, 2002</p>
+<p> Use, modification, and distribution are subject to the Boost Software
+License, Version 1.0. (See accompanying file <a href="../LICENSE_1_0.txt">
+LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
+www.boost.org/LICENSE_1_0.txt</a>)</p>
+
+</body>
+
+</html>
diff --git a/more/css_0/boost_bullet.gif b/more/css_0/boost_bullet.gif
new file mode 100644
index 0000000000..f659f9524d
--- /dev/null
+++ b/more/css_0/boost_bullet.gif
Binary files differ
diff --git a/more/css_0/common.css b/more/css_0/common.css
new file mode 100644
index 0000000000..eec8686b21
--- /dev/null
+++ b/more/css_0/common.css
@@ -0,0 +1,214 @@
+/*
+ Copyright 2004-2005 Redshift Software, Inc.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+*/
+/* The base font size. The first one is for IE, the second for everyone else. */
+body {
+ font-size: smaller;
+}
+* > body {
+ font-size: 10pt;
+}
+/* Global defaults. */
+* {
+ margin: 0;
+ padding: 0;
+ font-weight: normal;
+ font-size: 100%;
+ text-decoration: none;
+}
+body {
+ font-family: sans-serif;
+ color: #000000;
+ background-color: #CCCCCC;
+}
+/* Links, black with sharp slate blue underline in all states. */
+a {
+ text-decoration: none;
+ color: #000000;
+ border-bottom: 1px solid #8AB4CA;
+}
+a:hover {
+ border-bottom: 1px solid #005090;
+}
+/* A generic class to clear this element. */
+.clear {
+ clear: both;
+ width: 100%;
+ height: 1px;
+ overflow: hidden;
+}
+/* Enforce a minimum width. */
+/* - For IE we can't really control this so we only make
+ sure the container doesn't look strange at small sizes by
+ making the body have enough whitespace. */
+#content h1, #content h2, #content h3 {
+ white-space: nowrap;
+}
+/* - New browsers have the easy way to set this. */
+.body-0 {
+ min-width: 55em;
+}
+/* The shadow arrangement. */
+.body-0 {
+ padding-left: 50px;
+ background: url(shadow-light-dark.png) repeat-y left;
+}
+.body-1 {
+ padding-right: 50px;
+ background: url(shadow-dark-light.png) repeat-y right;
+}
+.body-2 {
+ background-color: #FFFFFF;
+}
+/* */
+#content {
+ padding: 1em;
+}
+/* Heading, title and logo. */
+#heading {
+ background: #005080 url(heading-background.jpg) repeat bottom left;
+ border: 2px solid #FFFFFF;
+ position: relative;
+}
+#heading * {
+ color: #FFFFFF;
+}
+#heading h1 {
+ padding: 2em 0.25em 0.25em 0.75em;
+ float: left;
+ position: relative;
+ white-space: nowrap;
+}
+#heading h1 img {
+ border: none;
+}
+#heading #boost {
+ font-size: 250%;
+ font-weight: 900;
+ font-family: Impact, sans-serif;
+}
+#heading #cpplibraries {
+ font-size: 100%;
+ font-weight: 900;
+ padding-left: 0.75em;
+}
+#heading-quote {
+ white-space: nowrap;
+ margin: 0.75em 0.75em 0em -7em;
+ float: right;
+ clear: right;
+ position: relative;
+ text-align: right;
+}
+#heading-quote .quote {
+ font-size: 80%;
+ display: block;
+}
+#heading-quote .attribution {
+ font-size: 75%;
+ display: block;
+}
+#heading-quote a {
+ border-bottom: 1px solid #0080C0;
+}
+#heading-quote a:hover {
+ border-bottom: 1px solid #c8dae3;
+}
+/* Content sections, inside the top content section. */
+.section {
+ padding-left: 28px;
+ margin-bottom: 3em;
+}
+.section-body p {
+ margin: 0em 0em 0.75em 0em;
+}
+.section-body h2 {
+ margin: 0em 0em 0.5em 0em;
+ padding: 0em 0em 0em 0em;
+ font-size: 140%;
+ clear: both;
+}
+.section-body h3 {
+ margin: 0em;
+ padding: 0em;
+ font-size: 120%;
+ clear: both;
+}
+.section-body h4 {
+ margin: 0.5em 0em 0.5em 0em;
+ font-size: 110%;
+ clear: both;
+}
+.section-body ul {
+ margin: 0em 0em 0.75em 0em;
+ padding: 0em 0em 0em 2em;
+}
+.section-body ul li {
+ margin: 0.75em 0em 0em 0em;
+ text-indent: -1.75em;
+ padding: 0em;
+ list-style-type: none;
+}
+.section-body ul li ul {
+ margin: 0.75em 0em 0em 0em;
+ padding: 0em;
+}
+.section-body ul li ul li {
+ display: block;
+ margin: 0em;
+ padding: 0em 0em 0em 1em;
+ list-style-type: none;
+ background: url(boost_bullet.gif) no-repeat 0em 0.5em;
+ text-indent: 0em;
+}
+.section-body blockquote {
+ margin: 0.5em 1em 0em 2em;
+ border-right: 1px dashed #CCCCCC;
+ border-left: 1px dashed #CCCCCC;
+ text-align: justify;
+ padding-right: 0.5em;
+ padding-left: 0.5em;
+}
+.section-body .left-inset {
+ float: left;
+ margin: 0em 1em 1em 0em;
+}
+.section-body .library {
+ display: block;
+ margin: 0em 0em 0.5em 0em;
+}
+.section-body .faq {
+ margin: 0em 0em 1em 0em;
+}
+.section-body .faq .faq-question {
+ color: #005080;
+ font-weight: bold;
+}
+.section-body .faq .faq-answer {
+}
+.section-body .note {
+ margin: 0em 0em 1em 0em;
+}
+.section-body .note .note-label {
+ color: #005080;
+ font-weight: bold;
+}
+.section-body .note .note-body {
+}
+/* Section headings, all use the same stream op indicator style. */
+#content h1, #content h2 {
+ padding-left: 24px;
+ background: url(section_head.png) no-repeat left center;
+ text-indent: 4px;
+ vertical-align: middle;
+ font-size: 140%;
+ position: relative;
+ left: -28px;
+}
+/* Uniformly color everything that's a heading */
+#content h1, #content h2, #content h3, #content h4 {
+ color: #005080;
+ font-weight: bold;
+}
diff --git a/more/css_0/csshover.htc b/more/css_0/csshover.htc
new file mode 100644
index 0000000000..bab62c367a
--- /dev/null
+++ b/more/css_0/csshover.htc
@@ -0,0 +1,91 @@
+<attach event="ondocumentready" handler="parseStylesheets" />
+<script language="JScript">
+/**
+ * Pseudos - V1.30.050121 - hover & active
+ * ---------------------------------------------
+ * Peterned - http://www.xs4all.nl/~peterned/
+ * (c) 2005 - Peter Nederlof
+ *
+ * Credits - Arnoud Berendsen
+ * - Martin Reurings
+ * - Robert Hanson
+ *
+ * howto: body { behavior:url("csshover.htc"); }
+ * ---------------------------------------------
+ */
+
+var currentSheet, doc = window.document, activators = {
+ onhover:{on:'onmouseover', off:'onmouseout'},
+ onactive:{on:'onmousedown', off:'onmouseup'}
+}
+
+function parseStylesheets() {
+ var sheets = doc.styleSheets, l = sheets.length;
+ for(var i=0; i<l; i++)
+ parseStylesheet(sheets[i]);
+}
+ function parseStylesheet(sheet) {
+ if(sheet.imports) {
+ try {
+ var imports = sheet.imports, l = imports.length;
+ for(var i=0; i<l; i++) parseStylesheet(sheet.imports[i]);
+ } catch(securityException){}
+ }
+
+ try {
+ var rules = (currentSheet = sheet).rules, l = rules.length;
+ for(var j=0; j<l; j++) parseCSSRule(rules[j]);
+ } catch(securityException){}
+ }
+
+ function parseCSSRule(rule) {
+ var select = rule.selectorText, style = rule.style.cssText;
+ if(!(/(^|\s)(([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active)/i).test(select) || !style) return;
+
+ var pseudo = select.replace(/[^:]+:([a-z-]+).*/i, 'on$1');
+ var newSelect = select.replace(/(\.([a-z0-9_-]+):[a-z]+)|(:[a-z]+)/gi, '.$2' + pseudo);
+ var className = (/\.([a-z0-9_-]*on(hover|active))/i).exec(newSelect)[1];
+ var affected = select.replace(/:hover.*$/, '');
+ var elements = getElementsBySelect(affected);
+
+ currentSheet.addRule(newSelect, style);
+ for(var i=0; i<elements.length; i++)
+ new HoverElement(elements[i], className, activators[pseudo]);
+ }
+
+function HoverElement(node, className, events) {
+ if(!node.hovers) node.hovers = {};
+ if(node.hovers[className]) return;
+ node.hovers[className] = true;
+ node.attachEvent(events.on,
+ function() { node.className += ' ' + className; });
+ node.attachEvent(events.off,
+ function() { node.className =
+ node.className.replace(new RegExp('\\s+'+className, 'g'),''); });
+}
+
+function getElementsBySelect(rule) {
+ var parts, nodes = [doc];
+ parts = rule.split(' ');
+ for(var i=0; i<parts.length; i++) {
+ nodes = getSelectedNodes(parts[i], nodes);
+ }
+ return nodes;
+}
+ function getSelectedNodes(select, elements) {
+ var result, node, nodes = [];
+ var classname = (/\.([a-z0-9_-]+)/i).exec(select);
+ var identify = (/\#([a-z0-9_-]+)/i).exec(select);
+ var tagName = select.replace(/(\.|\#|\:)[a-z0-9_-]+/i, '');
+ for(var i=0; i<elements.length; i++) {
+ result = tagName? elements[i].all.tags(tagName):elements[i].all;
+ for(var j=0; j<result.length; j++) {
+ node = result[j];
+ if((identify && node.id != identify[1]) || (classname && !(new RegExp('\\b' +
+ classname[1] + '\\b').exec(node.className)))) continue;
+ nodes[nodes.length] = node;
+ }
+ }
+ return nodes;
+ }
+</script> \ No newline at end of file
diff --git a/more/css_0/front.css b/more/css_0/front.css
new file mode 100644
index 0000000000..974db16c01
--- /dev/null
+++ b/more/css_0/front.css
@@ -0,0 +1,206 @@
+/*
+ Copyright 2004-2005 Redshift Software, Inc.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+*/
+@import url(common.css);
+/* */
+#news {
+ margin-bottom: 0em;
+}
+#content table {
+ border-spacing: 0em;
+}
+#sidebars-top {
+ vertical-align: top;
+}
+#sidebars-bottom {
+ vertical-align: bottom;
+}
+.sidebar {
+ width: 22em;
+ margin: 0em 0em 1em 1em
+}
+#content h1, #content h2 {
+ margin: 0em 0em 0.5em 0em;
+}
+/* The shadow and inner layout of the sidebars. */
+.sidebar {
+ background: url(sidebar-shadow-bottom.png) no-repeat left bottom;
+}
+.sidebar-0 {
+ background: url(sidebar-shadow-right.png) no-repeat right top;
+}
+.sidebar-1 {
+ padding: 0px 8px 8px 0px;
+ background: url(sidebar-shadow-bottom-right.png) no-repeat right bottom;
+}
+.sidebar-2 {
+ border: 1px solid #c8dae3;
+}
+.sidebar-3 {
+ padding: 0em 0.5em 0.5em 0em;
+}
+/* Arrangement of the various side cells. */
+#libraries, #search, #tests,
+#groups, #contribute, #support,
+#other, #official, #unofficial, #footer {
+ float: left;
+}
+#search,
+#official,
+#footer {
+ clear: left;
+}
+/* */
+.sidecell {
+ width: 50%;
+}
+.sidecell-0 {
+ padding: 0.5em 0em 0em 0.5em;
+ font-size: 85%;
+}
+.sidecell h4 {
+ display: block; margin: 0em; padding: 0em;
+ border-bottom: 1px solid #8AB4CA;
+}
+.sidecell:hover h4 {
+ border-bottom-color: #005090;
+}
+.sidecell form {
+ display: block; margin: 0em; padding: 0em;
+}
+.sidecell ul {
+ display: block; margin: 0em; padding: 0em;
+}
+/* Lists in sidecells are menus. */
+.sidecell ul a {
+ border: none;
+ padding-left: 14px;
+}
+.sidecell ul a:hover {
+ border: none;
+ background: url(menu_link_indicator.png) no-repeat left center;
+}
+.sidecell ul {
+ list-style-type: none;
+}
+.sidecell ul li {
+ margin: 0em; padding: 0em;
+}
+/* Search box */
+#search {
+ width: 98.5%;
+}
+/* - The three parts of the search widget. */
+#search #search-text {
+ display: block;
+ height: 1.8em;
+ margin: 0.25em 0em 0em 0em;
+ padding: 0em 48% 0em 0em;
+}
+#search #search-choice {
+ display: block;
+ height: 1.8em;
+ margin: -1.8em 0em 0em 55%;
+ padding: 0em 30px 0em 0em;
+}
+#search #go {
+ display: block;
+ height: 1.8em;
+ margin: -1.8em 0em 0em 55%;
+ text-align: right;
+}
+#search #search-text #q {
+ width: 100%;
+ margin: 0em; padding: 1px;
+ border: 1px solid #003399;
+ color: #000000;
+ background-color: #FFFFFF;
+}
+#search #search-choice #hq {
+ width: 100%;
+ margin: 0em; padding: 0em;
+ border: 1px solid #003399;
+ color: #000000;
+ background-color: #FFFFFF;
+}
+#search #go #search-button {
+ width: 26px; height: 20px;
+ margin: 0em; padding: 0em;
+ background-image: url(search-button.png);
+}
+/* - The custom Google banner and link. */
+#search #google {
+ display: block;
+ clear: both;
+ margin: 0em 0em 0em 0em;
+ border: none;
+ text-align: center;
+}
+#search #google a {
+ font-size: 10px;
+}
+#search #google img {
+ width: 75px; height: 32px;
+ margin: 0em -20px 0em 0em;
+ border: none;
+}
+/* Footer with copyright and license. */
+#footer-sidebar,
+#footer-sidebar .sidebar-0, #footer-sidebar .sidebar-1,
+#footer-sidebar .sidebar-2, #footer-sidebar .sidebar-3 {
+ background: #FFFFFF;
+ border: none;
+}
+#footer-sidebar {
+ padding: 3em 0em 0em 0em;
+}
+#footer {
+ width: 100%;
+}
+#footer p {
+ margin: 0em; padding: 0em;
+ text-align: left;
+}
+#footer #revised {
+ display: block;
+ border-bottom: 1px solid #8AB4CA;
+}
+#footer:hover #revised {
+ border-bottom-color: #005090;
+}
+#footer #revised p {
+}
+#footer #copyright {
+ display: block;
+ margin: 0.25em 0em 1em 14px;
+}
+#footer #copyright p {
+ margin: 0em;
+ padding: 0em 0em 0em 1.5em;
+ text-indent: -1.5em;
+}
+#footer #license {
+ display: block;
+ margin: 0.25em 0em 1em 14px;
+}
+#footer #license p {
+ margin: 0em;
+ padding: 0em 0em 0em 1.5em;
+ text-indent: -1.5em;
+}
+#footer #banners {
+ display: block;
+ margin: 0.25em 0em 0em 0em;
+ text-align: center;
+}
+#footer #banners p {
+ display: inline;
+}
+#footer #banners img {
+ border: none;
+}
+#footer #banners a {
+ border: none;
+}
diff --git a/more/css_0/heading-background.jpg b/more/css_0/heading-background.jpg
new file mode 100644
index 0000000000..f02efb2d2b
--- /dev/null
+++ b/more/css_0/heading-background.jpg
Binary files differ
diff --git a/more/css_0/inner.css b/more/css_0/inner.css
new file mode 100644
index 0000000000..1b873ec968
--- /dev/null
+++ b/more/css_0/inner.css
@@ -0,0 +1,70 @@
+/*
+ Copyright 2004-2005 Redshift Software, Inc.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+*/
+@import url(common.css);
+/* Heading quick pick menu. */
+#heading ul {
+ float: right;
+ clear: right;
+ margin: 0.5em 1em 0em 0em;
+ padding: 0.25em 0em 0.25em 0em;
+ position: relative;
+ list-style-type: none;
+ white-space: nowrap;
+}
+#heading ul li {
+ display: inline;
+ margin: 0em; padding: 0em;
+}
+#heading ul li a {
+ margin: 0em;
+ padding: 0em 0.25em 0em 0.25em;
+ background-color: #005080;
+ border: 1px solid #0080C0;
+}
+#heading ul li a:hover {
+ border: 1px solid #c8dae3;
+}
+#heading h1 a {
+ color: #FFFFFF;
+ border: none;
+}
+#heading h1 a:hover {
+ border: none;
+}
+/* */
+#history {
+ margin: 0em;
+ padding: 0em;
+ padding-left: 28px;
+}
+#content h1, #content h2 {
+ left: 0;
+}
+.section-body h3 {
+ margin: 1.5em 0em 0.5em 0em;
+}
+/* Footer with copyright and license. */
+#footer {
+ background-color: #c8dae3;
+ border: 2px solid #FFFFFF;
+ color: #000000;
+ padding: 0.5em;
+}
+#footer p {
+ margin: 0em;
+ padding: 0em;
+ font-size: 80%;
+ margin: 0em;
+ padding: 0em 0.5em 0em 0.5em;
+ text-align: center;
+}
+#footer a {
+ color: #000000;
+ border-bottom: 1px solid #A0B0C0;
+}
+#footer a:hover {
+ border-bottom: 1px solid #0080C0;
+}
diff --git a/more/css_0/menu_link_indicator.png b/more/css_0/menu_link_indicator.png
new file mode 100644
index 0000000000..d604822e81
--- /dev/null
+++ b/more/css_0/menu_link_indicator.png
Binary files differ
diff --git a/more/css_0/search-button.png b/more/css_0/search-button.png
new file mode 100644
index 0000000000..c90815dfc3
--- /dev/null
+++ b/more/css_0/search-button.png
Binary files differ
diff --git a/more/css_0/section_head.png b/more/css_0/section_head.png
new file mode 100644
index 0000000000..0caaab4a94
--- /dev/null
+++ b/more/css_0/section_head.png
Binary files differ
diff --git a/more/css_0/shadow-dark-light.png b/more/css_0/shadow-dark-light.png
new file mode 100644
index 0000000000..bea4995eff
--- /dev/null
+++ b/more/css_0/shadow-dark-light.png
Binary files differ
diff --git a/more/css_0/shadow-light-dark.png b/more/css_0/shadow-light-dark.png
new file mode 100644
index 0000000000..b4ed2c4aa4
--- /dev/null
+++ b/more/css_0/shadow-light-dark.png
Binary files differ
diff --git a/more/css_0/sidebar-shadow-bottom-right.png b/more/css_0/sidebar-shadow-bottom-right.png
new file mode 100644
index 0000000000..b19bfca615
--- /dev/null
+++ b/more/css_0/sidebar-shadow-bottom-right.png
Binary files differ
diff --git a/more/css_0/sidebar-shadow-bottom.png b/more/css_0/sidebar-shadow-bottom.png
new file mode 100644
index 0000000000..a0f9e4c40d
--- /dev/null
+++ b/more/css_0/sidebar-shadow-bottom.png
Binary files differ
diff --git a/more/css_0/sidebar-shadow-right.png b/more/css_0/sidebar-shadow-right.png
new file mode 100644
index 0000000000..6f1e5dee81
--- /dev/null
+++ b/more/css_0/sidebar-shadow-right.png
Binary files differ
diff --git a/more/discussion_policy.htm b/more/discussion_policy.htm
new file mode 100644
index 0000000000..b5d5d877ff
--- /dev/null
+++ b/more/discussion_policy.htm
@@ -0,0 +1,305 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title>Boost Discussion Policy</title>
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+
+<table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF">
+ <img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="../people/people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+</table>
+
+<h1>Boost Discussion Policy</h1>
+<p>Email discussion is the tie that binds boost members together into a community.
+If the discussion is stimulating and effective, the community thrives. If
+the discussion degenerates into name calling and ill will, the community withers
+and dies.</p>
+
+<h2>Contents</h2>
+<dl>
+ <dt><a href="#acceptable">Acceptable Topics</a><dd>
+ <dt><a href="#unacceptable">Unacceptable Topics</a><dd>
+ <dt><a href="#effective">Effective Posting</a><dd>
+ <dt><a href="#behavior">Prohibited Behavior</a><dd>
+ <dt><a href="#culture">Culture</a><dd>
+ <dt><a href="#lib_names">Library Names</a><dd>
+ </dl>
+
+<h2><a name="acceptable"></a>Acceptable topics</h2>
+<ul>
+ <li>Queries to determine interest in a possible library submission.</li>
+ <li>Technical discussions about a proposed or existing library, including bug
+ reports and requests for help.</li>
+ <li>Formal Reviews of proposed libraries.</li>
+ <li>Reports of user experiences with Boost libraries.</li>
+ <li>Boost administration or policies.</li>
+ <li>Compiler specific workarounds as applied to Boost libraries.</li>
+</ul>
+<p>Other topics related to boost development may be acceptable, at the discretion of moderators. If unsure, go ahead and post. The moderators
+will let you know.</p>
+<h2><a name="unacceptable"></a>Unacceptable Topics</h2>
+<ul>
+ <li>Advertisements for commercial products.</li>
+ <li>Requests for help getting non-boost code to compile with your compiler.
+ Try the comp.lang.c++.moderated newsgroup instead.</li>
+ <li>Requests for help interpreting the C++ standard. Try the comp.std.c++
+ newsgroup instead.</li>
+ <li>Job offers.</li>
+ <li>Requests for solutions to homework assignments.</ul>
+
+<h2><a name="effective"></a>Effective Posting</h2>
+
+<p>Most Boost mailing lists host a great deal of traffic, so your post
+is usually competing for attention with many other communications.
+This section describes how to make sure it has the desired impact.
+
+<h3>Well-Crafted Posting is Worth the Effort</h3>
+
+<p>Don't forget, you're a single writer but there are many readers,
+and you want them to stay interested in what you're saying. Saving
+your readers a little time and effort is usually worth the extra time
+you spend when writing a message. Also, boost discussions are saved
+for posterity, as rationales and history of the work we do. A post's
+usefulness in the future is determined by its readability.
+
+<h3>Put the Library Name in the Subject Line</h3>
+
+<p>When your post is related to a particular Boost library, it's
+helpful to put the library name in square brackets at the beginning of
+the subject line, e.g.
+
+<blockquote>
+ Subject: [Regex] Why doesn't this pattern match?
+</blockquote>
+
+The Boost developers' list is a high-volume mailing list, and most
+maintainers don't have time to read every message. A tag on the
+subject line will help ensure the right people see your post.
+
+<p><a name="quoting"></a>
+
+<h3>Don't Overquote</h3>
+Please <b>prune extraneous quoted text</b> from replies so that
+only the relevant parts are included. Some people have to pay for, or
+wait for, each byte that they download from the list. More
+importantly, it will save time and make your post more valuable when
+readers do not have to find out which exact part of a previous message
+you are responding to.
+
+<h3>Use a Readable Quotation Style</h3>
+<p>A common and very useful approach is to cite the small fractions of
+the message you are actually responding to and to put your response
+directly beneath each citation, with a blank line separating them for
+readability:
+
+<blockquote>
+<pre>
+
+<i>Person-you're-replying-to</i> wrote:
+
+&gt; Some part of a paragraph that you wish to reply to goes
+&gt; here; there may be several lines.
+
+Your response to that part of the message goes here. There may,
+of course, be several lines.
+
+&gt; The second part of the paragraph that is relevant to your
+&gt; reply goes here; agiain there may be several lines.
+
+Your response to the second part of the message goes here.
+...
+
+</pre>
+</blockquote>
+
+For more information about effective use of quotation in posts, see <a
+href="http://www.netmeister.org/news/learn2quote.html">this helpful
+guide</a>.
+
+<h3>Keep the Formatting of Quotations Consistent</h3>
+<p>
+Some email and news clients use poor word wrapping algorithms that
+leave successive lines from the same quotation with differing numbers
+of leading &quot;<tt>&gt;</tt>&quot; characters. <b>Microsoft
+Outlook</b> and <b>Outlook Express</b>, and some web clients, are
+especially bad about this. If your client offends in this way, please
+take the effort to clean up the mess it makes in quoted text.
+Remember, even if you didn't write the original text, it's <i>your</i>
+posting; whether you get your point across depends on its readability.
+<p>
+The Microsoft clients also create an unusually verbose header at the
+beginning of the original message text and leave the cursor at the
+beginning of the message, which encourages users to write their
+replies before all of the quoted text rather than putting the reply in
+context. Outlook Express users can fix all of these problems
+automatically by installing
+<a href="http://home.in.tum.de/~jain/software/oe-quotefix/">OE
+QuoteFix</a>. Unfortunately there's no similar utility for Outlook
+Users; they will have to clean up their posts manually.
+
+<h3>Summarizing and Referring to Earlier Messages</h3>
+
+<p>A summary of the foregoing thread is only needed after a long
+discussion, especially when the topic is drifting or a result has been
+achieved in a discussion. The mail system will do the tracking that
+is needed to enable mail readers to display message threads (and every
+decent mail reader supports that).
+
+<p>If you ever have to refer to single message earlier in a thread or
+in a different thread then you can use a URL to the <a
+href="mailing_lists.htm#archive">message archives</a>. To help to
+keep those URLs short, you can use <a
+href="http://www.tinyurl.com">tinyurl.com</a>. Citing the relevant
+portion of a message you link to is often helpful (if the citation is
+small).
+
+<h3>Maintain the Integrity of Discussion Threads</h3>
+
+<p><b>When starting a new topic, always send a fresh message</b>,
+rather than beginning a reply to some other message and replacing the
+subject and body. Many mailers are able to detect the thread you
+started with and will show the new message as part of the original
+thread, which probably isn't what you intended. Follow this guideline
+for your own sake as well as for others'. Often, people scanning for
+relevant messages will decide they're done with a topic and hide or
+kill the entire thread: your message will be missed, and you won't get
+the response you're looking for.
+
+<p>By the same token, <b>When replying to an existing message, use
+your mailer's &quot;Reply&quot; function</b>, so that the reply shows
+up as part of the same discussion thread.
+
+<p><b>Do not reply to digests</b> if you are a digest delivery
+subscriber. Your reply will not be properly threaded and will
+probably have the wrong subject line. Instead, you can reply through
+the <a href="http://news.gmane.org/gmane.comp.lib.boost.devel">GMane
+web interface</a>.
+
+
+<h3>Keep The Size of Your Posting Manageable</h3>
+
+<p>The mailing list software automatically limits message and
+attachment size to a reasonable amount, typically 75K, which is
+adjusted from time-to-time by the moderators. This limit is a
+courtesy to those who rely on dial-up Internet access.
+</p>
+
+<h2><a name="behavior"></a>Prohibited Behavior</h2>
+<p>Prohibited behavior will not be tolerated. The moderators will ban
+postings by abusers.</p>
+<h3>Flame wars</h3>
+<p>Personal insults, argument for the sake of argument, and all the other
+behaviors which fall into the &quot;flame war&quot; category are
+prohibited. Discussions should focus on technical arguments, not the
+personality traits or motives of participants.</p>
+<h3>Third-party attacks</h3>
+<p>Attacks on third parties such as software vendors, hardware vendors, or any
+other organizations, are prohibited. Boost exists to unite and serve the
+entire C++ community, not to disparage the work of others.</p>
+<p>Does this mean that we ban the occasional complaint or wry remark about a
+troublesome compiler? No, but be wary of overdoing it.</p>
+<h3>Off-topic posts</h3>
+<p>Discussions which stray from the acceptable topics are strongly discouraged.
+While off-topic posts are often well meaning and not as individually corrosive
+as other abuses, cumulatively the distraction damages the effectiveness of
+discussion.</p>
+<h2><a name="culture"></a>Culture</h2>
+<p>In addition to technical skills, Boost members value collaboration,
+acknowledgement of the help of others, and a certain level of politeness. Boost
+membership is very international, and ranges widely in age and other
+characteristics. Think of discussion as occurring among colleagues in a widely read forum, rather
+than among a few close friends.</p>
+
+<p>Always remember that the cumulative effort spent by people reading
+your contribution scales with the (already large) number of boost
+members. Thus, do invest time and effort to make your message as
+readable as possible. Adhere to English syntax and grammar rules such
+as proper capitalization. Avoid copious informalism, colloquial
+language, or abbreviations, they may not be understood by all readers.
+Re-read your message before submitting it.</p>
+
+<h2>Guidelines for Effective Discussions</h2>
+<p>Apply social engineering to prevent heated technical discussion from
+degenerating into a shouting match, and to actively encourage the cooperation
+upon which Boost depends.</p>
+<ul>
+ <li>Questions help. If someone suggests something that you don't think
+ will work, then replying with a question like &quot;will that compile?&quot;
+ or &quot;won't that fail to compile, or am I missing something?&quot; is a
+ lot smoother than &quot;That's really stupid - it won't compile.&quot;&nbsp;
+ Saying &quot;that fails to compile for me, and seems to violate section
+ n.n.n of the standard&quot; would be yet another way to be firm without
+ being abrasive.</li>
+ <li>If most of the discussion has been code-free generalities, posting a bit
+ of sample code can focus people on the practical issues.</li>
+ <li>If most of the discussion has been in terms of specific code, try to talk
+ a bit about hidden assumptions and generalities that may be preventing
+ discussion closure.</li>
+ <li>Taking a time-out is often effective. Just say: &quot;Let me think
+ about that for a day or two. Let's take a time-out to digest the
+ discussion so far.&quot;</li>
+</ul>
+<p>Avoid Parkinson's Bicycle Shed. Parkinson described a committee formed
+to oversee design of an early nuclear power plant. There were three agenda
+items - when to have tea, where to put the bicycle shed, and how to
+ensure nuclear safety. Tea was disposed of quickly as trivial.&nbsp;&nbsp;
+Nuclear safety was discussed for only
+an hour - it was so complex, scary, and technical that even
+among experts few felt comfortable with the issues. Endless days were then
+spent discussing where to put the bicycle shed (the parking lot would
+be a modern equivalent) because everyone
+understood the issues and felt comfortable discussing them.&nbsp;</p>
+
+<h2><a name="lib_names"></a>Library Names</h2>
+
+<p>In order to ensure a uniform presentation in books and articles, we
+have adopted a convention for referring to Boost libraries. Library
+names can either be written in a compact form with a dot, as
+&quot;Boost.<i>Name</i>&quot;, or in a long form as &quot;the
+Boost <i>Name</i> library.&quot; For example:
+<blockquote>
+<b>Boost.Python</b> serves a very different purpose from <b>the Boost Graph library</b>.
+</blockquote>
+Note that the word &quot;library&quot; is not part of the name, and as such isn't capitalized.
+
+<p>Please take care to avoid confusion in discussions between
+libraries that have been accepted into Boost and those that have not.
+Acceptance as a Boost library indicates that the code and design have
+passed through our peer-review process; failing to make the
+distinction devalues the hard work of library authors who've gone
+through that process. Here are some suggested ways to describe
+potential Boost libraries:
+<ul>
+ <li>the proposed Boost <i>Name</i> library</li>
+ <li>the Boost.<i>Name</i> candidate</li>
+ <li>the <i>Name</i> library</i> (probably the best choice where applicable)</li>
+</ul>
+<p>Note that this policy only applies to discussions, not to the
+documentation, directory structure, or even identifiers in the
+code of potential Boost libraries.
+
+<hr>
+<p>Revised <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->28 May, 2005<!--webbot bot="Timestamp" i-checksum="38549" endspan -->
+</p>
+<p>© Beman Dawes, Rob Stewart, and David Abrahams 2000-2005</p>
+<p> Distributed under the Boost Software License, Version 1.0.
+(See accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
+copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
+</p>
+
+</body>
+
+</html>
diff --git a/more/error_handling.html b/more/error_handling.html
new file mode 100644
index 0000000000..14364048f5
--- /dev/null
+++ b/more/error_handling.html
@@ -0,0 +1,240 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
+
+<html>
+ <head>
+ <meta name="generator" content=
+ "HTML Tidy for Cygwin (vers 1st April 2002), see www.w3.org">
+ <meta http-equiv="Content-Type" content=
+ "text/html; charset=windows-1252">
+
+ <title>Error and Exception Handling</title>
+ </head>
+
+ <body>
+ <h1>Error and Exception Handling</h1>
+
+ <h2>References</h2>
+
+ <p>The following paper is a good introduction to some of the issues of
+ writing robust generic components:</p>
+
+ <blockquote>
+ <a href="generic_exception_safety.html">D. Abrahams: ``Exception Safety
+ in Generic Components''</a>, originally published in <a href=
+ "http://www.springer.de/cgi-bin/search_book.pl?isbn=3-540-41090-2">M.
+ Jazayeri, R. Loos, D. Musser (eds.): Generic Programming, Proc. of a
+ Dagstuhl Seminar, Lecture Notes on Computer Science. Volume. 1766</a>
+ </blockquote>
+
+ <h2>Guidelines</h2>
+
+ <h3>When should I use exceptions?</h3>
+
+ <p>The simple answer is: ``whenever the semantic and performance
+ characteristics of exceptions are appropriate.''</p>
+
+ <p>An oft-cited guideline is to ask yourself the question ``is this an
+ exceptional (or unexpected) situation?'' This guideline has an attractive
+ ring to it, but is usually a mistake. The problem is that one person's
+ ``exceptional'' is another's ``expected'': when you really look at the
+ terms carefully, the distinction evaporates and you're left with no
+ guideline. After all, if you check for an error condition, then in some
+ sense you expect it to happen, or the check is wasted code.</p>
+
+ <p>A more appropriate question to ask is: ``do we want stack
+ unwinding here?'' Because actually handling an exception is likely
+ to be significantly slower than executing mainline code, you
+ should also ask: ``Can I afford stack unwinding here?'' For
+ example, a desktop application performing a long computation might
+ periodically check to see whether the user had pressed a cancel
+ button. Throwing an exception could allow the operation to be
+ cancelled gracefully. On the other hand, it would probably be
+ inappropriate to throw and <i>handle</i> exceptions in the inner
+ loop of this computation because that could have a significant
+ performance impact. The guideline mentioned above has a grain of
+ truth in it: in time critical code, throwing an exception
+ should <em>be</em> the exception, not the rule.</p>
+
+ <h3>How should I design my exception classes?</h3>
+
+ <ol>
+ <li><b>Derive your exception class
+ from <code>std::exception</code></b>. Except in *very* rare
+ circumstances where you can't afford the cost of a virtual
+ table,
+ <code>std::exception</code> makes a reasonable exception base class,
+ and when used universally, allows programmers to catch "everything"
+ without resorting to <code>catch(...)</code>. For more about
+ <code>catch(...)</code>, see below.
+
+ <li><b>Use <i>virtual</i> inheritance.</b> This insight is due
+ to Andrew Koenig. Using virtual inheritance from your
+ exception's base class(es) prevents ambiguity problems at the
+ catch-site in case someone throws an exception derived from
+ multiple bases which have a base class in common:
+
+<pre>
+#include &lt;iostream&gt;
+struct my_exc1 : std::exception { char const* what() const throw(); };
+struct my_exc2 : std::exception { char const* what() const throw(); };
+struct your_exc3 : my_exc1, my_exc2 {};
+
+int main()
+{
+ try { throw your_exc3(); }
+ catch(std::exception const&amp; e) {}
+ catch(...) { std::cout &lt;&lt; &quot;whoops!&quot; &lt;&lt; std::endl; }
+}
+</pre>
+
+The program above prints <code>&quot;whoops&quot;</code> because the
+C++ runtime can't resolve which <code>exception</code> instance to
+match in the first catch clause.
+
+ </li>
+
+ <li>
+ <b><i>Don't</i> embed a std::string object</b> or any other data
+ member or base class whose copy constructor could throw an exception.
+ That could lead directly to std::terminate() at the throw point.
+ Similarly, it's a bad idea to use a base or member whose ordinary
+ constructor(s) might throw, because, though not necessarily fatal to
+ your program, you may report a different exception than intended from
+ a <i>throw-expression</i> that includes construction such as:
+
+ <blockquote>
+<pre>
+throw some_exception();
+</pre>
+ </blockquote>
+
+ <p>There are various ways to avoid copying string objects when
+ exceptions are copied, including embedding a fixed-length buffer in
+ the exception object, or managing strings via reference-counting.
+ However, consider the next point before pursuing either of these
+ approaches.</p>
+ </li>
+
+ <li><b>Format the <code>what()</code> message on demand</b>, if you
+ feel you really must format the message. Formatting an exception error
+ message is typically a memory-intensive operation that could
+ potentially throw an exception. This is an operation best delayed until
+ after stack unwinding has occurred, and presumably, released some
+ resources. It's a good idea in this case to protect your
+ <code>what()</code> function with a <code>catch(...)</code> block so
+ that you have a fallback in case the formatting code throws</li>
+
+ <li><b>Don't worry <i>too</i> much about the <code>what()</code>
+ message</b>. It's nice to have a message that a programmer stands a
+ chance of figuring out, but you're very unlikely to be able to compose
+ a relevant and <i>user</i>-comprehensible error message at the point an
+ exception is thrown. Certainly, internationalization is beyond the
+ scope of the exception class author. <a href=
+ "../people/peter_dimov.htm">Peter Dimov</a> makes an excellent argument
+ that the proper use of a <code>what()</code> string is to serve as a
+ key into a table of error message formatters. Now if only we could get
+ standardized <code>what()</code> strings for exceptions thrown by the
+ standard library...</li>
+
+ <li><b>Expose relevant information about the cause of the error</b> in
+ your exception class' public interface. A fixation on the
+ <code>what()</code> message is likely to mean that you neglect to
+ expose information someone might need in order to make a coherent
+ message for users. For example, if your exception reports a numeric
+ range error, it's important to have the actual numbers involved
+ available <i>as numbers</i> in the exception class' public interface
+ where error reporting code can do something intelligent with them. If
+ you only expose a textual representation of those numbers in the
+ <code>what()</code> string, you will make life very difficult for
+ programmers who need to do something more (e.g. subtraction) with them
+ than dumb output.</li>
+
+ <li><b>Make your exception class immune to double-destruction</b> if
+ possible. Unfortunately, several popular compilers occasionally cause
+ exception objects to be destroyed twice. If you can arrange for that to
+ be harmless (e.g. by zeroing deleted pointers) your code will be more
+ robust.</li>
+ </ol>
+
+ <h3>What About Programmer Errors?</h3>
+
+ <p>As a developer, if I have violated a precondition of a library I'm
+ using, I don't want stack unwinding. What I want is a core dump or the
+ equivalent - a way to inspect the state of the program at the exact point
+ where the problem was detected. That usually means <tt>assert()</tt> or
+ something like it.</p>
+
+ <p>Sometimes it is necessary to have resilient APIs which can stand up to
+ nearly any kind of client abuse, but there is usually a significant cost
+ to this approach. For example, it usually requires that each object used
+ by a client be tracked so that it can be checked for validity. If you
+ need that sort of protection, it can usually be provided as a layer on
+ top of a simpler API. Beware half-measures, though. An API which promises
+ resilience against some, but not all abuse is an invitation to disaster.
+ Clients will begin to rely on the protection and their expectations will
+ grow to cover unprotected parts of the interface.</p>
+
+ <p><b>Note for Windows developers</b>: unfortunately, the native
+ exception-handling used by most Windows compilers actually throws an
+ exception when you use <tt>assert()</tt>. Actually, this is true of other
+ programmer errors such as segmentation faults and divide-by-zero errors.
+ One problem with this is that if you use JIT (Just In Time) debugging,
+ there will be collateral exception-unwinding before the debugger comes up
+ because <code>catch(...)</code> will catch these not-really-C++
+ exceptions. Fortunately, there is a simple but little-known workaround,
+ which is to use the following incantation:</p>
+
+ <blockquote>
+<pre>
+extern "C" void straight_to_debugger(unsigned int, EXCEPTION_POINTERS*)
+{
+ throw;
+}
+extern "C" void (*old_translator)(unsigned, EXCEPTION_POINTERS*)
+ = _set_se_translator(straight_to_debugger);
+</pre>
+ </blockquote>
+ This technique doesn't work if the SEH is raised from within a catch
+ block (or a function called from within a catch block), but it still
+ eliminates the vast majority of JIT-masking problems.
+
+ <h3>How should I handle exceptions?</h3>
+
+ <p>Often the best way to deal with exceptions is to not handle them at
+ all. If you can let them pass through your code and allow destructors to
+ handle cleanup, your code will be cleaner.</p>
+
+ <h4>Avoid <code>catch(...)</code> when possible</h4>
+ Unfortunately, operating systems other than Windows also wind non-C++
+ "exceptions" (such as thread cancellation) into the C++ EH machinery, and
+ there is sometimes no workaround corresponding to the
+ <code>_set_se_translator</code> hack described above. The result is that
+ <code>catch(...)</code> can have the effect of making some unexpected
+ system notification at a point where recovery is impossible look just
+ like a C++ exception thrown from a reasonable place, invalidating the
+ usual safe assumptions that destructors and catch blocks have taken valid
+ steps to ensure program invariants during unwinding.
+
+ <p>I reluctantly concede this point to Hillel Y. Sims, after many
+ long debates in the newsgroups: until all OSes are "fixed", if
+ every exception were derived from <code>std::exception</code> and
+ everyone substituted
+ <code>catch(std::exception&amp;)</code> for <code>catch(...)</code>, the
+ world would be a better place.</p>
+
+ <p>Sometimes, <code>catch(...)</code>, is still the most appropriate
+ pattern, in spite of bad interactions with OS/platform design choices. If
+ you have no idea what kind of exception might be thrown and you really
+ <i>must</i> stop unwinding it's probably still your best bet. One obvious
+ place where this occurs is at language boundaries.</p>
+ <hr>
+
+ <p>&copy; Copyright David Abrahams 2001-2003. All rights reserved.</p>
+
+ <p>Revised
+ <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->
+ 21 August, 2003<!--webbot bot="Timestamp" endspan i-checksum="34359" -->
+ </p>
+ </body>
+</html>
+
diff --git a/more/faq.htm b/more/faq.htm
new file mode 100644
index 0000000000..d8145e2c8a
--- /dev/null
+++ b/more/faq.htm
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Boost FAQ</title>
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+
+<table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF">
+ <img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home </big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries </big></font></a></td>
+ <td><a href="../people/people.htm"><font face="Arial" color="#FFFFFF"><big>People </big></font></a></td>
+ <td><a href="faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ </big></font></a></td>
+ <td><a href="index.htm"><font face="Arial" color="#FFFFFF"><big>More </big></font></a></td>
+ </tr>
+</table>
+
+<h1>Boost Frequently Asked Questions</h1>
+
+<p><strong>How do I download the libraries?</strong>
+&nbsp; See <a href=getting_started.html#Download">Download</a> instructions.</p>
+
+<p><b>What support is available for the libraries?</b>&nbsp; The
+<a href="mailing_lists.htm#users">Boost-Users mailing list</a> is a good start.</p>
+
+<p><b>What do the Boost version numbers mean?&nbsp; </b>The scheme is x.y.z, where x is incremented only for massive changes, such as a reorganization of many libraries, y is incremented whenever a new library is added, and z is incremented for maintenance releases. y and z are reset to 0 if
+the value to the left changes.&nbsp;<br>
+<br>
+<b>Is there any assurance libraries actually work as claimed?</b> No. The review
+process will hopefully eliminate the most seriously flawed libraries, but a well
+constructed library with hidden defects is likely to slip through. Encouraging ordinary
+users to report their experience with a library is intended to address such concerns.&nbsp;
+See the <a href="../status/compiler_status.html">Status</a> page for an
+indication of how well a library works on specific platforms. </p>
+
+<p>
+<b>How can the Boost libraries be used successfully for important projects?&nbsp;
+</b>Many of the Boost libraries are actively maintained and improved, so backward compatibility with prior version isn't always possible. Deal with this by freezing the version of the Boost libraries used by your project. Only upgrade at points in your project's life cycle where a bit of change will not cause problems. Individual bug fixes can always be obtained from the CVS repository. </p>
+
+<p><b>How is a library accepted for posting on the site?</b>
+See <a href="submission_process.htm">Library Submission Process</a></p>
+
+<p><b>How does someone submit a Formal Review comment?</b>&nbsp; Send email to <a
+href="mailto:boost@lists.boost.org">boost@lists.boost.org</a>.&nbsp; See the <a href="formal_review_process.htm">Formal
+Review</a> page for more information. </p>
+
+<p><strong>How does someone submit a library?</strong> See <a href="lib_guide.htm">Library
+Guidelines</a></p>
+
+<p><b>Are commercial libraries requiring a fee acceptable?</b> No. However, a library that
+a commercial enterprise makes available without fee is acceptable. If the description of
+the library makes a low-key plug for the supplier, that is acceptable as long as the
+library delivers real value and isn't just a Trojan horse for the plug.</p>
+
+<p><b>Are shareware libraries acceptable?</b> No. Only free libraries
+will be accepted.</p>
+
+<p><strong>Are open source license libraries acceptable?</strong>&nbsp; Some
+are, many are not.
+Open source licenses often require redistribution or availability of source code,
+inclusion of license document with machine-executable redistribution, give the initial
+developer rights to licensee modifications, or need a lawyer to understand.&nbsp; These
+would be immediate disqualifications for many business, commercial, and consumer
+applications. Boost aims to avoid subjecting users to hard-to-comply-with license
+terms. See <a href="lib_guide.htm#License">License requirements</a>.<br>
+<br>
+This is subject to review for a particularly important piece of software, or as the
+industry changes.</p>
+
+<p><b>Must full source code be provided?</b> Yes, these are source code libraries.</p>
+
+<p><b>What about documentation?</b> A very simple library might be accepted with only a
+well commented header file. For more substantial libraries, some form of documentation is
+certainly going to be expected.&nbsp; HTML is the preferred form.</p>
+
+<p><b>Are platform specific libraries acceptable?</b> There is a preference for portable
+libraries. Libraries will be accepted that have portable interfaces but require platform
+specific implementations, as long as the author supplies implementations for a couple of
+disparate major operating systems.</p>
+
+<p><b>Must a library do useful work? </b>No. A library meant as a teaching example or
+demonstration might not actually do any work.</p>
+
+<p><b>Can an existing library be accepted by Boost?</b> Yes, although it would
+have to be &quot;Boostified&quot; to meet the requirements.&nbsp; The Boost
+Graph and Regex libraries are examples of libraries which began life elsewhere.</p>
+
+<p><b>Who owns the libraries?</b> Presumably many authors will copyright their libraries.
+Others authors may wish to place their libraries in the public domain. The Boost.org
+policy is to only accept libraries with a clear copyright notice and meeting the
+<a href="lib_guide.htm#License">License requirements</a>..&nbsp; It is up to
+potential users to decide if the terms acceptable, and not to use
+libraries with unacceptable copyrights or licenses.</p>
+
+<p><b>Is there a formal relationship between Boost.org and the C++ Standards Committee?</b>
+&nbsp;No, although there is a strong informal relationship in that many members
+of the committee participate in Boost, and the people who started Boost were all
+committee members.</p>
+
+<p><b>Will the Boost.org libraries become part of the next C++ Standard?</b>&nbsp; Some
+might, someday, but that is up to the standards committee.&nbsp; Committee
+members who also participate in Boost will definitely be proposing at least some
+Boost libraries for standardization.</p>
+
+<p>Libraries which are &quot;existing practice&quot; are most likely to be
+accepted by the C++ committee for future standardization. Having a library
+accepted by Boost is
+one way to establish existing practice.</p>
+
+<p><b>Where does the name &quot;Boost&quot; come from?</b> Boost began with
+Robert Klarer and I fantasizing about a new library effort over dinner at a C++
+committee meeting in Sofia Antipolis, France, in 1998. Robert mentioned that Herb Sutter
+was working on a spoof proposal for a new language named Booze, which was
+supposed to be better than Java. Somehow that kicked off the idea of
+&quot;Boost&quot; as a name. We'd probably had a couple of glasses of good
+French wine at that point. It was just a working name, but no one ever came up
+with a replacement. (Beman Dawes)</p>
+
+<p><b>Is the web site a commercial business?</b> No. It is just some people getting together
+as a kind of cyberspace civic association. If it ever needs to incorporate, it would be as
+a
+non-profit organization.</p>
+
+<p><b>Is there any charge for submitting libraries or reviews to Boost.org?</b> No. Unlike
+the standards committees, you don't have to pay to volunteer!</p>
+
+<p><b>Will the site include material beyond libraries?</b> The main focus is on libraries,
+but if people contribute occasional articles or other material to make the site more
+interesting, that could be a nice fit.</p>
+
+<p><b>Why isn't there a separate boost mailing list for my favorite
+library?&nbsp;</b> One of the reasons for boost's success has been the cross-pollination of ideas between diverse library
+projects and the occasional look into other threads by otherwise uninterested parties. The more people participate, the less they tend to be annoyed by
+"noise".</p>
+
+<p><b>How can I cope with the large volume of boost mailing list messages?</b>&nbsp;
+One approach is to use the &quot;digest&quot; option; that cuts the email blizzard
+down to several (long) messages per day, so you can glance over the subjects
+summary at the top and quickly read what you think is important.&nbsp;The&nbsp; &quot;no
+mail&quot; option turns off list email entirely.</p>
+
+<p>Another approach is to follow the list traffic via an NTTP newsgroup reader.
+See <a href="mailing_lists.htm#newsgroup">Mailing List</a> newsgroup
+information.</p>
+
+<p><b>Why do Boost headers have a .hpp suffix rather than .h or none at all?</b>
+File extensions communicate the &quot;type&quot; of the file, both to humans and
+to computer programs. The '.h' extension is used for C header files, and
+therefore communicates the wrong thing about C++ header files. Using no
+extension communicates nothing and forces inspection of file contents to
+determine type. Using '.hpp' unambiguously identifies it as C++ header file, and
+works well in actual practice. (Rainer Deyke)</p>
+
+<p><b>What should I do if I spot a bug in the Boost code or documentation?</b>
+See the suggestions on the <a href="bugs.htm">Bugs page</a>.</p>
+
+<p><b>How can I request a new feature in a Boost Library? </b>See the
+<a href="requesting_new_features.htm">Requesting New Features</a> page.</p>
+
+<hr>
+
+<p>Revised <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->23 June, 2005<!--webbot bot="Timestamp" i-checksum="19916" endspan --></p>
+
+<p>© Copyright Beman Dawes 2001</p>
+<p> Use, modification, and distribution are subject to the Boost Software
+License, Version 1.0. (See accompanying file <a href="../LICENSE_1_0.txt">
+LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
+www.boost.org/LICENSE_1_0.txt</a>) </p>
+</body>
+</html> \ No newline at end of file
diff --git a/more/favicon.ico b/more/favicon.ico
new file mode 100644
index 0000000000..e2b448618a
--- /dev/null
+++ b/more/favicon.ico
Binary files differ
diff --git a/more/feature_model_diagrams.htm b/more/feature_model_diagrams.htm
new file mode 100644
index 0000000000..f0e675efe4
--- /dev/null
+++ b/more/feature_model_diagrams.htm
@@ -0,0 +1,109 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title>Feature Model Diagrams</title>
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+
+<p><img border="0" src="../boost.png" width="277" height="86"></p>
+<h1>Feature Model Diagrams in text and HTML</h1>
+<p>By <a href="../people/beman_dawes.html">Beman Dawes</a></p>
+<h2>Introduction</h2>
+<p>In their seminal book, Generative Programming, Czarnecki and Eisenecker (<a href="#Generative Programming">C&amp;E</a>)
+describe how to build feature models [C&amp;E 4.4] consisting of a feature
+diagram plus semantic, rationale, and other attributes.&nbsp; Feature models are
+then used to drive design cycles which eventually lead to manual or automatic
+assembly of configurations.</p>
+<p>Feature models provide a language to describe the library variability that is
+often such an issue in boost.org discussions. The Whorf hypothesis that
+&quot;Language shapes the way we think, and determines what we can think
+about&quot; seems to apply.&nbsp; In discussion of library variability issues,
+we have been crippled by lack of a good language. With feature models we now
+have a language to carry on the dialog.</p>
+<p>The graphical feature diagrams presented by C&amp;E are not in a suitable
+form for the email discussions boost.org depends upon. The hierarchical nature
+of feature diagrams can be represented by a simple text-based feature diagram
+language.&nbsp; A feature model can also take advantage of the hyperlinks
+inherent in HTML.</p>
+<h2><a name="Grammar">Grammar</a></h2>
+<p>The grammar for the feature diagram language is expressed in Extended
+Bakus-Naur Form; ::= represents productions, [...] represents options, {...}
+represents zero or more instances, and represents | alternatives.</p>
+<blockquote>
+ <pre>feature-model ::= concept-name details { feature }</pre>
+ <pre>feature ::= feature-name [details]</pre>
+ <pre>details ::= &quot;(&quot; feature-list &quot;)&quot; // required features
+ | &quot;[&quot; feature-list &quot;]&quot; // optional features</pre>
+ <pre>feature-list ::= element { &quot;|&quot; element } // one only
+ | element { &quot;+&quot; element } // one or more
+ | element { &quot;,&quot; element } // all
+ // [a+b] equivalent to [a,b]</pre>
+ <pre>element ::= feature
+ | details</pre>
+ <pre>concept-name ::= name</pre>
+ <pre>feature-name ::= name</pre>
+</blockquote>
+<p>The usual lexical conventions apply. Names are case-insensitive and consist
+of a leading letter, followed by letters, digits, underscores or hyphens, with
+no spaces allowed.</p>
+<p>At least one instance of each name should be hyperlinked to the corresponding
+<a href="#Feature Descriptions">Feature Description</a>.</p>
+<p>While the grammar is intended for written communication between people, it
+may also be trivially machine parsed for use by automatic tools.</p>
+<h2><a name="Feature Descriptions">Feature Description</a></h2>
+<p>Descriptive information is associated with each concept or feature. According
+to [C&amp;E 4.4.2] this includes:</p>
+<ul>
+ <li>Semantic descriptions.</li>
+ <li>Rationale.</li>
+ <li>Stakeholders and client programs.</li>
+ <li>Exemplar systems.</li>
+ <li>Constraints and default dependency rules.</li>
+ <li>Availability sites, binding sites, and binding mode.</li>
+ <li>Open/Closed attribute.</li>
+</ul>
+<h2>What is a Feature?</h2>
+<p>A feature [C&amp;E 4.9.1] is &quot;anything users or client programs might
+want to control about a concept.&nbsp; Thus, during feature modeling, we
+document no only functional features ... but also implementation features, ...,
+various optimizations, alternative implementation techniques, and so on.&quot;</p>
+<h2>Example</h2>
+<blockquote>
+ <pre>special-container ( organization,
+ performance,
+ interface ) // all required</pre>
+ <pre>organization [ ordered + indexed ] // zero or more (4 configurations)</pre>
+ <pre>indexed [ hash-function ] // zero or one (2 configurations)</pre>
+ <pre>performance ( fast | small | balanced ) // exactly one (3 configurations)</pre>
+ <pre>interface ( STL-style + cursor-style ) // one or more (3 configurations)</pre>
+</blockquote>
+<p>There should be feature descriptions for <code>some-container, organization,
+ordered, indexed, hash-function, performance, fast, small, balanced, interface,
+STL-style, and cursor-style</code>.</p>
+<p>The number of possible configurations is&nbsp; (2 + 2*2) * 3 * 3 = 54,
+assuming no constraints.</p>
+<p>There are equivalent representations. For example:</p>
+<blockquote>
+ <pre>special-container ( organization[ ordered+indexed[ hash-function ]],
+ performance( fast|small|balanced ),
+ interface( STL-style+cursor-style ) )</pre>
+</blockquote>
+<h2>References</h2>
+<p>Krzysztof Czarnecki and Ulrich W. Eisenecker, <a name="Generative Programming" href="http://www.generative-programming.org">Generative
+Programming</a>, Addison-Wesley, 2000, ISBN 0-201-30977-7</p>
+<hr>
+<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B %Y" startspan -->26 August 2004<!--webbot bot="Timestamp" endspan i-checksum="32277" --></p>
+<p>© Copyright Beman Dawes, 2000</p>
+
+<p> Use, modification, and distribution are subject to the Boost Software
+License, Version 1.0. (See accompanying file <a href="../LICENSE_1_0.txt">
+LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
+www.boost.org/LICENSE_1_0.txt</a>)</p>
+
+</body>
+
+</html>
diff --git a/more/formal_review_process.htm b/more/formal_review_process.htm
new file mode 100644
index 0000000000..83fc207e41
--- /dev/null
+++ b/more/formal_review_process.htm
@@ -0,0 +1,272 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<html>
+ <head>
+ <meta name="generator" content=
+ "Microsoft FrontPage 5.0">
+ <meta http-equiv="Content-Type" content=
+ "text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+
+ <title>Boost Formal Review Process</title>
+ </head>
+
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt=
+ "boost.png (6897 bytes)" width="277" height="86"></td>
+
+ <td><a href="../index.htm"><font face="Arial" color=
+ "#FFFFFF"><big>Home</big></font></a></td>
+
+ <td><a href="../libs/libraries.htm"><font face="Arial" color=
+ "#FFFFFF"><big>Libraries</big></font></a></td>
+
+ <td><a href="../people/people.htm"><font face="Arial" color=
+ "#FFFFFF"><big>People</big></font></a></td>
+
+ <td><a href="faq.htm"><font face="Arial" color=
+ "#FFFFFF"><big>FAQ</big></font></a></td>
+
+ <td><a href="index.htm"><font face="Arial" color=
+ "#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+
+ <h1>Boost Formal Review Process</h1>
+
+ <p><a href="#Introduction">Introduction</a><br>
+ <a href="#Comments">What to include in Review Comments</a><br>
+ <a href="#Results">Results</a><br>
+ <a href="#Review_Manager">Notes for Review Managers</a><br>
+ <a href="#Submitters">Notes for Library Submitters</a><br>
+ <a href="#Wizard">Review Wizard</a><br>
+ <a href="#Fast-Track">Fast Track Reviews</a></p>
+
+ <h2><a name="Introduction">Introduction</a></h2>
+
+ <p>Proposed libraries are accepted into Boost only after undergoing a
+ formal review, where Boost mailing list members comment on their
+ evaluation of the library.</p>
+
+ <p>The final "accept" or "reject" decision is made by the <a href=
+ "#Review_Manager">Review Manager</a>, based on the review comments
+ received from boost mailing list members.</p>
+
+ <p>Boost mailing list members are encouraged to submit Formal Review
+ comments:</p>
+
+ <blockquote>
+ <ul>
+ <li>Publicly on the mailing list.</li>
+
+ <li>Privately to the Review Manager.</li>
+ </ul>
+ </blockquote>
+
+ <p>Private comments to a library submitter may be helpful to her or him,
+ but won't help the Review Manager reach a decision, so the other forms
+ are preferred.</p>
+
+ <h2>What to include in Review <a name="Comments">Comments</a></h2>
+
+ <p>Your comments may be brief or lengthy, but basically the Review
+ Manager needs your evaluation of the library.&nbsp; If you identify
+ problems along the way, please note if they are minor, serious, or
+ showstoppers.</p>
+
+ <p>Here are some questions you might want to answer in your review:</p>
+
+ <ul>
+ <li>What is your evaluation of the design?<br>
+ </li>
+
+ <li>What is your evaluation of the implementation?<br>
+ </li>
+
+ <li>What is your evaluation of the documentation?<br>
+ </li>
+
+ <li>What is your evaluation of the potential usefulness of the
+ library?<br>
+ </li>
+
+ <li>Did you try to use the library?&nbsp; With what compiler?&nbsp; Did
+ you have any problems?<br>
+ </li>
+
+ <li>How much effort did you put into your evaluation? A glance? A quick
+ reading? In-depth study?<br>
+ </li>
+
+ <li>Are you knowledgeable about the problem domain?</li>
+ </ul>
+
+ <p>And finally, every review should answer this question:<br>
+ </p>
+
+ <ul>
+ <li>Do you think the library should be accepted as a Boost
+ library?&nbsp; Be sure to say this explicitly so that your other
+ comments don't obscure your overall opinion.</li>
+ </ul>
+
+ <h2><a name="Results">Results</a></h2>
+
+ <p>At the conclusion of the comment period, the Review Manager will post
+ a message to the mailing list saying if the library has been accepted or
+ rejected.&nbsp; A rationale is also helpful, but its extent is up to the
+ Review Manager. If there are suggestions, or conditions that must be met
+ before final inclusion, they should be stated.</p>
+
+ <h2>Notes for <a name="Review_Manager">Review Manager</a>s</h2>
+
+ <p>Before a library can be scheduled for formal review, an active boost
+ member not connected with the library submission must volunteer to be the
+ "Review Manager" for the library.</p>
+
+ <p>The Review Manager:</p>
+
+ <ul>
+ <li>Checks the submission to make sure it really is complete enough to
+ warrant formal review.&nbsp; See the <a href="lib_guide.htm">Boost
+ Library Requirements and Guidelines</a>.&nbsp; If necessary, work with
+ the submitter to verify the code compiles and runs correctly on several
+ compilers and platforms.</li>
+
+ <li>Finalizes the schedule with the <a href="#Wizard">Review Wizard</a>
+ and the submitter .</li>
+
+ <li>
+ Posts a notice of the review schedule on both the regular <b><a href=
+ "mailto:boost@lists.boost.org">boost mailing list</a></b> and the
+ <b><a href="mailto:boost-announce@lists.boost.org">boost-announce</a>
+ mailing list</b>.
+
+ <ul>
+ <li>The notice should include a brief description of the library
+ and what it does, to let readers know if the library is one they
+ are interested in reviewing.</li>
+
+ <li>If the library is known to fail with certain compilers, please
+ mention them in the review notice so reviewers with those compilers
+ won't waste time diagnosing known problems.</li>
+ </ul>
+ </li>
+
+ <li>Inspects the Boost <a href="../libs/libraries.htm">library
+ catalogue</a> for libraries which may interact with the new submission.
+ These potential interactions should be pointed out in the review
+ announcement, and the author(s) of these libraries should be privately
+ notified and urged to participate in the review.</li>
+
+ <li>Urges people to do reviews if they aren't forthcoming.</li>
+
+ <li>Follows review discussions regarding the library, moderating or
+ answering questions as needed.</li>
+
+ <li>Decides if there is consensus to accept the library, and if there
+ are any conditions attached.</li>
+
+ <li>Posts a message on both the <b><a href=
+ "mailto:boost@lists.boost.org">boost</a></b> and <b><a href=
+ "mailto:boost-announce@lists.boost.org">boost-announce</a></b> lists
+ informing members of the <a href="#Results">review results</a>.</li>
+ </ul>
+
+ <p>In other words, it is the Review Manager's responsibility to make sure
+ the review process works smoothly.</p>
+
+ <h2>Notes for Library <a name="Submitters">Submitters</a></h2>
+
+ <p>See <a href="submission_process.htm">Submission Process</a> for a
+ description of the steps a library developer goes through to get a
+ library accepted by Boost.</p>
+
+ <p>A proposed library should remain stable during the review period; it
+ will just confuse and irritate reviewers if there are numerous
+ changes.&nbsp; It is, however, useful to upload fixes for serious bugs
+ right away, particularly those which prevent reviewers from fully
+ evaluating the library.&nbsp; Post a notice of such fixes on the mailing
+ list.</p>
+
+ <p>Library improvements suggested by reviewers should normally be held
+ until after the completion of review period.&nbsp; If the suggested
+ changes might affect reviewer's judgments,&nbsp;post a notice of the
+ pending change on the mailing list.</p>
+
+ <h2>Review <a name="Wizard">Wizard</a></h2>
+
+ <p>The Review Wizard coordinates the formal review schedule:</p>
+
+ <ul>
+ <li>Maintains a list of review manager volunteers, in the form of a
+ queue, so that volunteers who least recently managed reviews become the
+ prime candidates for upcoming reviews.</li>
+
+ <li>When a formal review is requested for a library:</li>
+
+ <li style="list-style: none">
+ &nbsp;<ul>
+ <li>Assign a review manager and suggests a schedule, after checking
+ (via private email) availability of the volunteers at the top of
+ review manager queue.</li>
+
+ <li>Finalize the schedule, once the review manager verifies the
+ library is actually ready for review.</li>
+
+ <li>Resolve schedule slips or other issues with review managers and
+ submitters.</li>
+ </ul>
+ </li>
+
+ <li>Maintains a schedule of both past and pending reviews, in the form
+ of the <a href="formal_review_schedule.html">Review Schedule</a> web
+ page.</li>
+
+ <li>Resolves questions from review managers and library submitters, who
+ sometimes want a third opinion on questions such as "Should we extend
+ the review period because ...?"</li>
+
+ <li>Monitors the general review process, and makes minor adjustments as
+ needed, or queries the list about possible major adjustments.</li>
+ </ul>
+ The role of Boost Review Wizard is currently played by <a href=
+ "mailto:reportbase@yahoo.com">Tom Brinkman</a>.<h2><a name="Fast-Track">Fast Track Reviews</a></h2>
+ <p>To qualify for fast track review:</p>
+ <ul>
+ <li>The component must be small.</li>
+ <li>The technique must be already in use in Boost libraries and the new
+ component provides a common implementation.</li>
+ <li>A full Boost-conformant implementation is available in the sandbox.</li>
+ <li>The Review Wizard determines that the proposal qualifies for fast
+ track review.</li>
+ </ul>
+ <p>Procedure:</p>
+ <ul>
+ <li>The Boost Review Wizard posts a review announcement to the main Boost
+ developer's list. The review period will normally last for 5 days. No two
+ fast track reviews will run in parallel. Fast track reviews may run during
+ full reviews, though generally this is to be avoided.</li>
+ <li>After the review period ends, the submitter will post a review summary
+ containing proposed changes to the reviewed implementation.</li>
+ <li>The Review Wizard will accept or reject the proposed library and
+ proposed changes.</li>
+ <li>After applying the proposed changes, the component is checked into CVS
+ like any other library.<br>
+&nbsp;</li>
+ </ul>
+ <hr>
+
+ <p>Revised
+ <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->15 October, 2003<!--webbot bot="Timestamp" endspan i-checksum="38556" --></p>
+
+ <p>© Copyright Beman Dawes 2000</p>
+<p> Use, modification, and distribution are subject to the Boost Software
+License, Version 1.0. (See accompanying file <a href="../LICENSE_1_0.txt">
+LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
+www.boost.org/LICENSE_1_0.txt</a>)</p>
+ </body>
+</html> \ No newline at end of file
diff --git a/more/formal_review_schedule.html b/more/formal_review_schedule.html
new file mode 100644
index 0000000000..55092d2540
--- /dev/null
+++ b/more/formal_review_schedule.html
@@ -0,0 +1,500 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Home</title>
+</head>
+
+<body>
+
+<table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF">
+ <img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>
+ Libraries</big></font></a></td>
+ <td><a href="../people/people.htm"><font face="Arial" color="#FFFFFF"><big>
+ People</big></font></a></td>
+ <td><a href="faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+</table>
+<h1>Formal Review Schedule</h1>
+<p>Reviews are usually scheduled on a first-come-first-served basis, and
+normally last ten days.&nbsp; See <a href="formal_review_process.htm">Formal
+Review Process</a> for more information.</p>
+<p>The schedule shows submissions ordered by review date. In addition to
+upcoming reviews, it includes recent&nbsp; reviews already completed; that helps
+track review manager assignments and libraries reviewed but not yet posted on
+the web site. There is often a lag between acceptance and site posting as
+authors address issues raised in the formal review.</p>
+<h2><a name="Schedule">Schedule</a></h2>
+<table border="1" cellpadding="5" cellspacing="0">
+ <tr>
+ <td valign="top"><b>Submission</b></td>
+ <td valign="top"><b>Submitter</b></td>
+ <td valign="top"><b>Link</b></td>
+ <td valign="top"><b>Review<br>
+ Manager</b></td>
+ <td valign="top"><b>Review<br>
+ Dates</b></td>
+ </tr>
+ <tr>
+ <td>Function Types</td>
+ <td>Tobias Schwinger</td>
+ <td><a href="http://tinyurl.com/4oe7q">http://tinyurl.com/4oe7q</a></td>
+ <td>John Maddock</td>
+ <td>2005-Jun-5 to 2005-June-15</td>
+ </tr>
+ <tr>
+ <td>Logging Library</td>
+ <td>John Torjo</td>
+ <td><a href="http://torjo.com/code/logging.zip">http://torjo.com/code/logging.zip</a></td>
+ <td>Hartmut Kaiser</td>
+ <td>-</td>
+ </tr>
+ <tr>
+ <td>Policy Pointer</td>
+ <td>David Held</td>
+ <td>Boost Sandbox - policy_ptr</td>
+ <td>Gennadiy Rozental</td>
+ <td>-</td>
+ </tr>
+ <tr>
+ <td>Fixed Strings</td>
+ <td>Reece Dunn</td>
+ <td>&nbsp;</td>
+ <td>Needed</td>
+ <td>-</td>
+ </tr>
+ <tr>
+ <td>Intrusive Containers</td>
+ <td>Olaf Krzikalla</td>
+ <td><a href="http://people.freenet.de/turtle++/intrusive.zip">http://people.freenet.de/turtle++/intrusive.zip</a></td>
+ <td>Needed</td>
+ <td>-</td>
+ </tr>
+
+ <tr>
+ <td>TR1</td>
+ <td>John Maddock</td>
+ <td><a href="http://boost-sandbox.sourceforge.net/vault/index.php?direction=0&order=&directory=tr1">Files in Boost Vault</a> -- <a href="http://freespace.virgin.net/boost.regex/tr1/doc/html/tr1.html"> Online Docs</a></td>
+ <td>Needed</td>
+ <td>-</td>
+ </tr>
+
+</table>
+<h2>Past Review Results</h2>
+<p>The following are past review results: </p>
+<p></p>
+<table border="1" cellpadding="5" cellspacing="0">
+ <tr>
+ <td valign="top"><b>Submission</b></td>
+ <td valign="top"><b>Submitter</b></td>
+ <td valign="top"><b>Review<br>
+ Manager</b></td>
+ <td valign="top"><b>Review<br>
+ Dates</b></td>
+ <td valign="top"><b>Result</b></td>
+ </tr>
+ <tr>
+ <td>FOREACH Macro</td>
+ <td>Eric Niebler</td>
+ <td>Gennadiy Rozental</td>
+ <td>2005 April 25 - 2005 May 1</td>
+ <td>Accepted -- not yet added</td>
+ </tr>
+ <tr>
+ <td><a href="http://boost-sandbox.sourceforge.net/vault/">Typeof</a></td>
+ <td>Arkadiy Vertleyb, Peder Holt</td>
+ <td>Andy Little</td>
+ <td>2005 May 20 - 2005 May 30</td>
+ <td>Accepted -- not yet added</td>
+ </tr>
+ <tr>
+ <td><a href="http://tinyurl.com/6qvrd">Singleton</a></td>
+ <td>Jason Hise</td>
+ <td>Pavel Vozenilek</td>
+ <td>2005 Mar 21 - 2005 March 12</td>
+ <td>Rejected</td>
+ </tr>
+ <tr>
+ <td>Hash</td>
+ <td>Daniel James</td>
+ <td>Thorsten Ottosen</td>
+ <td>2005 Mar 21 - 2005 March 12</td>
+ <td>Accepted -- Added in 1.33</td>
+ </tr>
+ <tr>
+ <td>Finite State Machine (FSM)</td>
+ <td>Andreas Huber</td>
+ <td>Pavel Vozenilek</td>
+ <td>2005 Feb 23 - 2005 March 9</td>
+ <td>Accepted -- not yet added</td>
+ </tr>
+ <tr>
+ <td>Wave</td>
+ <td>Hartmut Kaiser</td>
+ <td>Tom Brinkman</td>
+ <td>2005 Feb 7 - 2005 Feb 20</td>
+ <td>Accepted -- Added in 1.33</td>
+ </tr>
+ <tr>
+ <td>Pointer Containers</td>
+ <td>Thorsten Ottosen</td>
+ <td>Pavol Droba</td>
+ <td>2004 Sept 26 - Oct 5</td>
+ <td>Accepted -- Added in 1.33</td>
+ </tr>
+ <tr>
+ <td>Named Params</td>
+ <td>David Abrahams &amp; Daniel Wallin</td>
+ <td>Doug Gregor</td>
+ <td>2004 Nov 1 - 2004 Nov 20</td>
+ <td>Accepted -- Added in 1.33</td>
+ </tr>
+ <tr>
+ <td>Output Formatters</td>
+ <td>Reece Dunn</td>
+ <td>John Torjo</td>
+ <td>2004 Sept 11 - Sept 25</td>
+ <td>Rejected for now</td>
+ </tr>
+ <tr>
+ <td>Iostreams</td>
+ <td>Jonathan Turkanis</td>
+ <td>Jeff Garland</td>
+ <td>2004 Aug 28 - Sep 11</td>
+ <td>Accepted -- Added in 1.33</td>
+ </tr>
+ <tr>
+ <td>More IO</td>
+ <td>Daryle Walker</td>
+ <td>Tom Brinkman</td>
+ <td>2004 Aug 21 - 28</td>
+ <td>Rejected</td>
+ </tr>
+ <tr>
+ <td>Tribool</td>
+ <td>Douglas Gregor</td>
+ <td>Thomas Witt</td>
+ <td>2004 May 19-29</td>
+ <td>Accepted -- Added in 1.32</td>
+ </tr>
+ <tr>
+ <td>Assignment</td>
+ <td>Thorsten Ottosen</td>
+ <td>Tom Brinkman</td>
+ <td>2004 Apr 1 - 11</td>
+ <td>Accepted -- Added in 1.32</td>
+ </tr>
+ <tr>
+ <td>Serialization (re-review)</td>
+ <td>Robert Ramey</td>
+ <td>Jeff Garland</td>
+ <td>2004 Apr 13 - 26</td>
+ <td>Accepted -- Added in 1.32</td>
+ </tr>
+ <tr>
+ <td>Container Traits (renamed boost.range)</td>
+ <td>Thorsten Ottosen</td>
+ <td>Hartmut Kaiser</td>
+ <td>2004 Apr 28 - May 7</td>
+ <td>Accepted -- Added in 1.32</td>
+ </tr>
+ <tr>
+ <td>Indexed Set</td>
+ <td>Joaqu� M L�ez Mu�z</td>
+ <td>Pavel Vozenilek</td>
+ <td>2004 Mar 20 - 30</td>
+ <td>Accepted -- Added in 1.32</td>
+ </tr>
+ <tr>
+ <td>Circular Buffer</td>
+ <td>Jan Gaspar</td>
+ <td>Pavel Vozenilek</td>
+ <td>2004 Mar 5 - 15</td>
+ <td>Accepted -- not added yet</td>
+ </tr>
+ <tr>
+ <td>enable_if</td>
+ <td>Jaakko Järvi &amp; Jeremiah Willcock &amp; Andrew Lumsdaine</td>
+ <td>(fasttrack)</td>
+ <td>Dec 2003</td>
+ <td>Accepted -- added in 1.31</td>
+ </tr>
+ <tr>
+ <td>FC++</td>
+ <td>Brian McNamara &amp; Yannis Smaragdakis</td>
+ <td>Mat Marcus</td>
+ <td>2004 Feb 14 - Mar 1</td>
+ <td>Rejected</td>
+ </tr>
+ <tr>
+ <td>Numeric Conversions Library</td>
+ <td>Fernando Cacciola</td>
+ <td>Thorsten Ottosen</td>
+ <td>8 - 22 Dec 2003</td>
+ <td>Accepted -- added in 1.32</td>
+ </tr>
+ <tr>
+ <td>String Algorithm Library</td>
+ <td>Pavol Droba</td>
+ <td>Thorsten Ottosen</td>
+ <td>17 - 30 Oct 2003</td>
+ <td>Accepted -- added in 1.32</td>
+ </tr>
+ <tr>
+ <td>Shifted Pointer</td>
+ <td>Philippe A. Bouchard</td>
+ <td>Doug Gregor</td>
+ <td>24 - 30 Sep 2003</td>
+ <td>Rejected</td>
+ </tr>
+ <tr>
+ <td>Fixed-Point Decimal</td>
+ <td>Bill Seymour</td>
+ <td>Jens Maurer</td>
+ <td>11 - 21 Jul 2003</td>
+ <td>Rejected</td>
+ </tr>
+ <tr>
+ <td>Math Constants</td>
+ <td>Paul A. Bristow</td>
+ <td>Jaap Suter</td>
+ <td>06 - 15 Jun 2003</td>
+ <td>Rejected</td>
+ </tr>
+ <tr>
+ <td>Command Line &amp; Config</td>
+ <td>Vladimir Prus</td>
+ <td>Aleksey Gurtovoy</td>
+ <td>21 May - 03 Jun 2003</td>
+ <td>Accepted -- added in 1.32</td>
+ </tr>
+ <tr>
+ <td>I/O Manipulators and Adaptors</td>
+ <td>Daryle Walker</td>
+ <td>Ed Brey</td>
+ <td>27 Feb - 11 Mar 2003</td>
+ <td>-</td>
+ </tr>
+ <tr>
+ <td>Variant</td>
+ <td>Eric Friedman &amp; Itay Maman</td>
+ <td>Jeff Garland</td>
+ <td>16 - 25 Feb 2003</td>
+ <td>Accepted -- added in 1.31</td>
+ </tr>
+ <tr>
+ <td>Optional</td>
+ <td>Fernando Cacciola</td>
+ <td>Douglas Gregor</td>
+ <td>09 - 18 Dec 2002</td>
+ <td>Accepted -- added in 1.30</td>
+ </tr>
+ <tr>
+ <td>Serialization</td>
+ <td>Robert Ramey</td>
+ <td>Dave Abrahams</td>
+ <td>02 - 11 Nov 2002</td>
+ <td>Rejected</td>
+ </tr>
+ <tr>
+ <td>Spirit</td>
+ <td>Joel de Guzman</td>
+ <td>John Maddock</td>
+ <td>11 - 20 Oct 2002</td>
+ <td>Accepted -- added in 1.30</td>
+ </tr>
+ <tr>
+ <td>Minmax</td>
+ <td>Hervé Bronnimann</td>
+ <td>Thomas Witt</td>
+ <td>28 Sep - 07 Oct 2002</td>
+ <td>Accepted -- added in 1.32</td>
+ </tr>
+ <tr>
+ <td>Filesystem</td>
+ <td>Beman Dawes</td>
+ <td>William Kempf</td>
+ <td>14 - 23 Sep 2002</td>
+ <td>Accepted -- added in 1.30</td>
+ </tr>
+ <tr>
+ <td>Interval Arithmetic Library</td>
+ <td>Hervé Bronnimann &amp; Guillaume Melquiond &amp; Sylvain Pion</td>
+ <td>Beman Dawes</td>
+ <td>31 Aug - 09 Sep 2002</td>
+ <td>Accepted -- added in 1.30</td>
+ </tr>
+ <tr>
+ <td>Template Meta Programming Library MPL</td>
+ <td>Aleksey Gurtovoy</td>
+ <td>Douglas Gregor</td>
+ <td>15 - 29 Jul 2002</td>
+ <td>Accepted -- added in 1.30</td>
+ </tr>
+ <tr>
+ <td>uBLAS</td>
+ <td>Joerg Walter &amp; Mathias Koch</td>
+ <td>Ed Brey</td>
+ <td>21 Jun - 01 Jul 2002</td>
+ <td>Accepted -- added in 1.29</td>
+ </tr>
+ <tr>
+ <td>Dynamic Bitset</td>
+ <td>Chuck Alison &amp; Jeremy Siek</td>
+ <td>Mat Marcus</td>
+ <td>08 - 17 Jun 2002</td>
+ <td>Accepted -- added in 1.29</td>
+ </tr>
+ <tr>
+ <td>Date / Time</td>
+ <td>Jeff Garland</td>
+ <td>Darin Adler</td>
+ <td>15 - 24 Apr 2002</td>
+ <td>Accepted -- added in 1.29</td>
+ </tr>
+ <tr>
+ <td>Lambda</td>
+ <td>Jaakko J�vi &amp; Gary Powell</td>
+ <td>Aleksey Gurtovoy</td>
+ <td>08 - 20 Mar 2002</td>
+ <td>Accepted and added</td>
+ </tr>
+ <tr>
+ <td>Signals</td>
+ <td>Douglas Gregor</td>
+ <td>William Kempf</td>
+ <td>18 - 27 Feb 2002</td>
+ <td>Accepted -- added in 1.29</td>
+ </tr>
+ <tr>
+ <td>I/O State Saver</td>
+ <td>Daryle Walker</td>
+ <td>Beman Dawes</td>
+ <td>06 - 16 Feb 2002</td>
+ <td>Accepted and added</td>
+ </tr>
+ <tr>
+ <td>printf-like formatting for iostreams</td>
+ <td>Samuel Krempp</td>
+ <td>Jens Maurer</td>
+ <td>13 - 23 Jan 2002</td>
+ <td>Accepted -- added in 1.29</td>
+ </tr>
+ <tr>
+ <td>Multi-array</td>
+ <td>Ron Garcia</td>
+ <td>John Maddock</td>
+ <td>02 - 12 Jan 2002</td>
+ <td>Accepted -- added in 1.29</td>
+ </tr>
+ <tr>
+ <td>Unit Test Library</td>
+ <td>Gennadiy Rozental</td>
+ <td>Jeremy Siek</td>
+ <td>01 - 13 Dec 2001</td>
+ <td>Accepted and added</td>
+ </tr>
+ <tr>
+ <td>GCD Library plus integer additions</td>
+ <td>Daryle Walker</td>
+ <td>Dave Abrahams</td>
+ <td>17 - 26 Sep 2001</td>
+ <td>-</td>
+ </tr>
+ <tr>
+ <td>Thread Library</td>
+ <td>Bill Kempf</td>
+ <td>Ed Brey</td>
+ <td>Aug 30 - Sep 8</td>
+ <td>Accepted and added</td>
+ </tr>
+ <tr>
+ <td>Config System</td>
+ <td>John Maddock</td>
+ <td>Doug Gregor</td>
+ <td>Aug 20 - 29&nbsp;</td>
+ <td>Accepted and added</td>
+ </tr>
+ <tr>
+ <td>Bind Library</td>
+ <td>Peter Dimov</td>
+ <td>Darin Adler</td>
+ <td>Aug 10 - 19</td>
+ <td>Accepted and added</td>
+ </tr>
+ <tr>
+ <td>Base from Member Library</td>
+ <td>Daryle Walker</td>
+ <td>Beman Dawes</td>
+ <td>Jul 30 - Aug 9</td>
+ <td>-</td>
+ </tr>
+ <tr>
+ <td>Coding Guidelines</td>
+ <td>Dave Abrahams</td>
+ <td>Aleksey Gurtovoy</td>
+ <td>Jul 20 - 29</td>
+ <td>-</td>
+ </tr>
+ <tr>
+ <td>Preprocessor Library</td>
+ <td>Vesa Karvonen</td>
+ <td>Jeremy Siek</td>
+ <td>Jun 28 - Jul 9</td>
+ <td>Accepted and added</td>
+ </tr>
+ <tr>
+ <td>Tuples Library</td>
+ <td>Jaakko J�vi</td>
+ <td>Beman Dawes</td>
+ <td>Jun 17 - 26</td>
+ <td>Accepted and added</td>
+ </tr>
+ <tr>
+ <td>Function Library</td>
+ <td>Doug Gregor</td>
+ <td>John Maddock</td>
+ <td>Jun 6 - 16</td>
+ <td>Accepted and added</td>
+ </tr>
+ <tr>
+ <td>Tokenizer</td>
+ <td>John Bandela</td>
+ <td>Doug Gregor</td>
+ <td>May 28 - Jun 6</td>
+ <td>Accepted and added</td>
+ </tr>
+ <tr>
+ <td>Special Functions</td>
+ <td>Hubert Holin</td>
+ <td>Jens Maurer</td>
+ <td>May 18 - 27</td>
+ <td>Accepted and added</td>
+ </tr>
+</table>
+<h2>Review <a name="Managers">Managers</a></h2>
+<p>We try to rotate the task of Review Manager between many experienced Boost
+members, both to ensure fairness, and to spread the workload.&nbsp; If you would
+like to volunteer to become a review manager, please contact
+<a href="mailto:reportbase@gmail.com">Tom Brinkman (Review Wizard)</a>.</p>
+<hr>
+<p>Revised
+<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan -->15 Apr 2005<!--webbot bot="Timestamp" endspan i-checksum="15045" -->
+</p>
+<p>Copyright Beman Dawes, Tom Brinkman, Jeff Garland 2001 - 2005</p>
+<p>Use, modification, and distribution are subject to the Boost Software
+License, Version 1.0. (See accompanying file <a href="../LICENSE_1_0.txt">
+LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
+www.boost.org/LICENSE_1_0.txt</a>)</p>
+
+</body>
+
+</html>
diff --git a/more/generic_exception_safety.html b/more/generic_exception_safety.html
new file mode 100644
index 0000000000..1d03d9387a
--- /dev/null
+++ b/more/generic_exception_safety.html
@@ -0,0 +1,683 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- saved from url=(0052)http://people.ne.mediaone.net/abrahams/abrahams.html -->
+
+ <meta name="generator" content="Microsoft FrontPage 5.0">
+ <title>Exception-Safety in Generic Components</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <meta content="MSHTML 5.50.4522.1800" name="GENERATOR">
+
+ <h1 align="center">Exception-Safety in Generic Components</h1>
+
+ <p align="center"><i><b>Lessons Learned from Specifying Exception-Safety
+ for the C++ Standard Library</b></i>
+
+ <h3 align="center">David Abrahams</h3>
+
+ <h3 align="center"><a href="mailto:david.abrahams@rcn.com">
+ david.abrahams@rcn.com</a></h3>
+
+ <p><b>Abstract.</b> This paper represents the knowledge accumulated in
+ response to a real-world need: that the C++ Standard Template Library
+ exhibit useful and well-defined interactions with exceptions, the
+ error-handling mechanism built-in to the core C++ language. It explores the
+ meaning of exception-safety, reveals surprising myths about exceptions and
+ genericity, describes valuable tools for reasoning about program
+ correctness, and outlines an automated testing procedure for verifying
+ exception-safety.
+
+ <p><b>Keywords:</b> exception-safety, exceptions, STL, C++
+
+ <h2>1 What is exception-safety?</h2>
+
+ <p>Informally, exception-safety in a component means that it exhibits
+ reasonable behavior when an exception is thrown during its execution. For
+ most people, the term ``reasonable'' includes all the usual
+ expectations for error-handling: that resources should not be leaked, and
+ that the program should remain in a well-defined state so that execution
+ can continue. For most components, it also includes the expectation that
+ when an error is encountered, it is reported to the caller.
+
+ <p>More formally, we can describe a component as minimally exception-safe
+ if, when exceptions are thrown from within that component, its invariants
+ are intact. Later on we'll see that at least three different levels of
+ exception-safety can be usefully distinguished. These distinctions can help
+ us to describe and reason about the behavior of large systems.
+
+ <p>In a generic component, we usually have an additional expectation of
+ <i>exception-neutrality</i>, which means that exceptions thrown by a
+ component's type parameters should be propagated, unchanged, to the
+ component's caller.
+
+ <h2>2 Myths and Superstitions</h2>
+
+ <p>Exception-safety seems straightforward so far: it doesn't constitute
+ anything more than we'd expect from code using more traditional
+ error-handling techniques. It might be worthwhile, however, to examine the
+ term from a psychological viewpoint. Nobody ever spoke of
+ ``error-safety'' before C++ had exceptions.
+
+ <p>It's almost as though exceptions are viewed as a <i>mysterious
+ attack</i> on otherwise correct code, from which we must protect ourselves.
+ Needless to say, this doesn't lead to a healthy relationship with error
+ handling! During standardization, a democratic process which requires broad
+ support for changes, I encountered many widely-held superstitions. In order
+ to even begin the discussion of exception-safety in generic components, it
+ may be worthwhile confronting a few of them.
+
+ <p><i>``Interactions between templates and exceptions are not
+ well-understood.''</i> This myth, often heard from those who consider
+ these both new language features, is easily disposed of: there simply are
+ no interactions. A template, once instantiated, works in all respects like
+ an ordinary class or function. A simple way to reason about the behavior of
+ a template with exceptions is to think of how a specific instantiation of
+ that template works. Finally, the genericity of templates should not cause
+ special concern. Although the component's client supplies part of the
+ operation (which may, unless otherwise specified, throw arbitrary
+ exceptions), the same is true of operations using familiar virtual
+ functions or simple function pointers.
+
+ <p><i>``It is well known to be impossible to write an exception-safe
+ generic container.''</i> This claim is often heard with reference to
+ an article by Tom Cargill <a title=
+ "Tom Cargill, ``Exception Handling: A False Sense of Security'', C++ Report, Nov-Dec 1994"
+ href=
+ "#reference4"><sup>[4]</sup></a>
+ in which he explores the problem of exception-safety for a generic stack
+ template. In his article, Cargill raises many useful questions, but
+ unfortunately fails to present a solution to his problem.<a title=
+ "Probably the greatest impediment to a solution in Cargill's case was an unfortunate combination of choices on his part: the interface he chose for his container was incompatible with his particular demands for safety. By changing either one he might have solved the problem."
+ href=
+ "#footnote1"><sup>1</sup></a>
+ He concludes by suggesting that a solution may not be possible.
+ Unfortunately, his article was read by many as ``proof'' of that
+ speculation. Since it was published there have been many examples of
+ exception-safe generic components, among them the C++ standard library
+ containers.
+
+ <p><i>``Dealing with exceptions will slow code down, and templates are
+ used specifically to get the best possible performance.''</i> A good
+ implementation of C++ will not devote a single instruction cycle to dealing
+ with exceptions until one is thrown, and then it can be handled at a speed
+ comparable with that of calling a function <a title=
+ "D. R. Musser, ``Introspective Sorting and Selection Algorithms'', Software-Practice and Experience 27(8):983-993, 1997."
+ href=
+ "#reference7"><sup>[7]</sup></a>.
+ That alone gives programs using exceptions performance equivalent to that
+ of a program which ignores the possibility of errors. Using exceptions can
+ actually result in faster programs than ``traditional'' error
+ handling methods for other reasons. First, a catch block clearly indicates
+ to the compiler which code is devoted to error-handling; it can then be
+ separated from the usual execution path, improving locality of reference.
+ Second, code using ``traditional'' error handling must typically
+ test a return value for errors after every single function call; using
+ exceptions completely eliminates that overhead.
+
+ <p><i>``Exceptions make it more difficult to reason about a program's
+ behavior.''</i> Usually cited in support of this myth is the way
+ ``hidden'' execution paths are followed during stack-unwinding.
+ Hidden execution paths are nothing new to any C++ programmer who expects
+ local variables to be destroyed upon returning from a function:
+
+ <blockquote>
+<pre>ErrorCode f( int&amp; result ) // 1
+{ // 2
+ X x; // 3
+ ErrorCode err = x.g( result ); // 4
+ if ( err != kNoError ) // 5
+ return err; // 6
+ // ...More code here...
+ return kNoError; // 7
+}
+</pre>
+ </blockquote>
+
+ <p>In the example above, there is a ``hidden'' call to
+ <code>X::~X()</code> in lines 6 and 7. Granted, using exceptions, there is
+ no code devoted to error handling visible:
+
+ <blockquote>
+<pre>int f() // 1
+{ // 2
+ X x; // 3
+ int result = x.g(); // 4
+ // ...More code here...
+ return result; // 5
+}
+</pre>
+ </blockquote>
+
+ <p>For many programmers more familiar with exceptions, the second example
+ is actually more readable and understandable than the first. The
+ ``hidden'' code paths include the same calls to destructors of
+ local variables. In addition, they follow a simple pattern which acts
+ <i>exactly</i> as though there were a potential return statement after each
+ function call in case of an exception. Readability is enhanced because the
+ normal path of execution is unobscured by error-handling, and return values
+ are freed up to be used in a natural way.
+
+ <p>There is an even more important way in which exceptions can enhance
+ correctness: by allowing simple class invariants. In the first example, if
+ <code>x</code>'s constructor should need to allocate resources, it has no
+ way to report a failure: in C++, constructors have no return values. The
+ usual result when exceptions are avoided is that classes requiring
+ resources must include a separate initializer function which finishes the
+ job of construction. The programmer can therefore never be sure, when an
+ object of class <code>X</code> is used, whether he is handling a
+ full-fledged <code>X</code> or some abortive attempt to construct one (or
+ worse: someone simply forgot to call the initializer!)
+
+ <h2>3 A contractual basis for exception-safety</h2>
+
+ <p>A non-generic component can be described as exception-safe in isolation,
+ but because of its configurability by client code, exception-safety in a
+ generic component usually depends on a contract between the component and
+ its clients. For example, the designer of a generic component might require
+ that an operation which is used in the component's destructor not throw any
+ exceptions.<a title=
+ " It is usually inadvisable to throw an exception from a destructor in C++, since the destructor may itself be called during the stack-unwinding caused by another exception. If the second exception is allowed to propagate beyond the destructor, the program is immediately terminated."
+ href=
+ "#footnote2"><sup>2</sup></a>
+ The generic component might, in return, provide one of the following
+ guarantees:
+
+ <ul>
+ <li>The <i>basic</i> guarantee: that the invariants of the component are
+ preserved, and no resources are leaked.
+
+ <li>The <i>strong</i> guarantee: that the operation has either completed
+ successfully or thrown an exception, leaving the program state exactly as
+ it was before the operation started.
+
+ <li>The <i>no-throw</i> guarantee: that the operation will not throw an
+ exception.
+ </ul>
+
+ <p>The basic guarantee is a simple minimum standard for exception-safety to
+ which we can hold all components. It says simply that after an exception,
+ the component can still be used as before. Importantly, the preservation of
+ invariants allows the component to be destroyed, potentially as part of
+ stack-unwinding. This guarantee is actually less useful than it might at
+ first appear. If a component has many valid states, after an exception we
+ have no idea what state the component is in|only that the state is valid.
+ The options for recovery in this case are limited: either destruction or
+ resetting the component to some known state before further use. Consider
+ the following example:
+
+ <blockquote>
+<pre>template &lt;class X&gt;
+void print_random_sequence()
+{
+ std::vector&lt;X&gt; v(10); // A vector of 10 items
+ try {
+ // Provides only the <i>basic</i> guarantee
+ v.insert( v.begin(), X() );
+ }
+ catch(...) {} // ignore any exceptions above
+ // print the vector's contents
+ std::cout "(" &lt;&lt; v.size() &lt;&lt; ") ";
+ std::copy( v.begin(), v.end(),
+ std::ostream_iterator&lt;X&gt;( std::cout, " " ) );
+}
+</pre>
+ </blockquote>
+
+ <p>Since all we know about v after an exception is that it is valid, the
+ function is allowed to print any random sequence of <code>X</code>s.<a
+ title=
+ "In practice of course, this function would make an extremely poor random sequence generator!"
+ href=
+ "#footnote3"><sup>3</sup></a>
+ It is ``safe'' in the sense that it is not allowed to crash, but
+ its output may be unpredictable.
+
+ <p>The <i>strong</i> guarantee provides full
+ ``commit-or-rollback'' semantics. In the case of C++ standard
+ containers, this means, for example, that if an exception is thrown all
+ iterators remain valid. We also know that the container has exactly the
+ same elements as before the exception was thrown. A transaction that has no
+ effects if it fails has obvious benefits: the program state is simple and
+ predictable in case of an exception. In the C++ standard library, nearly
+ all of the operations on the node-based containers list, set, multiset,
+ map, and multimap provide the <i>strong</i> guarantee.<a title=
+ "It is worth noting that mutating algorithms usually cannot provide the strong guarantee: to roll back a modified element of a range, it must be set back to its previous value using operator=, which itself might throw. In the C++ standard library, there are a few exceptions to this rule, whose rollback behavior consists only of destruction: uninitialized_copy, uninitialized_fill, and uninitialized_fill_n."
+ href=
+ "#footnote4"><sup>4</sup></a>).
+
+ <p>The <i>no-throw</i> guarantee is the strongest of all, and it says that
+ an operation is guaranteed not to throw an exception: it always completes
+ successfully. This guarantee is necessary for most destructors, and indeed
+ the destructors of C++ standard library components are all guaranteed not
+ to throw exceptions. The <i>no-throw</i> guarantee turns out to be
+ important for other reasons, as we shall see.<a title=
+ "All type parameters supplied by clients of the C++ standard library are required not to throw from their destructors. In return, all components of the C++ standard library provide at least the basic guarantee."
+ href=
+ "#footnote5"><sup>5</sup></a>
+
+ <h2>4 Legal Wrangling</h2>
+
+ <p>Inevitably, the contract can get more complicated: a quid pro quo
+ arrangement is possible. Some components in the C++ Standard Library give
+ one guarantee for arbitrary type parameters, but give a stronger guarantee
+ in exchange for additional promises from the client type that no exceptions
+ will be thrown. For example, the standard container operation
+ <code>vector&lt;T&gt;::erase</code> gives the <i>basic</i> guarantee for
+ any <code>T</code>, but for types whose copy constructor and copy
+ assignment operator do not throw, it gives the <i>no-throw</i> guarantee.<a
+ title=
+ "Similar arrangements might have been made in the C++ standard for many of the mutating algorithms, but were never considered due to time constraints on the standardization process."
+ href=
+ "#footnote6"><sup>6</sup></a>
+
+ <h2>5 What level of exception-safety should a component specify?</h2>
+
+ <p>From a client's point-of-view, the strongest possible level of safety
+ would be ideal. Of course, the <i>no-throw</i> guarantee is simply
+ impossible for many operations, but what about the <i>strong</i> guarantee?
+ For example, suppose we wanted atomic behavior for
+ <code>vector&lt;T&gt;::insert</code>. Insertion into the middle of a vector
+ requires copying elements after the insertion point into later positions,
+ to make room for the new element. If copying an element can fail, rolling
+ back the operation would require ``undoing'' the previous
+ copies...which depends on copying again. If copying back should fail (as it
+ likely would), we have failed to meet our guarantee.
+
+ <p>One possible alternative would be to redefine <code>insert</code> to
+ build the new array contents in a fresh piece of memory each time, and only
+ destroy the old contents when that has succeeded. Unfortunately, there is a
+ non-trivial cost if this approach is followed: insertions near the end of a
+ vector which might have previously caused only a few copies would now cause
+ every element to be copied. The <i>basic</i> guarantee is a
+ ``natural'' level of safety for this operation, which it can
+ provide without violating its performance guarantees. In fact all of the
+ operations in the library appear to have such a ``natural'' level
+ of safety.
+
+ <p>Because performance requirements were already a well-established part of
+ the draft standard and because performance is a primary goal of the STL,
+ there was no attempt to specify more safety than could be provided within
+ those requirements. Although not all of the library gives the <i>strong</i>
+ guarantee, almost any operation on a standard container which gives the
+ <i>basic</i> guarantee can be made <i>strong</i> using the ``make a
+ new copy'' strategy described above:
+
+ <blockquote>
+<pre>template &lt;class Container, class BasicOp&gt;
+void MakeOperationStrong( Container&amp; c, const BasicOp&amp; op )
+{
+ Container tmp(c); // Copy c
+ op(tmp); // Work on the copy
+ c.swap(tmp); // Cannot fail<a title=
+"Associative containers whose Compare object might throw an exception when copied cannot use this technique, since the swap function might fail."
+ href=
+"#footnote7"><sup>7</sup></a>
+}
+</pre>
+ </blockquote>
+
+ <p>This technique can be folded into a wrapper class to make a similar
+ container which provides stronger guarantees (and different performance
+ characteristics).<a title=
+ "This suggests another potential use for the oft-wished-for but as yet unseen container traits&lt;&gt; template: automated container selection to meet exceptionsafety constraints."
+ href=
+ "#footnote8"><sup>8</sup></a>
+
+ <h2>6 Should we take everything we can get?</h2>
+
+ <p>By considering a particular implementation, we can hope to discern a
+ natural level of safety. The danger in using this to establish requirements
+ for a component is that the implementation might be restricted. If someone
+ should come up with a more-efficient implementation which we'd like to use,
+ we may find that it's incompatible with our exception-safety requirements.
+ One might expect this to be of no concern in the well-explored domains of
+ data structures and algorithms covered by the STL, but even there, advances
+ are being made. A good example is the recent <i>introsort</i> algorithm <a
+ title=
+ "D. R. Musser, ``Introspective Sorting and Selection Algorithms'', Software-Practice and Experience 27(8):983-993, 1997."
+ href=
+ "#reference6"><sup>[6]</sup></a>,
+ which represents a substantial improvement in worst-case complexity over
+ the well-established <i>quicksort</i>.
+
+ <p>To determine exactly how much to demand of the standard components, I
+ looked at a typical real-world scenario. The chosen test case was a
+ ``composite container.'' Such a container, built of two or more
+ standard container components, is not only commonly needed, but serves as a
+ simple representative case for maintaining invariants in larger systems:
+
+ <blockquote>
+<pre>// SearchableStack - A stack which can be efficiently searched
+// for any value.
+template &lt;class T&gt;
+class SearchableStack
+{
+ public:
+ void push(const T&amp; t); // O(log n)
+ void pop(); // O(log n)
+ bool contains(const T&amp; t) const; // O(log n)
+ const T&amp; top() const; // O(1)
+ private:
+ std::set&lt;T&gt; set_impl;
+ std::list&lt;std::set&lt;T&gt;::iterator&gt; list_impl;
+};
+</pre>
+ </blockquote>
+
+ <p>The idea is that the list acts as a stack of set iterators: every
+ element goes into the set first, and the resulting position is pushed onto
+ the list. The invariant is straightforward: the set and the list should
+ always have the same number of elements, and every element of the set
+ should be referenced by an element of the list. The following
+ implementation of the push function is designed to give the <i>strong</i>
+ guarantee within the natural levels of safety provided by set and list:
+
+ <blockquote>
+<pre>template &lt;class T&gt; // 1
+void SearchableStack&lt;T&gt;::push(const T&amp; t) // 2
+{ // 3
+ set&lt;T&gt;::iterator i = set_impl.insert(t); // 4
+ try // 5
+ { // 6
+ list_impl.push_back(i); // 7
+ } // 8
+ catch(...) // 9
+ { // 10
+ set_impl.erase(i); // 11
+ throw; // 12
+ } // 13
+} // 14
+</pre>
+ </blockquote>
+
+ <p>What does our code actually require of the library? We need to examine
+ the lines where non-const operations occur:
+
+ <ul>
+ <li>Line 4: if the insertion fails but <code>set_impl</code> is modified
+ in the process, our invariant is violated. We need to be able to rely on
+ the <i>strong</i> guarantee from <code>set&lt;T&gt;::insert</code>.
+
+ <li>Line 7: likewise, if <code>push_back</code> fails, but
+ <code>list_impl</code> is modified in the process, our invariant is
+ violated, so we need to be able to rely on the <i>strong</i> guarantee
+ from list&lt;T&gt;::insert.
+
+ <li>Line 11: here we are ``rolling back'' the insertion on line
+ 4. If this operation should fail, we will be unable to restore our
+ invariant. We absolutely depend on the <i>no-throw</i> guarantee from
+ <code>set&lt;T&gt;::erase</code>.<a title=
+ "One might be tempted to surround the erase operation with a try/catch block to reduce the requirements on set&lt;T&gt; and the problems that arise in case of an exception, but in the end that just begs the question. First, erase just failed and in this case there are no viable alternative ways to produce the necessary result. Second and more generally, because of the variability of its type parameters a generic component can seldom be assured that any alternatives will succeed."
+ href=
+ "#footnote9"><sup>9</sup></a>
+
+ <li>Line 11: for the same reasons, we also depend on being able to pass
+ the <code>i</code> to the <code>erase</code> function: we need the
+ <i>no-throw</i> guarantee from the copy constructor of
+ <code>set&lt;T&gt;::iterator</code>.
+ </ul>
+
+ <p>I learned a great deal by approaching the question this way during
+ standardization. First, the guarantee specified for the composite container
+ actually depends on stronger guarantees from its components (the
+ <i>no-throw</i> guarantees in line 11). Also, I took advantage of all of
+ the natural level of safety to implement this simple example. Finally, the
+ analysis revealed a requirement on iterators which I had previously
+ overlooked when operations were considered on their own. The conclusion was
+ that we should provide as much of the natural level of safety as possible.
+ Faster but less-safe implementations could always be provided as extensions
+ to the standard components. <sup><a title=
+ "The prevalent philosophy in the design of STL was that functionality that wasn't essential to all uses should be left out in favor of efficiency, as long as that functionality could be obtained when needed by adapting the base components. This departs from that philosophy, but it would be difficult or impossible to obtain even the basic guarantee by adapting a base component that doesn't already have it."
+ name="#footnote10">10</a></sup>
+
+ <h2>7 Automated testing for exception-safety</h2>
+
+ <p>As part of the standardization process, I produced an exception-safe
+ reference implementation of the STL. Error-handling code is seldom
+ rigorously tested in real life, in part because it is difficult to cause
+ error conditions to occur. It is very common to see error-handling code
+ which crashes the first time it is executed ...in a shipping product! To
+ bolster confidence that the implementation actually worked as advertised, I
+ designed an automated test suite, based on an exhaustive technique due to
+ my colleague Matt Arnold.
+
+ <p>The test program started with the basics: reinforcement and
+ instrumentation, especially of the global operators <code>new</code> and
+ <code>delete</code>.<sup><a title=
+ "An excellent discussion on how to fortify memory subsystems can be found in: Steve Maguire, Writing Solid Code, Microsoft Press, Redmond, WA, 1993, ISBN 1-55615- 551-4."
+ name="#footnote11">11</a></sup>Instances of the components (containers and
+ algorithms) were created, with type parameters chosen to reveal as many
+ potential problems as possible. For example, all type parameters were given
+ a pointer to heap-allocated memory, so that leaking a contained object
+ would be detected as a memory leak.
+
+ <p>Finally, a scheme was designed that could cause an operation to throw an
+ exception at each possible point of failure. At the beginning of every
+ client-supplied operation which is allowed to throw an exception, a call to
+ <code>ThisCanThrow</code> was added. A call to <code>ThisCanThrow</code>
+ also had to be added everywhere that the generic operation being tested
+ might throw an exception, for example in the global operator
+ <code>new</code>, for which an instrumented replacement was supplied.
+
+ <blockquote>
+<pre>// Use this as a type parameter, e.g. vector&lt;TestClass&gt;
+struct TestClass
+{
+ TestClass( int v = 0 )
+ : p( ThisCanThrow(), new int( v ) ) {}
+ TestClass( const TestClass&amp; rhs )
+ : p( ThisCanThrow(), new int( *rhs.p ) ) {}
+ const TestClass&amp; operator=( const TestClass&amp; rhs )
+ { ThisCanThrow(); *p = *rhs.p; }
+ bool operator==( const TestClass&amp; rhs ) const
+ { ThisCanThrow(); return *p == *rhs.p; }
+ ...etc...
+ ~TestClass() { delete p; }
+};
+</pre>
+ </blockquote>
+
+ <p><code>ThisCanThrow</code> simply decrements a ``throw
+ counter'' and, if it has reached zero, throws an exception. Each test
+ takes a form which begins the counter at successively higher values in an
+ outer loop and repeatedly attempts to complete the operation being tested.
+ The result is that the operation throws an exception at each successive
+ step along its execution path that can possibly fail. For example, here is
+ a simplified version of the function used to test the <i>strong</i>
+ guarantee: <a title=
+ "Note that this technique requires that the operation being tested be exception-neutral. If the operation ever tries to recover from an exception and proceed, the throw counter will be negative, and subsequent operations that might fail will not be tested for exception-safety."
+ href=
+ "#footnote12"><sup>12</sup></a>
+
+ <blockquote>
+<pre>extern int gThrowCounter; // The throw counter
+void ThisCanThrow()
+{
+ if (gThrowCounter-- == 0)
+ throw 0;
+}
+
+template &lt;class Value, class Operation&gt;
+void StrongCheck(const Value&amp; v, const Operation&amp; op)
+{
+ bool succeeded = false;
+ for (long nextThrowCount = 0; !succeeded; ++nextThrowCount)
+ {
+ Value duplicate = v;
+ try
+ {
+ gThrowCounter = nextThrowCount;
+ op( duplicate ); // Try the operation
+ succeeded = true;
+ }
+ catch(...) // Catch all exceptions
+ {
+ bool unchanged = duplicate == v; // Test <i>strong</i> guarantee
+ assert( unchanged );
+ }
+ // Specialize as desired for each container type, to check
+ // integrity. For example, size() == distance(begin(),end())
+ CheckInvariant(v); // Check any invariant
+ }
+}
+</pre>
+ </blockquote>
+
+ <p>Notably, this kind of testing is much easier and less intrusive with a
+ generic component than with non-generics, because testing-specific type
+ parameters can be used without modifying the source code of the component
+ being tested. Also, generic functions like <code>StrongCheck</code> above
+ were instrumental in performing the tests on a wide range of values and
+ operations.
+
+ <h2>8 Further Reading</h2>
+ To my knowledge, there are currently only two descriptions of STL
+ exception-safety available. The original specification <a title=
+ "D. Abrahams, Exception Safety in STLport" href=
+ "#reference2"><sup>[2]</sup></a>
+ for the reference exception-safe implementation of the STL is an informal
+ specification, simple and self-explanatory (also verbose), and uses the
+ <i>basic-</i> and <i>strong-</i>guarantee distinctions outlined in this
+ article. It explicitly forbids leaks, and differs substantively from the
+ final C++ standard in the guarantees it makes, though they are largely
+ identical. I hope to produce an updated version of this document soon.
+
+ <p>The description of exception-safety in the C++ Standard <a title=
+ "International Standard ISO/IEC 14882, Information Technology-Programming Languages-C++, Document Number ISO/IEC 14882-1998"
+ href=
+ "#reference1"><sup>[1]</sup></a>
+ is only slightly more formal, but relies on hard-to-read
+ ``standardese'' and an occasionally subtle web of implication.<a
+ title=
+ "The changes to the draft standard which introduced exception-safety were made late in the process, when amendments were likely to be rejected solely on the basis of the number of altered words. Unfortunately, the result compromises clarity somewhat in favor of brevity. Greg Colvin was responsible for the clever language-lawyering needed to minimize the extent of these changes."
+ href=
+ "#footnote13"><sup>13</sup></a>
+ In particular, leaks are not treated directly at all. It does have the
+ advantage that it <i>is</i> the standard.
+
+ <p>The original reference implementation <a title=
+ "B. Fomitchev, Adapted SGI STL Version 1.0, with exception handling code by D. Abrahams"
+ href=
+ "#reference5"><sup>[5]</sup></a>
+ of the exception-safe STL is an adaptation of an old version of the SGI
+ STL, designed for C++ compilers with limited features. Although it is not a
+ complete STL implementation, the code may be easier to read, and it
+ illustrates a useful base-class technique for eliminating
+ exception-handling code in constructors. The full test suite <a title=
+ "D. Abrahams and B. Fomitchev, Exception Handling Test Suite" href=
+ "#reference3"><sup>[3]</sup></a>
+ used to validate the reference implementation has been used successfully to
+ validate all recent versions of the SGI STL, and has been adapted to test
+ one other vendor's implementation (which failed). As noted on the
+ documentation page, it also seems to have the power to reveal hidden
+ compiler bugs, particularly where optimizers interact with
+ exception-handling code.
+
+ <h2>References</h2>
+
+ <ol>
+ <li><a name="reference1">International</a> Standard ISO/IEC 14882,
+ <i>Information Technology-Programming Languages-C++</i>, Document Number
+ ISO/IEC 14882-1998, available from <a href=
+ "http://webstore.ansi.org/ansidocstore/default.asp">http://webstore.ansi.org/ansidocstore/default.asp</a>.
+
+ <li><a name="reference2">D.</a> Abrahams, <i>Exception Safety in
+ STLport</i>, available at <a href=
+ "http://www.stlport.org/doc/exception_safety.html">http://www.stlport.org/doc/exception_safety.html</a>.
+
+ <li><a name="reference3">D.</a> Abrahams and B. Fomitchev, <i>Exception
+ Handling Test Suite</i>, available at <a href=
+ "http://www.stlport.org/doc/eh_testsuite.html">http://www.stlport.org/doc/eh_testsuite.html</a>.
+
+ <li><a name="reference4">Tom</a> Cargill, ``Exception Handling:
+ A False Sense of Security,'' C++ Report, Nov-Dec 1994, also
+ available at <a href=
+ "http://www.awprofessional.com/content/images/020163371x/supplements/Exception_Handling_Article.html">http://www.awprofessional.com/content/images/020163371x/supplements/Exception_Handling_Article.html</a>.
+
+ <li><a name="reference5">B.</a> Fomitchev, <i>Adapted SGI STL Version
+ 1.0</i>, with exception handling code by D. Abrahams, available at <a
+ href="http://www.stlport.org">http://www.stlport.org</a>.
+
+ <li><a name="reference6">D.</a> R. Musser, ``Introspective Sorting
+ and Selection Algorithms,'' <i>Software-Practice and Experience</i>
+ 27(8):983-993, 1997.
+
+ <li><a name="reference7">Bjarne</a> Stroustrup, <i>The Design And
+ Evolution of C++</i>. Addison Wesley, Reading, MA, 1995, ISBN
+ 0-201-54330-3, Section 16.9.1.
+ </ol>
+
+ <h2>Footnotes</h2>
+
+ <p><a name="footnote1">1</a> Probably the greatest impediment to a solution
+ in Cargill's case was an unfortunate combination of choices on his part:
+ the interface he chose for his container was incompatible with his
+ particular demands for safety. By changing either one he might have solved
+ the problem.
+
+ <p><a name="footnote2">2</a> It is usually inadvisable to throw an
+ exception from a destructor in C++, since the destructor may itself be
+ called during the stack-unwinding caused by another exception. If the
+ second exception is allowed to propagate beyond the destructor, the program
+ is immediately terminated.
+
+ <p><a name="footnote3">3</a> In practice of course, this function would
+ make an extremely poor random sequence generator!
+
+ <p><a name="footnote4">4</a> It is worth noting that mutating algorithms
+ usually cannot provide the <i>strong</i> guarantee: to roll back a modified
+ element of a range, it must be set back to its previous value using
+ <code>operator=</code>, which itself might throw. In the C++ standard
+ library, there are a few exceptions to this rule, whose rollback behavior
+ consists only of destruction: <code>uninitialized_copy</code>,
+ <code>uninitialized_fill</code>, and <code>uninitialized_fill_n</code>.
+
+ <p><a name="footnote5">5</a> All type parameters supplied by clients of the
+ C++ standard library are required not to throw from their destructors. In
+ return, all components of the C++ standard library provide at least the
+ <i>basic</i> guarantee.
+
+ <p><a name="footnote6">6</a> Similar arrangements might have been made in
+ the C++ standard for many of the mutating algorithms, but were never
+ considered due to time constraints on the standardization process.
+
+ <p><a name="footnote7">7</a> Associative containers whose
+ <code>Compare</code> object might throw an exception when copied cannot use
+ this technique, since the swap function might fail.
+
+ <p><a name="footnote8">8</a> This suggests another potential use for the
+ oft-wished-for but as yet unseen <code>container_traits&lt;&gt;</code>
+ template: automated container selection to meet exception-safety
+ constraints.
+
+ <p><a name="footnote9">9</a> One might be tempted to surround the erase
+ operation with a <code>try</code>/<code>catch</code> block to reduce the
+ requirements on <code>set&lt;T&gt;</code> and the problems that arise in
+ case of an exception, but in the end that just begs the question. First,
+ erase just failed and in this case there are no viable alternative ways to
+ produce the necessary result. Second and more generally, because of the
+ variability of its type parameters a generic component can seldom be
+ assured that any alternatives will succeed.
+
+ <p><a name="footnote10">10</a> The prevalent philosophy in the design of
+ STL was that functionality that wasn't essential to all uses should be left
+ out in favor of efficiency, as long as that functionality could be obtained
+ when needed by adapting the base components. This departs from that
+ philosophy, but it would be difficult or impossible to obtain even the
+ <i>basic</i> guarantee by adapting a base component that doesn't already
+ have it.
+
+ <p><a name="footnote11">11</a> An excellent discussion on how to fortify
+ memory subsystems can be found in: Steve Maguire, Writing Solid Code,
+ Microsoft Press, Redmond, WA, 1993, ISBN 1-55615- 551-4.
+
+ <p><a name="footnote12">12</a> Note that this technique requires that the
+ operation being tested be exception-neutral. If the operation ever tries to
+ recover from an exception and proceed, the throw counter will be negative,
+ and subsequent operations that might fail will not be tested for
+ exception-safety.
+
+ <p><a name="footnote13">13</a> The changes to the draft standard which
+ introduced exception-safety were made late in the process, when amendments
+ were likely to be rejected solely on the basis of the number of altered
+ words. Unfortunately, the result compromises clarity somewhat in favor of
+ brevity. Greg Colvin was responsible for the clever language-lawyering
+ needed to minimize the extent of these changes.
diff --git a/more/generic_programming.html b/more/generic_programming.html
new file mode 100644
index 0000000000..4006655e91
--- /dev/null
+++ b/more/generic_programming.html
@@ -0,0 +1,474 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
+
+<html>
+ <head>
+ <meta name="generator" content=
+ "HTML Tidy for Cygwin (vers 1st April 2002), see www.w3.org">
+ <meta http-equiv="Content-Type" content=
+ "text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+
+ <title>Generic Programming Techniques</title>
+ </head>
+
+ <body bgcolor="#FFFFFF" text="#000000">
+ <img src="../boost.png" alt="boost.png (6897 bytes)" align="center"
+ width="277" height="86">
+
+ <h1>Generic Programming Techniques</h1>
+
+ <p>This is an incomplete survey of some of the generic programming
+ techniques used in the <a href="../index.htm">boost</a> libraries.</p>
+
+ <h2>Table of Contents</h2>
+
+ <ul>
+ <li><a href="#introduction">Introduction</a></li>
+
+ <li><a href="#concept">The Anatomy of a Concept</a></li>
+
+ <li><a href="#traits">Traits</a></li>
+
+ <li><a href="#tag_dispatching">Tag Dispatching</a></li>
+
+ <li><a href="#adaptors">Adaptors</a></li>
+
+ <li><a href="#type_generator">Type Generators</a></li>
+
+ <li><a href="#object_generator">Object Generators</a></li>
+
+ <li><a href="#policy">Policy Classes</a></li>
+ </ul>
+
+ <h2><a name="introduction">Introduction</a></h2>
+
+ <p>Generic programming is about generalizing software components so that
+ they can be easily reused in a wide variety of situations. In C++, class
+ and function templates are particularly effective mechanisms for generic
+ programming because they make the generalization possible without
+ sacrificing efficiency.</p>
+
+ <p>As a simple example of generic programming, we will look at how one
+ might generalize the <tt>memcpy()</tt> function of the C standard
+ library. An implementation of <tt>memcpy()</tt> might look like the
+ following:<br>
+ <br>
+ </p>
+
+ <blockquote>
+<pre>
+void* memcpy(void* region1, const void* region2, size_t n)
+{
+ const char* first = (const char*)region2;
+ const char* last = ((const char*)region2) + n;
+ char* result = (char*)region1;
+ while (first != last)
+ *result++ = *first++;
+ return result;
+}
+</pre>
+ </blockquote>
+ The <tt>memcpy()</tt> function is already generalized to some extent by
+ the use of <tt>void*</tt> so that the function can be used to copy arrays
+ of different kinds of data. But what if the data we would like to copy is
+ not in an array? Perhaps it is in a linked list. Can we generalize the
+ notion of copy to any sequence of elements? Looking at the body of
+ <tt>memcpy()</tt>, the function's <b><i>minimal requirements</i></b> are
+ that it needs to <i>traverse</i> through the sequence using some sort
+ of pointer, <i>access</i> elements pointed to, <i>write</i> the elements
+ to the destination, and <i>compare</i> pointers to know when to stop. The
+ C++ standard library groups requirements such as these into
+ <b><i>concepts</i></b>, in this case the <a href=
+ "http://www.sgi.com/tech/stl/InputIterator.html">Input Iterator</a>
+ concept (for <tt>region2</tt>) and the <a href=
+ "http://www.sgi.com/tech/stl/OutputIterator.html">Output Iterator</a>
+ concept (for <tt>region1</tt>).
+
+ <p>If we rewrite the <tt>memcpy()</tt> as a function template, and use
+ the <a href="http://www.sgi.com/tech/stl/InputIterator.html">Input
+ Iterator</a> and <a href=
+ "http://www.sgi.com/tech/stl/OutputIterator.html">Output Iterator</a>
+ concepts to describe the requirements on the template parameters, we can
+ implement a highly reusable <tt>copy()</tt> function in the following
+ way:<br>
+ <br>
+ </p>
+
+ <blockquote>
+<pre>
+template &lt;typename InputIterator, typename OutputIterator&gt;
+OutputIterator
+copy(InputIterator first, InputIterator last, OutputIterator result)
+{
+ while (first != last)
+ *result++ = *first++;
+ return result;
+}
+</pre>
+ </blockquote>
+
+ <p>Using the generic <tt>copy()</tt> function, we can now copy elements
+ from any kind of sequence, including a linked list that exports iterators
+ such as <tt>std::<a href=
+ "http://www.sgi.com/tech/stl/List.html">list</a></tt>.<br>
+ <br>
+ </p>
+
+ <blockquote>
+<pre>
+#include &lt;list&gt;
+#include &lt;vector&gt;
+#include &lt;iostream&gt;
+
+int main()
+{
+ const int N = 3;
+ std::vector&lt;int&gt; region1(N);
+ std::list&lt;int&gt; region2;
+
+ region2.push_back(1);
+ region2.push_back(0);
+ region2.push_back(3);
+
+ std::copy(region2.begin(), region2.end(), region1.begin());
+
+ for (int i = 0; i &lt; N; ++i)
+ std::cout &lt;&lt; region1[i] &lt;&lt; " ";
+ std::cout &lt;&lt; std::endl;
+}
+</pre>
+ </blockquote>
+
+ <h2><a name="concept">Anatomy of a Concept</a></h2>
+ A <b><i>concept</i></b> is a set requirements, where the requirements
+ consist of valid expressions, associated types, invariants, and
+ complexity guarantees. A type that satisfies the set of requirements is
+ said to <b><i>model</i></b> the concept. A concept can extend the
+ requirements of another concept, which is called
+ <b><i>refinement</i></b>.
+
+ <ul>
+ <li><a name="valid_expression"><b>Valid Expressions</b></a> are C++
+ expressions which must compile successfully for the objects involved in
+ the expression to be considered <i>models</i> of the concept.</li>
+
+ <li><a name="associated_type"><b>Associated Types</b></a> are types
+ that are related to the modeling type in that they participate in one
+ or more of the valid expressions. Typically associated types can be
+ accessed either through typedefs nested within a class definition for
+ the modeling type, or they are accessed through a <a href=
+ "#traits">traits class</a>.</li>
+
+ <li><b>Invariants</b> are run-time characteristics of the objects that
+ must always be true, that is, the functions involving the objects must
+ preserve these characteristics. The invariants often take the form of
+ pre-conditions and post-conditions.</li>
+
+ <li><b>Complexity Guarantees</b> are maximum limits on how long the
+ execution of one of the valid expressions will take, or how much of
+ various resources its computation will use.</li>
+ </ul>
+
+ <p>The concepts used in the C++ Standard Library are documented at the <a
+ href="http://www.sgi.com/tech/stl/table_of_contents.html">SGI STL
+ site</a>.</p>
+
+ <h2><a name="traits">Traits</a></h2>
+
+ <p>A traits class provides a way of associating information with a
+ compile-time entity (a type, integral constant, or address). For example,
+ the class template <tt><a href=
+ "http://www.sgi.com/tech/stl/iterator_traits.html">std::iterator_traits&lt;T&gt;</a></tt>
+ looks something like this:</p>
+
+ <blockquote>
+<pre>
+template &lt;class Iterator&gt;
+struct iterator_traits {
+ typedef ... iterator_category;
+ typedef ... value_type;
+ typedef ... difference_type;
+ typedef ... pointer;
+ typedef ... reference;
+};
+</pre>
+ </blockquote>
+ The traits' <tt>value_type</tt> gives generic code the type which the
+ iterator is "pointing at", while the <tt>iterator_category</tt> can be
+ used to select more efficient algorithms depending on the iterator's
+ capabilities.
+
+ <p>A key feature of traits templates is that they're
+ <i>non-intrusive</i>: they allow us to associate information with
+ arbitrary types, including built-in types and types defined in
+ third-party libraries, Normally, traits are specified for a particular
+ type by (partially) specializing the traits template.</p>
+
+ <p>For an in-depth description of <tt>std::iterator_traits</tt>, see <a
+ href="http://www.sgi.com/tech/stl/iterator_traits.html">this page</a>
+ provided by SGI. Another very different expression of the traits idiom in
+ the standard is <tt>std::numeric_limits&lt;T&gt;</tt> which provides
+ constants describing the range and capabilities of numeric types.</p>
+
+ <h2><a name="tag_dispatching">Tag Dispatching</a></h2>
+
+ <p>Tag dispatching is a way of using function overloading to
+ dispatch based on properties of a type, and is often used hand in
+ hand with traits classes. A good example of this synergy is the
+ implementation of the <a href=
+ "http://www.sgi.com/tech/stl/advance.html"><tt>std::advance()</tt></a>
+ function in the C++ Standard Library, which increments an iterator
+ <tt>n</tt> times. Depending on the kind of iterator, there are different
+ optimizations that can be applied in the implementation. If the iterator
+ is <a href="http://www.sgi.com/tech/stl/RandomAccessIterator.html">random
+ access</a> (can jump forward and backward arbitrary distances), then the
+ <tt>advance()</tt> function can simply be implemented with <tt>i +=
+ n</tt>, and is very efficient: constant time. Other iterators must be
+ <tt>advance</tt>d in steps, making the operation linear in n. If the
+ iterator is <a href=
+ "http://www.sgi.com/tech/stl/BidirectionalIterator.html">bidirectional</a>,
+ then it makes sense for <tt>n</tt> to be negative, so we must decide
+ whether to increment or decrement the iterator.</p>
+
+ <p>The relation between tag dispatching and traits classes is that the
+ property used for dispatching (in this case the
+ <tt>iterator_category</tt>) is often accessed through a traits class. The
+ main <tt>advance()</tt> function uses the <a href=
+ "http://www.sgi.com/tech/stl/iterator_traits.html"><tt>iterator_traits</tt></a>
+ class to get the <tt>iterator_category</tt>. It then makes a call the the
+ overloaded <tt>advance_dispatch()</tt> function. The appropriate
+ <tt>advance_dispatch()</tt> is selected by the compiler based on whatever
+ type the <tt>iterator_category</tt> resolves to, either <a href=
+ "http://www.sgi.com/tech/stl/input_iterator_tag.html"><tt>input_iterator_tag</tt></a>,
+ <a href=
+ "http://www.sgi.com/tech/stl/bidirectional_iterator_tag.html"><tt>bidirectional_iterator_tag</tt></a>,
+ or <a href=
+ "http://www.sgi.com/tech/stl/random_access_iterator_tag.html"><tt>random_access_iterator_tag</tt></a>.
+ A <b><i>tag</i></b> is simply a class whose only purpose is to convey
+ some property for use in tag dispatching and similar techniques. Refer to
+ <a href="http://www.sgi.com/tech/stl/iterator_tags.html">this page</a>
+ for a more detailed description of iterator tags.</p>
+
+ <blockquote>
+<pre>
+namespace std {
+ struct input_iterator_tag { };
+ struct bidirectional_iterator_tag { };
+ struct random_access_iterator_tag { };
+
+ namespace detail {
+ template &lt;class InputIterator, class Distance&gt;
+ void advance_dispatch(InputIterator&amp; i, Distance n, <b>input_iterator_tag</b>) {
+ while (n--) ++i;
+ }
+
+ template &lt;class BidirectionalIterator, class Distance&gt;
+ void advance_dispatch(BidirectionalIterator&amp; i, Distance n,
+ <b>bidirectional_iterator_tag</b>) {
+ if (n &gt;= 0)
+ while (n--) ++i;
+ else
+ while (n++) --i;
+ }
+
+ template &lt;class RandomAccessIterator, class Distance&gt;
+ void advance_dispatch(RandomAccessIterator&amp; i, Distance n,
+ <b>random_access_iterator_tag</b>) {
+ i += n;
+ }
+ }
+
+ template &lt;class InputIterator, class Distance&gt;
+ void advance(InputIterator&amp; i, Distance n) {
+ typename <b>iterator_traits&lt;InputIterator&gt;::iterator_category</b> category;
+ detail::advance_dispatch(i, n, <b>category</b>);
+ }
+}
+</pre>
+ </blockquote>
+
+ <h2><a name="adaptors">Adaptors</a></h2>
+
+ <p>An <i>adaptor</i> is a class template which builds on another type or
+ types to provide a new interface or behavioral variant. Examples of
+ standard adaptors are <a href=
+ "http://www.sgi.com/tech/stl/ReverseIterator.html">std::reverse_iterator</a>,
+ which adapts an iterator type by reversing its motion upon
+ increment/decrement, and <a href=
+ "http://www.sgi.com/tech/stl/stack.html">std::stack</a>, which adapts a
+ container to provide a simple stack interface.</p>
+
+ <p>A more comprehensive review of the adaptors in the standard can be
+ found <a href="http://portal.acm.org/citation.cfm?id=249118.249120">
+ here</a>.</p>
+
+ <h2><a name="type_generator">Type Generators</a></h2>
+
+ <p><b>Note:</b> The <i>type generator</i> concept has largely been
+ superseded by the more refined notion of a <a href=
+ "../libs/mpl/doc/refmanual/metafunction.html"><i>metafunction</i></a>. See
+ <i><a href="http://www.boost-consulting.com/mplbook">C++ Template
+ Metaprogramming</a></i> for an in-depth discussion of metafunctions.</p>
+
+ <p>A <i>type generator</i> is a template whose only purpose is to
+ synthesize a new type or types based on its template argument(s)<a href=
+ "#1">[1]</a>. The generated type is usually expressed as a nested typedef
+ named, appropriately <tt>type</tt>. A type generator is usually used to
+ consolidate a complicated type expression into a simple one. This example
+ uses an old version of <tt><a href=
+ "../libs/iterator/doc/iterator_adaptor.html">iterator_adaptor</a></tt>
+ whose design didn't allow derived iterator types. As a result, every
+ adapted iterator had to be a specialization of <tt>iterator_adaptor</tt>
+ itself and generators were a convenient way to produce those types.</p>
+
+ <blockquote>
+<pre>
+template &lt;class Predicate, class Iterator,
+ class Value = <i>complicated default</i>,
+ class Reference = <i>complicated default</i>,
+ class Pointer = <i>complicated default</i>,
+ class Category = <i>complicated default</i>,
+ class Distance = <i>complicated default</i>
+ &gt;
+struct filter_iterator_generator {
+ typedef iterator_adaptor&lt;
+
+ Iterator,filter_iterator_policies&lt;Predicate,Iterator&gt;,
+ Value,Reference,Pointer,Category,Distance&gt; <b>type</b>;
+};
+</pre>
+ </blockquote>
+
+ <p>Now, that's complicated, but producing an adapted filter iterator
+ using the generator is much easier. You can usually just write:</p>
+
+ <blockquote>
+<pre>
+boost::filter_iterator_generator&lt;my_predicate,my_base_iterator&gt;::type
+</pre>
+ </blockquote>
+
+ <h2><a name="object_generator">Object Generators</a></h2>
+
+ <p>An <i>object generator</i> is a function template whose only purpose
+ is to construct a new object out of its arguments. Think of it as a kind
+ of generic constructor. An object generator may be more useful than a
+ plain constructor when the exact type to be generated is difficult or
+ impossible to express and the result of the generator can be passed
+ directly to a function rather than stored in a variable. Most Boost
+ object generators are named with the prefix "<tt>make_</tt>", after
+ <tt>std::<a href=
+ "http://www.sgi.com/tech/stl/pair.html">make_pair</a>(const&nbsp;T&amp;,&nbsp;const&nbsp;U&amp;)</tt>.</p>
+
+ <p>For example, given:</p>
+
+ <blockquote>
+<pre>
+struct widget {
+ void tweak(int);
+};
+std::vector&lt;widget *&gt; widget_ptrs;
+</pre>
+ </blockquote>
+ By chaining two standard object generators, <tt>std::<a href=
+ "http://www.dinkumware.com/htm_cpl/functio2.html#bind2nd">bind2nd</a>()</tt>
+ and <tt>std::<a href=
+ "http://www.dinkumware.com/htm_cpl/functio2.html#mem_fun">mem_fun</a>()</tt>,
+ we can easily tweak all widgets:
+
+ <blockquote>
+<pre>
+void tweak_all_widgets1(int arg)
+{
+ for_each(widget_ptrs.begin(), widget_ptrs.end(),
+ <b>bind2nd</b>(std::<b>mem_fun</b>(&amp;widget::tweak), arg));
+}
+</pre>
+ </blockquote>
+
+ <p>Without using object generators the example above would look like
+ this:</p>
+
+ <blockquote>
+<pre>
+void tweak_all_widgets2(int arg)
+{
+ for_each(struct_ptrs.begin(), struct_ptrs.end(),
+ <b>std::binder2nd&lt;std::mem_fun1_t&lt;void, widget, int&gt; &gt;</b>(
+ std::<b>mem_fun1_t&lt;void, widget, int&gt;</b>(&amp;widget::tweak), arg));
+}
+</pre>
+ </blockquote>
+
+ <p>As expressions get more complicated the need to reduce the verbosity
+ of type specification gets more compelling.</p>
+
+ <h2><a name="policy">Policy Classes</a></h2>
+
+ <p>A policy class is a template parameter used to transmit behavior. An
+ example from the standard library is <tt>std::<a href=
+ "http://www.dinkumware.com/htm_cpl/memory.html#allocator">allocator</a></tt>,
+ which supplies memory management behaviors to standard <a href=
+ "http://www.sgi.com/tech/stl/Container.html">containers</a>.</p>
+
+ <p>Policy classes have been explored in detail by <a href=
+ "http://www.moderncppdesign.com/">Andrei Alexandrescu</a> in <a href=
+ "http://www.informit.com/articles/article.asp?p=167842">this chapter</a>
+ of his book, <i>Modern C++ Design</i>. He writes:</p>
+
+ <blockquote>
+ <p>In brief, policy-based class design fosters assembling a class with
+ complex behavior out of many little classes (called policies), each of
+ which takes care of only one behavioral or structural aspect. As the
+ name suggests, a policy establishes an interface pertaining to a
+ specific issue. You can implement policies in various ways as long as
+ you respect the policy interface.</p>
+
+ <p>Because you can mix and match policies, you can achieve a
+ combinatorial set of behaviors by using a small core of elementary
+ components.</p>
+ </blockquote>
+
+ <p>Andrei's description of policy classes suggests that their power is
+ derived from granularity and orthogonality. Less-granular policy
+ interfaces have been shown to work well in practice, though. <a href=
+ "http://cvs.sourceforge.net/viewcvs.py/*checkout*/boost/boost/libs/utility/Attic/iterator_adaptors.pdf">
+ This paper</a> describes an old version of <tt><a href=
+ "../libs/iterator/doc/iterator_adaptor.html">iterator_adaptor</a></tt>
+ that used non-orthogonal policies. There is also precedent in the
+ standard library: <tt><a href=
+ "http://www.dinkumware.com/htm_cpl/string2.html#char_traits">std::char_traits</a></tt>,
+ despite its name, acts as a policies class that determines the behaviors
+ of <a href=
+ "http://www.dinkumware.com/htm_cpl/string2.html#basic_string">std::basic_string</a>.</p>
+
+ <h2>Notes</h2>
+ <a name="1">[1]</a> Type generators are sometimes viewed as a workaround
+ for the lack of ``templated typedefs'' in C++.
+ <hr>
+
+ <p>Revised
+ <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan -->18
+ August 2004<!--webbot bot="Timestamp" endspan i-checksum="14885" -->
+ </p>
+
+ <p>&copy; Copyright David Abrahams 2001. Permission to copy, use, modify,
+ sell and distribute this document is granted provided this copyright
+ notice appears in all copies. This document is provided "as is" without
+ express or implied warranty, and with no claim as to its suitability for
+ any purpose.
+ <!-- LocalWords: HTML html charset gif alt htm struct SGI namespace std libs
+ -->
+
+ <!-- LocalWords: InputIterator BidirectionalIterator RandomAccessIterator pdf
+ -->
+
+ <!-- LocalWords: typename Alexandrescu templated Andrei's Abrahams memcpy int
+ -->
+ <!-- LocalWords: const OutputIterator iostream pre cpl
+ -->
+ </p>
+ </body>
+</html>
+
diff --git a/more/getting_started.html b/more/getting_started.html
new file mode 100644
index 0000000000..b6bf5cc303
--- /dev/null
+++ b/more/getting_started.html
@@ -0,0 +1,1555 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<html>
+<head>
+ <title>Getting Started</title>
+ <meta content="HTML Tidy for Cygwin (vers 1st April 2002), see www.w3.org"
+ name="generator">
+ <meta content="Microsoft FrontPage 5.0" name="generator">
+ <meta http-equiv="Content-Language" content="en-us">
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <link href="../boost.css" type="text/css" rel="stylesheet">
+</head>
+
+<body text="#000000" bgcolor="#FFFFFF">
+ <table cellspacing="0" cellpadding="0" width="100%" summary="" border="0">
+ <tr valign="top">
+ <td valign="top" align="left"><img height="86" alt=
+ "boost.png (6897 bytes)" src="../boost.png" width="277"></td>
+
+ <td valign="top" align="right">
+ <table cellspacing="0" cellpadding="2" summary="" border="1">
+ <tr>
+ <td>
+ <table cellspacing="0" cellpadding="2" summary="" border="0">
+ <tr>
+ <td bgcolor="#DDDDDD">
+ <p>.&nbsp;<a href="../index.htm">Home</a><br>
+ .&nbsp;<a href="../libs/libraries.htm">Libraries</a><br>
+ .&nbsp;<a href="../people/people.htm">People</a><br>
+ .&nbsp;<a href="faq.htm">FAQ</a><br>
+ .&nbsp;<a href="index.htm">More</a></p>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+
+ <h1>Getting Started</h1>
+
+ <ul>
+ <li><a href="#Introduction">Introduction</a></li>
+
+ <li>
+ <a href="#Download">Download</a>
+
+ <ul>
+ <li><a href="#.zip">.zip file</a></li>
+
+ <li><a href="#.tar.gz">.tar.gz and .tar.bz2 files</a></li>
+
+ <li><a href="#CVS">Boost CVS Repository</a></li>
+ </ul>
+ </li>
+
+ <li>
+ <a href="#Preparation">Preparation</a>
+
+ <ul>
+ <li><a href="#Configuring">Configuring the tools</a></li>
+
+ <li><a href="#Tools">Supported Toolsets</a></li>
+ </ul>
+ </li>
+
+ <li><a href="#Build_Install">Build and Install</a></li>
+
+ <li><a href="#Results">Results</a></li>
+
+ <li><a href="#auto-link">Automatic Linking on Windows</a></li>
+
+ <li><a href="#Additional_Steps">Additional Steps</a></li>
+ </ul>
+
+ <h2><a id="Introduction" name="Introduction">Introduction</a></h2>
+
+ <p>These instructions are intended to help you get started using the Boost
+ Libraries. This walks you through getting, building, and installing the
+ libraries. To summarize these are the steps to get Boost built and
+ installed:</p>
+
+ <ol>
+ <li><a href="#step1">Download Boost</a>.</li>
+
+ <li><a href="#step2">Install Boost.Jam</a>.</li>
+
+ <li><a href="#step3">Configure your compiler toolset</a>.</li>
+
+ <li><a href="#step4">Go to Boost distribution directory</a>.</li>
+
+ <li><a href="#step5">Build and install</a>.</li>
+ </ol>
+
+ <h2><a id="Download" name="Download"></a>Download</h2>
+
+ <table cellspacing="2" cellpadding="2" width="100%" summary="" border="0">
+ <tr valign="top" align="left">
+ <td valign="top" align="center" width="40" bgcolor="#FFFF66">
+ <font size="6"><b><a id="step1" name="step1"></a>1</b></font></td>
+
+ <td>The Boost Libraries are distributed through the SourceForge file
+ distribution system. Click here to <b><a href=
+ "http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041">
+ <font size="4">download releases from SourceForge</font></a></b>. And
+ unpack the release to a convenient location.</td>
+ </tr>
+ </table>
+
+ <p>The Boost release includes all of the libraries and other material from
+ the web site. It is available in <a href="#.zip">ZIP</a>, <a href=
+ "#.tar.gz">TAR.GZ</a>, and <a href="#.tar.gz">TAR.BZ2</a> formats. Past
+ releases are also available.</p>It is also possible to download current
+ snapshots of work-in-progress from Boost's <a href="#CVS">CVS
+ repository</a>.
+
+ <h3><a id="zip" name=".zip">.zip</a> file</h3>The .zip format is widely
+ supported by both free decoders and commercial compress/archive utilities.
+ If you don't already have a .zip file decoder, download one from the
+ <a href="http://www.info-zip.org/">Info-ZIP</a> web site, which supplies
+ versions for many operating systems.
+
+ <p>Text file line endings in the .zip file are as supplied by each library
+ developer.&nbsp; This works fine for Windows, but not for Unix/Linux.&nbsp;
+ The .tar.gz and .tar.bz2 files supply Unix/Linux friendly line endings.</p>
+
+ <h3><a id="tar_gz" name=".tar.gz">.tar.gz</a> and .tar.bz2 files</h3>
+
+ <p>The .tar.gz format is widely supported on Unix/Linux platforms. Some
+ Windows compress/archive utilities can read the format as well.&nbsp;
+ Because the gzip format compresses the archive as a single file rather than
+ compressing each file individually, the .tar.gz file is smaller that the
+ .zip file.</p>
+
+ <p>The .tar.bz2 format is becoming widely available on Unix/Linux platforms
+ and is built into many tar utilities. This format differs for the .tar.gz
+ format in the compression used, which is considerably better and therefore
+ creates smaller files.</p>
+
+ <p>Text file line endings in the .tar.gz and .tar.bz2 files have been
+ converted to newlines for ease of use on Unix/Linux platforms.</p>
+
+ <h3>Boost <a id="CVS" name="CVS">CVS</a> Repository</h3>
+
+ <p>All Boost files, including the entire distribution tree including web
+ site HTML is maintained in a CVS repository. Command line, GUI, or browser
+ access is available.</p>
+
+ <h4>Boost CVS access via command line or graphical clients</h4>For those
+ who have CVS clients installed, the libraries are also available from the
+ public <a href="http://sourceforge.net/cvs/?group_id=7586">Boost CVS
+ repository</a>. Free command line clients (often already installed on
+ Linux/Unix systems) are available for many systems, and free GUI clients
+ are available for Windows, Mac, and other systems.
+
+ <p>See the much improved <a href=
+ "http://sourceforge.net/docman/?group_id=1">CVS documentation</a> (Section
+ F) from SourceForge, which includes links to the home pages for various GUI
+ and command line clients.</p>
+
+ <p>The general procedure for command-line clients is something like
+ this:</p>
+
+ <blockquote>
+ <code>cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/boost
+ login</code><br>
+ [Hit &lt;return&gt; when it asks for a password]<br>
+ <code>cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/boost
+ checkout boost</code><br>
+ <code>cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/boost
+ logout</code>
+ </blockquote>Read the manual for your CVS client for further information.
+
+ <p>This access is read-only; if you are a library author and wish to have
+ CVS write access, please contact one of the <a href=
+ "moderators.html">moderators</a>.</p>
+
+ <h4>Boost CVS access via web <a id="Browser" name=
+ "Browser">Browser</a></h4>For access to the CVS archive from any modern web
+ browser, you can also use the <a href=
+ "http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/boost/boost/">web
+ browser&nbsp; interface</a>.&nbsp; Try one of the color diffs to see how a
+ file has changed over time. <b>Note:</b> this interface is only suitable
+ for viewing individual files and their revision histories.
+
+ <h4><a id="generated" name="generated">Documentation</a> generated from
+ BoostBook in CVS</h4>
+
+ <p>Some of the Boost documentation is generated from <a href=
+ "../doc/html/boostbook.html">BoostBook XML</a> source stored in the CVS
+ repository, and will not appear directly in the CVS tree as readable HTML.
+ View a nightly build of the generated HTML on the <a href=
+ "http://www.boost.org/regression-logs/cs-win32_metacomm/doc/html/libraries.html">
+ Nightly Generated Documentation</a> page. Where generated HTML is missing
+ from the CVS tree, an attempt has been made to include redirection to this
+ nightly build, but if you are away from an internet connection you may want
+ to download the generated documentation archive from the aforementioned
+ page so you can browse those documents offline.</p>
+
+ <h2><a id="Preparation" name="Preparation"></a>Preparation</h2>
+
+ <p>The recommended way to build and install the Boost Libraries is to use
+ <a href="../tools/build/v1/build_system.htm">Boost.Build</a>, the Boost
+ Build system. The rest of these instructions explain that use, but it is up
+ to you to use this method, or not. Note that some of the libraries also
+ include non Boost.Build makefiles and/or project files. But all include the
+ needed files for building with Boost.Build.</p>
+
+ <table cellspacing="2" cellpadding="2" width="100%" summary="" border="0">
+ <tr valign="top" align="left">
+ <td valign="top" align="center" width="40" bgcolor="#FFFF66">
+ <font size="6"><b><a id="step2" name="step2"></a>2</b></font></td>
+
+ <td>The build system uses <a href=
+ "../tools/build/jam_src/index.html">Boost.Jam</a>, an extension of the
+ <a href="http://www.perforce.com/jam/jam.html">Perforce Jam</a>
+ portable <i>make</i> replacement. The recommended way to get Boost.Jam
+ if you are using a Boost distribution is to <strong><a href=
+ "http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=72941">
+ download a prebuilt executable</a></strong> from SourceForge. If a
+ prebuilt executable is not provided for your platform or you are using
+ Boost's sources in an unreleased state, it may be necessary to <a href=
+ "../tools/build/jam_src/index.html#building_bjam">build <tt>bjam</tt>
+ from sources</a> included in the Boost source tree. To install
+ Boost.Jam, copy the <tt>bjam</tt> executable to a location accessible
+ in your <tt>PATH</tt>.</td>
+ </tr>
+ </table>
+
+ <h3><a id="Configuring" name="Configuring">Configuring the tools</a></h3>
+
+ <p>Before using Boost.Build you will need to configure the compiler tools
+ you are using. The build system's toolsets are designed to work in either
+ of two ways:</p>
+
+ <ol>
+ <li>The user sets up all of the environment for each toolset he wants to
+ use in the normal way. For example, for Microsoft VC++, ...VC98/Bin or
+ .../VC7/Bin is in the PATH environment variable, VCVARS32.BAT or
+ VSVARS32.BAT has been invoked, etc. For Metrowerks CodeWarrior, cwenv.bat
+ or equivalent has been called and ...Other Metrowerks Tools/Command Line
+ Tools is in the path. Many Unix operating systems come preconfigured this
+ way and require no user intervention.<br>
+ <br></li>
+
+ <li>The user doesn't want his environment cluttered with settings or has
+ nonstandard installations for some of his tools. Instead, he or she sets
+ variables which point to the toolset installation directories, either in
+ the command shell environment or on the <code>bjam</code> command-line.
+ These variables are used by the build system to locate the tools and
+ invoke the necessary setup. To set the variables on the <tt>bjam</tt>
+ command-line you use the "<tt>-s</tt>" option. For example:<br>
+ <br>
+ <tt>bjam "-sGCC_ROOT_DIRECTORY=/usr/local/gcc-3.3.2"</tt><br>
+ <br>
+ Some variables, like the toolset <tt>TOOLS</tt> variable, can accept
+ multiple values separated by spaces. Others, like the path above, can
+ contain spaces. For such circumstances you should use quotes appropriate
+ for your command interpreter.<br></li>
+ </ol>
+
+ <h3><a id="Tools" name="Tools">Supported Toolsets</a></h3>
+
+ <table cellspacing="2" cellpadding="2" width="100%" summary="" border="0">
+ <tr valign="top" align="left">
+ <td valign="top" align="center" width="40" bgcolor="#FFFF66">
+ <font size="6"><b><a id="step3" name="step3"></a>3</b></font></td>
+
+ <td>The following toolsets are supported by Boost.Build. For
+ information about <a href="#Configuring">configuring</a> each toolset,
+ click its name in the leftmost column.</td>
+ </tr>
+ </table><br>
+
+ <table cellpadding="5" summary="" border="1">
+ <tr>
+ <td><b>TOOLS Name</b></td>
+
+ <td><b>Description</b></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/borland-tools.html"><code>borland</code></a></td>
+
+ <td><a href=
+ "http://www.borland.com/bcppbuilder/freecompiler">Borland</a> C++</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/como-tools.html"><code>como</code></a></td>
+
+ <td><a href="http://www.comeaucomputing.com">Comeau C++</a> compiler
+ front-end for non-Windows platforms</td>
+ </tr>
+
+ <tr>
+ <td><code><a href=
+ "../tools/build/v1/como-tools.html">como-win32</a></code></td>
+
+ <td><a href="http://www.comeaucomputing.com">Comeau C++</a> compiler
+ front-end for Windows, using Microsoft <a href=
+ "http://msdn.microsoft.com/visualc/">Visual C++</a>as a back-end.</td>
+ </tr>
+
+ <tr>
+ <td><a href="../tools/build/v1/cw-tools.html"><code>cw</code></a></td>
+
+ <td><a href="http://www.metrowerks.com">Metrowerks CodeWarrior</a> Pro
+ 6.x, 7.x, 8.x, and 9.x command-line tools</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/darwin-tools.html"><code>darwin</code></a></td>
+
+ <td>Apple Darwin OS hosted GNU <a href=
+ "http://developer.apple.com/tools/compilers.html">GCC</a></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/dmc-tools.html"><code>dmc</code></a></td>
+
+ <td><a href="http://www.digitalmars.com/">Digital Mars C++</a>.</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/dmc-stlport-tools.html"><code>dmc-stlport</code></a></td>
+
+ <td><a href="http://www.digitalmars.com/">Digital Mars C++</a>, using
+ the <a href="http://www.stlport.org">STLport</a> standard library
+ implementation</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/edg-tools.html"><code>edg</code></a></td>
+
+ <td><a href="http://www.edg.com/">Edison Design Group</a> compiler
+ front-end (evaluation version)</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/gcc-tools.html"><code>gcc</code></a></td>
+
+ <td><a href="http://gcc.gnu.org">GNU GCC</a> on Unix and <a href=
+ "http://www.cygwin.com">Cygwin</a>.</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/gcc-stlport-tools.html"><code>gcc-stlport</code></a></td>
+
+ <td><a href="http://gcc.gnu.org">GNU GCC</a> on Unix and <a href=
+ "http://www.cygwin.com">Cygwin</a>, using the <a href=
+ "http://www.stlport.org">STLport</a> standard library
+ implementation</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/gcc-nocygwin-tools.html"><code>gcc-nocygwin</code></a></td>
+
+ <td>GNU GCC Cygwin command line compiler tools running in "no-cygwin"
+ mode (produces commercially redistributable objects)</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/intel-linux-tools.html"><code>intel-linux</code></a></td>
+
+ <td><a href=
+ "http://www.intel.com/software/products/compilers/c60l/">Intel C++ for
+ Linux</a></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/intel-win32-tools.html"><code>intel-win32</code></a></td>
+
+ <td><a href=
+ "http://www.intel.com/software/products/compilers/c60/">Intel C++ for
+ Windows</a> using the Dinkumware standard library in the Intel-required
+ Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual C++</a> 6
+ or 7 installation</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/kcc-tools.html"><code>kcc</code></a></td>
+
+ <td>KAI C++</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/kylix-tools.html"><code>kylix</code></a></td>
+
+ <td><a href="http://www.borland.com/kylix">Borland C++ for Linux
+ (Kylix).</a></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/mingw-tools.html"><code>mingw</code></a></td>
+
+ <td>GNU GCC and associated tools in <a href=
+ "http://www.mingw.org">MinGW</a> configuration (produces commercially
+ redistributable objects)</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/mingw-stlport-tools.html"><code>mingw-stlport</code></a></td>
+
+ <td>GNU GCC and associated tools in <a href=
+ "http://www.mingw.org">MinGW</a> configuration (produces commercially
+ redistributable objects), using the <a href=
+ "http://www.stlport.org">STLport</a> standard library
+ implementation</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/mipspro-tools.html"><code>mipspro</code></a></td>
+
+ <td>SGI <a href=
+ "http://www.sgi.com/developers/devtools/languages/mipspro.html">MIPSpro
+ C and C++</a></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/msvc-tools.html"><code>msvc</code></a></td>
+
+ <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
+ C++</a> version 6 command-line tools. NOTE; For version 7.x (the .NET
+ series) use the vc7, vc-7_1, or vc-8_0 toolsets below.</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/msvc-stlport-tools.html"><code>msvc-stlport</code></a></td>
+
+ <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
+ C++</a> version 6 command-line tools, using the <a href=
+ "http://www.stlport.org">STLport</a> standard library implementation.
+ NOTE; For version 7.x (the .NET series) use the vc7-stlport or
+ vc-7_1-stlport toolsets below.</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/sunpro-tools.html"><code>sunpro</code></a></td>
+
+ <td><a href=
+ "http://wwws.sun.com/software/sundev/suncc/index.html">SunPRO C++</a>
+ compiler</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/tru64cxx-tools.html"><code>tru64cxx</code></a></td>
+
+ <td><a href="http://www.tru64unix.compaq.com/cplus/">Compaq C++</a> for
+ Tru64 UNIX (versions prior to 6.5)</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/tru64cxx-tools.html"><code>tru64cxx65</code></a></td>
+
+ <td><a href="http://www.tru64unix.compaq.com/cplus/">Compaq C++</a>
+ Version 6.5 for Tru64 UNIX</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/vacpp-tools.html"><code>vacpp</code></a></td>
+
+ <td><a href="http://www-3.ibm.com/software/ad/vacpp/">IBM Visual Age
+ C++</a> command-line tools</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/vc7-tools.html"><code>vc7</code></a></td>
+
+ <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
+ C++</a> command-line tools from Visual Studio .NET.</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/vc7-stlport-tools.html"><code>vc7-stlport</code></a></td>
+
+ <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
+ C++</a> command-line tools from Visual Studio .NET + STLPort.</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/vc-7_1-tools.html"><code>vc-7_1</code></a></td>
+
+ <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
+ C++</a> command-line tools from Visual Studio .NET 2003.</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/vc-7_1-stlport-tools.html"><code>vc-7_1-stlport</code></a></td>
+
+ <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
+ C++</a> command-line tools from Visual Studio .NET 2003 + STLPort.</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/vc-8_0-tools.html"><code>vc-8_0</code></a></td>
+
+ <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
+ C++</a> command-line tools from Visual Studio .NET 2005.</td>
+ </tr>
+ </table>
+
+ <h2><a id="Build_Install" name="Build_Install"></a>Build and Install</h2>
+
+ <p>The common build and install process is driven by the top-level build
+ file (<a href="../Jamfile">Jamfile</a>).</p>
+
+ <table cellspacing="2" cellpadding="2" width="100%" summary="" border="0">
+ <tr valign="top" align="left">
+ <td valign="top" align="center" width="40" bgcolor="#FFFF66">
+ <font size="6"><b><a id="step4" name="step4"></a>4</b></font></td>
+
+ <td>
+ <p>First you need to change to the directory where you have the Boost
+ distribution you downloaded. For example:</p>
+
+ <blockquote>
+ <p><code>chdir&nbsp;boost-1.31.0</code></p>
+ </blockquote>
+ </td>
+ </tr>
+ </table>
+
+ <p>The default build and install attempts to build all available libraries
+ and install to default locations the libraries and Boost header files. On
+ Unix systems the default install location is "<tt>/usr/local</tt>", and on
+ Windows systems the default is "<tt>C:\Boost</tt>". Within those
+ directories libraries are installed to the "<tt>lib</tt>" subdirectory, and
+ headers to an "<tt>include/boost-1_31</tt>" subdirectory, the version will
+ reflect the distribution you are installing.</p>
+
+ <table cellspacing="2" cellpadding="2" width="100%" summary="" border="0">
+ <tr valign="top" align="left">
+ <td valign="top" align="center" width="40" bgcolor="#FFFF66">
+ <font size="6"><b><a id="step5" name="step5"></a>5</b></font></td>
+
+ <td>
+ Invoke the build system, specifying the <a href=
+ "#Tools">toolset</a>(s) you wish to use, to build and install. For
+ example for GNU/GCC.
+
+ <blockquote>
+ <p><code>bjam&nbsp;"-sTOOLS=gcc" install</code></p>
+ </blockquote>
+
+ <p>Or if you are interested only in the built libraries you can have
+ them built and collected to a common directory without
+ installation.</p>
+
+ <blockquote>
+ <p><code>bjam&nbsp;"-sTOOLS=gcc" stage</code></p>
+ </blockquote>
+ </td>
+ </tr>
+ </table>
+
+ <p>The build and install system can be controlled through a set of options
+ similar in style to GNU configure options. The options allow you to, among
+ other things, change the install location, disable building of libraries,
+ etc. You can see a summary of the available options by invoking "<tt>bjam
+ --help</tt>". The full invocation takes the form:</p>
+
+ <blockquote>
+ <p><code>bjam&nbsp;[<i>options</i>...] [install|stage]</code></p>
+ </blockquote>
+
+ <table cellspacing="0" cellpadding="2" summary="" border="1">
+ <tr>
+ <th>Action</th>
+
+ <td>&nbsp;</td>
+ </tr>
+
+ <tr>
+ <td valign="top" nowrap align="left"><i>none</i></td>
+
+ <td valign="top" align="left">Only builds the Boost libraries. This
+ lets you do the first part of what the <tt>install</tt> action normally
+ does without copying the built libraries to the install location.</td>
+ </tr>
+
+ <tr>
+ <td valign="top" nowrap align="left"><tt>install</tt></td>
+
+ <td valign="top" align="left">Builds and installs Boost libraries and
+ headers.</td>
+ </tr>
+
+ <tr>
+ <td valign="top" nowrap align="left"><tt>stage</tt></td>
+
+ <td valign="top" align="left">Builds the Boost libraries and copies
+ them into a common directory.</td>
+ </tr>
+
+ <tr>
+ <th nowrap>Option</th>
+
+ <td valign="top" align="left">&nbsp;</td>
+ </tr>
+
+ <tr>
+ <td valign="top" nowrap align="left"><tt>--help</tt></td>
+
+ <td valign="top" align="left">Shows a short summary of the options and
+ syntax of the command.</td>
+ </tr>
+
+ <tr>
+ <td valign="top" nowrap align="left">
+ <tt>-sTOOLS=&lt;<i>toolsets</i>&gt;</tt></td>
+
+ <td valign="top" align="left">The list of tools to compile with.
+ Usually only one is needed.</td>
+ </tr>
+
+ <tr>
+ <td valign="top" nowrap align="left"><tt>--prefix=PREFIX</tt></td>
+
+ <td valign="top" align="left">Install architecture independent files
+ here.<br>
+ Default; <tt>C:\Boost</tt> on Win32.<br>
+ Default; <tt>/usr/local</tt> on Unix. Linux, etc.</td>
+ </tr>
+
+ <tr>
+ <td valign="top" nowrap align="left">
+ <tt>--exec-prefix=EPREFIX</tt></td>
+
+ <td valign="top" align="left">Install architecture dependent files
+ here.<br>
+ Default; <tt>PREFIX</tt></td>
+ </tr>
+
+ <tr>
+ <td valign="top" nowrap align="left"><tt>--libdir=DIR</tt></td>
+
+ <td valign="top" align="left">Install libraries here.<br>
+ Default; <tt>EPREFIX/lib</tt></td>
+ </tr>
+
+ <tr>
+ <td valign="top" nowrap align="left"><tt>--includedir=DIR</tt></td>
+
+ <td valign="top" align="left">Install source headers here. The Boost
+ headers are installed in a version specific
+ "<tt>boost-&lt;version&gt;</tt>" subdirectory in this directory.<br>
+ Default; <tt>PREFIX/include</tt></td>
+ </tr>
+
+ <tr>
+ <td valign="top" nowrap align="left"><tt>--builddir=DIR</tt></td>
+
+ <td valign="top" align="left">Build in this location instead of
+ building within the distribution tree. This moves where the sources for
+ the libraries are compiled to before they are installed.
+ Recommended!</td>
+ </tr>
+
+ <tr>
+ <td valign="top" nowrap align="left"><tt>--stagedir=DIR</tt></td>
+
+ <td valign="top" align="left">When staging only, with the
+ "<tt>stage</tt>" action, copy to the given location.<br>
+ Default; <tt>./stage</tt></td>
+ </tr>
+
+ <tr>
+ <td valign="top" nowrap align="left">
+ <tt>--without-&lt;<i>library</i>&gt;</tt></td>
+
+ <td valign="top" align="left">Do not build, stage, or install the
+ specified library.</td>
+ </tr>
+
+ <tr>
+ <td valign="top" nowrap align="left">
+ <tt>--with-&lt;<i>library</i>&gt;</tt></td>
+
+ <td valign="top" align="left">Build, stage, or install the specified
+ library. This changes the default from trying to build all possible
+ libraries, to only building the specified libraries.</td>
+ </tr>
+
+ <tr>
+ <td valign="top" nowrap align="left">
+ <tt>--with-python-root[=PYTHON_ROOT]</tt></td>
+
+ <td valign="top" align="left">Build Boost.Python libraries with the
+ Python devel packages located at <tt>PYTHON_ROOT</tt>. The Boost.Python
+ libraries are built only if the build can find the Python development
+ package at this location.<br>
+ Default; <tt>C:\Python24</tt> on Win32.<br>
+ Default; <tt>/usr</tt> on Unix, Linux, Cygwin, etc.</td>
+ </tr>
+
+ <tr>
+ <td valign="top" nowrap align="left">
+ <tt>--with-python-version[=2.4]</tt></td>
+
+ <td valign="top" align="left">Build Boost.Python libraries with the
+ Python version indicated.<br>
+ Default; 2.4.</td>
+ </tr>
+
+ <tr>
+ <td valign="top" nowrap align="left"><tt>--with-pydebug</tt></td>
+
+ <td valign="top" align="left">Build Boost.Python libraries using the
+ Python debug runtime. This builds an additional set of libraries for
+ use with the debug version of Python. The regular versions of the
+ Boost.Python libraries are also built.</td>
+ </tr>
+
+ <tr>
+ <td valign="top" nowrap align="left"><tt>-sHAVE_ICU=1</tt></td>
+
+ <td valign="top" align="left">Build Boost.Regex libraries with Unicode
+ support provided by the <a href=
+ "http://www-306.ibm.com/software/globalization/icu/index.jsp">ICU
+ libraries</a>. ICU must have been built with the same compiler that you
+ are using to build Boost, and must be installed into your compiler's
+ include and library search paths. See <a href=
+ "../libs/regex/doc/install.html#unicode">the Boost.Regex installation
+ documentation for more information</a>.</td>
+ </tr>
+
+ <tr>
+ <td valign="top" nowrap align="left">
+ <tt>-sICU_PATH=<i>path</i></tt></td>
+
+ <td valign="top" align="left">Build Boost.Regex libraries with Unicode
+ support provided by the <a href=
+ "http://www-306.ibm.com/software/globalization/icu/index.jsp">ICU
+ libraries</a>. ICU must have been built with the same compiler that you
+ are using to build Boost, and must have been built (or installed to)
+ directory <i>path</i>. For example if you configured ICU with
+ <tt>--prefix=/usr/local/icu/3.3</tt>, then use
+ <tt>-sICU_PATH=/usr/local/icu/3.3</tt>. See <a href=
+ "../libs/regex/doc/install.html#unicode">the Boost.Regex installation
+ documentation for more information</a>.</td>
+ </tr>
+
+ <tr>
+ <td valign="top" nowrap align="left"><tt>-sNO_COMPRESSION=1</tt></td>
+
+ <td valign="top" align="left">Build Boost.Iostreams without support for
+ the compression filters which rely on the non-Boost libraries zlib and
+ libbz2. If you use Windows, this option is enabled by default. If you
+ use UNIX, the compression filters will likely work with no
+ configuration, so this option should not be necessary. For full details
+ see <a href=
+ "http://www.boost.org/libs/iostreams/doc/index.html?path=7">Boost.Iostreams
+ Installation</a>.</td>
+ </tr>
+ </table>
+
+ <p>There are additional options as supported by <a href=
+ "../tools/build/v1/build_system.htm">Boost.Build</a> and <a href=
+ "../tools/build/jam_src/index.html">Boost.Jam</a>. Of the additional
+ options perhaps the most imporant is "<tt>-s<a href=
+ "../tools/build/v1/build_system.htm#build">BUILD</a>=&lt;features/variants&gt;</tt>"
+ which lets you override what is built by default. The
+ "<tt>&lt;features/variants&gt;</tt>" value is a list, separated by spaces,
+ of build requests. Features take the form of a tag and a value or values.
+ And variants are single symbolic names for a collection of features. For
+ example the default is to request "<tt>debug release
+ &lt;runtime-link&gt;static/dynamic &lt;threading&gt;single/multi</tt>", in
+ which "<tt>debug</tt>" and "<tt>release</tt>" are variants, and the rest
+ features with two values each.</p>
+
+ <p>If you have some feedback about the build and install process please
+ drop us a line at the <a href="mailing_lists.htm#jamboost">Boost.Build
+ mailing list</a>. We are particularly interested if it works for your
+ platform and if it there is anything that you feel could be done
+ better.</p>
+
+ <h2><a id="Results" name="Results"></a>Results</h2>
+
+ <p>The results of building come in to forms: static libraries, and dynamic
+ libraries. Depending on the platform the libraries produced have different
+ names to accommodate the platform requirements. For a single Boost library
+ the build with the default will produce eight different libraries. For
+ example building the Boost.Datetime library on Unix type system it would
+ produce:</p>
+
+ <ol>
+ <li><tt>libboost_date_time-gcc-d-1_31.so</tt></li>
+
+ <li><tt>libboost_date_time-gcc-mt-d-1_31.so</tt></li>
+
+ <li><tt>libboost_date_time-gcc-1_31.so</tt></li>
+
+ <li><tt>libboost_date_time-gcc-mt-1_31.so</tt></li>
+
+ <li><tt>libboost_date_time-gcc-d-1_31.a</tt></li>
+
+ <li><tt>libboost_date_time-gcc-mt-d-1_31.a</tt></li>
+
+ <li><tt>libboost_date_time-gcc-1_31.a</tt></li>
+
+ <li><tt>libboost_date_time-gcc-mt-1_31.a</tt><br></li>
+ </ol>
+
+ <table cellspacing="0" cellpadding="0" width="100%" summary="" border="0">
+ <tr>
+ <td colspan="11">
+ <table cellspacing="2" cellpadding="2" bgcolor="#CCCCCC" summary=""
+ border="0">
+ <tr>
+ <th>&middot; Library Prefix</th>
+ </tr>
+ </table>
+ </td>
+
+ <td width="80%">&nbsp;</td>
+ </tr>
+
+ <tr>
+ <td valign="bottom" bgcolor="#CCCCCC" rowspan="7"><tt><font size=
+ "+1">lib</font></tt></td>
+
+ <td colspan="11">
+ <table cellspacing="2" cellpadding="2" summary="" border="0">
+ <tr>
+ <th>&middot; Library Name</th>
+ </tr>
+ </table>
+ </td>
+ </tr>
+
+ <tr>
+ <td valign="bottom" rowspan="6"><tt><font size=
+ "+1">boost_date_time</font></tt></td>
+
+ <td colspan="10">
+ <table cellspacing="2" cellpadding="2" bgcolor="#CCCCCC" summary=""
+ border="0">
+ <tr>
+ <th>&middot; Toolset</th>
+ </tr>
+ </table>
+ </td>
+ </tr>
+
+ <tr>
+ <td valign="bottom" bgcolor="#CCCCCC" rowspan="5"><tt><font size=
+ "+1">-</font></tt></td>
+
+ <td valign="bottom" bgcolor="#CCCCCC" rowspan="5"><tt><font size=
+ "+1">gcc</font></tt></td>
+
+ <td colspan="8">
+ <table cellspacing="2" cellpadding="2" summary="" border="0">
+ <tr>
+ <th>&middot; Threading</th>
+ </tr>
+ </table>
+ </td>
+ </tr>
+
+ <tr>
+ <td valign="bottom" rowspan="4"><tt><font size="+1">-</font></tt></td>
+
+ <td valign="bottom" rowspan="4"><tt><font size="+1">mt</font></tt></td>
+
+ <td colspan="6">
+ <table cellspacing="2" cellpadding="2" bgcolor="#CCCCCC" summary=""
+ border="0">
+ <tr>
+ <th>&middot; Runtime</th>
+ </tr>
+ </table>
+ </td>
+ </tr>
+
+ <tr>
+ <td valign="bottom" bgcolor="#CCCCCC" rowspan="3"><tt><font size=
+ "+1">-</font></tt></td>
+
+ <td valign="bottom" bgcolor="#CCCCCC" rowspan="3"><tt><font size=
+ "+1">d</font></tt></td>
+
+ <td colspan="4">
+ <table cellspacing="2" cellpadding="2" summary="" border="0">
+ <tr>
+ <th>&middot; Boost Version</th>
+ </tr>
+ </table>
+ </td>
+ </tr>
+
+ <tr>
+ <td valign="bottom" rowspan="2"><tt><font size="+1">-</font></tt></td>
+
+ <td valign="bottom" rowspan="2"><tt><font size=
+ "+1">1_31</font></tt></td>
+
+ <td colspan="2">
+ <table cellspacing="2" cellpadding="2" bgcolor="#CCCCCC" summary=""
+ border="0">
+ <tr>
+ <th>&middot; Library Type</th>
+ </tr>
+ </table>
+ </td>
+ </tr>
+
+ <tr>
+ <td valign="bottom" bgcolor="#CCCCCC"><tt><font size=
+ "+1">.a</font></tt></td>
+
+ <td>&nbsp;</td>
+ </tr>
+ </table>
+
+ <h3>Library Prefix</h3>
+
+ <p>The "lib" prefix on the libraries is a requirement on many platforms,
+ like Unix, and on others like GCC running on Windows. The prefix is
+ therefore added to all libraries on Unix type systems, and to static
+ libraries on Windows. That is on Unix shared libraries and static libraries
+ (object archives) are named respectively:</p>
+
+ <ul>
+ <li><tt>lib*.so</tt></li>
+
+ <li><tt>lib*.a</tt></li>
+ </ul>
+
+ <p>On Windows shared libraries do not have the prefix to differentiate the
+ import libraries from static libraries. Consequently on Windows the
+ libraries are named:</p>
+
+ <table id="Table1" cellspacing="1" cellpadding="1" width="300" border="0">
+ <tr>
+ <td><font face="Courier New">*.dll</font></td>
+
+ <td>Dynamic library version.</td>
+ </tr>
+
+ <tr>
+ <td><font face="Courier New">*.lib</font></td>
+
+ <td>Import library for the dll.</td>
+ </tr>
+
+ <tr>
+ <td><font face="Courier New">lib*.lib</font></td>
+
+ <td>Static library version.</td>
+ </tr>
+ </table><br>
+ <br>
+
+ <h3>Library Name</h3>
+
+ <p>For Boost libraries the name has the "<tt>boost_</tt>" prefix to
+ separate them from other libraries in your system.</p>
+
+ <h3>Toolset</h3>
+
+ <p>The toolset name is an abbreviation based on the compiler you are
+ building with. The abbreviation is composed of a short, 2 to 4 characters,
+ tag for the compiler and a version number of the compiler's major and minor
+ revision (if available). For example if your toolset is
+ "<tt>gcc-3_2_3</tt>" the toolset tag would be "<tt>gcc32</tt>". The toolset
+ abbreviations used are as follows:</p>
+
+ <table cellpadding="5" summary="" border="1">
+ <tr>
+ <td><b>TOOLS Name</b></td>
+
+ <td><b>Abbreviation</b></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/borland-tools.html"><code>borland</code></a></td>
+
+ <td><tt>bcb</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/como-tools.html"><code>como</code></a></td>
+
+ <td><tt>como</tt></td>
+ </tr>
+
+ <tr>
+ <td><code><a href=
+ "../tools/build/v1/como-tools.html">como-win32</a></code></td>
+
+ <td><tt>como</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href="../tools/build/v1/cw-tools.html"><code>cw</code></a></td>
+
+ <td><tt>cw</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/darwin-tools.html"><code>darwin</code></a></td>
+
+ <td><tt>osx</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/dmc-tools.html"><code>dmc</code></a></td>
+
+ <td><tt>dmc</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/dmc-stlport-tools.html"><code>dmc-stlport</code></a></td>
+
+ <td><tt>dmc</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/edg-tools.html"><code>edg</code></a></td>
+
+ <td><tt>edg</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/gcc-tools.html"><code>gcc</code></a></td>
+
+ <td><tt>gcc</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/gcc-stlport-tools.html"><code>gcc-stlport</code></a></td>
+
+ <td><tt>gcc</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/gcc-nocygwin-tools.html"><code>gcc-nocygwin</code></a></td>
+
+ <td><tt>gcc</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/intel-linux-tools.html"><code>intel-linux</code></a></td>
+
+ <td><tt>il</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/intel-win32-tools.html"><code>intel-win32</code></a></td>
+
+ <td><tt>iw</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/kcc-tools.html"><code>kcc</code></a></td>
+
+ <td><tt>kcc</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/kylix-tools.html"><code>kylix</code></a></td>
+
+ <td><tt>bck</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/mingw-tools.html"><code>mingw</code></a></td>
+
+ <td><tt>mgw</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/mingw-stlport-tools.html"><code>mingw-stlport</code></a></td>
+
+ <td><tt>mgw</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/mipspro-tools.html"><code>mipspro</code></a></td>
+
+ <td><tt>mp</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/msvc-tools.html"><code>msvc</code></a></td>
+
+ <td><tt>vc</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/msvc-stlport-tools.html"><code>msvc-stlport</code></a></td>
+
+ <td><tt>vc</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/sunpro-tools.html"><code>sunpro</code></a></td>
+
+ <td><tt>sw</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/tru64cxx-tools.html"><code>tru64cxx</code></a></td>
+
+ <td><tt>tru</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/tru64cxx-tools.html"><code>tru64cxx65</code></a></td>
+
+ <td><tt>tru</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/vacpp-tools.html"><code>vacpp</code></a></td>
+
+ <td><tt>xlc</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/vc7-tools.html"><code>vc7</code></a></td>
+
+ <td><tt>vc</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/vc7-stlport-tools.html"><code>vc7-stlport</code></a></td>
+
+ <td><tt>vc</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/vc-7_1-tools.html"><code>vc-7_1</code></a></td>
+
+ <td><tt>vc</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/vc-7_1-stlport-tools.html"><code>vc-7_1-stlport</code></a></td>
+
+ <td><tt>vc</tt></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "../tools/build/v1/vc-8_0-tools.html"><code>vc-8_0</code></a></td>
+
+ <td><tt>vc</tt></td>
+ </tr>
+
+ <tr>
+ <td>Others</td>
+
+ <td>The first part of the toolset name.</td>
+ </tr>
+ </table>
+
+ <h3>Threading</h3>
+
+ <p>This tag indicates if the library is compiled with threading support. If
+ threading is enabled "<tt>-mt</tt>" is added, otherwise nothing is
+ added.</p>
+
+ <h3>Runtime</h3>
+
+ <p>This specifies the type of runtime the library was compiled against, and
+ the type of code that is compiled. More commonly this encodes the ABI
+ variation used in the code. For each feature of the runtime system and code
+ compilation option a single letter is added to this tag.</p>
+
+ <table cellpadding="5" summary="" border="1">
+ <tr>
+ <td><b>Key</b></td>
+
+ <td><b>Feature</b></td>
+ </tr>
+
+ <tr>
+ <td><tt>s</tt></td>
+
+ <td>Static link to runtime.</td>
+ </tr>
+
+ <tr>
+ <td><tt>g</tt></td>
+
+ <td>Debug runtime.</td>
+ </tr>
+
+ <tr>
+ <td><tt>y</tt></td>
+
+ <td>Debug Python system.</td>
+ </tr>
+
+ <tr>
+ <td><tt>d</tt></td>
+
+ <td>Debug enabled code.</td>
+ </tr>
+
+ <tr>
+ <td><tt>p</tt></td>
+
+ <td>STLport runtime, instead of the vendor toolset runtime.</td>
+ </tr>
+
+ <tr>
+ <td><tt>n</tt></td>
+
+ <td>STLport runtime using the "native" IO streams instead of the
+ STLport IO streams.</td>
+ </tr>
+ </table>
+
+ <p>For example if you compile debug code for STLport using native IO
+ streams, and statically link to the debug runtime the tag would be:
+ "<tt>-sgdpn</tt>".</p>
+
+ <h3>Boost Version</h3>
+
+ <p>This is the short label for the version of the Boost Libraries. The
+ major and minor version numbers are taken together separated by an
+ underscore. For example version 1.31.0 would be tagged as "<tt>-1_31</tt>".
+ For patch versions the patch number is also included, for example a version
+ of 1.31.1 would be tagged as "<tt>-1_31_1</tt>".</p>
+
+ <h3>Library Type</h3>
+
+ <p>The extension holds the type of library. This follows the platform
+ requirements. On Windows this is "<tt>.dll</tt>" for shared libraries, and
+ "<tt>.lib</tt>" for static libraries including import libraries. On Unix
+ this is ".a" for static libraries (archives), and ".so" for shared
+ libraries. For toolsets that support it in Unix they will also have a full
+ version extension (for example "<tt>.so.1.31.0</tt>") with a symbolic link
+ for the un-versioned library.</p>
+
+ <h2><a name="auto-link"></a>Automatic Linking on Windows</h2>
+
+ <p>For most Boost libraries that have separate source, the correct build
+ variant is linked against automatically when you include one of that
+ library's header files.&nbsp; For this feature to work, your compiler must
+ support the <code>#pragma comment(lib, name)</code> feature (Microsoft
+ Visual C++, Intel C++, Metrowerks C++ , and Borland C++ all support
+ this).</p>
+
+ <p>If you are linking to a dynamic runtime, then you can choose to link to
+ either a static or a dynamic Boost library, the default is to do a static
+ link.&nbsp; You can alter this for a specific library <em>whatever</em> by
+ defining BOOST_WHATEVER_DYN_LINK to force Boost library <em>whatever</em>
+ to be linked dynamically.&nbsp; Alternatively you can force all Boost
+ libraries to dynamic link by defining BOOST_ALL_DYN_LINK.</p>
+
+ <p>This feature can be disabled for Boost library <em>whatever</em> by
+ defining BOOST_WHATEVER_NO_LIB, or for all of Boost by defining
+ BOOST_ALL_NO_LIB.</p>
+
+ <p>If you want to observe which libraries are being linked against then
+ defining BOOST_LIB_DIAGNOSTIC will cause the auto-linking code to emit a
+ <code>#pragma message</code> each time a library is selected for
+ linking.</p>
+
+ <p>There are some Boost libraries (<a href=
+ "../libs/test/doc/index.html">Boost.Test</a> is one one special case),
+ where automatic linking is not supported for technical reasons: please
+ consult the documentation for each of the libraries you are using for more
+ information, and the <a href="../libs/config/index.html">Boost.Config</a>
+ documentation for more information on configuration macros.&nbsp; The
+ following table shows the current supported configurations, (Boost
+ libraries not listed here consist of headers only):</p>
+
+ <table id="Table2" cellspacing="1" cellpadding="1" width="100%" border="1">
+ <tr>
+ <td><strong>Library</strong></td>
+
+ <td><strong>Static Link</strong></td>
+
+ <td><strong>Dynamic Link</strong></td>
+
+ <td><strong>Default linkage</strong></td>
+
+ <td><strong>Automatic library selection</strong></td>
+
+ <td><strong>Comments</strong></td>
+ </tr>
+
+ <tr>
+ <td>Date-Time</td>
+
+ <td>Yes</td>
+
+ <td>Yes</td>
+
+ <td>static</td>
+
+ <td>Yes</td>
+
+ <td>&nbsp;</td>
+ </tr>
+
+ <tr>
+ <td>Filesystem</td>
+
+ <td>Yes</td>
+
+ <td>
+ <p>Yes</p>
+ </td>
+
+ <td>static</td>
+
+ <td>Yes</td>
+
+ <td>&nbsp;</td>
+ </tr>
+
+ <tr>
+ <td>Graph</td>
+
+ <td>Yes</td>
+
+ <td>No</td>
+
+ <td>static</td>
+
+ <td>No</td>
+
+ <td>The separate Graph library source is needed only when <a href=
+ "../libs/graph/doc/read_graphviz.html">reading an AT&amp;T graphviz
+ file.</a></td>
+ </tr>
+
+ <tr>
+ <td>Iostreams</td>
+
+ <td>Yes</td>
+
+ <td>
+ <p>Yes</p>
+ </td>
+
+ <td>static</td>
+
+ <td>Yes</td>
+
+ <td>&nbsp;</td>
+ </tr>
+
+ <tr>
+ <td>Program Options</td>
+
+ <td>Yes</td>
+
+ <td>Yes</td>
+
+ <td>static</td>
+
+ <td>Yes</td>
+
+ <td>&nbsp;</td>
+ </tr>
+
+ <tr>
+ <td>Python</td>
+
+ <td>Yes</td>
+
+ <td>Yes</td>
+
+ <td>dynamic</td>
+
+ <td>No</td>
+
+ <td>Since all Python extensions are DLL's it makes sense to dynamic
+ link to the Boost Python library&nbsp;by default (static linking is
+ only really an option if you are embedding python).</td>
+ </tr>
+
+ <tr>
+ <td>Regex</td>
+
+ <td>Yes</td>
+
+ <td>Yes</td>
+
+ <td>static</td>
+
+ <td>Yes</td>
+
+ <td>&nbsp;</td>
+ </tr>
+
+ <tr>
+ <td>Serialization</td>
+
+ <td>Yes</td>
+
+ <td>Yes</td>
+
+ <td>static</td>
+
+ <td>Yes</td>
+
+ <td>&nbsp;</td>
+ </tr>
+
+ <tr>
+ <td>Signals</td>
+
+ <td>Yes</td>
+
+ <td>Yes</td>
+
+ <td>static</td>
+
+ <td>Yes</td>
+
+ <td>&nbsp;</td>
+ </tr>
+
+ <tr>
+ <td>Test</td>
+
+ <td>Yes</td>
+
+ <td>No</td>
+
+ <td>static</td>
+
+ <td>No</td>
+
+ <td>Which library you link to depends upon which program entry point
+ you define, rather than which Boost.Test features you use.</td>
+ </tr>
+
+ <tr>
+ <td>Thread</td>
+
+ <td>Partial</td>
+
+ <td>Yes</td>
+
+ <td>static (Visual C++), otherwise dynamic</td>
+
+ <td>Yes</td>
+
+ <td>For technical reasons static linking is supported on only one
+ Windows compiler (Visual C++).</td>
+ </tr>
+
+ <tr>
+ <td>Wave</td>
+
+ <td>Yes</td>
+
+ <td>Yes</td>
+
+ <td>static</td>
+
+ <td>Yes</td>
+
+ <td>&nbsp;</td>
+ </tr>
+ </table><br>
+ <br>
+
+ <h2><a id="Additional_Steps" name="Additional_Steps"></a>Additional
+ Steps</h2>
+
+ <p>Depending on your platform and configuration you may need to perform
+ some additional configuration to get Boost to build and install.</p>
+
+ <ul>
+ <li><a href="../libs/config/config.htm#configuring">Configure the boost
+ source code</a>. This step should not be required on the vast majority of
+ platforms, but if you're trying to build Boost on an untested or
+ unsupported platform it may be necessary.<br>
+ <br></li>
+
+ <li>If Boost.Build has problems detecting your Python installation it
+ will print a short messages about how to configure for finding the Python
+ installation. For more information, see these detailed <a href=
+ "../libs/python/doc/building.html#building">instructions</a>.</li>
+ </ul>
+ <hr>
+
+ <p>Revised $Date$</p>
+
+ <p>Copyright &copy; Rene Rivera 2003.<br>
+ Copyright &copy; Jens Maurer 2001.<br>
+ Copyright &copy; John Maddock 2004.</p>
+
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy
+ at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+</body>
+</html>
diff --git a/more/google_logo_25wht.gif b/more/google_logo_25wht.gif
new file mode 100644
index 0000000000..151f527a95
--- /dev/null
+++ b/more/google_logo_25wht.gif
Binary files differ
diff --git a/more/header.htm b/more/header.htm
new file mode 100644
index 0000000000..7846deed69
--- /dev/null
+++ b/more/header.htm
@@ -0,0 +1,103 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Boost Header policy</title>
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta name="Microsoft Border" content="none, default">
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+
+<table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="../people/people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+</table>
+<h1>Boost Header Policy</h1>
+<p>Header files are the place where a library comes into contact with user code
+and other libraries.&nbsp; To co-exist peacefully and productively, headers must
+be &quot;good neighbors&quot;.</p>
+<p>Here are the standards for namespace boost headers.&nbsp;&nbsp;&nbsp; Many of
+these are also reasonable guidelines for general use.
+<ul>
+ <li>Headers should have a .hpp (lowercase) filename extension.&nbsp;</li>
+ <li>Wrap the header in #ifndef guards so that multiple inclusion is
+ benign.&nbsp; Use a naming convention that minimizes the chance of clashes
+ with macro names from other's code.&nbsp; The <a href="#Sample header">sample
+ header</a> uses the Boost convention of all uppercase letters, with the
+ header name prefixed by the namespace name, and suffixed with HPP, separated
+ by underscores.</li>
+ <li>Wrap the header contents in a namespace to prevent global namespace
+ pollution. The namespace approach to pollution control is strongly preferred
+ to older approaches such as adding funny prefixes to global names.&nbsp;
+ Libraries which are designed to work well with other Boost libraries should
+ be placed namespace <tt>boost</tt>.</li>
+
+ <li>Make sure that a translation unit consisting of just the
+ contents of the header file will compile successfully.
+
+ <li>Place the header file in a sub-directory to prevent conflict with
+ identically named header files in other libraries.&nbsp; The parent
+ directory is added to the compiler's include search path.&nbsp; Then both
+ your code and user code specifies the sub-directory in <tt>#include</tt>
+ directives.&nbsp; Thus the header <a href="#Sample header">sample header</a>&nbsp;
+ would be included by <tt>#include &lt;boost/furball.hpp&gt;</tt></li>
+ <li>The preferred ordering for class definitions is public members, protected
+ members, and finally private members.</li>
+ <li>Include the boost/config.hpp <a href="../libs/config/config.htm">configuration
+ header</a> if there is a need to deal with compiler or platform
+ configuration issues.</li>
+</ul>
+<h2><a name="Sample header"></a>Sample Header</h2>
+<pre><tt>//&nbsp; Boost general library furball.hpp header file&nbsp; ---------------------------//
+
+//&nbsp; (C) Copyright Your Name 1998. Permission to copy, use, modify, sell and
+//&nbsp; distribute this software is granted provided this copyright notice appears
+//&nbsp; in all copies. This software is provided &quot;as is&quot; without express or implied
+//&nbsp; warranty, and with no claim as to its suitability for any purpose.
+
+//&nbsp; See http://www.boost.org for updates, documentation, and revision history.
+
+#ifndef BOOST_FURBALL_HPP
+#define BOOST_FURBALL_HPP
+
+namespace boost {
+
+//&nbsp; Furball class declaration&nbsp; -----------------------------------------------//
+
+&nbsp; class furball
+ {
+ public:
+&nbsp; void throw_up();
+ private:
+ int whatever;
+&nbsp;&nbsp;};&nbsp; // furball
+
+} // namespace
+
+#endif&nbsp; // BOOST_FURBALL_HPP</tt></pre>
+<h2>Coding Style</h2>
+<p>The alert reader will have noticed that the <a href="#Sample header">sample
+header</a> employs a certain coding style for indentation, positioning braces,
+commenting ending braces, and similar formatting issues.&nbsp; These stylistic
+issues are viewed as personal preferences and are not part of the Boost Header
+Policy.</p>
+<hr>
+<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->02 October, 2003<!--webbot bot="Timestamp" endspan i-checksum="38549" --></p>
+
+<p>© Copyright Beman Dawes 1998</p>
+<p> Use, modification, and distribution are subject to the Boost Software
+License, Version 1.0. (See accompanying file <a href="../LICENSE_1_0.txt">
+LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
+www.boost.org/LICENSE_1_0.txt</a>)</p>
+
+</body>
+
+</html> \ No newline at end of file
diff --git a/more/imp_vars.htm b/more/imp_vars.htm
new file mode 100644
index 0000000000..fc1cff2d14
--- /dev/null
+++ b/more/imp_vars.htm
@@ -0,0 +1,208 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title>Boost Implementation Variations</title>
+</head>
+
+<body link="#0000ff" vlink="#800080" bgcolor="#FFFFFF" text="#000000">
+
+<table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="../people/people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+</table>
+<h1>Boost Implementation Variations</h1>
+<h2>Separation of interface and implementation</h2>
+<p>The interface specifications for boost.org library components (as well as for
+quality software in general) are conceptually separate from implementations of
+those interfaces. This may not be obvious, particularly when a component is
+implemented entirely within a header, but this separation of interface and
+implementation is always assumed. From the perspective of those concerned with
+software design, portability, and standardization, the interface is what is
+important, while the implementation is just a detail.</p>
+<p>Dietmar Kühl, one of the original boost.org contributors, comments &quot;The
+main contribution is the interface, which is augmented with an implementation,
+proving that it is possible to implement the corresponding class and providing a
+free implementation.&quot;</p>
+<b>
+<h2>Implementation variations</h2>
+</b>
+<p>There may be a need for multiple implementations of an interface, to
+accommodate either platform dependencies or performance tradeoffs. Examples of
+platform dependencies include compiler shortcomings, file systems, thread
+mechanisms, and graphical user interfaces. The classic example of a performance
+tradeoff is a fast implementation which uses a lot of memory versus a slower
+implementation which uses less memory.</p>
+<p>Boost libraries generally use a <a href="../libs/config/config.htm">configuration
+header</a>, boost/config.hpp, to capture compiler and platform
+dependencies.&nbsp; Although the use of boost/config.hpp is not required, it is
+the preferred approach for simple configuration problems.&nbsp;&nbsp;</p>
+<h2>Boost policy</h2>
+<p>The Boost policy is to avoid platform dependent variations in interface
+specifications, but supply implementations which are usable over a wide range of
+platforms and applications.&nbsp; That means boost libraries will use the
+techniques below described as appropriate for dealing with platform
+dependencies.</p>
+<p>The Boost policy toward implementation variations designed to enhance
+performance is to avoid them unless the benefits greatly exceed the full
+costs.&nbsp; The term &quot;full costs&quot; is intended to include both
+tangible costs like extra maintenance, and intangible cost like increased
+difficulty in user understanding.</p>
+<b>
+<h2>Techniques for providing implementation variations</h2>
+</b>
+<p>Several techniques may be used to provide implementation variations. Each is
+appropriate in some situations, and not appropriate in other situations.</p>
+<h3>Single general purpose implementation</h3>
+<p>The first technique is to simply not provide implementation variation at
+all.&nbsp; Instead, provide a single general purpose implementation, and forgo
+the increased complexity implied by all other techniques.</p>
+<p><b>Appropriate:</b>&nbsp; When it is possible to write a single portable
+implementation which has reasonable performance across a wide range of
+platforms. Particularly appropriate when alternative implementations differ only
+in esoteric ways.</p>
+<p><b>Not appropriate:</b> When implementation requires platform specific
+features, or when there are multiple implementation possible with widely
+differing performance characteristics.</p>
+<p>Beman Dawes comments &quot;In design discussions some implementation is often
+alleged to be much faster than another, yet&nbsp; a timing test discovers no
+significant difference. The lesson is that while algorithmic differences may
+affect speed dramatically, coding differences such as changing a class from
+virtual to non-virtual members or removing a level of indirection are unlikely
+to make any measurable difference unless deep in an inner loop. And even in an
+inner loop, modern CPU’s often execute such competing code sequences in the
+same number of clock cycles!&nbsp; A single general purpose implementation is
+often just fine.&quot;</p>
+<p>Or as Donald Knuth said, &quot;Premature optimization is the root of all
+evil.&quot; (Computing Surveys, vol 6, #4, p 268).</p>
+<h3>Macros</h3>
+<p>While the evils of macros are well known, there remain a few cases where
+macros are the preferred solution:</p>
+<blockquote>
+ <ul>
+ <li>&nbsp;Preventing multiple inclusion of headers via #include guards.</li>
+ <li>&nbsp;Passing minor configuration information from a configuration
+ header to other files.</li>
+ </ul>
+</blockquote>
+<p><b>Appropriate:</b>&nbsp; For small compile-time variations which would
+otherwise be costly or confusing to install, use, or maintain. More appropriate
+to communicate within and between library components than to communicate with
+library users.</p>
+<p><b>Not appropriate:&nbsp;</b> If other techniques will do.</p>
+<p>To minimize the negative aspects of macros:</p>
+<blockquote>
+ <ul>
+ <li>Only use macros when they are clearly superior to other
+ techniques.&nbsp; They should be viewed as a last resort.</li>
+ <li>Names should be all uppercase, and begin with the namespace name. This
+ will minimize the chance of name collisions. For example, the #include
+ guard for a boost header called foobar.h might be named BOOST_FOOBAR_H.</li>
+ </ul>
+</blockquote>
+<h3>Separate files</h3>
+<p>A library component can have multiple variations, each contained in its own
+separate file or files.&nbsp; The files for the most appropriate variation are
+copied to the appropriate include or implementation directories at installation
+time.</p>
+<p>The way to provide this approach in boost libraries is to include specialized
+implementations as separate files in separate sub-directories in the .ZIP
+distribution file. For example, the structure within the .ZIP distribution file
+for a library named foobar which has both default and specialized variations
+might look something like:</p>
+<blockquote>
+ <pre>foobar.h // The default header file
+foobar.cpp // The default implementation file
+readme.txt // Readme explains when to use which files
+self_contained/foobar.h // A variation with everything in the header
+linux/foobar.cpp // Implementation file to replace the default
+win32/foobar.h // Header file to replace the default
+win32/foobar.cpp // Implementation file to replace the default</pre>
+</blockquote>
+<p><b>Appropriate:</b>&nbsp; When different platforms require different
+implementations, or when there are major performance differences between
+possible implementations.&nbsp;</p>
+<p><b>Not appropriate:</b>&nbsp; When it makes sense to use more that one of the
+variations in the same installation.</p>
+<h3>Separate components</h3>
+<p>Rather than have several implementation variations of a single component,
+supply several separate components. For example, the Boost library currently
+supplies <code>scoped_ptr</code> and <code>shared_ptr</code> classes rather than
+a single <code>smart_ptr</code> class parameterized to distinguish between the
+two cases.&nbsp; There are several ways to make the component choice:</p>
+<blockquote>
+ <ul>
+ <li>Hardwired by the programmer during coding.</li>
+ <li>Chosen by programmer written runtime logic (trading off some extra
+ space, time, and program complexity for the ability to select the
+ implementation at run-time.)</li>
+ </ul>
+</blockquote>
+<p><b>Appropriate: </b>When the interfaces for the variations diverge, and when
+it is reasonably to use more than one of the variations. When run-time selection
+of implementation is called for.</p>
+<p><b>Not appropriate:</b> When the variations are data type, traits, or
+specialization variations which can be better handled by making the component a
+template. Also not appropriate when choice of variation is best done by some
+setup or installation mechanism outside of the program itself.&nbsp; Thus
+usually not appropriate to cope with platform differences.</p>
+<p><b>Note:</b> There is a related technique where the interface is specified as
+an abstract (pure virtual) base class (or an interface definition language), and
+the implementation choice is passed off to some third-party, such as a
+dynamic-link library or object-request broker. While that is a powerful
+technique, it is way beyond the scope of this discussion.</p>
+<h3>Template-based approaches</h3>
+<p>Turning a class or function into a template is often an elegant way to cope
+with variations.&nbsp; Template-based approaches provide optimal space and time
+efficiency in return for constraining the implementation selection to compile
+time.&nbsp;</p>
+<p>Important template techniques include:</p>
+<blockquote>
+ <ul>
+ <li>Data type parameterization.&nbsp; This allows a single component to
+ operate on a variety of data types, and is why templates were originally
+ invented.</li>
+ <li>Traits parameterization.&nbsp; If parameterization is complex, bundling
+ up aspects into a single traits helper class can allow great variation
+ while hiding messy details.&nbsp; The C++ Standard Library provides
+ several examples of this idiom, such as <code>iterator_traits&lt;&gt;</code>
+ (24.3.1 lib.iterator.traits) and <tt>char_traits&lt;&gt;</tt> (21.2
+ lib.char.traits).</li>
+ <li>Specialization.&nbsp; A template parameter can be used purely for the
+ purpose of selecting a specialization. For example:</li>
+ </ul>
+ <blockquote>
+ <blockquote>
+ <pre>SomeClass&lt;fast&gt; my_fast_object; // fast and small are empty classes
+SomeClass&lt;small&gt; my_small_object; // used just to select specialization</pre>
+ </blockquote>
+ </blockquote>
+</blockquote>
+<p><b>Appropriate: </b>When the need for variation is due to data type or
+traits, or is performance related like selecting among several algorithms, and
+when a program might reasonably use more than one of the variations.</p>
+<p><b>Not appropriate:</b>&nbsp; When the interfaces for variations are
+different, or when choice of variation is best done by some mechanism outside of
+the program itself.&nbsp; Thus usually not appropriate to cope with platform
+differences.</p>
+<hr>
+<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->02 October, 2003<!--webbot bot="Timestamp" endspan i-checksum="38549" --></p>
+
+<p>© Copyright Beman Dawes 2001</p>
+
+<p> Use, modification, and distribution are subject to the Boost Software
+License, Version 1.0. (See accompanying file <a href="../LICENSE_1_0.txt">
+LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
+www.boost.org/LICENSE_1_0.txt</a>)</p>
+
+</body>
+
+</html> \ No newline at end of file
diff --git a/more/index.htm b/more/index.htm
new file mode 100644
index 0000000000..32cdaa743b
--- /dev/null
+++ b/more/index.htm
@@ -0,0 +1,119 @@
+<html>
+ <head>
+ <title>Boost More Information</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+ </head>
+ <body bgcolor="#ffffff" text="#000000">
+ <table border="1" cellpadding="2" bgcolor="#007f7f">
+ <tr>
+ <td bgcolor="#ffffff">
+ <img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font color="#ffffff" size="4" face="Arial">Home</font></a></td>
+ <td><a href="../libs/libraries.htm"><font color="#ffffff" size="4" face="Arial">Libraries</font></a></td>
+ <td><a href="../people/people.htm"><font color="#ffffff" size="4" face="Arial">People</font></a></td>
+ <td><a href="faq.htm"><font color="#ffffff" size="4" face="Arial">FAQ</font></a></td>
+ <td><a href="index.htm"><font color="#ffffff" size="4" face="Arial">More</font></a></td>
+ </tr>
+ </table>
+ <h1>More Information</h1>
+ <h2>Boost Policies</h2>
+ <blockquote>
+ <p><a href="discussion_policy.htm"><b>Mailing List Discussion Policy.</b></a>&nbsp;
+ What's acceptable and what isn't.</p>
+ <p><a href="lib_guide.htm"><b>Library Requirements and Guidelines</b></a>.&nbsp;
+ Basic standards for those preparing a submission.</p>
+ <P><A href="separate_compilation.html"><STRONG>Guidelines for Libraries with Separate
+ Source</STRONG></A>.&nbsp; Basic tutorial for libraries that require the
+ building of a separate link library.</P>
+ <p><a href="writingdoc/index.html"><strong>Writing Documentation for Boost</strong></a>
+ Basic guidelines for writing documentation and templates for quickly generating
+ documentation that follows the guidelines.</p>
+ <p><a href="test_policy.htm"><b>Test Policy and Protocols</b></a>.&nbsp; How
+ testing works at Boost.</p>
+ <p><a href="submission_process.htm"><b>Library Submission Process</b></a>.&nbsp;
+ How to submit a library to Boost.</p>
+ <p><a href="formal_review_process.htm"><b>Library Formal Review Process</b></a>.
+ Including how to submit a review comment.</p>
+ <p><a href="header.htm"><b>Header Policy</b></a>.&nbsp; Headers are where a
+ library contacts its users, so programming practices are particularly
+ important.</p>
+ <p><a href="imp_vars.htm"><b>Implementation Variations</b></a>.&nbsp; Sometimes
+ one size fits all, sometimes it doesn't.&nbsp; This page deals with the
+ trade-offs.</p>
+ <p><a href="library_reuse.htm"><b>Library Reuse</b></a>.&nbsp; Should Boost
+ libraries use other boost libraries?&nbsp; What about the C++ Standard
+ Library?&nbsp; It's another trade-off.</p>
+ <p><b><a href="moderators.html">Moderators</a></b>.&nbsp; Who they are and what
+ they do.</p>
+ </blockquote>
+ <h2>Boost Whatever</h2>
+ <blockquote>
+ <p><b><a href="license_info.html">License Information</a> </b>&nbsp;Information
+ about the Boost Software License.</p>
+ <p><b><a href="bibliography.html">Bibliography</a> </b>&nbsp;Print and online
+ publications relating to Boost and Boost libraries.</p>
+ <p><b><a href="../doc/html/who_s_using_boost_.html">Who's Using Boost?</a> </b>&nbsp;
+ Products and organisations that are using Boost.</p>
+ <p><a href="../status/compiler_status.html"><b>Compiler Status</b></a>&nbsp;&nbsp;Describes
+ what library works with which compiler.</p>
+ <p><b><a href="links.htm">Links</a></b>&nbsp; Links of special interest to Boost
+ users.</p>
+ <p><b><a href="formal_review_schedule.html">Formal Review Schedule</a></b>&nbsp;
+ Future, current, and recently past Formal Reviews.</p>
+ <p><b><a href="release_procedures.htm">Release Procedures</a></b>&nbsp; How
+ developers and the release manager prepare for a Boost release.</p>
+ <p><b><a href="updating_the_website.html">Updating the Website</a></b>&nbsp; How
+ developers can update the Boost website between releases.</p>
+ <p><a href="regression.html"><b>Internal Regression Test Suite</b></a>&nbsp;&nbsp;
+ Describes the tool for generating the compiler status tables
+ </p>
+ <p><b><a href="proposal.pdf">Proposal for a C++ Library Repository Web Site</a></b>&nbsp;
+ The original 1998 proposal that launched Boost.</p>
+ <p><b><a href="bugs.htm">How to report bugs</a></b>&nbsp; Ways to report Boost
+ bugs.</p>
+ <p><b><a href="requesting_new_features.htm">How to request features</a></b> Ways
+ to request new library features.</p>
+ <p><b><a href="cpp_committee_meetings.html">C++ Committee Meetings</a></b> FAQ for
+ Boost Members wishing to attend a standards committee meeting.</p>
+ <p><b><a href="version_history.html">Version History</a></b> Changes
+ and additions in past Boost releases.</p>
+ </blockquote>
+ <h2>Articles and Papers</h2>
+ <blockquote>
+ <p><a href="error_handling.html"><b>Error and Exception Handling</b></a> describes
+ approaches to errors and exceptions by <a href="../people/dave_abrahams.htm">David
+ Abrahams</a>.
+ </p>
+ <p><a href="count_bdy.htm"><b>Counted Body Techniques</b></a> by <a href="../people/kevlin_henney.htm">
+ Kevlin Henney</a> is must reading for those interested in reference
+ counting, a widely used object management idiom.&nbsp; Originally published in <a href="http://www.accu.org/c++sig/public/Overload.html">
+ Overload</a> magazine.</p>
+ <p><a href="generic_programming.html"><b>Generic Programming Techniques</b></a> by <a href="../people/dave_abrahams.htm">
+ David Abrahams</a> and <a href="../people/jeremy_siek.htm">Jeremy Siek</a> describe
+ some of the techniques used in Boost libraries.</p>
+ <p><a href="feature_model_diagrams.htm"><b>Feature Model Diagrams in text and HTML</b></a>
+ describes how to represent feature model diagrams in text form.</p>
+ <p><a href="borland_cpp.html"><b>Portability Hints: Borland C++ 5.5.1</b></a> describes
+ Borland C++ portability issues, with suggested workarounds.</p>
+ <p><a href="microsoft_vcpp.html"><b>Portability Hints: Microsoft VC++ 6.0 SP4</b></a>
+ describes Microsoft C++ portability issues, with suggested workarounds.</p>
+ <p><a href="int_const_guidelines.htm"><strong>Coding Guidelines for Integral Constant
+ Expressions</strong></a> describes how to work through the maze of
+ compiler related bugs surrounding this tricky topic.</p>
+ </blockquote>
+ <hr>
+ <p>
+ Revised
+ <!--webbot bot="Timestamp" s-type="EDITED"
+s-format="%d %B, %Y" startspan -->10 May, 2005<!--webbot bot="Timestamp" endspan i-checksum="13987" --></p>
+ <p>
+ © Copyright Beman Dawes 2003.</p>
+ <p>
+ Use, modification, and distribution are subject to the Boost Software License,
+ Version 1.0. (See accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
+ or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</p>
+ </body>
+</html>
+
diff --git a/more/int_const_guidelines.htm b/more/int_const_guidelines.htm
new file mode 100644
index 0000000000..06f9dae506
--- /dev/null
+++ b/more/int_const_guidelines.htm
@@ -0,0 +1,326 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Type"
+content="text/html; charset=iso-8859-1">
+<meta name="Template"
+content="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot">
+<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
+<title></title>
+</head>
+
+<body bgcolor="#FFFFFF" link="#0000FF" vlink="#800080">
+
+<h2 align="center">Coding Guidelines for Integral Constant
+Expressions</h2>
+
+<p>Integral Constant Expressions are used in many places in C++;
+as array bounds, as bit-field lengths, as enumerator
+initialisers, and as arguments to non-type template parameters.
+However many compilers have problems handling integral constant
+expressions; as a result of this, programming using non-type
+template parameters in particular can be fraught with difficulty,
+often leading to the incorrect assumption that non-type template
+parameters are unsupported by a particular compiler. This short
+article is designed to provide a set of guidelines and
+workarounds that, if followed, will allow integral constant
+expressions to be used in a manner portable to all the compilers
+currently supported by boost. Although this article is mainly
+targeted at boost library authors, it may also be useful for
+users who want to understand why boost code is written in a
+particular way, or who want to write portable code themselves.</p>
+
+<h3>What is an Integral Constant Expression?</h3>
+
+<p>Integral constant expressions are described in section 5.19 of
+the standard, and are sometimes referred to as &quot;compile time
+constants&quot;. An integral constant expression can be one of
+the following:</p>
+
+<ol>
+ <li>A literal integral value, for example 0u or 3L.</li>
+ <li>An enumerator value.</li>
+ <li>Global integral constants, for example: <font
+ face="Courier New"><code><br>
+ </code></font><code>const int my_INTEGRAL_CONSTANT = 3;</code></li>
+ <li>Static member constants, for example: <br>
+ <code>struct myclass<br>
+ { static const int value = 0; };</code></li>
+ <li>Member enumerator values, for example:<br>
+ <code>struct myclass<br>
+ { enum{ value = 0 }; };</code></li>
+ <li>Non-type template parameters of integral or enumerator
+ type.</li>
+ <li>The result of a <code>sizeof</code> expression, for
+ example:<br>
+ <code>sizeof(foo(a, b, c))</code></li>
+ <li>The result of a <code>static_cast</code>, where the
+ target type is an integral or enumerator type, and the
+ argument is either another integral constant expression,
+ or a floating-point literal.</li>
+ <li>The result of applying a binary operator to two integral
+ constant expressions: <br>
+ <code>INTEGRAL_CONSTANT1 op INTEGRAL_CONSTANT2 <br>
+ p</code>rovided that the operator is not an assignment
+ operator, or comma operator.</li>
+ <li>The result of applying a unary operator to an integral
+ constant expression: <br>
+ <code>op INTEGRAL_CONSTANT1<br>
+ </code>provided that the operator is not the increment or
+ decrement operator.</li>
+</ol>
+
+<p>&nbsp;</p>
+
+<h3>Coding Guidelines</h3>
+
+<p>The following guidelines are declared in no particular order (in
+other words you need to obey all of them - sorry!), and may also
+be incomplete, more guidelines may be added as compilers change
+and/or more problems are encountered.</p>
+
+<p><b><i>When declaring constants that are class members always
+use the macro BOOST_STATIC_CONSTANT.</i></b></p>
+
+<pre>template &lt;class T&gt;
+struct myclass
+{
+ BOOST_STATIC_CONSTANT(int, value = sizeof(T));
+};</pre>
+
+<p>Rationale: not all compilers support inline initialisation of
+member constants, others treat member enumerators in strange ways
+(they're not always treated as integral constant expressions).
+The BOOST_STATIC_CONSTANT macro uses the most appropriate method
+for the compiler in question.</p>
+
+<p><b><i>Don't declare integral constant expressions whose type
+is wider than int.</i></b></p>
+
+<p>Rationale: while in theory all integral types are usable in
+integral constant expressions, in practice many compilers limit
+integral constant expressions to types no wider than <b>int</b>.</p>
+
+<p><b><i>Don't use logical operators in integral constant
+expressions; use template meta-programming instead.</i></b></p>
+
+<p>The header &lt;boost/type_traits/ice.hpp&gt; contains a number
+of workaround templates, that fulfil the role of logical
+operators, for example instead of:</p>
+
+<p><code>INTEGRAL_CONSTANT1 || INTEGRAL_CONSTANT2</code></p>
+
+<p>Use:</p>
+
+<p><code>::boost::type_traits::ice_or&lt;INTEGRAL_CONSTANT1,INTEGRAL_CONSTANT2&gt;::value</code></p>
+
+<p>Rationale: A number of compilers (particularly the Borland and
+Microsoft compilers), tend to not to recognise integral constant
+expressions involving logical operators as genuine integral
+constant expressions. The problem generally only shows up when
+the integral constant expression is nested deep inside template
+code, and is hard to reproduce and diagnose.</p>
+
+<p><b><i>Don't use any operators in an integral constant
+expression used as a non-type template parameter</i></b></p>
+
+<p>Rather than:</p>
+
+<p><code>typedef myclass&lt;INTEGRAL_CONSTANT1 ==
+INTEGRAL_CONSTANT2&gt; mytypedef;</code></p>
+
+<p>Use:</p>
+
+<p><code>typedef myclass&lt; some_symbol&gt; mytypedef;</code></p>
+
+<p>Where <code>some_symbol</code> is the symbolic name of a an
+integral constant expression whose value is <code>(INTEGRAL_CONSTANT1
+== INTEGRAL_CONSTANT2).</code></p>
+
+<p>Rationale: the older EDG based compilers (some of which are
+used in the most recent version of that platform's compiler),
+don't recognise expressions containing operators as non-type
+template parameters, even though such expressions can be used as
+integral constant expressions elsewhere.</p>
+
+<p><b><i>Always use a fully qualified name to refer to an
+integral constant expression.</i></b></p>
+
+<p>For example:</p>
+
+<pre><code>typedef</code> myclass&lt; ::boost::is_integral&lt;some_type&gt;::value&gt; mytypedef;</pre>
+
+<p>Rationale: at least one compiler (Borland's), doesn't
+recognise the name of a constant as an integral constant
+expression unless the name is fully qualified (which is to say it
+starts with ::).</p>
+
+<p><b><i>Always leave a space after a '&lt;' and before '::'</i></b></p>
+
+<p>For example:</p>
+
+<pre><code>typedef</code> myclass&lt; ::boost::is_integral&lt;some_type&gt;::value&gt; mytypedef;
+ ^
+ ensure there is space here!</pre>
+
+<p>Rationale: &lt;: is a legal digraph in it's own right, so &lt;::
+is interpreted as the same as [:.</p>
+
+<p><b><i>Don't use local names as integral constant expressions</i></b></p>
+
+<p>Example:</p>
+
+<pre>template &lt;class T&gt;
+struct foobar
+{
+ BOOST_STATIC_CONSTANT(int, temp = computed_value);
+ typedef myclass&lt;temp&gt; mytypedef; // error
+};</pre>
+
+<p>Rationale: At least one compiler (Borland's) doesn't accept
+this.</p>
+
+<p>Although it is possible to fix this by using:</p>
+
+<pre>template &lt;class T&gt;
+struct foobar
+{
+ BOOST_STATIC_CONSTANT(int, temp = computed_value);
+ typedef foobar self_type;
+ typedef myclass&lt;(self_type::temp)&gt; mytypedef; // OK
+};</pre>
+
+<p>This breaks at least one other compiler (VC6), it is better to
+move the integral constant expression computation out into a
+separate traits class:</p>
+
+<pre>template &lt;class T&gt;
+struct foobar_helper
+{
+ BOOST_STATIC_CONSTANT(int, temp = computed_value);
+};
+
+template &lt;class T&gt;
+struct foobar
+{
+ typedef myclass&lt; ::foobar_helper&lt;T&gt;::value&gt; mytypedef; // OK
+};</pre>
+
+<p><b><i>Don't use dependent default parameters for non-type
+template parameters.</i></b></p>
+
+<p>For example:</p>
+
+<pre>template &lt;class T, int I = ::boost::is_integral&lt;T&gt;::value&gt; // Error can't deduce value of I in some cases.
+struct foobar;</pre>
+
+<p>Rationale: this kind of usage fails for Borland C++. Note that
+this is only an issue where the default value is dependent upon a
+previous template parameter, for example the following is fine:</p>
+
+<pre>template &lt;class T, int I = 3&gt; // OK, default value is not dependent
+struct foobar;</pre>
+
+<p>&nbsp;</p>
+
+<h3>Unresolved Issues</h3>
+
+<p>The following issues are either unresolved or have fixes that
+are compiler specific, and/or break one or more of the coding
+guidelines.</p>
+
+<p><b><i>Be careful of numeric_limits</i></b></p>
+
+<p>There are three issues here:</p>
+
+<ol>
+ <li>The header &lt;limits&gt; may be absent - it is
+ recommended that you never include &lt;limits&gt;
+ directly but use &lt;boost/pending/limits.hpp&gt; instead.
+ This header includes the &quot;real&quot; &lt;limits&gt;
+ header if it is available, otherwise it supplies it's own
+ std::numeric_limits definition. Boost also defines the
+ macro BOOST_NO_LIMITS if &lt;limits&gt; is absent.</li>
+ <li>The implementation of std::numeric_limits may be defined
+ in such a way that its static-const members may not be
+ usable as integral constant expressions. This contradicts
+ the standard but seems to be a bug that affects at least
+ two standard library vendors; boost defines
+ BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS in &lt;boost/config.hpp&gt;
+ when this is the case.</li>
+ <li>There is a strange bug in VC6, where the members of std::numeric_limits
+ can be &quot;prematurely evaluated&quot; in template
+ code, for example:</li>
+</ol>
+
+<pre>template &lt;class T&gt;
+struct limits_test
+{
+ BOOST_STATIC_ASSERT(::std::numeric_limits&lt;T&gt;::is_specialized);
+};</pre>
+
+<p>This code fails to compile with VC6 even though no instances
+of the template are ever created; for some bizarre reason <code>::std::numeric_limits&lt;T&gt;::is_specialized
+</code>always evaluates to false, irrespective of what the
+template parameter T is. The problem seems to be confined to
+expressions which depend on std::numeric_limts: for example if
+you replace <code>::std::numeric_limits&lt;T&gt;::is_specialized</code>
+with <code>::boost::is_arithmetic&lt;T&gt;::value</code>, then
+everything is fine. The following workaround also works but
+conflicts with the coding guidelines:</p>
+
+<pre>template &lt;class T&gt;
+struct limits_test
+{
+ BOOST_STATIC_CONSTANT(bool, check = ::std::numeric_limits&lt;T&gt;::is_specialized);
+ BOOST_STATIC_ASSERT(check);
+};</pre>
+
+<p>So it is probably best to resort to something like this:</p>
+
+<pre>template &lt;class T&gt;
+struct limits_test
+{
+#ifdef BOOST_MSVC
+ BOOST_STATIC_CONSTANT(bool, check = ::std::numeric_limits&lt;T&gt;::is_specialized);
+ BOOST_STATIC_ASSERT(check);
+#else
+ BOOST_STATIC_ASSERT(::std::numeric_limits&lt;T&gt;::is_specialized);
+#endif
+};</pre>
+
+<p><b><i>Be careful how you use the sizeof operator</i></b></p>
+
+<p>As far as I can tell, all compilers treat sizeof expressions
+correctly when the argument is the name of a type (or a template-id),
+however problems can occur if:</p>
+
+<ol>
+ <li>The argument is the name of a member-variable, or a local
+ variable (code may not compile with VC6).</li>
+ <li>The argument is an expression which involves the creation
+ of a temporary (code will not compile with Borland C++).</li>
+ <li>The argument is an expression involving an overloaded
+ function call (code compiles but the result is a garbage
+ value with Metroworks C++).</li>
+</ol>
+
+<p><b><i>Don't use boost::is_convertible unless you have to</i></b></p>
+
+<p>Since is_convertible is implemented in terms of the sizeof
+operator, it consistently gives the wrong value when used with
+the Metroworks compiler, and may not compile with the Borland's
+compiler (depending upon the template arguments used).</p>
+
+<hr>
+
+<p><i>© Copyright Dr John Maddock 2001</i></p>
+<p><i>Use, modification and distribution are subject to the Boost Software License,
+ Version 1.0. (See accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
+ or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+</body>
+</html>
diff --git a/more/lib_guide.htm b/more/lib_guide.htm
new file mode 100644
index 0000000000..d5d95f63c4
--- /dev/null
+++ b/more/lib_guide.htm
@@ -0,0 +1,613 @@
+<html>
+ <head>
+ <title>Boost Library Requirements and Guidelines</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <meta name="Microsoft Border" content="none, default">
+ </head>
+ <body bgcolor="#ffffff" text="#000000">
+ <table border="1" bgcolor="#007f7f" cellpadding="2">
+ <tr>
+ <td bgcolor="#ffffff"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#ffffff"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#ffffff"><big>Libraries</big></font></a></td>
+ <td><a href="../people/people.htm"><font face="Arial" color="#ffffff"><big>People</big></font></a></td>
+ <td><a href="faq.htm"><font face="Arial" color="#ffffff"><big>FAQ</big></font></a></td>
+ <td><a href="index.htm"><font face="Arial" color="#ffffff"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <h1 align="left">Boost Library Requirements and Guidelines</h1>
+ <p align="left"><a href="#Introduction">Introduction</a><br>
+ <a href="#Requirements">Requirements</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#License">License requirements</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#Portability">Portability requirements</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#Ownership">Ownership</a><br>
+ <a href="#Guidelines">Guidelines</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#Design_and_Programming">Design and programming</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#Directory_structure">Directory structure and
+ filenames</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#Naming&shy;_consistency">Naming consistency</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#Documentation">Documentation</a><br>
+ <a href="#Rationale">Rationale</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#Exception-specification">Exception-specification
+ rationale</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#Naming">Naming conventions rationale</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#code_fonts">Source code fonts rationale</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#Tabs">Tabs rationale</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#JavaScript">ECMAScript/JavaScript rationale</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#Rationale_rationale">Rationale rationale</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#Acknowledgements">Acknowledgements rationale</a></p>
+ <h2 align="left"><a name="Introduction">Introduction</a></h2>
+ <p align="left">This page describes requirements and guidelines for the content of
+ a library submitted to Boost.</p>
+ <p align="left">See the <a href="submission_process.htm">Boost Library Submission
+ Process</a> page for a description of the process involved.</p>
+ <h2 align="left"><a name="Requirements">Requirements</a></h2>
+ <p>To avoid the frustration and wasted time of a proposed library being rejected,
+ it must meets these requirements:</p>
+ <ul>
+ <li>
+ The license must meet the <a href="#License">license requirements</a>
+ below. Restricted licenses like the GPL and LGPL are not acceptable.
+ <li>
+ The copyright <a href="#Ownership">ownership</a>
+ must be clear.
+ <li>
+ The library must be generally useful and not restricted to a narrow problem
+ domain.
+ <li>
+ The library must meet the <a href="#Portability">portability requirements</a>
+ below.&nbsp;
+ <li>
+ The library must come reasonably close to meeting the <a href="#Guidelines">Guidelines</a>
+ below.
+ <ul>
+ <li>
+ <a href="#Design_and_Programming">Design and Programming</a>
+ <li>
+ <a href="#Directory_structure">Directory Structure</a>
+ <li>
+ <a href="#Documentation">Documentation</a></li>
+ </ul>
+ <li>
+ The author must be willing to participate in discussions on the mailing list,
+ and to refine the library accordingly.</li>
+ </ul>
+ <p>There's no requirement that an author read the mailing list for a time before
+ making a submission. It has been noted, however, that submissions which begin
+ "I just started to read this mailing list ..." seem to fail, often
+ embarrassingly.</p>
+ <h3 align="left"><a name="License">License</a> requirements</h3>
+ <p>The preferred way to meet the license requirements is to use the <a href="../LICENSE_1_0.txt">
+ Boost Software License</a>. See <a href="license_info.html">license information</a>.
+ If for any reason you do not intend to use the Boost Software License, please
+ discuss the issues on the Boost <a href="mailing_lists.htm#main">developers
+ mailing list</a> first.</p>
+ <p>The license requirements:</p>
+ <ul>
+ <li>
+ Must be simple to read and understand.
+ <li>
+ Must grant permission without fee to copy, use and modify the software for any
+ use (commercial and non-commercial).
+ <li>
+ Must require that the license appear on all copies of the software source code.
+ <li>
+ Must not require that the license appear with executables or other binary uses
+ of the library.
+ <li>
+ Must not require that the source code be available for execution or other
+ binary uses of the library.
+ <li>
+ May restrict the use of the name and description of the library to the standard
+ version found on the Boost web site.</li>
+ </ul>
+ <h3 align="left"><a name="Portability">Portability</a> requirements</h3>
+ <ul>
+ <li>
+ <p align="left">A library's interface must portable and not restricted to a
+ particular compiler or operating system.</p>
+ <li>
+ <p align="left">A library's implementation must if possible be portable and not
+ restricted to a particular compiler or operating system.&nbsp; If a portable
+ implementation is not possible, non-portable constructions are acceptable if
+ reasonably easy to port to other environments, and implementations are provided
+ for at least two popular operating systems (such as UNIX and Windows).</p>
+ <li>
+ <p align="left">There is no requirement that a library run on C++ compilers which
+ do not conform to the ISO standard.&nbsp;</p>
+ <li>
+ <p align="left">There is no requirement that a library run on any particular C++
+ compiler.&nbsp; Boost contributors often try to ensure their libraries work
+ with popular compilers.&nbsp; The boost/config.hpp <a href="../libs/config/config.htm">
+ configuration header</a> is the preferred mechanism for working around
+ compiler deficiencies.</p>
+ </li>
+ </ul>
+ <p align="left">Since there is no absolute way to prove portability, many boost
+ submissions demonstrate practical portability by compiling and executing
+ correctly with two different C++ compilers, often under different operating
+ systems.&nbsp; Otherwise reviewers may disbelieve that porting is in fact
+ practical.</p>
+ <h3 align="left"><a name="Ownership">Ownership</a></h3>
+ <p align="left">Are you sure you own the library you are thinking of
+ submitting?&nbsp;&nbsp; "How to Copyright Software" by MJ Salone, Nolo Press,
+ 1990 says:</p>
+ <blockquote>
+ <p align="left">Doing work on your own time that is very similar to programming
+ you do for your employer on company time can raise nasty legal problems.&nbsp;
+ In this situation, it's best to get a written release from your employer in
+ advance.</p>
+ </blockquote>
+ <p align="left">Place a copyright notice in all the important files you submit.
+ Boost won't accept libraries without clear copyright information.</p>
+ <h2 align="left"><a name="Guidelines">Guidelines</a></h2>
+ <p align="left">Please use these guidelines as a checklist for preparing the
+ content a library submission.&nbsp; Not every guideline applies to every
+ library, but a reasonable effort to comply is expected.</p>
+ <h3><a name="Design_and_Programming">Design and Programming</a></h3>
+ <ul>
+ <li>
+ Aim first for clarity and correctness; optimization should be only a secondary
+ concern in most Boost libraries.</li>
+ </ul>
+ <ul>
+ <li>
+ Aim for ISO Standard C++. Than means making effective use of the standard
+ features of the language, and avoiding non-standard compiler extensions. It
+ also means using the C++ Standard Library where applicable.</li>
+ </ul>
+ <ul>
+ <li>
+ Headers should be good neighbors. See the <a href="header.htm">header policy</a>.
+ See <a href="#Naming&shy;_consistency">Naming consistency</a>.</li>
+ </ul>
+ <ul>
+ <li>
+ Follow quality programming practices. See, for example, "Effective C++" 2nd
+ Edition, and "More Effective C++", both by Scott Meyers, published by Addison
+ Wesley.</li>
+ </ul>
+ <ul>
+ <li>
+ Use the C++ Standard Library or other Boost libraries, but only when the
+ benefits outweigh the costs.&nbsp; Do not use libraries other than the C++
+ Standard Library or Boost. See <a href="library_reuse.htm">Library reuse</a>.</li>
+ </ul>
+ <ul>
+ <li>
+ Read <a href="imp_vars.htm">Implementation Variation</a> to see how to supply
+ performance, platform, or other implementation variations.</li>
+ </ul>
+ <ul>
+ <li>
+ Read the <A href="separate_compilation.html">guidelines for libraries with
+ separate source</A>
+ to see how to ensure that compiled link libraries meet user expectations.
+ </li>
+ </ul>
+ <ul>
+ <LI>
+ Use the naming conventions of the C++ Standard Library (See <a href="#Naming">Naming
+ conventions rationale</a>):
+ <br>
+ &nbsp;<ul>
+ <li>
+ Names (except as noted below) should be all lowercase, with words separated by
+ underscores.
+ <li>
+ Acronyms should be treated as ordinary names (e.g. <code>xml_parser</code> instead
+ of <code>XML_parser</code>).
+ <li>
+ Template parameter names begin with an uppercase letter.
+ <li>
+ Macro (gasp!) names all uppercase and begin with BOOST_.</li>
+ </ul>
+ </LI>
+ </ul>
+ <ul>
+ <li>
+ Choose meaningful names - explicit is better than implicit, and readability
+ counts. There is a strong preference for clear and descriptive names, even if
+ lengthy.</li>
+ </ul>
+ <ul>
+ <li>
+ Use exceptions to report errors where appropriate, and write code that is safe
+ in the face of exceptions.</li>
+ </ul>
+ <ul>
+ <li>
+ Avoid exception-specifications. See <a href="#Exception-specification">exception-specification
+ rationale</a>.</li>
+ </ul>
+ <ul>
+ <li>
+ Provide sample programs or confidence tests so potential users can see how to
+ use your library.</li>
+ </ul>
+ <ul>
+ <li>
+ Provide a regression test program or programs which follow the <a href="test_policy.htm">
+ Test Policies and Protocols</a>.</li>
+ </ul>
+ <ul>
+ <li>
+ Although some boost members use proportional fonts, tabs, and unrestricted line
+ lengths in their own code, boost's widely distributed source code should follow
+ more conservative guidelines:
+ <ul>
+ <li>
+ Use fixed-width fonts.&nbsp; See <a href="#code_fonts">fonts rationale</a>.
+ <li>
+ Use spaces rather than tabs. See <a href="#Tabs">tabs rationale</a>.
+ <li>
+ Limit line lengths to 80 characters.</li>
+ </ul>
+ </li>
+ </ul>
+ <ul>
+ <li>
+ End all documentation files (HTML or otherwise) with a copyright message and a
+ licensing message. See the <a href="#Copyright">end of this file</a> for an
+ example of the preferred form.</li>
+ </ul>
+ <ul>
+ <li>
+ Begin all source files (including programs, headers, scripts, etc.) with:
+ <br>
+ &nbsp;<ul>
+ <li>
+ A comment line describing the contents of the file.<br>
+ &nbsp;
+ <li>
+ Comments describing copyright and licensing. The preferred form is:<br>
+ <br>
+ <code>//&nbsp; Copyright Jane Programmer 2002. Use, modification, and distribution
+ are<br>
+ //&nbsp; subject to the Boost Software License, Version 1.0. (See accompanying<br>
+ //&nbsp; file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)<br>
+ </code>
+ <br>
+ Please leave an empty line before and after the copyright and license comments.
+ It is fine if the copyright and license messages are on different lines, but
+ there should be no other intervening text. Do not include "All rights reserved"
+ in the copyright message.<br>
+ <br>
+ See <a href="license_info.html">license information page</a> for more
+ information about the Boost Software License.<br>
+ <br>
+ Note that developers should not include a copy of <code>LICENSE_1_0.txt</code> in
+ their libraries; Boost distributions already include a copy in the Boost root
+ directory.<br>
+ &nbsp;
+ <li>
+ A comment line referencing your library on the Boost web site. For example:<br>
+ <br>
+ <code>//&nbsp; See http://www.boost.org/libs/foo for library home page.</code><br>
+ <br>
+ where <code>foo</code> is the directory name (see below) for your library. As
+ well as aiding users who come across a Boost file detached from its
+ documentation, some of Boost's automatic tools depend on this comment to
+ identify which library header files belong to.</li>
+ </ul>
+ </li>
+ </ul>
+ <ul>
+ <li>
+ Make sure your code compiles in the presence of the <code>min()</code> and <code>max()</code>
+ macros. Some platform headers define <code>min()</code> and <code>max()</code> macros which
+ cause some common C++ constructs to fail to compile. Some simple tricks can protect your code
+ from inappropriate macro substitution:<br>&nbsp;
+ <ul>
+ <li>
+ If you want to call <code>std::min()</code> or <code>std::max()</code>:<br>&nbsp;
+ <ul>
+ <li>
+ If you do not require argument-dependent look-up, use <code>(std::min)(a,b)</code>.
+ </li>&nbsp;
+ <li>
+ If you do require argument-dependent look-up, you should:<br>&nbsp;
+ <ul>
+ <li><code>#include &lt;boost/config.hpp&gt;</code></li>&nbsp;
+ <li>Use <code>BOOST_USING_STD_MIN();</code> to bring <code>std::min()</code> into
+ the current scope.</li>&nbsp;
+ <li>Use <code>min BOOST_PREVENT_MACRO_SUBSTITUTION (a,b);</code> to make an
+ argument-dependent call to <code>min(a,b)</code>.</li>&nbsp;
+ </ul>
+ </li>
+ </ul>&nbsp;
+ </li>
+ <li>
+ If you want to call <code>std::numeric_limits&lt;int&gt;::max()</code>, use
+ <code>(std::numeric_limits&lt;int&gt;::max)()</code> instead.<br>&nbsp;
+ </li>
+ <li>
+ If you want to call a <code>min()</code> or <code>max()</code> member function,
+ instead to doing <code>obj.min()</code>, use <code>(obj.min)()</code>.<br>&nbsp;
+ </li>
+ <li>
+ If you want to declare or define a function or a member function named <code>min</code>
+ or <code>max</code>, then you must use the <code>BOOST_PREVENT_MACRO_SUBSTITUTION</code>
+ macro. Instead of writing <code>int min() { return 0; }</code> you should write
+ <code>int min BOOST_PREVENT_MACRO_SUBSTITUTION () { return 0; }</code> This is true
+ regardless if the function is a free (namespace scope) function, a member function or a
+ static member function, and it applies for the function declaration as well as the
+ function definition.<br>&nbsp;
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <h3><a name="Directory_structure">Directory Structure</a> and Filenames</h3>
+ <ul>
+ <li>
+ File and directory names must contain only <b>lowercase</b> ASCII letters , numbers,
+ underscores, and a period.&nbsp; Leading character must be alphabetic. Maximum
+ length 31. Only a single period is permitted.&nbsp; These requirements ensure
+ file and directory names are relatively portable.
+ <li>
+ Files intended to be processed by a C++ compiler as part
+ of a translation unit should have <b>a three-letter
+ extension ending in &quot;pp&quot;</b>. Other files should
+ <i>not</i> use extensions ending in &quot;pp&quot;. This
+ convention makes it easy to identify all of the C++ source
+ in Boost.</li>
+ <li>
+ All libraries have at their highest level a primary directory named for the
+ particular library. See <a href="#Naming&shy;_consistency">Naming consistency</a>.
+ The primary directory may have sub-directories.
+ <li>
+ For very simple libraries implemented entirely within the library header, all
+ files go in the primary directory (except headers, which go in the boost header
+ directory).</li>
+ </ul>
+ <blockquote>
+ <p><b>Boost standard sub-directory names</b></p>
+ <table border="1" cellpadding="5">
+ <tr>
+ <td><b>Sub-directory</b></td>
+ <td><b>Contents</b></td>
+ <td><b>Required</b></td>
+ </tr>
+ <tr>
+ <td><code>build</code></td>
+ <td>Library build files such as a Jamfile.</td>
+ <td>If any build files.</td>
+ </tr>
+ <tr>
+ <td><code>doc</code></td>
+ <td>Documentation (HTML) files.</td>
+ <td>If several doc files.</td>
+ </tr>
+ <tr>
+ <td><code>example</code></td>
+ <td>Sample program files.</td>
+ <td>If several sample files.</td>
+ </tr>
+ <tr>
+ <td><code>src</code></td>
+ <td>Source files which must be compiled to build the library.&nbsp;</td>
+ <td>If any source files.</td>
+ </tr>
+ <tr>
+ <td><code>test</code></td>
+ <td>Regression or other test programs or scripts.</td>
+ <td>If several test files.</td>
+ </tr>
+ </table>
+ </blockquote>
+ <h4><a name="Redirection">Redirection</a></h4>
+ <p>The primary directory should always contain a file named index.html (or
+ index.htm). Authors have requested this so that they can publish URL's in the
+ form <i>http://www.boost.org/libs/lib-name</i> with the assurance a
+ documentation reorganization won't invalidate the URL. Boost's internal tools
+ are also simplified by knowing that a library's documentation is always
+ reachable via the simplified URL.</p>
+ <p>If the documentation is in a doc sub-directory, the primary directory
+ index.html file should just do an automatic redirection to the doc
+ subdirectory:</p>
+ <blockquote>
+ <pre>&lt;html&gt;
+&lt;head&gt;
+&lt;meta http-equiv="refresh" content="0; URL=doc/index.html"&gt;
+&lt;/head&gt;
+&lt;body&gt;
+Automatic redirection failed, please go to
+&lt;a href="doc/index.html"&gt;doc/index.html&lt;/a&gt;
+&lt;/body&gt;
+&lt;/html&gt;</pre>
+ </blockquote>
+ <h3><a name="Naming&shy;_consistency">Naming consistency</a></h3>
+ <p>As library developers and users have gained experience with Boost, the
+ following consistent naming approach has come to be viewed as very helpful,
+ particularly for larger libraries that need their own header subdirectories
+ and namespaces.</p>
+ <p>Here is how it works. The library is given a name that describes the contents
+ of the library. Cryptic abbreviations are strongly discouraged. Following the
+ practice of the C++ Standard Library, names are usually singular rather than
+ plural. For example, a library dealing with file systems might chose the
+ name "filesystem", but not "filesystems", "fs" or "nicecode".</p>
+ <ul>
+ <li>
+ The library's primary directory (in parent <i>boost-root/libs</i>) is given
+ that same name.&nbsp; For example, <i>boost-root/libs/filesystem</i>.<br>
+ &nbsp;
+ <li>
+ The library's primary header directory (in parent <i>boost-root/boost</i>) is
+ given that same name. For example, <i>boost-root/boost/filesystem</i>.<br>
+ &nbsp;
+ <li>
+ The library's primary namespace (in parent <i>::boost</i>) is given that same
+ name, except when there's a component with that name (e.g., <i>boost::tuple</i>), in which case the namespace name is pluralized. For example, <i>::boost::filesystem</i>.</li>
+ </ul>
+
+ <p>When documenting Boost libraries, follow these conventions (see also the following section of this document):
+ <ul>
+ <li>The library name is set in roman type.</li>
+ <li>The library name is capitalized.</li>
+ <li>A period between "Boost" and the library name (e.g., Boost.Bind) is used if and only if the library name is not followed by the word "library".</li>
+ <li>The word "library" is not part of the library name and is therefore lowercased.</li>
+ </ul>
+ <p>Here are a few examples of how to apply these conventions:
+ <ul>
+ <li>Boost.Bind was written by Peter Dimov.</li>
+ <li>The Boost Bind library was written by Peter Dimov.</li>
+ <li>I regularly use Bind, a Boost library written by Peter Dimov.</li>
+ </ul>
+
+ <h3><a name="Documentation">Documentation</a></h3>
+ <p>Even the simplest library needs some documentation; the amount should be
+ proportional to the need.&nbsp; The documentation should assume the readers
+ have a basic knowledge of C++, but are not necessarily experts.</p>
+ <p>The format for documentation should be HTML, and should not require an advanced
+ browser or server-side extensions. Style sheets are acceptable.
+ ECMAScript/JavaScript is not acceptable. The documentation entry point should
+ always be a file named index.html or index.htm; see <a href="#Redirection">Redirection</a>.</p>
+ <p>There is no single right way to do documentation. HTML documentation is often
+ organized quite differently from traditional printed documents. Task-oriented
+ styles differ from reference oriented styles. In the end, it comes down to the
+ question: Is the documentation sufficient for the mythical "average" C++
+ programmer to use the library successfully?</p>
+ <p>Appropriate topics for documentation often include:
+ <ul>
+ <li>
+ General introduction to the library.
+ <li>
+ Description of each class.
+ <li>
+ Relationship between classes.
+ <li>
+ For each function, as applicable, description, requirements (preconditions),
+ effects, post-conditions, returns, and throws.
+ <li>
+ Discussion of error detection and recovery strategy.
+ <li>
+ How to use including description of typical uses.
+ <li>
+ How to compile and link.
+ <li>
+ How to test.
+ <li>
+ Version or revision history.
+ <li>
+ Rationale for design decisions.&nbsp; See <a href="#Rationale">Rationale rationale</a>.
+ <li>
+ Acknowledgements.&nbsp; See <a href="#Acknowledgements">Acknowledgments rationale.</a></li>
+ </ul>
+ <p>If you need more help with how to write documentation you can check out the
+ article on <a href="writingdoc/index.html">Writing Documentation for Boost</a>.</p>
+ <h2><a name="Rationale">Rationale</a></h2>
+ <p>Rationale for some of the requirements and guidelines follows.</p>
+ <hr>
+ <h3><a name="Exception-specification">Exception-specification</a> rationale</h3>
+ <p>Exception specifications [ISO 15.4] are sometimes coded to indicate what
+ exceptions may be thrown, or because the programmer hopes they will improved
+ performance.&nbsp; But consider the following member from a smart pointer:</p>
+ <pre> T&amp; operator*() const throw() { return *ptr; }</pre>
+ <p>This function calls no other functions; it only manipulates fundamental data
+ types like pointers Therefore, no runtime behavior of the
+ exception-specification can ever be invoked.&nbsp; The function is completely
+ exposed to the compiler; indeed it is declared inline Therefore, a smart
+ compiler can easily deduce that the functions are incapable of throwing
+ exceptions, and make the same optimizations it would have made based on the
+ empty exception-specification. A "dumb" compiler, however, may make all kinds
+ of pessimizations.</p>
+ <p>For example, some compilers turn off inlining if there is an
+ exception-specification.&nbsp; Some compilers add try/catch blocks. Such
+ pessimizations can be a performance disaster which makes the code unusable in
+ practical applications.</p>
+ <p>Although initially appealing, an exception-specification tends to have
+ consequences that require <b>very</b> careful thought to understand. The
+ biggest problem with exception-specifications is that programmers use them as
+ though they have the effect the programmer would like, instead of the effect
+ they actually have.</p>
+ <p>A non-inline function is the one place a "throws nothing"
+ exception-specification may have some benefit with some compilers.</p>
+ <hr>
+ <h3><a name="Naming">Naming</a> conventions rationale</h3>
+ <p>The C++ standard committee's Library Working Group discussed this issue in
+ detail, and over a long period of time. The discussion was repeated again in
+ early boost postings. A short summary:</p>
+ <ul>
+ <li>
+ Naming conventions are contentious, and although several are widely used, no
+ one style predominates.
+ <li>
+ Given the intent to propose portions of boost for the next revision of the C++
+ standard library, boost decided to follow the standard library's conventions.
+ <li>
+ Once a library settles on a particular convention, a vast majority of
+ stakeholders want that style to be consistently used.
+ </li>
+ </ul>
+ <hr>
+ <h3>Source <a name="code_fonts">code fonts</a> rationale</h3>
+ <p>Dave Abrahams comments: An important purpose (I daresay the primary purpose) of
+ source code is communication: the documentation of intent. This is a doubly
+ important goal for boost, I think. Using a fixed-width font allows us to
+ communicate with more people, in more ways (diagrams are possible) right there
+ in the source. Code written for fixed-width fonts using spaces will read
+ reasonably well when viewed with a variable-width font, and as far as I can
+ tell every editor supporting variable-width fonts also supports fixed width. I
+ don't think the converse is true.</p>
+ <hr>
+ <h3><a name="Tabs">Tabs</a> rationale</h3>
+ <p>Tabs are banned because of the practical problems caused by tabs in
+ multi-developer projects like Boost, rather than any dislike in principle. See <a href="mailing_lists.htm#archive">
+ mailing list archives</a>. Problems include maintenance of a single source
+ file by programmers using tabs and programmers using spaces, and the difficulty
+ of enforcing a consistent tab policy other than just "no tabs". Discussions
+ concluded that Boost files should either all use tabs, or all use spaces, and
+ thus the decision to stick with spaces.</p>
+ <hr>
+ <h3>ECMAScript/<a name="JavaScript">JavaScript</a> rationale</h3>
+ <p>Before the 1.29.0 release, two Boost libraries added ECMAScript/JavaScript
+ documentation. Controversy followed (see <a href="mailing_lists.htm#archive">mailing
+ list archives</a>), and the developers were asked to remove the
+ ECMAScript/JavaScript. Reasons given for banning included:</p>
+ <ul>
+ <li>
+ Incompatible with some older browsers and some text based browsers.
+ <li>
+ Makes printing docs pages difficult.
+ <li>
+ Often results in really bad user interface design.
+ <li>
+ "It's just annoying in general."
+ <li>
+ Would require Boost to test web pages for ECMAScript/JavaScript compliance.
+ <li>
+ Makes docs maintenance by other than the original developer more difficult.</li>
+ </ul>
+ <hr>
+ <h3><a name="Rationale_rationale">Rationale rationale</a></h3>
+ <p>Rationale is defined as "The fundamental reasons for something; basis" by the
+ American Heritage Dictionary.</p>
+ <p>Beman Dawes comments:&nbsp; Failure to supply contemporaneous rationale for
+ design decisions is a major defect in many software projects. Lack of accurate
+ rationale causes issues to be revisited endlessly, causes maintenance bugs when
+ a maintainer changes something without realizing it was done a certain way for
+ some purpose, and shortens the useful lifetime of software.</p>
+ <p>Rationale is fairly easy to provide at the time decisions are made, but very
+ hard to accurately recover even a short time later.</p>
+ <hr>
+ <h3><a name="Acknowledgements">Acknowledgements</a> rationale</h3>
+ <p>As a library matures, it almost always accumulates improvements suggested to
+ the authors by other boost members.&nbsp; It is a part of the culture of
+ boost.org to acknowledge such contributions, identifying the person making the
+ suggestion.&nbsp; Major contributions are usually acknowledged in the
+ documentation, while minor fixes are often mentioned in comments within the
+ code itself.</p>
+ <hr>
+ <p>Revised
+ <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->
+ 04 November, 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
+ <p>
+ © <a name="Copyright">Copyright</a> Beman Dawes 2003.</p>
+ <p> Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
+ copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+ </body>
+</html>
diff --git a/more/library_reuse.htm b/more/library_reuse.htm
new file mode 100644
index 0000000000..0b48f52335
--- /dev/null
+++ b/more/library_reuse.htm
@@ -0,0 +1,75 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title>Boost Library Reuse</title>
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+
+<table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="../people/people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+</table>
+&nbsp;
+<h1>Boost Library reuse: cost versus benefit trade-offs</h1>
+<p>A Boost library <b>should not</b> use libraries other than Boost or the C++
+Standard Library.</p>
+<p>A Boost library <b>should</b> use other Boost Libraries or the C++ Standard
+Library, but only when the benefits outweigh the costs.&nbsp;</p>
+<p>The benefits of using components from other libraries may include clearer,
+more understandable code, reduced development and maintenance costs, and the
+assurance which comes from reusing well-known and trusted building blocks.</p>
+<p>The costs may include undesirable coupling between components, and added
+compilation and runtime costs.&nbsp; If the interface to the additional
+component is complex, using it may make code less readable, and thus actually
+increase development and maintenance costs.</p>
+<p>Negative effects of coupling become obvious when one library uses a second
+library which uses a third, and so on. The worst form of coupling requires the
+user understand each of the coupled libraries. Coupling may also reduce the
+portability of a library - even in case when all used libraries are
+self-sufficient (see example of questionable usage of &lt;iostream&gt; library
+below).</p>
+<p><b>Example where another boost component should certainly be used:</b>&nbsp;
+boost::noncopyable (in <a href="../boost/utility.hpp">boost/utility.hpp</a>) has
+considerable benefits; it simplifies code, improves readability, and signals
+intent.&nbsp; Costs are low as coupling is limited;&nbsp; noncopyable itself
+uses no other classes and its header includes only the lightweight headers
+&lt;boost/config.hpp&gt; and &lt;cstddef&gt;.&nbsp; There are no runtime costs
+at all. With costs so low and benefits so high, other boost libraries should use
+boost::noncopyable when the need arises except in exceptional circumstances.</p>
+<p><b>Example where a standard library component might possibly be used:</b>
+Providing diagnostic output as a debugging aid can be a nice feature for a
+library. Yet using Standard Library &lt;iostream&gt; can involves a lot of
+additional cost, particularly if &lt;iostream&gt; is unlikely to be use
+elsewhere in the application.&nbsp; In certain GUI or embedded applications,
+coupling to &lt;iostream&gt; would be a disqualification.&nbsp;&nbsp;&nbsp;
+Consider redesign of the boost library in question so that the user supplies the
+diagnostic output mechanism.</p>
+<p><b>Example where another boost component should not be used:</b>&nbsp; The
+boost dir_it library has considerable coupling and runtime costs, not to mention
+portability issues for unsupported operating systems.&nbsp; While completely
+appropriate when directory iteration is required, it would not be reasonable for
+another boost library to use dir_it just to check that a file is available
+before opening.&nbsp; C++ Standard Library file open functionality does this at
+lower cost.&nbsp; Don't use dir_it just for the sake of using a boost library.</p>
+<hr>
+<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B %Y" startspan -->02 October 2003<!--webbot bot="Timestamp" endspan i-checksum="32277" --></p>
+<p>© Copyright Beman Dawes 2000</p>
+<p> Use, modification, and distribution are subject to the Boost Software
+License, Version 1.0. (See accompanying file <a href="../LICENSE_1_0.txt">
+LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
+www.boost.org/LICENSE_1_0.txt</a>)</p>
+
+</body>
+
+</html> \ No newline at end of file
diff --git a/more/license_info.html b/more/license_info.html
new file mode 100644
index 0000000000..5eff1ee513
--- /dev/null
+++ b/more/license_info.html
@@ -0,0 +1,262 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Boost Software License Background</title>
+</head>
+
+<body bgcolor="#FFFFFF">
+
+<table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="../people/people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+</table>
+
+<h1>Information about the <a href="../LICENSE_1_0.txt">Boost Software License</a> </h1>
+
+<p><a href="../LICENSE_1_0.txt">License text</a><br>
+<a href="#Introduction">Introduction</a><br>
+<a href="#History">History</a><br>
+<a href="#Rationale">Rationale</a><br>
+<a href="#FAQ">FAQ</a><br>
+<a href="#Transition">Transition</a><br>
+<a href="#Acknowledgements">Acknowledgements</a></p>
+
+<h2><a name="Introduction">Introduction</a></h2>
+
+<p>The <a href="../LICENSE_1_0.txt">Boost Software License</a>
+specifies the terms and conditions of use for those Boost libraries
+that it covers.</p>
+
+<p>Currently, some Boost libraries have their own licenses. The hope is that
+eventually all Boost libraries will be covered by the Boost Software
+License. In the meantime, <b>all</b> libraries comply with the <a
+href="#requirements">Boost License requirements</a>.</p>
+
+<h2><a name="History">History</a></h2>
+
+<p>As Boost grew, it became unmanageable for each Boost file to have
+its own license. Users complained that each license needed to be reviewed, and that
+reviews were difficult or impossible if Boost libraries contained many different licenses.
+Boost moderators and maintainers spent excessive time dealing with license
+issues. Boost developers often copied existing licenses without actually knowing
+if the license wording met legal needs.</p>
+<p>To clarify these licensing issues, the Boost moderators asked for help from
+the <a href="http://cyber.law.harvard.edu">Berkman Center for Internet &amp; Society</a>
+at Harvard Law School, Cambridge, Massachusetts, USA. It was requested that a
+single Boost license be developed that met the traditional requirements that Boost licenses, particularly:</p>
+
+<a name="requirements"></a>
+<ul>
+ <li>Must be simple to read and understand. </li>
+ <li>Must grant permission without fee to copy, use and modify the software for
+ any use (commercial and non-commercial). </li>
+ <li>Must require that the license appear with all copies [including
+ redistributions] of the software source code. </li>
+ <li>Must not require that the license appear with executables or other binary
+ uses of the library. </li>
+ <li>Must not require that the source code be available for execution or other
+ binary uses of the library. </li>
+</ul>
+
+<p>Additionally, other common open source licenses were studied to see what
+additional issues were being treated, and additions representing good legal
+practice were also requested. The result is the <a href="../LICENSE_1_0.txt">Boost
+Software License</a>.</p>
+
+<h2><a name="Rationale">Rationale</a></h2>
+
+<p>The following rationale was provided by Devin Smith, the
+lawyer who wrote the Boost Software License. It has been edited slightly for
+brevity. Editorial additions are shown in square brackets.</p>
+
+<h3>Benefit of Common Software License</h3>
+<p>If one of Boost's goals is to ease use and adoption of the various
+libraries made available by Boost, it does make sense to try to
+standardize the licenses under which the libraries are made available to
+users. (I make some recommendations about a possible short-form license
+below.)</p>
+<p>[Standardizing the license will not] necessarily address the issue of satisfying
+corporate licensees. Each corporation will have its own concerns, based
+on their own experiences with software licensing and distribution and,
+if they're careful, will want to carefully review each license, even if
+they've been told that they're all standard. I would expect that,
+unless we're remarkably brilliant (or lucky) in drafting the standard
+Boost license, the standard license won't satisfy the legal departments
+of all corporations. I imagine that some will, for instance, absolutely
+insist that licensors provide a warranty of title and provide
+indemnification for third-party intellectual property infringement
+claims. Others may want functional warranties. (If I were advising the
+corporations, I would point out that they're not paying anything for the
+code and getting such warranties from individual programmers, who
+probably do not have deep pockets, is not that valuable anyway, but
+other lawyers may disagree.)</p>
+<p>But this can be addressed, not by trying to craft the perfect standard
+license, but by informing the corporations that they can, if they don't like the
+standard license, approach the authors to negotiate a different, perhaps even
+paid, license.</p>
+<p>One other benefit of adopting a standard license is to help ensure that
+the license accomplishes, from a legal perspective, what the authors
+intend. For instance, many of the [original] licenses for the libraries available
+on boost.org do not disclaim the warranty of title, meaning that the
+authors could, arguably, be sued by a user if the code infringes the
+rights of a third party and the user is sued by that third party. I
+think the authors probably want to disclaim this kind of liability.</p>
+<h3>Short-Form License</h3>
+<p>Without in anyway detracting from the draft license that's been
+circulated [to Boost moderators], I'd like to propose an alternative &quot;short-form&quot; license that
+Boost could have the library authors adopt. David [Abrahams] has expressed a
+desire to keep things as simple as possible, and to try to move away
+from past practice as little as possible, and this is my attempt at a
+draft.</p>
+<p>This license, which is very similar to the BSD license and the MIT
+license, should satisfy the Open Source Initiative's Open Source
+Definition: (i) the license permits free redistribution, (ii) the
+distributed code includes source code, (iii) the license permits the
+creation of derivative works, (iv) the license does not discriminate
+against persons or groups, (v) the license does not discriminate against
+fields of endeavor, (vi) the rights apply to all to whom the program is
+redistributed, (vii) the license is not specific to a product, and (viii) the
+license is technologically neutral (i.e., it does not [require] an explicit gesture of
+assent in order to establish a contract between licensor and licensee).</p>
+<p>This license grants all rights under the owner's copyrights (as well as an
+implied patent license), disclaims all liability for use of the code (including
+intellectual property infringement liability), and requires that all subsequent
+copies of the code [except machine-executable object code], including partial copies and derivative works, include the
+license.</p>
+
+<h2><a name="FAQ">FAQ</a></h2>
+
+<p><b>How should Boost programmers apply the license to source and
+header files?</b></p>
+
+<p>Include a comment based on the following template, substituting
+appropriate text for the italicized portion:
+
+<pre>
+// Copyright <i>2004 Joe Coder</i>.
+// 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)
+</pre>
+
+<p>Other ways of licensing source files have been considered, but some
+of them turned out to unintentionally nullify legal elements of the
+license. Having fixed language for referring to the license helps
+corporate legal departments evaluate the boost distribution.
+Creativity in license reference language is strongly discouraged, but
+judicious changes in the use of whitespace are fine.
+
+<p><b>How is the Boost license different from the
+<a href="http://www.opensource.org/licenses/gpl-license.php">GNU General Public
+License (GPL)</a>?</b></p>
+
+
+<p>The Boost license permits the creation of derivative works for
+commercial or non-commercial use with no legal requirement to release
+your source code. Other differences include Boost not requiring
+reproduction of copyright messages for object code redistribution, and
+the fact that the Boost license is not &quot;viral&quot;: if you
+distribute your own code along with some Boost code, the Boost license
+applies only to the Boost code (and modified versions thereof); you
+are free to license your own code under any terms you like. The GPL is
+also much longer, and thus may be harder to understand.</p>
+
+<p><b>Why the phrase &quot;machine-executable object code generated by a source
+language processor&quot;?</b></p>
+
+<p>To distinguish cases where we do not require reproduction of the copyrights
+and license, such as object libraries, shared libraries, and final program
+executables, from cases where reproduction is still required, such as
+distribution of self-extracting archives of source code or precompiled header
+files. More detailed wording was rejected as not being legally necessary, and
+reducing readability.</p>
+
+<p><b>Why is the &quot;disclaimer&quot; paragraph of the license entirely in uppercase?</b></p>
+
+<p>Capitalization of these particular provisions is a US legal mandate for
+consumer protection. (Diane Cabell)</p>
+
+<p><b>Does the copyright and license cover interfaces too?</b></p>
+
+<p>The conceptual interface to a library isn't covered. The particular
+representation expressed in the header is covered, as is the documentation,
+examples, test programs, and all the other material that goes with the library.
+A different implementation is free to use the same logical interface, however.
+Interface issues have been fought out in court several times; ask a lawyer for
+details.</p>
+
+<p><b>Why doesn't the license prohibit the copyright holder from patenting the
+covered software?</b></p>
+
+<p>No one who distributes their code under the terms of this license could turn
+around and sue a user for patent infringement. (Devin Smith)</p>
+
+<p>Boost's lawyers were well aware of patent provisions in licenses like the GPL
+and CPL, and would have included such provisions in the Boost license if they
+were believed to be legally useful.</p>
+
+<p><b>Why doesn't the copyright message say &quot;All rights reserved&quot;?</b></p>
+
+<p>Devin Smith says &quot;I don't think it belongs in the copyright notice for
+anything (software, electronic documentation, etc.) that is being licensed. It
+belongs in books that are sold where, in fact, all rights (e.g., to reproduce
+the book, etc.) are being reserved in the publisher or author. I think it
+shouldn't be in the BSD license.&quot;</p>
+
+<p><b>Do I have to copyright/license trivial files?</b>
+
+
+<p>Even a test file that just contains an empty <code>main()</code>
+should have a copyright. Files without copyrights make corporate
+lawyers nervous, and that's a barrier to adoption. The more of Boost
+is uniformly copyrighted and licensed, the less problem people will
+have with mounting a Boost release CD on a corporate server.
+
+
+<p><b>Can I use the Boost license for my own projects outside Boost?</b>
+
+<p>Sure; there are no restrictions on the use of the license itself.
+
+<h2><a name="Transition">Transition</a></h2>
+
+<p>To ease the transition of the code base towards the new common
+license, several people decided to give a <a
+href="blanket-permission.txt">blanket permission</a> for all
+their contributions to use the new license. This hopefully helps
+maintainers to switch to the new license once the list contains enough
+names without asking over and over again for each change. Please
+consider adding your name to the list.</p>
+
+<h2><a name="Acknowledgements">Acknowledgements</a></h2>
+<p>Dave Abrahams led the Boost effort to develop better licensing. The legal
+team was led by
+<a href="http://cyber.law.harvard.edu/people/cabell/index.html">Diane Cabell</a>,
+Director, Clinical Programs, <a href="http://cyber.law.harvard.edu">Berkman
+Center for Internet &amp; Society</a>, Harvard Law School.
+<a href="http://www.nixonpeabody.com/attorneys_detail1.asp?ID=121">Devin Smith</a>, attorney, <a href="http://www.nixonpeabody.com/default.asp">
+Nixon Peabody LLP</a>, wrote the Boost License. Eva Chan, Harvard Law School,
+contributed analysis of Boost issues and drafts of various legal documents.
+Boost members reviewed drafts of the license. Beman Dawes wrote this web page.</p>
+<hr>
+<p>Revised
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->27 August, 2004<!--webbot bot="Timestamp" endspan i-checksum="39365" --></p>
+
+<p> © Copyright 2003-2004 Beman Dawes, Daniel Frey, David Abrahams.</p>
+<p> Distributed under the Boost Software License, Version 1.0.
+(See accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
+copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
+</p>
+
+</body>
+
+</html>
diff --git a/more/links.htm b/more/links.htm
new file mode 100644
index 0000000000..3f722e5877
--- /dev/null
+++ b/more/links.htm
@@ -0,0 +1,72 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Links</title>
+</head>
+
+<body bgcolor="#FFFFFF">
+
+<table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="../people/people.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+</table>
+
+
+<h1>Links</h1>
+<p>Here are a few links of special interest to Boost users. For general queries,
+try your favorite search engine.</p>
+<h2><a name="CommercialSupport">Commercial Support</a> for Boost Libraries</h2>
+<ul>
+ <li><a href="http://www.boost-consulting.com">Boost Consulting</a> - Support,
+ training, and consulting from Boost experts.</li>
+</ul>
+<h2><a name="cpp">C++</a> Organizations</h2>
+<ul>
+ <li><a href="http://www.open-std.org/jtc1/sc22/wg21/">C++ Standards Committee</a> -
+ Issues lists and papers give insight into current status and future
+ directions.</li>
+ <li><a href="http://www.accu.org">Association of C &amp; C++ Users</a> - Over 2400
+ book reviews, and lots more.</li>
+</ul>
+<h2>Online Publications</h2>
+<ul>
+ <li><a href="http://www.artima.com/cppsource/index.jsp">The C++ Source</a> -
+ <i>&quot;The Premier Online Journal for the C++ Community&quot;</i>.</li>
+</ul>
+<h2>Copies of the C++ Standard</h2>
+<ul>
+ <li>
+ <a href="http://webstore.ansi.org/ansidocstore/product.asp?sku=INCITS%2FISO%2FIEC+14882%2D2003">
+ ANSI Store</a> - The full C++ Standard including TC1 corrections (INCITS/ISO/IEC 14882) is available
+ as a PDF document for $18 US. The document is certainly not a
+ tutorial, but is interesting to those who care about the
+ precise specification of both the language and the standard
+ library.</li>
+ <li>
+ <a href="http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470846747.html">
+ Book</a> - The full C++ Standard including TC1 corrections is also available
+ in book form, list price $65 US. Since the content of the book is the same as
+ the much cheaper ANSI PDF, the book form is only of interest to those who
+ prefer a physical book, say for a school or company library.</li>
+</ul>
+<hr>
+<p>Revised
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->02 October, 2004<!--webbot bot="Timestamp" endspan i-checksum="38677" --></p>
+<p>© Copyright Beman Dawes 2002</p>
+<p>Use, modification, and distribution are subject to the Boost Software License,
+Version 1.0. (See accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy at
+<a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</p>
+
+</body>
+
+</html> \ No newline at end of file
diff --git a/more/mailing_lists.htm b/more/mailing_lists.htm
new file mode 100644
index 0000000000..7895d84877
--- /dev/null
+++ b/more/mailing_lists.htm
@@ -0,0 +1,376 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<html>
+<head>
+ <title>Mailing Lists</title>
+ <meta name="generator" content=
+ "HTML Tidy for Cygwin (vers 1st September 2004), see www.w3.org">
+ <meta name="generator" content="Microsoft FrontPage 5.0">
+ <meta name="generator" content="Microsoft FrontPage 5.0">
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+<style type="text/css">
+@import ../boost.css
+.first {
+ margin-top: 0 }
+
+.last {
+ margin-bottom: 0 }
+
+div.attention, div.caution, div.danger, div.error, div.hint,
+div.important, div.note, div.tip, div.warning, div.admonition {
+ margin: 2em ;
+ border: medium outset ;
+ padding: 1em }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title {
+ color: red ;
+ font-weight: bold ;
+ font-family: sans-serif }
+
+div.hint p.admonition-title, div.important p.admonition-title,
+div.note p.admonition-title, div.tip p.admonition-title,
+div.admonition p.admonition-title {
+ font-weight: bold ;
+ font-family: sans-serif }
+</style>
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt=
+ "boost.png (6897 bytes)" width="277" height="86"></td>
+
+ <td><a href="../index.htm"><font face="Arial" color=
+ "#FFFFFF"><big>Home</big></font></a></td>
+
+ <td><a href="../libs/libraries.htm"><font face="Arial" color=
+ "#FFFFFF"><big>Libraries</big></font></a></td>
+
+ <td><a href="../people/people.htm"><font face="Arial" color=
+ "#FFFFFF"><big>People</big></font></a></td>
+
+ <td><a href="faq.htm"><font face="Arial" color=
+ "#FFFFFF"><big>FAQ</big></font></a></td>
+
+ <td><a href="index.htm"><font face="Arial" color=
+ "#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+
+ <h1>Boost Mailing Lists and other resources</h1>
+
+ <p>The mailing lists are the heart of the Boost community.&nbsp; You may
+ read the lists via full-content email, email digests, or via newsgroup
+ reader.</p>
+
+ <p>Hosting for the mailing lists is donated by the <a href=
+ "http://www.osl.iu.edu/">Open Systems Lab at Indiana University</a>.</p>
+
+ <p>Access to Boost mailing lists via newsgroup (NNTP) is contributed by
+ <a href="http://www.gmane.org/">GMANE</a>.</p><a name="gmane_post" id=
+ "gmane_post"></a><a name="important notes" id="important_notes"></a>
+
+ <div class="admonition-note admonition">
+ <p class="first admonition-title">Before Posting</p>
+
+ <p class="last">
+
+ <b>Read the <a href="discussion_policy.htm">Discussion Policy and
+ Guide to Effective Posting</a>.</b>&nbsp; Doing so will help you
+ to ensure that your post is read by the people who can help you
+ and received in the spirit in which it was intended.
+
+<p>
+ <b>Subscribe your posting address.</b>&nbsp; As an anti-spam
+ measure, postings to most Boost mailing lists will only be
+ accepted if the posting's "From:" header contains an email
+ address that is subscribed to the list.&nbsp; If you try to post from
+ an address that isn't subscribed, you will probably get a
+ message that says:</p>
+
+ <blockquote>
+ <tt>You are not allowed to post to this mailing list, and your message
+ has been automatically rejected. If you think that your messages are
+ being rejected in error, contact the mailing list owner at</tt> <i>list
+ administrator's email address</i>.
+ </blockquote>If you need to post from multiple email addresses, you
+ should subscribe each one separately.&nbsp; You can configure your subscription
+ settings for any address to disable mail delivery via each mailing list's
+ web interface.
+
+ <p>Even postings made through the <a href=
+ "http://www.gmane.org">GMane</a> news server need to be made from
+ subscribed addresses because GMane simply forwards your postings
+ on to the appropriate email list.&nbsp; Don't be fooled by GMane's
+ authentication message that says "you are now authorized to post
+ to this list" after you answer its autogenerated mail; only
+ subscribed addresses may post.</p>
+
+</div>
+
+ <dl>
+ <dt><a href="#users">Boost Users</a> list
+
+ <dt><a href="#main">Boost developers</a> list</dt>
+
+ <dd>
+ <dl>
+ <dt><a href="#archive">Archives</a> for the Boost developers
+ list</dt>
+ </dl>
+ </dd>
+
+ <dt><a href="#announce">Boost Announce</a> list</dt>
+
+ <dt><a href="#interest">Boost Interest</a> list</dt>
+
+ <dt><a href="#projects">Project-Specific</a> lists</dt>
+
+ <dd>
+ <dl>
+ <dt><a href="#jamboost">Boost.Build</a> list</dt>
+
+ <dt><a href="#cplussig">Python C++-Sig</a> (for Boost.Python)</dt>
+
+ <dt><a href="#langbinding">Language Binding</a> (for generalized C++
+ bindings)</dt>
+
+ <dt><a href="#spirit">Boost.Spirit</a> lists</dt>
+
+ <dt><a href="https://lists.sourceforge.net/lists/listinfo/boost-docs">Boost.Documentation</a> list</dt>
+
+ <dt><a href="#testing">Testing</a> list (about regression-testing the
+ boost libraries, not for the Boost.Test library specifically)</dt>
+
+ <dt><a href="#ublas">Boost.uBlas (numerics)</a> list</dt>
+ </dl>
+ </dd>
+
+ <dt><a href="#sandbox">Boost Sandbox CVS</a></dt>
+ </dl>
+
+ <h2>Boost <a name="users" id="users">Users</a> mailing list (also available
+ via newsgroup)</h2>
+
+ <p>This list is oriented toward casual users of the Boost
+ libraries.&nbsp;It is a good place to start if you are having
+ trouble getting started with Boost or its individual libraries. Feel
+ free to post both "newbie" and more challenging questions, but
+ please check first to see if there's an
+ appropriate <a href="#projects">Project-Specific</a> list; you'll
+ often get better answers in a forum dedicated to your problem
+ area.&nbsp; This list is relatively
+ low volume (less than 500 per month).&nbsp; Subscribe or unsubscribe
+ at the <a href=
+ "http://lists.boost.org/mailman/listinfo.cgi/boost-users">Boost Users list
+ home page</a>.
+</p>
+
+ <p>For those who prefer to participate via an NNTP (<a name=
+ "users_newsgroup" id="users_newsgroup">newsgroup</a>) interface, a gateway
+ to the Boost Users mailing list is available at <a href=
+ "news://news.gmane.org/gmane.comp.lib.boost.user">news://news.gmane.org/gmane.comp.lib.boost.user</a>.
+ You can also browse <a href=
+ "http://news.gmane.org/thread.php?group=gmane.comp.lib.boost.user">Gmane's
+ searchable archive</a>.</p>
+
+ <h2><a name="main" id="main">Boost</a> developers mailing list (also
+ available via newsgroup)</h2>
+
+ <p>This is the main Boost mailing list.&nbsp; It is high volume (over 1000
+ messages per month), very technical, and oriented toward Boost library
+ developers. It is also read by many other members interested in watching
+ the Boost library development process.&nbsp; Virtually all Boost decisions,
+ major or minor, technical or otherwise, are reached via public discussion
+ on this mailing list.&nbsp; It is where the formal reviews of proposed
+ libraries take place. Subscribe or unsubscribe at <a href=
+ "http://lists.boost.org/mailman/listinfo.cgi/boost">http://lists.boost.org/mailman/listinfo.cgi/boost</a>.</p>
+
+ <p>When we talk about the "members of Boost", we are talking about those
+ signed up for this main mailing list.</p>
+
+ <p>For those who prefer to participate via an NNTP (<a name="newsgroup" id=
+ "newsgroup">newsgroup</a>) interface, a gateway to the Boost mailing list
+ is available at <a href=
+ "news://news.gmane.org/gmane.comp.lib.boost.devel">news://news.gmane.org/gmane.comp.lib.boost.devel</a>.
+
+ <p>Preliminary libraries under discussion are available from the <a href=
+ "http://boost-consulting.com/vault/">Vault</a>.</p>
+
+ <h3><a name="archive" id="archive">Archives</a> for Boost developers
+ list</h3>
+
+ <p>A <a href=
+ "http://aspn.activestate.com/ASPN/Mail/Browse/Threaded/boost/">searchable
+ mailing list archive</a> has been generously contributed to the <a href=
+ "http://aspn.activestate.com">ActiveState Programmer Network</a> by
+ <a href="http://aspn.activestate.com">ActiveState Corporation</a>. <a href=
+ "http://aspn.activestate.com"><img align="top" src=
+ "http://www.activestate.com/img/ASPN_logo_smallest.gif" width="65" height=
+ "20"></a><a href="http://www.activestate.com"><img align="top" src=
+ "http://aspn.activestate.com/ASPN/img/ASLogo_57x25.gif" width="57" height=
+ "25"></a></p>Other archives of Boost messages include the <a href=
+ "http://news.gmane.org/thread.php?group=gmane.comp.lib.boost.devel">Boost
+ GMane NNTP Archive</a>, <a href=
+ "http://www.mail-archive.com/boost%40lists.boost.org/">The Mail
+ Archive</a>, and of course there is a Google search link for our <a href=
+ "http://lists.boost.org/Archives/boost/">MailMan Archive</a> on
+ <a href="../index.htm">our home page</a>.
+
+ <h2>Boost <a name="announce" id="announce">Announce</a> mailing list</h2>
+
+ <p>This is an announce-only list for notification of upcoming software
+ releases and formal reviews of proposed libraries. One to three messages
+ per month.&nbsp; Subscribe or unsubscribe at the <a href=
+ "http://lists.boost.org/mailman/listinfo.cgi/boost-announce">Boost Announce
+ list home page</a>.</p><a name="interest" id="interest"></a>
+
+ <h2>Boost Interest Mailing List</h2>
+
+ <p>This list is a moderated low-traffic announcement-only list of interest
+ to the Boost community. On topic messages will include announcements of
+ books, magazine articles, papers, talks, seminars, products, tools, events,
+ or conferences on advanced uses of C++,
+ generic/generative/meta-programming, and, of course, the Boost libraries.
+ Off topic will be discussion of any kind and job postings. Subscribe or
+ unsubscribe at the <a href=
+ "http://lists.boost.org/mailman/listinfo.cgi/boost-interest">Boost-Interest
+ home page</a>.</p>
+
+ <h2><a name="projects" id="projects">Project-Specific lists</a></h2>Several
+ mailing lists have been established for specific Boost projects:
+
+ <dl>
+ <dd>
+ <h3><a name="jamboost" id="jamboost">Boost.Build</a>
+ list</h3>The mailing list for the <a href=
+ "../tools/build">Boost Build System</a> is located <a href=
+ "http://lists.boost.org/mailman/listinfo.cgi/boost-build">here</a>. GMane provides
+ <a href="news://news.gmane.org/gmane.comp.lib.boost.build">NNTP
+ access</a> and <a href=
+ "http://news.gmane.org/thread.php?group=gmane.comp.lib.boost.build">Searchable
+ Archives</a> as well.
+
+ <h3><a name="cplussig" id="cplussig">Python C++-Sig</a> (for
+ Boost.Python)</h3>The <a href=
+ "http://www.python.org/sigs/c++-sig/">Python C++-sig</a> is not
+ strictly Boost-specific, but nearly all the traffic concerns <a href=
+ "../libs/python">Boost.Python</a>. See also the <a href=
+ "#langbinding">Language Binding</a> list below. GMane provides <a href=
+ "news://news.gmane.org/gmane.comp.python.c%2b%2b">NNTP access</a> and
+ <a href=
+ "http://news.gmane.org/thread.php?group=gmane.comp.python.c%2b%2b">Searchable
+ Archives</a> as well. There are also searchable archives at
+ <a href=
+ "http://aspn.activestate.com/ASPN/Mail/Browse/Threaded/cpp-sig">ASPN</a>.
+
+ <h3><a name="langbinding" id="langbinding">Language Binding</a></h3>The
+ <a href=
+ "http://lists.sourceforge.net/lists/listinfo/boost-langbinding">Language
+ Binding</a> list is for discussion of a generalized framework for
+ binding C++ to other languages and systems based on the technology of
+ <a href="../libs/python">Boost.Python</a> and <a href=
+ "http://luabind.sourceforge.net/">Luabind</a>. The plan is to provide a
+ single front-end for describing bindings with runtime-pluggable back
+ ends for binding to specific languages. It is <b>highly recommended</b>
+ that new subscribers read through the <a href=
+ "http://news.gmane.org/thread.php?group=gmane.comp.lib.boost.langbinding">
+ message history</a> <b>from the beginning</b> before posting; it will
+ save time as much design progress has already been made. GMane provides
+ <a href="news://news.gmane.org/gmane.comp.lib.boost.langbinding">NNTP
+ access</a> and <a href=
+ "http://news.gmane.org/thread.php?group=gmane.comp.lib.boost.langbinding">
+ Searchable Archives</a> as well.
+
+
+ <h3><a name="spirit" id="spirit">Boost.Spirit</a> lists</h3>Spirit has
+ two additional mailing lists. <a href=
+ "https://lists.sourceforge.net/lists/listinfo/spirit-general">Spirit-general</a>
+ for Spirit users and <a href=
+ "https://lists.sourceforge.net/lists/listinfo/spirit-devel">Spirit-devel</a>
+ for Spirit developers (open to anyone who wishes to hang out with
+ Spirit coders). Both have <a href="http://www.gmane.org">GMane</a> NNTP
+ access (<a href=
+ "news://news.gmane.org/gmane.comp.parsers.spirit.general">Spirit-general</a>
+ and <a href=
+ "news://news.gmane.org/gmane.comp.parsers.spirit.devel">Spirit-devel</a>)
+ with searchable archives ( <a href=
+ "http://news.gmane.org/thread.php?group=gmane.comp.parsers.spirit.general">
+ Spirit-general</a> and <a href=
+ "http://news.gmane.org/thread.php?group=gmane.comp.parsers.spirit.devel">
+ Spirit-devel</a>).
+
+
+ <h3><a name="boostdocs" id="boostdocs">Boost.Documentation</a>
+ list</h3>The SourceForge mailing list for the <a href=
+ "../doc/html/boostbook.html">Boost Documentation System</a> is located <a href=
+ "https://lists.sourceforge.net/lists/listinfo/boost-docs">here</a>.
+ GMane provides <a href=
+ "news://news.gmane.org/gmane.comp.lib.boost.documentation">NNTP
+ access</a> and <a href=
+ "http://news.gmane.org/thread.php?group=gmane.comp.lib.boost.documentation">
+ Searchable Archives</a> as well.
+
+
+ <h3><a name="ublas" id="ublas">uBLAS development</a> (ublas-dev)
+ list</h3>A seperate user and developer mailing list for <a href=
+ "../libs/numeric/ublas/doc/index.htm">Boost uBLAS</a> specific topics is
+ located <a href="http://lists.boost.org/">here</a>.
+
+ <h3><a name="testing" id="testing">Testing</a> list</h3>
+
+ <p>The setup, procedures and tools necessary for running Boost
+ regression tests are discussed on <a href=
+ "http://lists.boost.org/mailman/listinfo.cgi/boost-testing">this
+ list</a>. The list main participants are regression runners - people
+ who run Boost tests on a variety of compilers and platforms, and the
+ maintainers of tools for collecting and processing test results.</p>
+
+ <p><b>Important:</b> questions relevant to a wider audience, including
+ questions about Boost.Test framework or test results for a particular
+ library, should be posted to main development list.</p><a href=
+ "news://news.gmane.org/gmane.comp.lib.boost.documentation">NNTP
+ access</a> and <a href=
+ "http://news.gmane.org/gmane.comp.lib.boost.testing">Searchable
+ Archives</a> are available on <a href="http://www.gmane.org">GMane</a>.
+ </dd>
+ </dl>
+
+ <h2>Boost <a name="sandbox" id="sandbox">Sandbox</a> CVS</h2>
+
+ <p>In addition to the main <a href="getting_started.html#CVS">Boost CVS
+ repository</a>, a separate Sandbox CVS is available for Boost developers
+ wishing to collaborate on projects prior to formal acceptance of a new
+ library.&nbsp; Read-only access is available <a href=
+ "http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/boost-sandbox/boost-sandbox/">
+ via the web</a>, or via CVS client at:</p>
+
+ <blockquote>
+ <p>
+ &nbsp;<code>:pserver:anonymous@cvs.sourceforge.net:/cvsroot/boost-sandbox</code></p>
+ </blockquote>
+
+ <p><b>For write access</b> to the sandbox, contact the project admins
+ listed on its <a href=
+ "http://sourceforge.net/projects/boost-sandbox/">Sourceforge Project
+ Page</a>.</p>
+ <hr>
+
+ <p>Revised
+ <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y"
+ startspan -->04 December, 2005<!--webbot bot="Timestamp" endspan
+ i-checksum="39365" --></p>
+
+ <p>Copyright Beman Dawes and David Abrahams 2001-2005</p>
+
+ <p>Use, modification, and distribution are subject to the Boost Software
+ License, Version 1.0. (See accompanying file <a href=
+ "../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</p>
+</body>
+</html>
diff --git a/more/microsoft_vcpp.html b/more/microsoft_vcpp.html
new file mode 100644
index 0000000000..822c8b8e94
--- /dev/null
+++ b/more/microsoft_vcpp.html
@@ -0,0 +1,318 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Portability Hints: Microsoft Visual C++ 6.0 SP4</title>
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+
+<table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="../people/people.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="faq.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="index.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+</table>
+
+<p>
+
+<h1>Portability Hints: Microsoft Visual C++ 6.0 SP4</h1>
+
+Similar to the
+<a href="borland_cpp.html">portability hints for Borland C++</a>,
+this page provides hints on some language features of the Microsoft Visual C++
+version 6.0 service pack 4 compiler. A list of
+acknowledged deficiencies can be found at the
+<a href="http://support.microsoft.com/support/kb/articles/q243/4/51.asp">Microsoft support site</a>.
+<p>
+
+Each entry in the following list describes a particular issue,
+complete with sample source code to demonstrate the effect.
+Most sample code herein has been verified to compile with gcc 2.95.2
+and Comeau C++ 4.2.44.
+
+
+<h2>Preprocessor symbol</h2>
+
+The preprocessor symbol <code>_MSC_VER</code> is defined for all
+Microsoft C++ compilers. Its value is the internal version number of the
+compiler interpreted as a decimal number. Since a few other compilers
+also define this symbol, boost provides the symbol
+<code>BOOST_MSVC</code>, which is defined in
+<a href="../boost/config.hpp">boost/config.hpp</a>
+to the value of _MSC_VER if and only if the compiler is really
+Microsoft Visual C++.
+
+The following table lists some known values.
+<p>
+
+<table border="1">
+<tr>
+<th>Compiler</th>
+<th><code>BOOST_MSVC</code> value</th>
+</tr>
+
+<tr>
+<td>Microsoft Visual C++ 6.0 (up to SP4)</td>
+<td>1200</td>
+</tr>
+
+</table>
+
+
+<h2>Core Language</h2>
+
+<h3>[chained using] Chaining <code>using</code>-declarations</h3>
+
+Chaining <code>using</code>-declarations does not work.
+<pre>
+void f();
+
+namespace N {
+ using ::f;
+}
+
+void g()
+{
+ using N::f; // C2873: 'f': the symbol cannot be used in a using-declaration
+}
+</pre>
+
+
+<h3>[explicit-instantiation] Explicit function template
+instantiation</h3>
+
+Trying to explicitly instantiate a function template leads to the
+wrong function being called silently.
+
+<pre>
+#include &lt;stdio.h&gt;
+
+template&lt;class T&gt;
+void f()
+{
+ printf(&quot;%d\n&quot;, sizeof(T));
+}
+
+int main()
+{
+ f&lt;double&gt;(); // output: &quot;1&quot;
+ f&lt;char&gt;(); // output: &quot;1&quot;
+ return 0;
+}
+</pre>
+
+
+<h3>[for-scoping] Scopes of definitions in for-loops</h3>
+
+The scope of variable definitions in <code>for</code> loops should be
+local to the loop's body, but it is instead local to the enclosing
+block.
+
+
+<pre>
+int main()
+{
+ for(int i = 0; i &lt; 5; ++i)
+ ;
+ for(int i = 0; i &lt; 5; ++i) // C2374: 'i': Redefinition; multiple initialization
+ ;
+ return 0;
+}
+</pre>
+
+<strong>Workaround:</strong> Enclose the offending <code>for</code>
+loops in another pair of curly braces.
+<p>
+Another possible workaround (brought to my attention by Vesa Karvonen)
+is this:
+<pre>
+#ifndef for
+#define for if (0) {} else for
+#endif
+</pre>
+
+Note that platform-specific inline functions in included headers might
+depend on the old-style <code>for</code> scoping.
+
+
+<h3>[inclass-member-init] In-class member initialization</h3>
+
+In-class member initialization, required to implement a
+Standard-conforming <code>std::numeric_limits</code> template, does
+not work.
+
+<pre>
+struct A
+{
+ static const int i = 5; // &quot;invalid syntax for pure virtual method&quot;
+};
+</pre>
+
+<strong>Workaround:</strong> Either use an enum (which has incorrect
+type, but can be used in compile-time constant expressions), or define
+the value out-of-line (which allows for the correct type, but prohibits
+using the constant in compile-time constant expressions). See
+<a href="int_const_guidelines.htm">Coding Guidelines for Integral Constant Expressions</a>
+for guidelines how to define member constants portably in boost
+libraries.
+
+
+<h3>[koenig-lookup] Argument-dependent lookup</h3>
+
+Argument-dependent lookup, also called Koenig lookup, works for
+overloaded operators, but not for ordinary functions. No
+additional namespaces induced from the argument types seem to be
+considered.
+
+<pre>
+namespace N {
+ struct A {};
+ void f(A);
+}
+
+void g()
+{
+ N::A a;
+ f(a); // 'f': undeclared identifier
+}
+</pre>
+
+
+<h3>[template-friend] Templates as friends</h3>
+
+A Template cannot be declared a friend of a class.
+
+<pre>
+template&lt;class T&gt;
+struct A {};
+
+struct B
+{
+ template&lt;class T&gt;
+ friend struct A; // &quot;syntax error&quot;
+};
+</pre>
+
+
+<h3>[member-template-outofline] Out-of-line definitions of member
+templates</h3>
+
+Defining member templates outside their enclosing class does not work.
+
+<pre>
+template&lt;class T&gt;
+struct A
+{
+ template&lt;class U&gt;
+ void f();
+};
+
+template&lt;class T&gt;
+template&lt;class U&gt; // &quot;syntax error&quot;
+void A&lt;T&gt;::f() // &quot;T: undeclared identifier&quot;
+{
+}
+</pre>
+
+<strong>Workaround:</strong> Define member templates in-line within
+their enclosing class.
+
+
+<h3>[partial-spec] Partial specialization</h3>
+
+Partial specialization of class templates does not work.
+
+<pre>
+template&lt;class T&gt;
+struct A {};
+
+template&lt;class T&gt;
+struct B {};
+
+template&lt;class T&gt;
+struct A&lt;B&lt;T&gt; &gt; {}; // template class was already defined as a non-template
+</pre>
+
+<strong>Workaround:</strong> In some situations where interface
+does not matter, class member templates can simulate partial
+specialization.
+
+
+<h3>[template-value] Dependent template value parameters</h3>
+
+Template value parameters whose type depends on a previous template
+parameter provoke an internal compiler error if the correct syntax
+(with "typename") is used.
+
+<pre>
+template&lt;class T, typename T::result_type&gt; // C1001: INTERNAL COMPILER ERROR: msc1.cpp, line 1794
+struct B {};
+ // (omit &quot;typename&quot; and it compiles)
+
+</pre>
+
+<strong>Workaround:</strong> Leave off the "typename" keyword. That makes
+the program non-conforming, though.
+
+
+<h3>[wchar_t] <code>wchar_t</code> is not built-in</h3>
+
+The type <code>wchar_t</code> is not a built-in type.
+
+<pre>
+wchar_t x; // &quot;missing storage class or type identifier&quot;
+</pre>
+
+<strong>Workaround:</strong> When using Microsoft Visual C++, the
+header
+<a href="../boost/config.hpp">boost/config.hpp</a>
+includes <code>&lt;cstddef></code>, which defines
+<code>wchar_t</code> as a typedef for <code>unsigned
+short</code>. Note that this means that the compiler does not regard
+<code>wchar_t</code> and <code>unsigned short</code> as distinct
+types, as is required by the standard, and so ambiguities may emanate
+when overloading on <code>wchar_t</code>. The macro
+<code>BOOST_NO_INTRINSIC_WCHAR_T</code> is defined in this situation.
+
+
+<h3>[delete-const-pointer] Deleting <code>const X *</code> does not work</h3>
+
+Trying to delete a pointer to a cv-qualified type gives an error:
+<pre>
+void f()
+{
+ const int *p = new int(5);
+ delete p; // C2664: cannot convert from "const int *" to "void *"
+}
+</pre>
+
+<strong>Workaround:</strong> Define the function
+<pre>
+inline void operator delete(const void *p) throw()
+{ operator delete(const_cast&lt;void*>(p)); }
+</pre>
+and similar functions for the other cv-qualifier combinations, for
+operator delete[], and for the <code>std::nothrow</code> variants.
+
+
+
+<h2>Standard Library</h2>
+
+<h3>[clib-namespace] C library names in global namespace instead of std</h3>
+<p>Library names from the &lt;c...&gt; headers are in the global namespace
+instead of namespace std.<p><b>Workaround:</b>&nbsp; The header <a href="../libs/config/config.htm">boost/config.hpp</a>
+will define BOOST_NO_STDC_NAMESPACE. It can be used as follows:
+<pre># ifdef BOOST_NO_STDC_NAMESPACE
+ namespace std { using ::abs; using ::fabs; }
+# endif</pre>
+<p>Because std::size_t and std::ptrdiff_t are so commonly used, the workaround
+for these is already provided in boost/config.hpp.<p>&nbsp;
+<hr>
+
+2001-05-04 <a href="../people/jens_maurer.htm">Jens Maurer</a>
+</body>
+</html>
diff --git a/more/moderators.html b/more/moderators.html
new file mode 100644
index 0000000000..bb30229baf
--- /dev/null
+++ b/more/moderators.html
@@ -0,0 +1,80 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title>Moderators</title>
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+
+<table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="../people/people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+</table>
+<h1>Boost Moderators</h1>
+<p>The Boost moderators are <a href="../people/dave_abrahams.htm">Dave Abrahams</a>,
+Carl Daniel, <a href="../people/beman_dawes.html">Beman Dawes</a>,
+<a href="../people/jeff_garland.html">Jeff Garland</a>,
+<a href="../people/doug_gregor.html">Doug Gregor</a>, and
+<a href="../people/john_maddock.htm">John Maddock</a>. You can reach
+the moderators at <a
+href="mailto:boost-owner@lists.boost.org">boost-owner@lists.boost.org</a>.
+<p>
+<b>Note:</b> The boost moderators do not moderate any mailing lists
+other than the main Boost developers' list. For example, the
+boost-users list moderators are at
+<a
+href="mailto:boost-users-owner@lists.boost.org">boost-users-owner@lists.boost.org</a>.
+The moderators of <a href="mailing_lists.htm">every other Boost list</a> can be reached
+through its home page.
+</p>
+
+<h2>Moderator Functions</h2>
+<ul>
+ <li>Monitor the mailing list to ensure dialog remains within the acceptable
+ boundaries set by the <a href="discussion_policy.htm">discussion policy</a>.
+ When discussion strays, use private email to gently remind, strongly rebuke,
+ or outright ban, as the situation demands.</li>
+</ul>
+<ul>
+ <li>Approve the initial postings of new (and thus still moderated) members,
+ and move members to the &quot;Group Policy&quot; posting status.</li>
+</ul>
+<ul>
+ <li>Administer the internal operations of the Boost web site, the main Boost
+ mailing list, the CVS repository, and other Boost administrative machinery.</li>
+</ul>
+<ul>
+ <li>Act as an executive committee overseeing important administrative and
+ policy decisions.&nbsp; Boost is a zero-budget organization with no income
+ and no expenses, so that eliminates the need for most management. Technical
+ decisions are worked out on the mailing list. The moderators handle the few
+ remaining decisions that need a definite answer.</li>
+</ul>
+<ul>
+ <li>Beyond the purely administrative duties, work to keep the Boost community
+ vibrant and alive. That may be as simple as saying &quot;thank you&quot; to
+ an individual member, or as complex as starting some major new
+ initiative.&nbsp; Do whatever it takes!</li>
+</ul>
+<hr>
+<p>Revised <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->27 February, 2005<!--webbot bot="Timestamp" endspan i-checksum="40414" -->
+</p>
+<p>© Beman Dawes 2001-2004</p>
+
+<p> Use, modification, and distribution are subject to the Boost Software
+License, Version 1.0. (See accompanying file <a href="../LICENSE_1_0.txt">
+LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
+www.boost.org/LICENSE_1_0.txt</a>)</p>
+
+</body>
+
+</html> \ No newline at end of file
diff --git a/more/proposal.pdf b/more/proposal.pdf
new file mode 100644
index 0000000000..d85860bac1
--- /dev/null
+++ b/more/proposal.pdf
Binary files differ
diff --git a/more/regression.html b/more/regression.html
new file mode 100644
index 0000000000..f7bc577798
--- /dev/null
+++ b/more/regression.html
@@ -0,0 +1,247 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Type"
+content="text/html; charset=iso-8859-1">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<title>Boost Regression Test User Documentation</title>
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+
+<table border="1" cellpadding="2" bgcolor="#007F7F">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png"
+ alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font color="#FFFFFF" size="4"
+ face="Arial,Helvetica">Home</font></a></td>
+ <td><a href="../libs/libraries.htm"><font color="#FFFFFF"
+ size="4" face="Arial,Helvetica">Libraries</font></a></td>
+ <td><a href="../people/people.htm"><font color="#FFFFFF"
+ size="4" face="Arial,Helvetica">People</font></a></td>
+ <td><a href="faq.htm"><font color="#FFFFFF" size="4"
+ face="Arial,Helvetica">FAQ</font></a></td>
+ <td><a href="index.htm"><font color="#FFFFFF" size="4"
+ face="Arial,Helvetica">More</font></a></td>
+ </tr>
+</table>
+
+<h1>Boost Regression Test User Documentation</h1>
+
+<p><a href="#Introduction">Introduction</a><br>
+<a href="#Preparation">Preparation</a><br>
+<a href="#Execution">Execution</a><br>
+<a href="#Adding_new_test">Adding a new test</a><br>
+<a href="#Requirements">Requirements</a><br>
+<a href="#History">History</a></p>
+
+<h2><a name="Introduction">Introduction</a></h2>
+
+<p>Boost's internal regression test suite produces the <a
+href="../status/compiler_status.html">compiler status tables</a>.
+</p>
+
+<p>Although not ordinarily run by Boost library users, it is
+documented here for the benefit of Boost developers, and for
+Boost users porting to a new platform.</p>
+
+<p>Version 3 of the Boost regression testing framework is based
+on <a href="../tools/build/index.html">Boost.Build</a>, and uses <i>bjam</i>
+to actually run the tests. Because Boost.Build does dependency
+analysis, only tests for which some dependency has change are
+rerun.</p>
+
+<p>The reporting of test results as HTML files is accomplished by
+separate <a href="../tools/regression/index.htm">regression
+reporting programs</a> which process the residue and log files
+from the <i>bjam</i> run.</p>
+
+<h2><a name="Preparation">Preparation</a></h2>
+
+<p>Install the following programs on your system, in some
+location suitable for program executables. Normally that location
+must be in a directory which is part of your search path for
+executables.</p>
+
+<ul>
+ <li><i>bjam</i> - Executables and sources are available; see <a
+ href="../tools/build/index.html">Boost.Build docs</a>.&nbsp;
+ Before worrying about regression tests, you might want to
+ verify your <i>bjam</i> installation works by
+ building the
+ boost-root/status/Jamfile libraries.<br>
+ &nbsp;</li>
+ <li><i>process_jam_log</i> and <i>compiler_status</i> -
+ <a href="../tools/regression/index.htm">Sources and Jamfile</a> are available
+ for these, too. </li>
+</ul>
+
+<h2><a name="Execution">Execution</a></h2>
+
+<p>A complete shell script, <a href="../tools/regression/run_tests.sh">
+run_test.sh</a>, is available for POSIX systems. For Windows, please read the
+following.</p>
+
+<p>These examples assume several environment variables have been
+set:</p>
+
+<ul>
+ <li>BOOST_ROOT is set to the directory where the unzipped
+ Boost distribution or CVS working copy resides.&nbsp; For
+ example:<br>
+ <br>
+ set BOOST_ROOT=/boost_1_29_0<br>
+ &nbsp;</li>
+ <li>TOOLS is set to the <a
+ href="../tools/build/index.html">compiler toolsets</a>
+ you wish to use. For example:<br>
+ <br>
+ set TOOLS=borland gcc intel-win32 metrowerks vc7<br>
+ &nbsp;</li>
+ <li>Any environment variables required for particular
+ compilers.&nbsp; You might wish to test first with one
+ compiler at a time to make sure each toolset is fully
+ operational.</li>
+</ul>
+
+<p>Just running bjam for a specific library can be run like this on Windows,
+using the Filesystem Library as an example:</p>
+
+<blockquote>
+ <pre>cd \boost-root\libs\filesystem\test
+bjam</pre>
+</blockquote>
+
+<p>A full set of tests and status tables can be run thusly
+on a Windows system:</p>
+
+<blockquote>
+ <pre>cd %BOOST_ROOT%\status
+bjam --dump-tests test &gt;bjam.log 2&gt;&amp;1
+start notepad bjam.log
+process_jam_log &lt;bjam.log
+compiler_status %BOOST_ROOT% cs-win32.html
+rem Specify links file, even though it will be overwritten, so report html includes links
+rem This works because the generated bookmark names are the same regardless of other settings
+compiler_status --ignore-pass --no-warn %BOOST_ROOT% cs-win32-fail.html cs-win32-links.html
+compiler_status --ignore-pass %BOOST_ROOT% cs-win32-warn-or-fail.html cs-win32-links.html
+compiler_status %BOOST_ROOT% cs-win32-full.html cs-win32-links.html</pre>
+</blockquote>
+
+<p>Modulo syntax adjustments, the same procedure should work on
+other operating systems (an example a <a href="../tools/regression/run_tests.sh">
+UNIX shell script</a> for this is provided, see the
+script itself for comments and directions).&nbsp; Rename the cs-win-xxx
+output files as appropriate.</p>
+
+<p>If you execute <i>compiler_status</i> without arguments, you
+can see the available options and tailor your own favorite report.</p>
+
+<p>If you want to run just a single test, specify it as the <i>bjam</i>
+target rather than &quot;test&quot;.&nbsp; For example, to debug
+configurations, it might be useful to just run the <i>config_info</i>
+test, with a switch to force even up-to-date programs be rebuilt:</p>
+
+<blockquote>
+ <pre>bjam -a --dump-tests config_info &gt;bjam.log 2&gt;&amp;1
+process_jam_log &lt;bjam.log
+compiler_status %BOOST_ROOT% cs-win32.html
+</pre>
+</blockquote>
+
+<h2><a name="Adding_new_test">Adding a new test</a></h2>
+
+<h3>The best way - the <a name="subinclude"> <i>subinclud</i>e</a> approach</h3>
+
+<p>The best way to add a test to the <a
+href="../status/Jamfile">boost-root/status/Jamfile</a> is usually to use the bjam&nbsp;
+<i>subinclude</i> feature, since it allows the same test specification to be run
+either as part of the overall Boost regression test or as a standalone test of
+only the library involved.</p>
+
+<p>The test is specified in a Jamfile, which is usually placed in the library's
+<i>test</i> subdirectory. See the <a href="../libs/filesystem/test/Jamfile">
+Filesystem Library's test Jamfile</a> for an example, including the boilerplate
+wrapped around the actual tests. By <a href="#Execution">executing bjam</a>
+(with or without the status reporting programs) in the library's <i>test</i>
+subdirectory, the library can be tested without the need to run the full Boost
+regression tests.</p>
+
+<p>Then by adding a <i>subinclude</i> statement to <a
+href="../status/Jamfile">boost-root/status/Jamfile</a>, the library's test
+Jamfile will become part of the main Boost regression tests.&nbsp; For example,
+the Filesystem Library's tests are included by this line in the main
+boost-root/status Jamfile:</p>
+
+<blockquote>
+ <pre>subinclude libs/filesystem/test ;</pre>
+</blockquote>
+
+<p>Don't forget that Jamfiles are white-space sensitive; delete the
+space before the semi-colon in the example above, and you will
+get an introduction to Jam error messages.</p>
+
+<h3>Another way - direct inclusion in Boost regression tests</h3>
+
+<p>Adding a test is as simple as adding a single line to the <a
+href="../status/Jamfile">boost-root/status/Jamfile</a>:</p>
+
+<blockquote>
+ <pre>run libs/mylib/test/mytest.cpp ;</pre>
+</blockquote>
+
+<p>For creating more complex tests and test-suites, use the
+<a href="#subinclude">subinclude approach</a>. Look at
+examples in the <a
+href="../status/Jamfile">boost-root/status/Jamfile</a>.&nbsp;
+The <i>bind</i> and <i>config</i> test-suites are simple
+examples, while the <i>regex</i> and <i>threads</i> test suites
+show more of the power of Jam based testing.</p>
+
+<h2><a name="Requirements">Requirements</a></h2>
+
+<p>The test suite has been designed to meet to the following
+requirements. </p>
+
+<ul>
+ <li>Doesn't depend on an external tool chain. This requirement
+ is met by supplying all tools in the regular <a
+ href="getting_started.html#Download">Boost distribution</a>, except for a
+ C++ compiler.</li>
+ <li>Tools are written in C++; it is the only language that
+ all Boost developers and users are comfortable with.</li>
+ <li>Supports tests which expect an error </li>
+ <li>Configuration is independent of the target platform or
+ compiler. </li>
+ <li>HTML output </li>
+</ul>
+
+<p>These requirements rule out any script-based approach such as
+dejagnu (requires Tcl and expect) or even shell scripts. </p>
+
+<h2><a name="History">History</a></h2>
+
+<p>The version 3 Regression Test system is based on
+<a href="../tools/build/index.html">Boost.Build</a>. The&nbsp; testing.jam and status/Jamfile foundation was
+contributed by Dave Abrahams. Rene Rivera contributed several pieces. The post-bjam processing programs
+were contributed by Beman Dawes.</p>
+
+<p>The version 2 regression.cpp test program was contributed by
+Jens Maurer, generalizing and improving an earlier version 1
+program by Beman Dawes.</p>
+
+<hr>
+
+<p>Revised <!--webbot bot="Timestamp" startspan s-type="EDITED"
+s-format="%d %B, %Y" -->08 January, 2004<!--webbot bot="Timestamp"
+i-checksum="38708" endspan --></p>
+
+<p>© Copyright <a href="../people/jens_maurer.htm">Jens
+Maurer</a> 2001<br>
+© Copyright <a href="../people/beman_dawes.html">Beman Dawes</a> 2001</p>
+<p> Use, modification, and distribution are subject to the Boost Software
+License, Version 1.0. (See accompanying file <a href="../LICENSE_1_0.txt">
+LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
+www.boost.org/LICENSE_1_0.txt</a>)</p>
+</body>
+</html>
diff --git a/more/release_mgr_checklist.html b/more/release_mgr_checklist.html
new file mode 100644
index 0000000000..8b84f259d0
--- /dev/null
+++ b/more/release_mgr_checklist.html
@@ -0,0 +1,276 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Release Manager's Checklist</title>
+</head>
+
+<body bgcolor="#FFFFFF">
+
+<table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF">
+ <img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="../people/people.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+</table>
+
+
+<h1>Release Manager's Checklist</h1>
+
+<p><a href="#Introduction">Introduction</a><br>
+<a href="#Pre-release">Pre-release activities</a><br>
+<a href="#Branch-for-release">CVS Branch for release</a><br>
+<a href="#CVS-release">CVS Release</a><br>
+<a href="#Distribution">Distribution</a></p>
+
+<h2><a name="Introduction">Introduction</a></h2>
+<p>Historically, items on this checklist were accomplished by scripts written
+in Perl, Python, Bash, C++, and as Windows command files, or by point-and-click
+on a FrontPage or other GUI based program. Long term the plan is to move as much
+as possible of these to C++, as
+the one language all Boost developers are comfortable with. </p>
+<h2><a name="Pre-release">Pre-release</a> activities</h2>
+<ul>
+ <li>After discussion on the main list, post the release schedule.<br>
+&nbsp;</li>
+ <li>Verify the <i><b>root/index.htm</b></i>, <i><b>root/boost/version.hpp</b></i>, and
+ <i><b>root/Jamrules</b></i>
+ release numbers are correct and agree. <br>
+&nbsp;</li>
+ <li>Verify via <a href="mailto:jamboost@yahoogroups.com">jamboost@yahoogroups.com</a>
+ that bjam pre-built executables up-to-date.<br>
+&nbsp;</li>
+ <li>Remove the oldest &quot;Latest News&quot; from root/index.htm.<br>
+&nbsp;</li>
+ <li>For each new library added this release:</li>
+</ul>
+<blockquote>
+ <ul>
+ <li>Verify root/index.htm Latest News entry has been made and reads well.<br>
+&nbsp;</li>
+ <li>Verify root/libs/libraries.htm entry has been made, both in the
+ alphabetic list and in the category lists.<br>
+&nbsp;</li>
+ <li>Verify the root/libs/xxx directory contains an index.htm or index.html
+ file; either the main docs or a redirection to the main docs. <b><i>To do:
+ automate this.</i></b><br>
+&nbsp;</li>
+ <li>Skim read the primary docs pages to make sure they meet Boost
+ requirements and guidelines. <b><i>Don't leave this until too late; it has
+ turned up lots of issues in the past.<br>
+&nbsp;</i></b></li>
+ <li>Generate the header dependency table and update the CVS.<b><i> To do:
+ coordinate with John Maddock's new dependency tools.</i></b></li>
+ </ul>
+</blockquote>
+<ul>
+ <li>Monitor
+ <a href="http://boost.sourceforge.net/regression-logs/inspection_report.html">
+ http://boost.sourceforge.net/regression-logs/inspection_report.html</a> to
+ verify problems are actively being reduced. Make sure none of the problems are
+ in files the release manager is responsible for.<br>
+&nbsp;</li>
+ <li>Monitor regression tests (<a href="http://boost.sourceforge.net/regression-logs/inspection_report.html">http://boost.sourceforge.net/regression-logs</a>)
+ to verify that errors are actively being reduced or accounted for on key
+ platforms and compilers.<br>
+&nbsp;<ul>
+ <li>Boost errors are being actively worked on by library maintainers.</li>
+ <li>Compiler or standard library errors are at least identified, and
+ preferably reported to the supplier.</li>
+ <li>No errors remain uninvestigated or unclassified.<br>
+&nbsp;</li>
+ </ul>
+ </li>
+ <li>Monitor the developer and user mailing lists to verify that all posted
+ patches are being applied, rejected, or otherwise dealt with.<br>
+&nbsp;</li>
+ <li>Monitor the developer and user mailing lists, and the SourceForge bug
+ tracker, to verify that all posted bug reports are being investigated, fixed,
+ rejected, or otherwise dealt with.<br>
+&nbsp;</li>
+ <li>Monitor CVS commits to verify that all the expected and/or promised
+ content actually gets committed. Try to get developers to avoid last minute
+ commits of major changes.</li>
+</ul>
+<h2><a name="Branch-for-release">CVS Branch for release</a></h2>
+<ul>
+ <li>Pre-release activities complete enough to justify branch-for-release?<br>
+&nbsp;</li>
+ <li>Everybody happy?<br>
+&nbsp;</li>
+ <li>Branch for release:<ul>
+ <li>Tag the main trunk&nbsp; <code>merged_to_RC_n_n_n</code>.</li>
+ <li>Branch the main trunk with the tag <code>RC_n_n_n</code>.<br>
+&nbsp;</li>
+</ul>
+ </li>
+ <li>Post notice on main list.&nbsp;Remind developers that fixes which apply
+ to both Main Trunk and Branch have to be committed separately to both.</li>
+</ul>
+<h2><a name="CVS-release">CVS Release</a></h2>
+<ul>
+ <li>Pre-release activities all complete?<br>
+&nbsp;</li>
+ <li>Post notice to make sure all developers ready.<br>
+&nbsp;</li>
+ <li>Tag: WinCVS: Select site, then tag (Modify|Create tag..., toolbar T on doc). New
+ tag name: Version_1_21_2 (or whatever). If prior release failed, select
+ &quot;overwrite existing tags with the same name&quot;.</li>
+</ul>
+<h2><a name="Distribution">Distribution</a></h2>
+<p>These procedures are given for a particular release manager's machine. The
+plan is to replace them with more generic procedures over time.</p>
+<ul>
+ <li>Create folders for export:<br>
+ <br>
+&nbsp;&nbsp;&nbsp; c:\boost\boost_1_28_0<br>
+&nbsp;&nbsp;&nbsp; c:\boost\temp\boost_1_28_0<br>
+ <br>
+ Note that several batch files assume these locations and naming schemes.<br>
+&nbsp;</li>
+ <li>Export Win32 distribution: WinCVS | Remote | Checkout Module<br>
+ <br>
+ Checkout settings: module name and path on the server: boost, local folder to
+ checkout to: c:\boost\boost_1_28_0<br>
+ <b><i>[for 1.29.0 export, put everything in a boost_1_29_0/boost subdirectory.&nbsp;
+ Experiments with 1.30.0 tried boost/boost as the path on server, but that just
+ resulted in getting the boost header subdirectory only.]</i></b><br>
+ <br>
+ Checkout options: (check) By revision/tab/branch: Version_1_28_0, (check) Do
+ not create CVS directories (export)<br>
+ <br>
+ This results in the follow command: cvs -z9 export -r Version_1_28_0 boost (in
+ directory C:\boost\boost_1_28_0)<br>
+ <br>
+ (takes about ten minutes)<br>
+ <br>
+ (rename boost-root if needed !!!!!!!!!!!!!!!!!!!)<br>
+&nbsp;</li>
+ <li>Export Unix distribution: similar to above, except target is c:\boost\temp\boost_1_28_0
+ and set global for UNIX nl.<br>
+ &nbsp;</li>
+ <li>!!!!!! VERY IMPORTANT: WinCVS | Set Preferences | Global back to non-UNIX nl.
+ !!!!!!!!!!!!!!!<br>
+&nbsp;</li>
+ <li>Add regression results web pages into package (new in 1.33 so this is just a shot at the process - jeff)<br>
+ download all the regression results from website (may need meta-comm help on this)<br>
+ unpack the regression results into tools/regression/latest_release<br>
+ <br>
+
+ </li>
+ <li>General ZIP and TAR.GZ files<br>
+ <br>
+ n_n_n is 1_28_0 or whatever<br>
+ <br>
+ cd \boost<br>
+ boost_zip 1_21_2 (creates zip.log) <br>
+ boost_tar_gz 1_21_2<br>
+ bash<br>
+&nbsp;&nbsp;&nbsp;
+ gunzip -c boost_1_21_2.tar.gz | bzip2 &gt; boost_1_21_2.tar.bz2<br>
+&nbsp;&nbsp;&nbsp; exit<br>
+ &nbsp;</li>
+ <li>Upload and unpack the .zip release candidate to a SourceForge web services
+ sub-directory. Post a message to the main list asking developers to check
+ contents. (Daniel Frey has volunteered to help check).<br>
+&nbsp;</li>
+ <li>Upload files for SourceForge release incoming directory<b><i>
+ </i></b>using WS_FTP Pro<ul>
+ <li>Start keep_isdn_awake</li>
+ <li>Connection: SourceForge Release Upload | connect</li>
+ <li>Select Local system: c:\boost</li>
+ <li>Select Remote system: /incoming</li>
+ <li>Drag-and-drop the three release files from Local system to Remote system</li>
+ <li>Disconnect</li>
+ <li>Stop keep_isdn_awake<br>
+&nbsp;</li>
+</ul>
+ </li>
+ <li>Complete the SourceForge
+ <a href="http://sourceforge.net/docman/display_doc.php?docid=6445&group_id=1#createrelease">
+ release procedure</a>.<ul>
+ <li>Admin | File Releases | Add Release for package name boost</li>
+ <li>New release name: 1.21.2 | create this release</li>
+ <li>Step 1: paste in release notes (in HTML). <b>Be sure to note difference
+ between .zip and .gz/bz2 files.</b> Submit/Refresh</li>
+ <li>Step 2: Check appropriate files. Add Files and/or Refresh View</li>
+ <li>Step 3: For each file, select Processor and File Type, Update/Refresh</li>
+ <li>Setp 4: Email Release Notice: I'm sure. Send Notice.</li>
+ <li>Wait up to 30 minutes.</li>
+ <li>Check SourceForge release page and release notes with web browser.<br>
+&nbsp;</li>
+</ul>
+ </li>
+ <li><i><b>Consider putting up a temporary &quot;Update in progress&quot; root/index.html
+ during site update<br>
+&nbsp;</b></i></li>
+ <li>Update the web site:<pre>cd ...\boost_1_28_0
+tar -cf site.tar *
+bzip2 -k site.tar
+
+dir site.tar.bz2
+pscp site.tar.bz2 beman_dawes@shell1.sourceforge.net:/home/groups/b/bo/boost/htdocs/
+
+keep_idsn_awake in another window.
+
+c:\bgd\util\putty\plink.exe beman_dawes@shell.sourceforge.net
+cd /home/groups/b/bo/boost/htdocs
+pwd
+ls -l site.tar.bz2
+
+rm -fr boost
+rm -fr doc
+rm -fr libs
+rm -fr more
+rm -fr people
+rm -fr status
+rm -fr tools
+bunzip2 -kc site.tar.bz2 | tar -x
+ls
+exit
+
+stop keep_isdn_awake</pre>
+ </li>
+ <li>Check actual <a href="http://www.boost.org">www.boost.org</a> site with
+ browser. Look at a bunch of files that should have been updated to make sure
+ the updates actually &quot;took&quot;.<br>
+&nbsp;</li>
+ <li>Post a message announcing the release and recapping &quot;Latest News&quot;.&nbsp;
+ Post as separate messages to: boost, boost-announce, boost-users,
+ comp.lang.c++.moderated,
+ <a href="mailto:c++std-news@research.att.com">c++std-news@research.att.com</a><br>
+&nbsp;</li>
+ <li>Using the SourceForge shell services (sf_shell_svc.bat), cd /home/groups/b/bo/boost/htdocs,
+ and rename regression tests as necessary.<br>
+&nbsp;</li>
+ <li>Burn &quot;Key Directories&quot; CD for off-site backup.<br>
+&nbsp;</li>
+ <li>Make sure CVS working copy is updated to main branch!<br>
+&nbsp;</li>
+ <li>Ready <i><b>root/index.htm</b></i>, <i><b>root/boost/version.hpp</b></i>, <b>root/boost/Jamfile.v2</b> and
+ <i><b>root/Jamrules</b></i> for the
+ next release and commit to CVS so developers have a place to add &quot;Latest news&quot;
+ blurbs.<br>
+&nbsp;</li>
+ <li>Delete obsolete files from yahoogroups files section.</li>
+</ul>
+<hr>
+<p>Revised:
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->04 February, 2004<!--webbot bot="Timestamp" endspan i-checksum="40405" --></p>
+<p>© Copyright Beman Dawes 2001</p>
+
+<p>Use, modification, and distribution are subject to the Boost Software License,
+Version 1.0. (See accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy at
+<a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</p>
+
+</body>
+
+</html>
diff --git a/more/release_procedures.htm b/more/release_procedures.htm
new file mode 100644
index 0000000000..5a66ebf078
--- /dev/null
+++ b/more/release_procedures.htm
@@ -0,0 +1,213 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Release Procedures</title>
+</head>
+
+<body bgcolor="#FFFFFF">
+
+<table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF">
+ <img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="../people/people.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+</table>
+
+
+<h1>Boost Release Procedures</h1>
+<p><a href="#Introduction">Introduction</a><br>
+<a href="#Overview">Procedure Overview</a><br>
+<a href="#Developers">Procedures for Developers</a><br>
+<a href="#Manager">Procedures for the Release Manager</a><br>
+<a href="#FAQ">FAQ</a><br>
+<a href="#Acknowledgements">Acknowledgements</a></p>
+<h2><a name="Introduction">Introduction</a></h2>
+<p>Each release of Boost software is overseen by a release manager, who
+coordinates release activities via the Boost mailing list, as well as performing
+the detailed procedures for the release.</p>
+<p>Boost developers assist the release manager by reviewing regression test
+logs, and committing fixes to CVS.</p>
+<h2>Release Procedure <a name="Overview">Overview</a></h2>
+<ul>
+ <li>Discussion on the main Boost mailing list to determine the target date for
+ release candidate branch and tag of the CVS main trunk.<br>
+&nbsp;</li>
+ <li>Release manager performs release candidate branch, and also tags the
+ branch point in main trunk.<br>
+&nbsp;</li>
+ <li>Regression tests run on release candidate branch.<br>
+&nbsp;</li>
+ <li>Developers fix problems, test, and commit fixes. See below for details.<br>
+&nbsp;</li>
+ <li>Repeat previous two steps until release manager is satisfied.<br>
+&nbsp;</li>
+ <li>Release manager rolls out the actual release.</li>
+</ul>
+<h2>Release Procedures for <a name="Developers">Developers</a></h2>
+<ul>
+ <li>As the release candidate branch date approaches (as announced on the main
+ mailing list), bring the main trunk CVS files you are responsible for into a
+ stable state.<br>
+&nbsp;</li>
+ <li>If you know of changes in either your code or its dependencies, start
+ checking regression test results to ensure your tests still pass.&nbsp; Don't
+ necessarily wait for the initial release tagging.<br>
+&nbsp;</li>
+ <li>After the release manager announces that the release candidate branch has
+ occurred, check the latest regression test results to be sure
+ your tests haven't broken.<br>
+&nbsp;</li>
+ <li>Developers can continue working on main trunk code changes after
+ the release candidate branch has occurred. There is no need to wait until the release
+ itself.&nbsp;
+ Modified files committed to CVS on the main trunk will not be included in the release unless the
+ developer explicitly commits the changes to the release candidate branch.<br>
+&nbsp;</li>
+ <li>If specific to the release candidate only, the fixes should be committed
+ directly to the release candidate branch. In the more common case of fixes
+ which apply to both the main trunk and the release branch, the fixes are best
+ made to the main trunk, and then merged into the release candidate branch. See
+ FAQ for <a href="#merged_to_RC_n_n_n">tag rationale</a>.<br>
+ <br>
+ After a fix has been committed to the main trunk, here is a
+ typical procedure (assuming the release candidate branch is named RC_1_26_2)
+ to merge the fixed main trunk into the release candidate branch:</li>
+</ul>
+<blockquote>
+ <ul>
+ <li>Command Line CVS:</li>
+ </ul>
+ <blockquote>
+ <ul>
+ <li>Fixed code is committed to main branch <br>
+&nbsp;</li>
+ <li>Switch to the release candidate branch
+ <blockquote>
+ <code>cvs update -r RC_1_26_2</code></blockquote>
+ </li>
+ <li>Merge changes in a trunk since previous merge to branch
+ <blockquote>
+<pre>cvs update -j<a href="#merged_to_RC_n_n_n">merged_to_RC_1_26_2</a> -jHEAD buggycode.hpp
+ --&gt; RCS file: /cvsroot/boost/.../buggycode.hpp,v
+ --&gt; retrieving revision 1.4
+ --&gt; retrieving revision 1.6
+ --&gt; Merging differences between 1.4 and 1.6 into buggycode.hpp</pre>
+ </blockquote>
+ </li>
+ <li>Commit merged branch
+ <blockquote>
+<pre>cvs commit -m &quot;Merged fix for problem xyz from trunk to branch&quot; buggycode.hpp</pre>
+ </blockquote>
+ </li>
+ <li>Go back to main trunk
+ <blockquote>
+<pre>cvs update -A</pre>
+ </blockquote>
+ </li>
+ <li>Move tag to a new merged point
+ <blockquote>
+<pre>cvs tag -F -c merged_to_RC_1_28_2 buggycode.hpp</pre>
+ </blockquote>
+ </li>
+ <li>Repeat as needed
+ </li>
+ </ul>
+ </blockquote>
+ <ul>
+ <li>WinCVS:</li>
+ </ul>
+ <blockquote>
+ <ul>
+ <li>After fixed code is committed to main branch, switch to the release
+ candidate branch:</li>
+ </ul>
+ <blockquote>
+ <blockquote>
+ <p>Select file(s) if not already selected.</p>
+ <p>Modify | Update selection... |
+ Update settings | Sticky options | Retrieve rev/tag/branch: <code>RC_1_26_2</code> | OK</p>
+ </blockquote>
+ </blockquote>
+ <ul>
+ <li>Merge changes from main trunk into the release candidate branch:</li>
+ </ul>
+ <blockquote>
+ <blockquote>
+ <p>Modify | Update selection... |
+ Update settings | Merge options | Only this rev/tag: <code>
+ <a href="#merged_to_RC_n_n_n">merged_to_RC_1_26_2</a></code>
+ | Plus with this rev/tag: <code>HEAD</code> | OK</p>
+ </blockquote>
+ </blockquote>
+ <ul>
+ <li>Commit merge results:</li>
+ </ul>
+ <blockquote>
+ <blockquote>
+ <p>Modify | Commit... | Enter log message: ... | OK</p>
+ </blockquote>
+ </blockquote>
+ <ul>
+ <li>Go back to main trunk:</li>
+ </ul>
+ <blockquote>
+ <blockquote>
+ <p>Modify | Update selection... | Update settings | Reset any sticky
+ date/tag/-k options | OK</p>
+ </blockquote>
+ </blockquote>
+ <ul>
+ <li>Tag as new merge point:</li>
+ </ul>
+ <blockquote>
+ <blockquote>
+ <p>Modify | Create tag on selection... | Create tag settings | Enter the tag
+ name to create: <code>merged_to_RC_1_26_2</code>, Overwrite existing tags
+ with same name | OK.</p>
+ </blockquote>
+ </blockquote>
+ </blockquote>
+</blockquote>
+<h2>Release Procedures for the Release <a name="Manager">Manager</a></h2>
+<p>At time of branch-for-release:</p>
+<ul>
+ <li>Tag the main trunk&nbsp; <code>merged_to_RC_n_n_n</code>.</li>
+ <li>Branch the main trunk with the tag <code>RC_n_n_n</code>.</li>
+</ul>
+<p>See <a href="release_mgr_checklist.html">Release Manager's Checklist</a> for
+full details.</p>
+<h2><a name="FAQ">FAQ</a></h2>
+<p><b>What is the purpose of the <i><a name="merged_to_RC_n_n_n">
+merged_to_RC_n_n_n</a></i> tag?</b> This tag allows multiple merges from the
+main trunk to the release candidate branch. Without it, merging an initial main
+trunk fix&nbsp; into the release candidate branch would work, but merging a
+second fix from main trunk to release candidate branch would result in a merge
+conflict. Although this procedure seems convoluted, it works much better in
+practice than several prior procedures we tried.</p>
+<h2><a name="Acknowledgements">Acknowledgements</a></h2>
+<p>This web page was written by Beman Dawes, with helpful suggestions from Dave
+Abrahams and Steve Robbins. Jim Hyslop contributed the original CVS procedures.
+Updated by Jeff Garland after 1.29 release based on list discussions.</p>
+<hr>
+<p>Revised:
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->02 October, 2003<!--webbot bot="Timestamp" i-checksum="38549" endspan --></p>
+
+<p>© Copyright Beman Dawes 2002</p>
+
+<p> Use, modification, and distribution are subject to the Boost Software
+License, Version 1.0. (See accompanying file <a href="../LICENSE_1_0.txt">
+LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
+www.boost.org/LICENSE_1_0.txt</a>)</p>
+
+</body>
+
+</html> \ No newline at end of file
diff --git a/more/requesting_new_features.htm b/more/requesting_new_features.htm
new file mode 100644
index 0000000000..5787ca49f3
--- /dev/null
+++ b/more/requesting_new_features.htm
@@ -0,0 +1,56 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title>Requesting New Features</title>
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+
+<table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF">
+ <img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>
+ Libraries</big></font></a></td>
+ <td><a href="../people/people.htm"><font face="Arial" color="#FFFFFF"><big>
+ People</big></font></a></td>
+ <td><a href="faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+</table>
+<h1>Requesting new features for Boost libraries</h1>
+<p>If you have an idea for a feature or improvement to an existing Boost library
+- go ahead and post it to either
+<a href="http://www.boost.org/more/mailing_lists.htm#users">boost-users list</a>
+or <a href="http://www.boost.org/more/mailing_lists.htm#main">boost mailing list</a>
+(if you are posting for the first time, please read our
+<a href="http://www.boost.org/more/discussion_policy.htm">discussion policy</a>
+before you actually post). </p>
+<p>You can also use our <a href="http://sourceforge.net/tracker/?group_id=7586">
+feature request tracking facility</a> at SourceForge, but experience has shown
+that posting to either of the mailing lists is usually a more effective way to
+get attention of boost developers. </p>
+<p>If your proposal has its merits, it's very likely that it will generate a
+constructive discussion that might actually result in (sometimes substantial)
+improvement of the library - and your name being put on the library's
+<a href="http://www.boost.org/more/lib_guide.htm#Acknowledgements">
+Acknowledgements</a> section! </p>
+<hr>
+<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->26 November, 2003<!--webbot bot="Timestamp" i-checksum="39365" endspan -->
+</p>
+
+<p>© Copyright <a href="../people/aleksey_gurtovoy.htm">Aleksey Gurtovoy</a>
+2002</p>
+<p> Distributed under the Boost Software License, Version 1.0.
+(See accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
+copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
+</p>
+
+</body>
+
+</html> \ No newline at end of file
diff --git a/more/separate_compilation.html b/more/separate_compilation.html
new file mode 100644
index 0000000000..99a5a53365
--- /dev/null
+++ b/more/separate_compilation.html
@@ -0,0 +1,452 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+ <head>
+ <title>Guidelines for Authors of Boost Libraries Containing Separate Source</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <LINK href="../boost.css" type="text/css" rel="stylesheet"></head>
+ <body>
+ <P>
+ <TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
+ <TR>
+ <td vAlign="top" width="300">
+ <h3><A href="../index.htm"><IMG height="86" alt="C++ Boost" src="../boost.png" width="277" border="0"></A></h3>
+ </td>
+ <TD width="353">
+ <H1 align="center">Guidelines for Authors of Boost Libraries Containing Separate
+ Source</H1>
+ </TD>
+ </TR>
+ </TABLE>
+ </P>
+ <HR>
+ <P>These guidelines are designed for the authors of Boost libraries which have
+ separate source that need compiling in order to use the library. Throughout,
+ this guide refers to a fictitious "whatever" library, so replace all
+ occurrences of "whatever" or "WHATEVER" with your own library's name when
+ copying the examples.</P>
+ <H2>Contents</H2>
+ <P>
+ <dl class="index">
+ <dt><A href="#source_changes">Changes Affecting Source Code</A>
+ <dd>
+ <dl class="index">
+ <dt><A href="#abi">Preventing Compiler ABI Clashes</A> <dt><A href="#dlls">Supporting
+ Windows Dll's</A> <dt><a href="#auto-link">Automatic Library Selection and Linking
+ with auto_link.hpp</a> </dt>
+ </dl>
+ <dt><A href="#build_changes">Changes Affecting the Build System</A>
+ <dd>
+ <dl class="index">
+ <dt><A href="#jamfile">Creating the Library Jamfile</A> <dt><A href="#testing">Testing
+ Auto-linking</A> </dt>
+ </dl>
+ <dt><A href="#copyright">Copyright</A></dt>
+ </dl>
+ <P></P>
+ <h2><A name="source_changes"></A>Changes Affecting Source Code</h2>
+ <H3><A name="abi"></A>Preventing Compiler ABI Clashes</H3>
+ <P>There are some compilers (mostly Microsoft Windows compilers again!), which
+ feature a range of compiler switches that alter the ABI of C++ classes and
+ functions. By way of example, consider Borland's compiler which has the
+ following options:</P>
+ <PRE>-b (on or off - effects enum sizes).
+-Vx (on or off - empty members).
+-Ve (on or off - empty base classes).
+-aX (alignment - 5 options).
+-pX (Calling convention - 4 options).
+-VmX (member pointer size and layout - 5 options).
+-VC (on or off, changes name mangling).
+-Vl (on or off, changes struct layout).
+</PRE>
+ <P>These options are provided in addition to those affecting which runtime library
+ is used (more on which later); the total number of combinations of options can
+ be obtained by multiplying together the individual options above, so that gives
+ 2*2*2*5*4*5*2*2 = 3200 combinations!
+ </P>
+ <P>The problem is that users often expect to be able to build the Boost libraries
+ and then just link to them and have everything just plain work, no matter what
+ their project settings are. Irrespective of whether this is a reasonable
+ expectation or not, without some means of managing this issue, the user may
+ well find that their program will experience strange and hard to track down
+ crashes at runtime unless the library they link to was built with the same
+ options as their project (changes to the default alignment setting are a prime
+ culprit). One way to manage this is with "prefix and suffix" headers: these
+ headers invoke compiler specific #pragma directives to instruct the compiler
+ that whatever code follows was built (or is to be built) with a specific set of
+ compiler ABI settings.</P>
+ <P>Boost.config provides the macro BOOST_HAS_ABI_HEADERS which is set whenever
+ there are prefix and suffix headers available for the compiler in use, typical
+ usage in a header like this:</P>
+ <PRE>#ifndef BOOST_WHATEVER_HPP
+#define BOOST_WHATEVER_HPP
+
+#include &lt;boost/config.hpp&gt;
+
+// this must occur after all of the includes and before any code appears:
+#ifdef BOOST_HAS_ABI_HEADERS
+# include BOOST_ABI_PREFIX
+#endif
+//
+// this header declares one class, and one function by way of examples:
+//
+class whatever
+{
+ // details.
+};
+
+whatever get_whatever();
+
+// the suffix header occurs after all of our code:
+#ifdef BOOST_HAS_ABI_HEADERS
+# include BOOST_ABI_SUFFIX
+#endif
+
+#endif
+</PRE>
+ <P>You can include this code in your source files as well if you want - although
+ you probably shouldn't need to - these headers fix the ABI to the default used
+ by the compiler, and if the user attempts to compile the source with any other
+ setting then they will get compiler errors if there are any conflicts.</P>
+ <H4>Rationale:</H4>
+ <P>Without some means of managing this issue, users often report bugs along the
+ line of "Your silly library always crashes when I try and call it" and so on.
+ These issues can be extremely difficult and time consuming to track down, only
+ to discover in the end that it's a compiler setting that's changed the ABI of
+ the class and/or function types of the program compared to those in the
+ pre-compiled library. The use of prefix/suffix headers can minimize this
+ problem, although probably not remove it completely.</P>
+ <H5>Counter Argument #1:</H5>
+ <P>Trust the user, if they want 13-byte alignment (!) let them have it.</P>
+ <H5>Counter Argument #2:</H5>
+ <P>Prefix/suffix headers have a tendency to "spread" to other boost libraries -
+ for example if boost::shared_ptr&lt;&gt; forms part of your class's ABI, then
+ including prefix/suffix headers in your code will be of no use unless
+ shared_ptr.hpp also uses them. Authors of header-only boost libraries may not
+ be so keen on this solution - with some justification - since they don't face
+ the same problem.</P>
+ <h3><A name="dlls"></A>Supporting Windows Dll's</h3>
+ <p>On most Unix-like platforms no special annotations of source code are required
+ in order for that source to be compiled as a shared library because all
+ external symbols are exposed. However the majority of Windows compilers require
+ that symbols that are to be imported or exported from a dll, be prefixed with
+ __declspec(dllimport) or __declspec(dllexport). Without this mangling of source
+ code, it is not possible to correctly build shared libraries on Windows
+ (historical note - originally these declaration modifiers were required on
+ 16-bit Windows where the memory layout for exported classes was different from
+ that of "local" classes - although this is no longer an issue, there is still
+ no way to instruct the linker to "export everything", it also remains to be
+ seen whether 64-bit Windows will resurrect the segmented architecture that led
+ to this problem in the first place. Note also that the mangled names of
+ exported symbols are different from non-exported ones, so __declspec(dllimport)
+ is required in order to link to code within a dll).</p>
+ <p>In order to support the building of shared libraries on MS Windows your code
+ will have to prefix all the symbols that your library exports with a macro
+ (lets call it BOOST_WHATEVER_DECL) that your library will define to expand to
+ either __declspec(dllexport) or __declspec(dllimport) or nothing, depending
+ upon how your library is being built or used. Typical usage would look like
+ this:</p>
+ <pre>#ifndef BOOST_WHATEVER_HPP
+#define BOOST_WHATEVER_HPP
+
+#include &lt;boost/config.hpp&gt;
+
+#ifdef BOOST_HAS_DECLSPEC // defined in config system
+// we need to import/export our code only if the user has specifically
+// asked for it by defining either BOOST_ALL_DYN_LINK if they want all boost
+// libraries to be dynamically linked, or BOOST_WHATEVER_DYN_LINK
+// if they want just this one to be dynamically liked:
+#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_WHATEVER_DYN_LINK)
+// export if this is our own source, otherwise import:
+#ifdef BOOST_WHATEVER_SOURCE
+# define BOOST_WHATEVER_DECL __declspec(dllexport)
+#else
+# define BOOST_WHATEVER_DECL __declspec(dllimport)
+#endif // BOOST_WHATEVER_SOURCE
+#endif // DYN_LINK
+#endif // BOOST_HAS_DECLSPEC
+//
+// if BOOST_WHATEVER_DECL isn't defined yet define it now:
+#ifndef BOOST_WHATEVER_DECL
+#define BOOST_WHATEVER_DECL
+#endif
+
+//
+// this header declares one class, and one function by way of examples:
+//
+class BOOST_WHATEVER_DECL whatever
+{
+ // details.
+};
+
+BOOST_WHATEVER_DECL whatever get_whatever();
+
+#endif
+</pre>
+ And then in the source code for this library one would use:
+ <pre>
+//
+// define BOOST_WHATEVER SOURCE so that our library's
+// setup code knows that we are building the library (possibly exporting code),
+// rather than using it (possibly importing code):
+//
+#define BOOST_WHATEVER_SOURCE
+#include &lt;boost/whatever.hpp&gt;
+
+// class members don't need any further annotation:
+whatever::whatever() { }
+// but functions do:
+BOOST_WHATEVER_DECL whatever get_whatever()
+{
+ return whatever();
+}
+</pre>
+ <H4>Importing/exporting dependencies</H4>
+ <P>As well as exporting your main classes and functions (those that are actually
+ documented), Microsoft Visual C++ will warn loudly and often if you try to
+ import/export a class whose dependencies are not also exported. Dependencies
+ include: any base classes, any user defined types used as data members, plus
+ all of the dependencies of your dependencies and so on. This causes particular
+ problems when a dependency is a template class, because although it is
+ technically possible to export these, it is not at all easy, especially if the
+ template itself has dependencies which are implementation-specific details. In
+ most cases it's probably better to simply suppress the warnings using:</P>
+ <PRE>#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4251 4231 4660)
+#endif
+
+// code here
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+</PRE>
+ <p>This is safe provided that there are no dependencies that are (template)
+ classes with non-constant static data members, these really do need exporting,
+ otherwise there will be multiple copies of the static data members in the
+ program, and that's really really bad.
+ </p>
+ <p>Historical note: on 16-bit Windows you really did have to export all
+ dependencies or the code wouldn't work, however since the latest Visual Studio
+ .NET supports the import/export of individual member functions, it's a
+ reasonably safe bet that Windows compilers won't do anything nasty - like
+ changing the class's ABI - when importing/exporting a class.</p>
+ <h4>Rationale:</h4>
+ <p><EM>Why bother - doesn't the import/export mechanism take up more code that the
+ classes themselves?</EM></p>
+ <P>A good point, and probably true, however there are some circumstances where
+ library code must be placed in a shared library - for example when the
+ application consists of multiple dll's as well as the executable, and more than
+ one those dll's link to the same Boost library - in this case if the library
+ isn't dynamically linked and it contains any global data (even if that data is
+ private to the internals of the library) then really bad things can happen -
+ even without global data, we will still get a code bloating effect.
+ Incidentally, for larger applications, splitting the application into multiple
+ dll's can be highly advantageous - by using Microsoft's "delay load" feature
+ the application will load only those parts it really needs at any one time,
+ giving the impression of a much more responsive and faster-loading application.</P>
+ <p><EM>Why static linking by default? </EM>
+ </p>
+ <P>In the worked example above, the code assumes that the library will be
+ statically linked unless the user asks otherwise. Most users seem to prefer
+ this (there are no separate dll's to distribute, and the overall distribution
+ size is often significantly smaller this way as well: i.e. you pay for what you
+ use and no more), but this is a subjective call, and some libraries may even
+ only be available in dynamic versions (Boost.threads for example).</P>
+ <h3><A name="auto-link"></A>Automatic Library Selection and Linking with <a href="../boost/config/auto_link.hpp">
+ auto_link.hpp</a></h3>
+ <p>Many Windows compilers ship with multiple runtime libraries - for example
+ Microsoft Visual Studio .NET comes with 6 versions of the C and C++ runtime. It
+ is essential that the Boost library that the user links to is built against the
+ same C runtime as the program is built against. If that is not the case, then
+ the user will experience linker errors at best, and runtime crashes at worst.
+ The Boost build system manages this by providing different build variants, each
+ of which is build against a different runtime, and gets a slightly different
+ mangled name depending upon which runtime it is built against. For example the
+ regex libraries get named as follows when built with Visual Studio .NET 2003:</p>
+ <pre>boost_regex-vc71-mt-1_31.lib
+boost_regex-vc71-mt-gd-1_31.lib
+libboost_regex-vc71-mt-1_31.lib
+libboost_regex-vc71-mt-gd-1_31.lib
+libboost_regex-vc71-mt-s-1_31.lib
+libboost_regex-vc71-mt-sgd-1_31.lib
+libboost_regex-vc71-s-1_31.lib
+libboost_regex-vc71-sgd-1_31.lib
+</pre>
+ <p>The difficulty now is selecting which of these the user should link his or her
+ code to.</p>
+ <p>In contrast, most Unix compilers typically only have one runtime (or sometimes
+ two if there is a separate thread safe option). For these systems the only
+ choice in selecting the right library variant is whether they want debugging
+ info, and possibly thread safety.
+ </p>
+ <p>Historically Microsoft Windows compilers have managed this issue by providing a
+ #pragma option that allows the header for a library to automatically select the
+ library to link to. This makes everything automatic and extremely easy for the
+ end user: as soon as they include a header file that has separate source code,
+ the name of the right library build variant gets embedded in the object file,
+ and as long as that library is in the linker search path, it will get pulled in
+ by the linker without any user intervention.</p>
+ <p>Automatic library selection and linking can be enabled for a Boost library by
+ including the header &lt;boost/config/auto_link.hpp&gt;, after first defining
+ BOOST_LIB_NAME and, if applicable, BOOST_DYN_LINK.</p>
+ <pre>//
+// Automatically link to the correct build variant where possible.
+//
+#if !defined(BOOST_ALL_NO_LIB) &amp;&amp; !defined(BOOST_WHATEVER_NO_LIB) &amp;&amp; !defined(BOOST_WHATEVER_SOURCE)
+//
+// Set the name of our library, this will get undef'ed by auto_link.hpp
+// once it's done with it:
+//
+#define BOOST_LIB_NAME boost_whatever
+//
+// If we're importing code from a dll, then tell auto_link.hpp about it:
+//
+#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_WHATEVER_DYN_LINK)
+# define BOOST_DYN_LINK
+#endif
+//
+// And include the header that does the work:
+//
+#include &lt;boost/config/auto_link.hpp&gt;
+#endif // auto-linking disabled
+</pre>
+ <P></P>
+ <p>The library's user documentation should note that the feature can be disabled
+ by defining either BOOST_ALL_NO_LIB or BOOST_WHATEVER_NO_LIB:</p>
+ <P>If for any reason you need to debug this feature, the header
+ &lt;boost/config/auto_link.hpp&gt; will output some helpful diagnostic messages
+ if you first define BOOST_LIB_DIAGNOSTIC.</P>
+ <H2><A name="build_changes"></A>Changes Affecting the Build System</H2>
+ <H3><a name='build"'></a><A name="jamfile"></A>Creating the library Jamfile</H3>
+ <P>The Jamfile for building library "whatever" typically lives in
+ boost-root/libs/whatever/build, start by defining the project root for the
+ Jamfile:</P>
+ <PRE>subproject libs/whatever/build ; </PRE>
+ <P>Then add the static library build target (if supported):</P>
+ <PRE>lib
+ boost_whatever
+ : # list all the sources for this
+ library:
+ ../src/whatever.cpp
+ : # all build requirements go
+ here. # the "common-variant-tag" rule ensures that the library will
+ # be named according to the rules used by the install
+ # and auto-link features:
+ common-variant-tag
+ # set include path for Boost headers:
+ &lt;sysinclude&gt;$(BOOST_ROOT)
+ :
+ # list default build variants here
+ debug release
+ ; </PRE>
+ <P>Then add the dll build target (if supported).&nbsp;&nbsp;In this case the build
+ requirements section get an extra define: so that our sources know to export
+ their own symbols (and import those from any other boost libs on which we may
+ be dependent).&nbsp; We also restict shared library builds to dynamic-runtime
+ build variants, if we don't do this then dll's linked against static runtimes
+ are unlikely to function correctly (the dll will have a separate runtime from
+ the executable using it, this generally causing problems with new and
+ delete,&nbsp;as well as exception handling runtimes).</P>
+ <PRE>dll
+ boost_whatever
+ : # list all the sources for this
+ library:
+ ../src/whatever.cpp
+ : # all build requirements go
+ here. # the "common-variant-tag" rule ensures that the library will
+ # be named according to the rules used by the install
+ # and auto-link features:
+ common-variant-tag
+ # tell our source that we're building (and maybe using) dll's:
+ &lt;define&gt;BOOST_ALL_DYN_LINK=1
+ # only build this for dynamic runtimes:
+ &lt;runtime-link&gt;dynamic
+ # set include path for Boost headers:
+ &lt;sysinclude&gt;$(BOOST_ROOT)
+ :
+ # list default build variants here
+ debug release
+ ;
+</PRE>
+ <P>Now add an install target so that Boost.Install can find this library to
+ install:</P>
+ <pre>install whatever lib
+ : &lt;dll&gt;boost_whatever &lt;lib&gt;boost_whatever
+ ;
+</pre>
+ <P>Finally add a stage target that will copy the built libraries to a common
+ sub-directory (boost-root/stage/lib):</P>
+ <PRE>stage stage/lib : &lt;lib&gt;boost_whatever &lt;dll&gt;boost_whatever
+ :
+ # copy to a path rooted at BOOST_ROOT:
+ &lt;locate&gt;$(BOOST_ROOT)
+ # make sure the names of the libraries are correctly named:
+ common-variant-tag
+ # add this target to the "stage" and "all" psuedo-targets:
+ &lt;target&gt;stage
+ &lt;target&gt;all
+ :
+ debug release
+ ;
+</PRE>
+ <H3><A name="testing"></A>Testing Auto-linking</H3>
+ <P>Testing the auto-link feature&nbsp;reasonable straightforward using
+ the&nbsp;Boost.build system: we need to build the "whatever" library's test
+ files without explicitly specifying the library to link to in the Jamfile, for
+ example:</P>
+ <PRE>subproject libs/whatever/test/auto-link-test ;
+
+# bring in the rules for testing
+import testing ;
+
+# start with a static linking version:
+
+run
+ # sources
+ ../whatever_test.cpp
+ :
+ : # input files
+ : # requirements
+ &lt;library-path&gt;../../../../stage/lib
+ &lt;define&gt;BOOST_LIB_DIAGNOSTIC=1
+ : # program name
+ whatever_test
+ ;
+
+ # and then a dll linking version:
+ run
+ # sources
+ ../whatever_test.cpp
+ :
+ : # input files
+ : # requirements
+ &lt;library-path&gt;../../../../stage/lib
+ &lt;define&gt;BOOST_LIB_DIAGNOSTIC=1
+ &lt;define&gt;BOOST_ALL_DYN_LINK=1
+ &lt;runtime-link&gt;dynamic
+ : # program name
+ whatever_test_dll
+ ;
+
+</PRE>
+ <P>Please note however that this Jamfile will only build with compilers that do
+ actually support auto-linking, so it should not be added to the regular
+ regression tests.&nbsp; The Jamfile should also be built for all possible build
+ variants, for the Microsoft / Borland compilers that means doing a:</P>
+ <PRE>bjam -sBUILD="release debug &lt;threading&gt;multi/single &lt;runtime-link&gt;static/dynamic" test
+ </PRE>
+ <HR>
+ <p><A name="copyright"></A>Revised
+ <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
+ 26 November, 2003<!--webbot bot="Timestamp" endspan i-checksum="39365" --></p>
+ <p><i>© Copyright John Maddock&nbsp;1998-
+ <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="746" --></i></p>
+ <P><I>Use, modification and distribution are subject to the Boost Software License,
+ Version 1.0. (See accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
+ or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>).</I></P>
+ <P><EM>The use of code snippets from this article does not require the reproduction
+ of this copyright notice and license declaration; if you wish to provide
+ attribution then please provide a link to this article.</EM></P>
+ </body>
+</html>
diff --git a/more/space.gif b/more/space.gif
new file mode 100644
index 0000000000..f37c0249d5
--- /dev/null
+++ b/more/space.gif
Binary files differ
diff --git a/more/submission_process.htm b/more/submission_process.htm
new file mode 100644
index 0000000000..8343f0e519
--- /dev/null
+++ b/more/submission_process.htm
@@ -0,0 +1,131 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title>Boost Library Submission Process</title>
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+
+<table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="../people/people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+</table>
+<h1>Boost Library Submission Process</h1>
+<p>This page describes the process a library developer goes through to get a
+library accepted by Boost.</p>
+<p>See the <a href="lib_guide.htm">Boost Library Requirements and Guidelines</a>
+page for issues of content.</p>
+<h3><b>Steps for getting a library accepted by Boost:</b></h3>
+<ul>
+ <li><a href="#Learn">Learn about Boost</a>.</li>
+ <li><a href="#interest">Determine interest</a>.</li>
+ <li><a href="#Preliminary">Preliminary submission</a>.</li>
+ <li><a href="#Refinement">Refinement</a>.</li>
+ <li><a href="#Submission">Submission for review</a>.</li>
+ <li><a href="#Review">Formal Review</a>.</li>
+ <li><a href="#site posting">Web site posting</a>.</li>
+ <li><a href="#People">People page.</a></li>
+ <li><a href="#Lifecycle">Lifecycle</a>.</li>
+</ul>
+<h2><a name="Learn">Learn</a> about Boost</h2>
+<p>Subscribe to the <a href="mailing_lists.htm#main">main developers mailing list</a> for a
+while, or look through the <a href="mailing_lists.htm#archive">archives</a>.&nbsp;
+Click around the <a href="../index.htm">web site</a>.&nbsp; Understand the <a href="lib_guide.htm">Requirements</a>.&nbsp;
+Read the rest of this page to learn about the process.&nbsp; Otherwise, you will
+just end up wasting everyone's time.</p>
+<p>There is a culture associated with Boost, aimed at encouraging high quality
+libraries by a process of discussion and refinement.</p>
+<p>If what you really want is a site that will just post your library without
+even looking at it, you should go elsewhere.</p>
+<h2>Determine <a name="interest">interest</a></h2>
+<p>Potential library submitters should use the Boost developers <a href="mailing_lists.htm">mailing
+list</a> as a forum to gauge interest a possible submission.</p>
+<p>A message might be as simple as &quot;Is there any interest in a library
+which solves Traveling Salesperson problems in linear time?&quot;</p>
+<p>A bit of further description or snippet of code may be helpful. Messages
+should be plain text; not rich text, HTML, etc.</p>
+<p>Please don't post lengthy descriptions, documentation, or code to the mailing
+list, and no attachments, even small ones.&nbsp; Please post lengthy material in
+the boost <a href="http://boost-sandbox.sourceforge.net/vault/">Sandbox Vault</a>.&nbsp;</p>
+<h2><a name="Preliminary">Preliminary</a> submission</h2>
+<p>If response to an initial query indicates interest, then post the preliminary
+submission files in the <a href="http://boost-sandbox.sourceforge.net/vault/">Sandbox Vault</a> on
+the sourceforge web site if you haven't already done so.</p>
+<h2><a name="Refinement">Refinement</a></h2>
+<p>Discuss, refine, resubmit.&nbsp; Repeat until satisfied.</p>
+<p>The exact details of this process varies a lot.&nbsp; Sometimes it is public,
+on the mailing list, sometimes a lot of discussion happens in private
+emails.&nbsp; For some libraries the process is over quickly, for others it goes
+on for months.&nbsp; It's often challenging, and sometimes leads off in
+completely unexpected directions.&nbsp;&nbsp;</p>
+<p>The <a href="mailing_lists.htm#archive">archive</a> of past
+messages is one way to see how this process worked for other Boost
+libraries.</p>
+<h2><a name="Submission">Submission</a> for review&nbsp;</h2>
+<p>All of the files which make up the library should be combined and compressed
+into a single submission file using the .zip format.&nbsp; Free encoders
+and decoders for this format running on many different platforms are available
+at the <a href="http://www.info-zip.org/pub/infozip/">Info-ZIP</a> web site, which
+includes a FAQ and much other useful information about the .zip format. Many
+commercial compressor-archiver utilities also support this format.</p>
+<p>The submission file should contain material as if on the
+boost.org web site.&nbsp; The closer the submission file mirrors the final
+<a href="lib_guide.htm#Directory_structure">directory
+structure</a> and format of the web site, the better.
+<p>Like a preliminary submission, post the final submission .zip file in the <a href="http://boost-sandbox.sourceforge.net/vault/">Sandbox Vault</a> of
+the sourceforge site.
+<h2>Formal <a name="Review">Review</a></h2>
+<p>Before asking for formal review, your submission should be posted in the
+Boost files/vault. Please verify that your submission compiles
+and runs under at least two compilers.&nbsp; This flushes out obvious
+portability problems.&nbsp; If you don't have access to a second compiler, ask
+for help on the Boost mailing list.</p>
+<p>Once a library author feels a submission (which presumably is now in the
+files/vault) has matured enough for formal review, the author sends a message
+requesting a formal review to the mailing list.&nbsp; Please use a subject in
+the form &quot;Review Request: library&quot; where <i>library</i> is replaced by
+the library name.</p>
+<p>See <a href="formal_review_process.htm">Formal Review Process</a> for
+details.</p>
+<p>Formal Review schedules are posted on the <a href="mailing_lists.htm">mailing lists</a>.&nbsp;</p>
+<h2>Boost web <a name="site posting">site posting</a></h2>
+<p>Once an accepted library is ready for inclusion on the Boost web site, the
+submitter is typically given Boost CVS write access, and expected to check-in
+and maintain the library in the CVS. Contact the moderators if you need write
+access or CVS use isn't possible for you.</p>
+<h2><a name="People">People</a> page</h2>
+<p>If the boost.org web site doesn't already have your capsule biography
+and&nbsp; picture (optional, with not-too-serious pictures preferred), please
+send them to the Boost webmaster.. It is
+up to you as to whether or not the biography includes your email address or
+other contact information.&nbsp; The preferred picture format is .jpg, but other
+common formats are acceptable.&nbsp; The preferred image size is 500x375 but the
+webmaster has photo editing software and can do the image preparation if
+necessary.</p>
+<h2><a name="Lifecycle">Lifecycle</a></h2>
+<p>Libraries are software; they lose their value over time if not maintained.
+Postings on the Boost developers or users mailing lists can alert you to
+potential maintenance needs; please plan to maintain your library over time. If
+you no longer can or wish to maintain your library, please post a message on the
+Boost developers mailing list and help someone else take over as the library
+maintainer.</p>
+<hr>
+<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->26 November, 2003<!--webbot bot="Timestamp" endspan i-checksum="39365" --></p>
+
+<p>© Copyright Beman Dawes 2000</p>
+<p>Use, modification, and distribution are subject to the Boost Software License,
+Version 1.0. (See accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy at
+<a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</p>
+
+</body>
+
+</html> \ No newline at end of file
diff --git a/more/test_policy.htm b/more/test_policy.htm
new file mode 100644
index 0000000000..ee566745d1
--- /dev/null
+++ b/more/test_policy.htm
@@ -0,0 +1,100 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title>Boost Test Policies and Protocols</title>
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+
+<table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="../people/people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+</table>
+<h1>Boost Test Policies and Protocols</h1>
+<p>The Boost libraries are intended to be both reliable and portable.&nbsp;
+Every experienced programmer knows that means each library must be tested against a suitable number of test cases, on a wide range of platforms,
+and then tested again (regression tested) every time a change is made and before
+every release.&nbsp;</p>
+<p>&quot;Quality assurance based on a wide range of targeted tests&quot; as one
+of the key answers to C.A.R
+Hoare's question
+&quot;How did software get so reliable without proof.&quot;</p>
+<h2>Regression test</h2>
+<p>Boost uses an automatic <a href="regression.html"> regression test suite</a> which generates HTML
+<a href="../status/compiler_status.html">compiler
+status tables</a>.</p>
+<h2>Test Policy</h2>
+<h3>Required</h3>
+<ul>
+ <li>Every Boost library should supply one or more suitable test programs to be
+ exercised by the Boost <a href="regression.html"> regression test suite</a>.&nbsp; In addition to
+ the usual compile-link-run tests expecting successful completion,
+ compile-only or compile-and-link-only tests may be performed, and success
+ for the test may be defined as failure of the steps.</li>
+ <li>Test program execution must report errors by returning a non-zero value.&nbsp; They
+ may also write to stdout or stderr, but that output should be relatively
+ brief.&nbsp; Regardless of other output, a non-zero return value is the only
+ way the regression test framework will recognize an error has
+ occurred.&nbsp;Note that test programs to be included in the status tables must
+ compile, link, and run quickly since the tests are executed many, many,
+ times.</li>
+ <li>Libraries with time consuming tests should be divided into a
+ fast-execution basic test program for the status tables, and a separate
+ full-coverage test program for exhaustive test cases.&nbsp; The basic test
+ should concentrate on compilation issues so that the status tables
+ accurately reflect the library's likelihood of correct compilation on a
+ platform.</li>
+ <li>If for any reason the usual test policies do not apply to a particular
+ library, an alternate test strategy must be implemented.</li>
+ <li>A <a href="regression.html#Adding_new_test">Jamfile</a> to drive the
+ regression tests for the library. &nbsp;&nbsp;</li>
+</ul>
+<h3>Optional (but highly recommended)</h3>
+<p>The <a href="../libs/test/index.html">Boost Test Library</a> provides many
+useful components which ease the construction of test programs.</p>
+<ul>
+ <li>Use the library's
+ <a href="../libs/test/doc/components/test_tools/index.html">Test Tools</a> for the construction of simple test
+ programs that do not need much structure.</li>
+ <li>Use the library's
+ <a href="../libs/test/doc/components/utf/index.html">Unit Test
+ Framework</a> for the construction of more complex test programs that need to
+ be structured into individual tests
+ and test suites.</li>
+</ul>
+<h2>Suggested Protocol for Fixing Bugs or Adding Features.</h2>
+<ul>
+ <li>First, add regression test cases that detects the bug or tests the
+ feature. Sometimes adding one case suggests similar untested cases, and they
+ are added too.</li>
+ <li>Second, for bugs, run the regression test and verify that the bug is now
+ detected.</li>
+ <li>Third, then, and only then, fix the bug or add the feature.</li>
+ <li>Finally, rerun the full regression tests - sometimes the change breaks
+ something else.</li>
+</ul>
+<h2>History</h2>
+<p><a href="regression.html#History">See Regression Test History</a>.</p>
+<h2>Acknowledgements</h2>
+<p>Written by Beman Dawes. Jens Maurer, Paul Moore, Gary Powell and Jeremy Siek contributed helpful suggestions.</p>
+<hr>
+<p>Revised <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->08 January, 2004<!--webbot bot="Timestamp" endspan i-checksum="38708" -->
+</p>
+<p>© Copyright Beman Dawes 2001</p>
+<p> Use, modification, and distribution are subject to the Boost Software
+License, Version 1.0. (See accompanying file <a href="../LICENSE_1_0.txt">
+LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
+www.boost.org/LICENSE_1_0.txt</a>)</p>
+
+</body>
+
+</html>
diff --git a/more/updating_the_website.html b/more/updating_the_website.html
new file mode 100755
index 0000000000..1ee97f5929
--- /dev/null
+++ b/more/updating_the_website.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+ <title>Updating The Boost Website</title>
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2" summary="Quick Links">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt=
+ "boost.png (6897 bytes)" width="277" height="86" /></td>
+
+ <td><a href="../index.htm"><font face="Arial" color=
+ "#FFFFFF"><big>Home</big></font></a></td>
+
+ <td><a href="../libs/libraries.htm"><font face="Arial" color=
+ "#FFFFFF"><big>Libraries</big></font></a></td>
+
+ <td><a href="../people/people.htm"><font face="Arial" color=
+ "#FFFFFF"><big>People</big></font></a></td>
+
+ <td><a href="faq.htm"><font face="Arial" color=
+ "#FFFFFF"><big>FAQ</big></font></a></td>
+
+ <td><a href="index.htm"><font face="Arial" color=
+ "#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+
+ <h1>Making Updates to the Boost Website Content</h1>
+
+ <p>Any boost developer can update the Boost website content between
+ releases.</p>
+
+ <ul>
+ <li>We <em>strongly</em> recommend the use of <a href=
+ "http://tidy.sourceforge.net/">HTML Tidy</a> when editing HTML and XHTML
+ files intented for the website. Using <code>tidy</code> helps in
+ preventing errors in the HTML, in keeping a clear revision history, and
+ in conforming to Web standards to help make the website readable by the
+ majority of people. The Boost web pages currently have a variety of
+ different types of HTML and XHTML content. Each needs to be dealt with
+ differently by <code>tidy</code>. Most pages are regular HTML 3.x/4.x,
+ for these use a <code>tidy</code> invocation of:
+ <pre>
+tidy --tidy-mark no -i -wrap 78 -m <i>some_page.html</i>
+</pre>Other pages are using the more recent XHTML 1.0 and XHTML 1.0 Strict
+standards. Most notably this include the <a href="../index.htm">home
+page</a>. Some additional options are needed to make <code>tidy</code>
+enforce the XHTML standard:
+ <pre>
+tidy --tidy-mark no -i -wrap 78 -m -asxhtml <i>some_page.html</i>
+</pre>That command is also useful if one is converting from HTML to XHTML. To
+have <code>tidy</code> check for the XHTML 1.0 Strict format use:
+ <pre>
+tidy --tidy-mark no -i -wrap 78 -m -asxhtml --doctype strict <i>some_page.html</i>
+</pre>If you have a choice as to what format to use, prefer the XHTML 1.0
+Strict format as that opens the content to the widest audience.
+ </li>
+
+ <li>If the change you are making is intended to be part of a release, you
+ should first make the change in our CVS repository, so it doesn't get
+ lost or overwritten by the next person that updates the page between
+ releases. Of course if you don't check in (say because the change is not
+ supposed to be in the next release), and someone else changes the page
+ after you, the change may be lost. This procedure does not account for
+ that case; you'll have to use your head and figure out what to do.</li>
+
+ <li>You will upload the file(s) by <code>scp</code>'ing to the
+ appropriate subdirectory of
+ <code>shell.sf.net:/home/groups/b/bo/boost/htdocs/</code>. For example,
+ to update the page you are reading, I would issue
+ <pre>
+scp updating_the_website.html david_abrahams@shell.sf.net:/home/groups/b/bo/boost/htdocs/more/
+</pre>
+ </li>
+
+ <li>It is <b>crucial</b> to ensure that you set group write permission on
+ every file you upload. If you don't do that, nobody else will be able to
+ change it, which is particularly deadly at release time. If you are on
+ Unix or Cygwin, you may be able to do that with a <tt>chmod</tt> command
+ before uploading the file. The absolutely failsafe thing to do is to <tt>
+ ssh</tt> into <tt>shell.sf.net</tt> and do the <tt>chmod</tt> there.
+ The files also need to have general read permission, and any
+ directories should have general execute permission and the "set user or
+ group ID on execution" (s) bit should also be set. If you're not
+ touching any directories, you can do it all with one command, e.g.
+ <pre>
+ssh david_abrahams@shell.sf.net "chmod a+r,g+rw /home/groups/b/bo/boost/htdocs/more/updating_the_website.html"
+</pre>
+ </li>
+ </ul>
+ <hr />
+
+ <p>Revised <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B,
+ %Y" startspan -->$Date$
+ <!--webbot bot="Timestamp" endspan
+ i-checksum="38708" --></p>
+
+ <p>&copy; Copyright David Abrahams 2005</p>
+
+ <p>&copy; Copyright Rene Rivera 2005</p>
+
+ <p>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy
+ at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</p>
+</body>
+</html>
diff --git a/more/version_history.html b/more/version_history.html
new file mode 100644
index 0000000000..37b5544377
--- /dev/null
+++ b/more/version_history.html
@@ -0,0 +1,2207 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+ <title>Boost Version History</title>
+ <meta content="text/html; charset=us-ascii" http-equiv="content-type" />
+ <link rel="stylesheet" type="text/css" href="css_0/inner.css" />
+ <!--[if IE]> <style type="text/css"> body { behavior: url(../more/css_0/csshover.htc); } </style> <![endif]-->
+</head>
+
+<body>
+ <div class="body-0">
+ <div class="body-1">
+ <div class="body-2">
+ <div id="heading">
+ <div id="heading-0">
+ <h1><a href="../index.htm"><img id="boost-logo" src=
+ "../more/boost-dark-trans.png" alt=
+ "Boost C++ Libraries" /></a></h1>
+
+ <p id="heading-quote"><span class="quote">&ldquo;...one of the
+ most highly regarded and expertly designed C++ library projects
+ in the world.&rdquo;</span> <span class="attribution">&mdash;
+ <a href="http://www.gotw.ca/">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586">C++ Coding
+ Standards</a></span></p>
+
+ <ul>
+ <li id="menu_libraries"><a href=
+ "../libs/libraries.htm">Libraries</a></li>
+
+ <li id="menu_people"><a href=
+ "../people/people.htm">People</a></li>
+
+ <li id="menu_faq"><a href="faq.htm">FAQ</a></li>
+
+ <li id="menu_more"><a href="index.htm">More</a></li>
+ </ul>
+
+ <div class="clear"></div>
+ </div>
+ </div>
+
+ <div id="content">
+ <h2>Version History</h2>
+
+ <div class="section" id="history">
+ <div class="section-body">
+ <div class="section-body-0">
+ <div class="section-body-1">
+ <div class="history_item" id="v1.33.0">
+ <h3>1.33.0 (11 Aug 2005)</h3>
+
+ <h4>New Libraries</h4>
+
+ <ul>
+ <li><span class="library"><a href=
+ "../libs/iostreams/doc/index.html">Iostreams
+ Library</a>:</span> Framework for defining streams,
+ stream buffers and i/o filters, from Jonathan
+ Turkanis.</li>
+
+ <li><span class="library"><a href=
+ "../libs/functional/hash/index.html">Functional/Hash
+ Library</a>:</span> A TR1 hash function object that can
+ be extended to hash user defined types, from Daniel
+ James.</li>
+
+ <li><span class="library"><a href=
+ "../libs/parameter/doc/html/index.html">Parameter
+ Library</a>:</span> Write functions that accept
+ arguments by name: especially useful when a function
+ has more than one argument with a useful default value,
+ since named arguments can be passed in any order.</li>
+
+ <li><span class="library"><a href=
+ "../libs/ptr_container/index.html">Pointer Container
+ Library</a>:</span> Containers for storing
+ heap-allocated polymorphic objects to ease
+ OO-programming, from Thorsten Ottosen.</li>
+
+ <li><span class="library"><a href=
+ "../libs/wave/index.html">Wave</a>:</span> Standards
+ conformant implementation of the mandated C99/C++
+ preprocessor functionality packed behind an easy to use
+ iterator interface, from Hartmut&nbsp;Kaiser.</li>
+ </ul>
+
+ <h4>Updated Libraries</h4>
+
+ <ul>
+ <li><span class="library"><a href=
+ "../doc/html/any.html">Any Library</a>:</span>
+ <code>any_cast</code> has been enhanced to allow direct
+ access to <code>any</code>'s held value.</li>
+
+ <li><span class="library"><a href=
+ "../libs/assign/doc/index.html">Assignment
+ Library</a>:</span> Support for <a href=
+ "../libs/ptr_container/index.html">Pointer Container
+ Library</a> and new efficient functions
+ <code>ref_list_of()</code> and
+ <code>cref_list_of()</code> for generating anonymous
+ ranges.</li>
+
+ <li><span class="library"><a href=
+ "../libs/bind/bind.html">Bind Library</a>:</span> Bind
+ expressions now support <a href=
+ "../libs/bind/bind.html#operators">comparisons and
+ negation</a>. Example: <code>bind(&amp;X::name, _1)
+ &lt; bind(&amp;X::name, _2)</code>.</li>
+
+ <li>
+ <span class="library"><a href=
+ "../doc/html/date_time.html">Date-Time
+ Library</a>:</span>
+
+ <ul>
+ <li>Added <a href=
+ "../doc/html/date_time/local_time.html">local time
+ and time zone classes</a>.</li>
+
+ <li>Added <a href=
+ "../doc/html/date_time/date_time_io.html">format-based
+ Input/Output facets</a>.</li>
+
+ <li>For a complete list of changes, see the library
+ <a href=
+ "../doc/html/date_time/details.html#date_time.changes">
+ change history</a>.</li>
+ </ul>
+ </li>
+
+ <li>
+ <span class="library"><a href=
+ "../libs/graph/doc/index.html">Graph
+ Library</a>:</span> Introduced several new algorithms
+ and improved existing algorithms:
+
+ <ul>
+ <li><a href=
+ "../libs/graph/doc/python.html">Experimental Python
+ bindings</a>, from Doug Gregor and Indiana
+ University.</li>
+
+ <li><a href=
+ "../libs/graph/doc/floyd_warshall_shortest.html"><tt>
+ floyd warshall all pairs shortest paths</tt></a>,
+ from Lauren Foutz and Scott Hill.</li>
+
+ <li><a href=
+ "../libs/graph/doc/astar_search.html"><tt>astar
+ search</tt></a>, from Kristopher Beevers and Jufeng
+ Peng.</li>
+
+ <li><a href=
+ "../libs/graph/doc/fruchterman_reingold.html"><tt>fruchterman
+ reingold force directed layout</tt></a>, from Doug
+ Gregor and Indiana University.</li>
+
+ <li><a href=
+ "../libs/graph/doc/biconnected_components.html"><tt>
+ biconnected components</tt> and <tt>articulation
+ points</tt></a>, from Jeremy Siek, Janusz
+ Piwowarski, and Doug Gregor.</li>
+
+ <li><a href=
+ "../libs/graph/doc/sequential_vertex_coloring.html">
+ <tt>sequential vertex coloring</tt></a> has been
+ updated, tested, and documented.</li>
+
+ <li><a href=
+ "../libs/graph/doc/gursoy_atun_layout.html"><tt>gursoy
+ atun layout</tt></a>, from Jeremiah Willcock and
+ Doug Gregor of Indiana University.</li>
+
+ <li><a href=
+ "../libs/graph/doc/king_ordering.html"><tt>king
+ ordering</tt></a>, from D. Kevin McGrath of Indiana
+ University.</li>
+
+ <li><a href=
+ "../libs/graph/doc/cuthill_mckee_ordering.html"><tt>
+ cuthill mckee ordering</tt></a> has been recast as
+ an invocation of <tt>breadth first search</tt> and
+ now supports graphs with multiple components.</li>
+
+ <li><a href=
+ "../libs/graph/doc/dijkstra_shortest_paths.html"><tt>
+ dijkstra shortest paths</tt></a> now uses a relaxed
+ heap&nbsp;[<a href=
+ "../libs/graph/doc/bibliography.html#driscoll88">61</a>]
+ as its priority queue, improving its complexity to
+ <em>O(V log V)</em> and improving real-world
+ performance for larger graphs.</li>
+
+ <li><a href=
+ "../libs/graph/doc/read_graphviz.html"><code>read
+ graphviz</code></a> now has a new, Spirit-based
+ parser that works for all graph types and supports
+ arbitrary properties on the graph, from Ron Garcia.
+ The old, Bison-based GraphViz reader has been
+ deprecated and will be removed in a future Boost
+ release. <a href=
+ "../libs/graph/doc/write-graphviz.html"><code>write
+ graphviz</code></a> also supports dynamic
+ properties.</li>
+
+ <li><a href=
+ "../libs/graph/doc/subgraph.html"><code>subgraph</code></a>:
+ <code>get_property</code> now refers to the
+ subgraph property, not the root graph's
+ property.</li>
+
+ <li>See the <a href=
+ "../libs/graph/doc/history.html#by-version">history</a>
+ for additional changes and bug fixes.</li>
+ </ul>
+ </li>
+
+ <li>
+ <span class="library"><a href=
+ "../libs/multi_index/doc/index.html">Multi-index
+ Containers Library</a>:</span>
+
+ <ul>
+ <li>New <a href=
+ "../libs/multi_index/doc/advanced_topics.html#hashed_indices">
+ hashed indices</a>.</li>
+
+ <li>Added <a href=
+ "../libs/multi_index/doc/advanced_topics.html#serialization">
+ serialization support</a>.</li>
+
+ <li>For a complete list of changes, see the library
+ <a href=
+ "../libs/multi_index/doc/release_notes.html">release
+ notes</a>.</li>
+ </ul>
+ </li>
+
+ <li>
+ <span class="library"><a href=
+ "../libs/program_options/doc/index.html">Program
+ Options Library</a>:</span>
+
+ <ul>
+ <li>Option descriptions are now printed with word
+ wrapping.</li>
+
+ <li>Command line parser can bypass unregistered
+ options, instread of throwing.</li>
+
+ <li>Removed support for "implicit" (optional)
+ values.</li>
+
+ <li>New customization method
+ 'command_line_parser::extra_style_parser'. Unlike
+ 'additional_parser', allows the user to parse
+ several tokens and return a vector of options, not
+ just a single option.</li>
+
+ <li>Work with disabled exceptions.</li>
+ </ul>
+ </li>
+
+ <li><span class="library"><a href=
+ "../libs/property_map/property_map.html">Property Map
+ Library</a>:</span> Introduced the <a href=
+ "../libs/property_map/doc/dynamic_property_map.html"><code>
+ dynamic properties</code></a> class, which provides
+ dynamically-typed access to a set of property
+ maps.</li>
+
+ <li>
+ <span class="library"><a href=
+ "../libs/python/doc/index.html">Boost.Python</a>:</span>
+
+ <ul>
+ <li>Added support for docstrings on nonstatic
+ properties.</li>
+
+ <li>We now export the client-provided docstrings
+ for <code>init&lt;optional&lt;&gt; &gt;</code> and
+ <i>XXX</i><code>_FUNCTION_OVERLOADS()</code> for
+ only the last overload.</li>
+
+ <li>Support for Embedded VC++ 4 and GCC-3.3 on
+ MacOS added</li>
+
+ <li>Introduced better support for rvalue
+ from-python conversions of shared_ptr.</li>
+
+ <li>Support for exposing
+ <code>vector&lt;T*&gt;</code> with the indexing
+ suite.</li>
+
+ <li>updated visual studio project build file.</li>
+
+ <li>Added search feature to the index page.</li>
+ </ul>
+ </li>
+
+ <li><span class="library"><a href=
+ "../libs/random/index.html">Random Number
+ Library</a>:</span> improved initialization for
+ <code>mersenne_twister</code>, algorithm by Makoto
+ Matsumoto and Takuji Nishimura, implemented for Boost
+ by Jens Maurer.<br />
+ <em>Note:</em> All test vectors for
+ <code>mersenne_twister</code>s constructed or seeded
+ without parameters or with a single <code>unsigned
+ int</code> parameter become invalid.</li>
+
+ <li><span class="library"><a href=
+ "../libs/range/index.html">Range Library</a>:</span>
+ Minor addition of convenience functions to
+ <code>iterator range</code> like <code>front(),
+ back()</code> and <code>operator[]()</code>.</li>
+
+ <li>
+ <span class="library"><a href=
+ "../libs/regex/index.html">Regex Library</a>:</span>
+
+ <ul>
+ <li>Rewritten front end parser now supports
+ (?imsx-imsx) constructs, plus lookbehind assertions
+ and conditional expressions.</li>
+
+ <li>Thin wrapper classes improve integration with
+ MFC/ATL code.</li>
+
+ <li>Full (optional) Unicode support via the ICU
+ library.</li>
+ </ul>Refer to the <a href=
+ "../libs/regex/doc/history.html">regex history
+ page</a> for more information on these and other
+ small changes.
+ </li>
+
+ <li>
+ <span class="library"><a href=
+ "../libs/serialization/doc/index.html">Serialization
+ Library</a>:</span>
+
+ <ul>
+ <li>DLL version.</li>
+
+ <li>Auto-linking.</li>
+
+ <li>Serialization of variants.</li>
+
+ <li>Improved serialization of shared pointers.</li>
+ </ul>
+ </li>
+
+ <li><span class="library"><a href=
+ "../doc/html/signals.html">Signals Library</a>:</span>
+ added slot blocking/unblocking, from Frantz Maerten.
+ Huge improvements to signal invocation performance from
+ Robert Zeh.</li>
+ </ul>
+
+ <h4>Supported Compilers</h4>
+
+ <p>Boost is tested on a wide range of compilers and
+ platforms. Since Boost libraries rely on modern C++
+ features not available in all compilers, not all Boost
+ libraries will work with every compiler. The following
+ compilers and platforms have been extensively tested with
+ Boost, although many other compilers and platforms will
+ work as well. For more information, see the <a href=
+ "http://www.boost.org/regression/release/user/">regression
+ test results</a>.</p>
+
+ <ul>
+ <li><a href="http://developer.apple.com/">Apple GCC</a>
+ 3.x on Mac OS X.</li>
+
+ <li><a href=
+ "http://www.borland.com/us/products/cbuilder/">Borland
+ C++</a> 5.6.4 on Windows.</li>
+
+ <li><a href="http://gcc.gnu.org">GNU C++</a> 2.95.3
+ (with and without STLport), 3.2.x., 3.3.x, 3.4.x, 4.0.x
+ on Windows, Linux and Solaris.</li>
+
+ <li><a href=
+ "http://www.intel.com/cd/software/products/asmo-na/eng/compilers/index.htm">
+ Intel C++</a> 8.1, 9.0 on Windows, Linux.</li>
+
+ <li><a href="http://www.metrowerks.com">Metrowerks
+ CodeWarrior</a> 8.3, 9.4, 9.5 on Mac OS X and
+ Windows.</li>
+
+ <li><a href=
+ "http://msdn.microsoft.com/visualc/">Microsoft Visual
+ C++</a> 6.0 (sp5, with and without STLport), 7.0, 7.1,
+ 8.0 beta. Note: due to intermittent problems with
+ Visual C++ 8.0 beta, and the presence of a variety of
+ pre-release compiler builds, we are unable to guarantee
+ compatibility until the final compiler is
+ released.</li>
+ </ul>
+
+ <h4>Acknowledgements</h4>
+
+ <p><img src="boost_1_33_0.jpg" width="128" height="118"
+ alt="Medieval Mr. Gregor" class="left-inset" /><a href=
+ "../people/doug_gregor.html">Douglas Gregor</a> managed
+ this release.</p>
+
+ <p>A great number of people contributed their time and
+ expertise to make this release possible. Special thanks
+ go to Aleksey Gurtovoy and Misha Bergal, who managed to
+ keep the regression testing system working throughout the
+ release process; David Abrahams, Beman Dawes, Aleksey
+ Gurtovoy, Rene Rivera and Jonathan Turkanis for greatly
+ improving the quality of this release; Rene Rivera for
+ the new Boost web page design; and Zoltan "cad" Juhasz
+ for the new Boost logo.</p>
+ </div>
+
+ <div class="history_item" id="v1.32.0">
+ <h3>1.32.0 (19 Nov 2004)</h3>
+
+ <h4>Important - New Toolset Names</h4>
+
+ <p>The names of some the Boost.Build <a href=
+ "getting_started.html#Tools">toolsets</a> have been
+ changed to remove the "<code>.</code>" (dot) character
+ and to fix some other naming inconsistencies. For
+ example, <code>vc7.1</code> toolset was renamed to become
+ <code>vc-7_1</code>. Please refer to the <a href=
+ "getting_started.html#Tools">Supported Toolsets</a>
+ section of the installation guide for the complete list
+ of the current toolset names. This change was made as a
+ part of the effort to make the Boost distribution
+ compatible with ISO 9660 level 2 requirements.</p>
+
+ <h4>New Libraries</h4>
+
+ <ul>
+ <li><span class="library"><a href=
+ "../libs/assign/index.html">Assignment
+ Library</a>:</span> Filling containers with constant or
+ generated data has never been easier, from Thorsten
+ Ottosen.</li>
+
+ <li><span class="library"><a href=
+ "../libs/algorithm/minmax/index.html">Minmax
+ Library</a>:</span> Standard library extensions for
+ simultaneous min/max and min/max element computations,
+ from Herv&eacute; Br&ouml;nnimann.</li>
+
+ <li><span class="library"><a href=
+ "../libs/multi_index/doc/index.html">Multi-index
+ Containers Library</a>:</span> Containers with multiple
+ STL-compatible access interfaces, from Joaqu&iacute;n M
+ L&oacute;pez Mu&ntilde;oz.</li>
+
+ <li><span class="library"><a href=
+ "../libs/numeric/conversion/index.html">Numeric
+ Conversion Library</a>:</span> Optimized policy-based
+ numeric conversions, from Fernando Cacciola.</li>
+
+ <li><span class="library"><a href=
+ "../doc/html/program_options.html">Program Options
+ Library</a>:</span> Access to configuration data given
+ on command line, in config files and other sources,
+ from Vladimir Prus.</li>
+
+ <li><span class="library"><a href=
+ "../libs/range/index.html">Range Library</a>:</span> a
+ new infrastructure for generic algorithms that builds
+ on top of the new iterator concepts, from Thorsten
+ Ottosen.</li>
+
+ <li><span class="library"><a href=
+ "../libs/serialization/doc/index.html">Serialization
+ Library</a>:</span> Serialization/de-serialization of
+ arbitrary C++ data structures to various formats
+ including text, binary, and xml, from Robert
+ Ramey.</li>
+
+ <li><span class="library"><a href=
+ "../libs/algorithm/string/index.html">String Algorithms
+ Library</a>:</span> Collection of string related
+ algorithms for case conversion, trimming, find/replace
+ operations and more, from Pavol Droba.</li>
+
+ <li><span class="library"><a href=
+ "../doc/html/tribool.html">Tribool</a>:</span> 3-state
+ boolean type library, from Doug Gregor.</li>
+ </ul>
+
+ <h4>Updated Libraries</h4>
+
+ <ul>
+ <li>Compose: This deprecated library has been
+ removed.</li>
+
+ <li>
+ <span class="library"><a href=
+ "../libs/graph/index.html">Graph</a>:</span>
+
+ <ul>
+ <li>Added <a href=
+ "../libs/graph/doc/bundles.html">bundled
+ properties</a> to the <a href=
+ "../libs/graph/doc/adjacency_list.html"><code>adjacency_list</code></a>
+ and <a href=
+ "../libs/graph/doc/adjacency_matrix.html"><code>adjacency_matrix</code></a>
+ class templates, greatly simplifying the
+ introduction of internal vertex and edge
+ properties.</li>
+
+ <li>The <a href=
+ "../libs/graph/doc/leda_conversion.html">LEDA graph
+ adaptors</a> have been ported to LEDA 4.5.</li>
+
+ <li>Added algorithms for <a href=
+ "../libs/graph/doc/betweenness_centrality.html">betweenness
+ centrality</a> and <a href=
+ "../libs/graph/doc/bc_clustering.html">betweenness
+ centrality clustering</a>.</li>
+
+ <li>Added <a href=
+ "../libs/graph/doc/circle_layout.html">circle
+ layout</a> and <a href=
+ "../libs/graph/doc/kamada_kawai_spring_layout.html">
+ undirected spring layout</a> algorithms.</li>
+ </ul>
+ </li>
+
+ <li>
+ <span class="library"><a href=
+ "../libs/mpl/doc/index.html">MPL Library</a>:</span>
+
+ <ul>
+ <li>Updated to use the Boost Software License.</li>
+
+ <li>New <a href=
+ "../libs/mpl/doc/index.html">documentation</a>,
+ including a complete <a href=
+ "../libs/mpl/doc/refmanual.html">reference
+ manual.</a></li>
+
+ <li>Major interface changes and improvements, many
+ of which are <em>not</em> backward compatible.
+ Please refer to the <a href=
+ "../libs/mpl/doc/tutorial/changes-in-boost-1-32-0.html">
+ 1.32 changelog</a> for the detailed information
+ about upgrading to the new version.</li>
+ </ul>
+ </li>
+
+ <li>
+ <span class="library"><a href=
+ "../libs/python/doc/index.html">Python
+ Library</a>:</span>
+
+ <ul>
+ <li>Updated to use the Boost Software License.</li>
+
+ <li>a new, <a href=
+ "../libs/python/doc/tutorial/doc/html/python/exposing.html#python.class_virtual_functions">
+ better method of wrapping classes with virtual
+ functions</a> has been implemented.</li>
+
+ <li>Support for the new Python Bool type, thanks to
+ Daniel Holth.</li>
+
+ <li>Support for upcoming GCC symbol export control
+ features have been folded in, thanks to Niall
+ Douglas.</li>
+
+ <li>Improved support for
+ <code>std::auto_ptr</code>-like types.</li>
+
+ <li>Components used by other libraries have been
+ moved out of <code>python/detail</code> and into
+ <code>boost/detail</code> to improve dependency
+ relationships.</li>
+
+ <li>Miscellaneous bug fixes and compiler
+ workarounds.</li>
+ </ul>
+ </li>
+
+ <li><span class="library"><a href=
+ "../doc/html/signals.html">Signals Library</a>:</span>
+ Introduced deterministic slot ordering, permitting
+ slots to be connected at the beginning or end of slot
+ groups or the slot list itself. Combiners may safely
+ have state and are accessible from the signal.</li>
+
+ <li><span class="library"><a href=
+ "../libs/utility/utility.htm">Utility</a>:</span> class
+ template <a href=
+ "../libs/utility/utility.htm#result_of">result_of</a>
+ added.</li>
+
+ <li>
+ <span class="library"><a href=
+ "../libs/test/index.html">Test Library</a>:</span>
+
+ <ul>
+ <li>namespace names gets shorten; old one still
+ supported till next release</li>
+
+ <li>added proper encoding of XML PCDATA</li>
+
+ <li>support for wide string comparison
+ implemented</li>
+ </ul>For complete list of changes see Test Library
+ <a href=
+ "../libs/test/doc/release_notes.html#v1_32_0">release
+ notes</a>.
+ </li>
+ </ul>
+
+ <h4>Regression tests</h4>
+
+ <p>This release has been extensively tested on a variety
+ of different compilers and platforms. It is known to
+ contain no regressions against the previous reference
+ release on the compilers and configurations tested.
+ Please refer to the corresponding <a href=
+ "http://www.meta-comm.com/engineering/boost-regression/1_32_0/index.html">
+ regression reports</a> to see how well your compiler
+ performs on the new Boost codebase.</p>
+
+ <h4>Acknowledgements</h4>
+
+ <p><img src=
+ "http://boost.sourceforge.net/photos/aleksey_gurtovoy2.jpg"
+ width="128" height="250" alt=
+ "cartoon portrait of Aleksey" class=
+ "left-inset" /><a href=
+ "../people/aleksey_gurtovoy.htm">Aleksey
+ Gurtovoy</a> managed this release. <a href=
+ "release_procedures.htm">Managing a release</a> at
+ all is an enormous job, and Aleksey always goes
+ beyond merely meeting requirements by insisting on
+ the highest possible quality. The Boost membership
+ owes him a debt of gratitude.</p>
+
+ <p>This release wouldn't have been possible without the
+ dedicated effort of many, many members of the Boost
+ community who generously contributed their outstanding
+ expertise, time and energy to making it happen. For
+ patches, bug fixes, troubleshooting, expert advice, and
+ prompt responses to the release manager's requests we
+ thank:</p>
+
+ <p>David Abrahams, Misha Bergal, Jonathan Brandmeyer,
+ Fernando Cacciola, Marshall Clow, Christopher Currie,
+ Pavol Droba, Caleb Epstein, Eric Friedman, Jeff Garland,
+ Michael Glassford, Doug Gregor, Joel de Guzman, Hubert
+ Holin, Jaakko J&auml;rvi, Hartmut Kaiser, Bronek Kozicki,
+ Tarjei Knapstad, Toon Knapen, Aaron W. LaFramboise,
+ Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz, Christoph
+ Ludwig, John Maddock, Paul Mensonides, Guillaume
+ Melquiond, Thorsten Ottosen, Vladimir Prus, Robert Ramey,
+ Rene Rivera, Gennadiy Rozental, Stefan Slapeta, Jonathan
+ Turkanis, Pavel Vozenilek, Jonathan Wakely, Daryle
+ Walker, Victor A. Wagner Jr. and Martin Wille.</p>
+
+ <p>Also, our special thanks go to: John Maddock for the
+ managing the effort of converting the majority of the
+ Boost libraries to the <a href="license_info.html">Boost
+ Software License</a>, Eric Niebler and Joel de Guzman for
+ taking on the important job of improving the Boost
+ documentation's look and feel, and last, but not least,
+ to our regression test runners, without whom we simply
+ would never have released: Toon Knapen, Bronek Kozicki,
+ Rene Rivera, Markus Sch&ouml;pflin, Stefan Slapeta,
+ Victor A. Wagner Jr. and Martin Wille.</p>
+
+ <p>Thank you everybody!</p>
+ </div>
+
+ <div class="history_item" id="v1.31.0">
+ <h3>1.31.0 (26 Jan 2004)</h3>
+
+ <h4>New License</h4>
+
+ <p>A unified <a href="license_info.html">Boost Software
+ License</a> has been developed and will gradually replace
+ the individual licenses for most Boost libraries. The new
+ license offers better legal protection for both users and
+ developers, and should speed user's legal reviews of
+ Boost libraries. Dave Abrahams led the Boost effort to
+ develop better licensing. The legal team was led by
+ <a href=
+ "http://cyber.law.harvard.edu/people/cabell/index.html">Diane
+ Cabell</a>, Director, Clinical Programs, <a href=
+ "http://cyber.law.harvard.edu">Berkman Center for
+ Internet &amp; Society</a>, Harvard Law School. <a href=
+ "http://www.nixonpeabody.com/attorneys_detail1.asp?ID=121">
+ Devin Smith</a>, attorney, <a href=
+ "http://www.nixonpeabody.com/default.asp">Nixon Peabody
+ LLP</a>, wrote the Boost License. Eva Chan, Harvard Law
+ School, contributed analysis of issues and drafts of
+ various legal documents.</p>
+
+ <p><strong>Note:</strong> Many of the Boost libraries are
+ still using earlier licenses, though all conform to the
+ <a href="lib_guide.htm#license">Boost License
+ Requirements</a>. After this release we will begin an
+ effort to move toward uniform use of the new license.</p>
+
+ <h4>Build and Installation</h4>
+
+ <ul>
+ <li>New <a href="getting_started.html">Getting
+ Started</a> procedures ease download and installation,
+ from Rene Rivera and others.</li>
+
+ <li>Improved support for libraries requiring <a href=
+ "separate_compilation.html">separate compilation</a>,
+ from John Maddock and others.</li>
+ </ul>
+
+ <h4>New Libraries</h4>
+
+ <ul>
+ <li><span class="library"><a href=
+ "../libs/utility/enable_if.html">enable_if</a>:</span>
+ Selective inclusion of function template overloads,
+ from Jaakko J&auml;rvi, Jeremiah Willcock, and Andrew
+ Lumsdaine. This is an important new technique which
+ exploits the <em>SFINAE</em>
+ (substitution-failure-is-not-an-error) principle.</li>
+
+ <li><span class="library"><a href=
+ "../libs/variant/index.html">Variant
+ Library</a>:</span> Safe, generic, stack-based
+ discriminated union container, from Eric Friedman and
+ Itay Maman.</li>
+ </ul>
+
+ <h4>Updated Libraries</h4>
+
+ <ul>
+ <li><span class="library"><a href=
+ "../libs/compose/index.htm">Compose</a>:</span> This
+ library has been deprecated and will be removed in a
+ future release. Use <a href=
+ "../libs/bind/bind.html">Bind</a> or <a href=
+ "../libs/lambda/doc/index.html">Lambda</a>
+ instead.</li>
+
+ <li><span class="library"><a href=
+ "../libs/date_time/doc/index.html">Date Time
+ Library</a>:</span> A whole host of bug fixes, new
+ features, and documentation improvements. See the Date
+ Time Change History for details.</li>
+
+ <li><span class="library"><a href=
+ "../libs/filesystem/doc/index.htm">Filesystem
+ Library</a>:</span> Several added functions, including
+ improved checking for directory and file name
+ portability.</li>
+
+ <li><span class="library"><a name="iterators_lib" href=
+ "../libs/iterator/doc/index.html" id=
+ "iterators_lib">Iterator Library</a>:</span> Major
+ version upgrade, with interface as proposed for the C++
+ library TR, including an improved
+ <code>iterator_adaptor</code> design plus several new
+ components, from David Abrahams, Jeremy Siek, and
+ Thomas Witt.</li>
+
+ <li><span class="library"><a href=
+ "../libs/multi_array/index.html">MultiArray</a>:</span>
+ The <code>multi_array</code> class template now
+ provides an element-preserving resize operation as well
+ as default construction (see the <a href=
+ "../libs/multi_array/doc/reference.html">reference
+ manual</a> for more information).</li>
+
+ <li>
+ <span class="library"><a href=
+ "../libs/python/index.html">Python
+ Library</a>:</span>
+
+ <ul>
+ <li>Support for Python 2.3 and Intel C++ on
+ Linux</li>
+
+ <li>Container <a href=
+ "../libs/python/doc/v2/indexing.html">Indexing
+ Suite</a> added.</li>
+
+ <li>injected constructors and wrapped function
+ objects.</li>
+
+ <li>wrapping static data members.</li>
+
+ <li><code>std::wstring</code> conversions.</li>
+
+ <li>Improved <a href=
+ "../libs/python/doc/v2/args.html">keyword
+ arguments</a>.</li>
+
+ <li>Better error messages, including name
+ demangling for GCC.</li>
+
+ <li>Simpler <a href=
+ "../libs/python/doc/building.html">build
+ procedure</a>.</li>
+
+ <li><i>...and more....</i></li>
+ </ul>
+ </li>
+
+ <li><span class="library"><a href=
+ "../libs/random/index.html">Random Number
+ Library</a>:</span> Interface changed to match the C++
+ <a href="../libs/random/wg21-proposal.html">TR
+ proposal</a>, from Jens Maurer.</li>
+
+ <li><span class="library"><a href=
+ "../libs/regex/doc/index.html">Regex</a>:</span>
+ Completely new matching algorithm is now much faster
+ than before, plus a selection of <a href=
+ "../libs/regex/doc/history.html">new features and
+ enhancements</a>.</li>
+
+ <li>
+ <span class="library"><a href=
+ "../libs/spirit/index.html">Boost.Spirit
+ 1.8.0</a>:</span>
+
+ <ul>
+ <li>Multiple grammar start rules</li>
+
+ <li>Multiple Scanner rules (no more scanner
+ business woes)</li>
+
+ <li>More dynamic parsers</li>
+
+ <li>Predefined actors</li>
+
+ <li>Numerous bug fixes and QOI stuff</li>
+
+ <li><i>...and more...</i></li>
+ </ul>
+
+ <p>Starting from Spirit v1.8.0, ill conforming
+ compilers will no longer be supported. If you are
+ still using one of these older compilers, please use
+ Spirit v1.6.x. See <a href=
+ "http://spirit.sf.net">Spirit's Site</a> for more
+ details.</p>
+ </li>
+
+ <li>
+ <span class="library"><a href=
+ "../libs/test/index.html">Test Library</a>:</span>
+
+ <ul>
+ <li>Free function template based test case</li>
+
+ <li>Custom exception translators support in
+ execution monitor and register_exception_translator
+ added for unit test framework</li>
+
+ <li>Added support for multi-module unit tests in
+ automatic registration facility</li>
+
+ <li>Floating point comparison algorithm reworked
+ (Is not backward compatible!!!)</li>
+
+ <li>Added support for custom users predicate
+ returning both boolean result code and possibly
+ error message</li>
+
+ <li>Documentation structure rework and update</li>
+ </ul>
+
+ <p>For a complete list of changes see the Test
+ Library <a href=
+ "../libs/test/doc/release_notes.html#v1_31_0">release
+ notes</a>.</p>
+ </li>
+ </ul>
+
+ <h4>Miscellaneous</h4>
+
+ <ul>
+ <li>Expanded testing and fixes for non-conforming
+ compilers.</li>
+
+ <li>Web site hosting now provided by <a href=
+ "http://www.sourceforge.net/">SourceForge</a>.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.30.2">
+ <h3>1.30.2 (19 Aug 2003)</h3>
+
+ <ul>
+ <li><a href="http://www.boost-consulting.com">Boost
+ Consulting</a> is now hosting Boost CVS mirrors - see
+ our <a href="getting_started.html#CVS">download
+ page</a>.</li>
+
+ <li>Backported changes to the <a href=
+ "../libs/config/config.htm">config system</a>, to
+ better handle new compiler releases.</li>
+
+ <li>Bugs in regression reporting in subproject tests
+ were fixed.</li>
+
+ <li>Tests are now run in the context of the user's PATH
+ environment settings</li>
+
+ <li><a href=
+ "../tools/build/v1/msvc-stlport-tools.html">msvc-stlport</a>
+ and <a href=
+ "../tools/build/v1/intel-win32-tools.html">intel-win32-stlport</a>
+ toolsets now build static libraries with multithreading
+ enabled, to be compatible with the STLPort builds.</li>
+
+ <li><a href=
+ "../tools/build/v1/intel-win32-tools.html">intel-win32</a>
+ toolset now handles <code>wchar_t</code> correctly when
+ intel is installed over msvc6.</li>
+
+ <li>Backported fixes from the main trunk which prevent
+ errors building the <a href=
+ "../libs/test/doc/index.html">Boost.Test</a> library in
+ its default configuration.</li>
+
+ <li>Backported portability improvements for <a href=
+ "../libs/utility/checked_delete.html">checked_delete</a>.</li>
+
+ <li>Locale support for metrowerks (requiring a
+ statically-linked runtime) is more uniformly
+ handled.</li>
+
+ <li>Backported <a href=
+ "../libs/conversion/lexical_cast.htm">conversion/lexical_cast</a>'s
+ <code>wchar_t</code> fixes from the main trunk.</li>
+
+ <li><a href=
+ "../tools/build/v1/intel-linux-tools.html">intel-linux-tools</a>:
+ added <code>rt</code> to FINDLIBS in order to make the
+ <code>clock_gettime()</code> function available
+ (backport of a patch in CVS HEAD).</li>
+
+ <li><a href=
+ "../tools/regression/index.htm">regression/compiler_status.cpp</a>:
+ backported fixes in error log links generation.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.30.1">
+ <h3>1.30.1 (4 Aug 2003; withdrawn 12 Aug 2003)</h3>
+
+ <p>Fixes were made to the following libraries:</p>
+
+ <ul>
+ <li><span class="library">The <a href=
+ "../libs/lambda/doc/index.html">Boost.Lambda</a></span>
+ ..library is now usable with gcc-2.95.2</li>
+
+ <li>
+ <span class="library"><a href=
+ "../libs/spirit/index.html">Boost.Spirit</a>:</span>
+
+ <ul>
+ <li>Fixed. Using MSVC++6 (SP5), calling the assign
+ action with a string value on parsers using the
+ file_iterator will not work.</li>
+
+ <li>Fixed: using assign semantic action in a
+ grammar with a multi_pass iterator adaptor applied
+ to an std::istream_iterator resulted in a failure
+ to compile under msvc 7.0.</li>
+
+ <li>Fixed: There is a bug in the
+ <code>range_run&lt;CharT&gt;::set(range&lt;CharT&gt;
+ const&amp; r)</code> function in
+ "../boost/spirit/utility/impl/chset/range_run.ipp".</li>
+
+ <li>Fixed: handling of trailing whitespace bug
+ (ast_parse/pt_parse related)</li>
+
+ <li>Fixed: comment_p and end of data bug</li>
+
+ <li>Fixed: Most trailing space bug</li>
+
+ <li>Fixed: <code>chset&lt;&gt;::operator
+ ~(range&lt;&gt;)</code> bug, <code>operator
+ &amp;(chset&lt;&gt;, range&lt;&gt;)</code> bug,
+ <code>operator &amp;(range&lt;&gt;,
+ chset&lt;&gt;)</code> bug</li>
+
+ <li>Fixed: <code>impl::detach_clear</code> bug</li>
+
+ <li>Fixed: mismatch closure return type bug</li>
+
+ <li>Fixed: <code>access_node_d[]</code> and
+ <code>access_match_d[]</code> iterator bugs</li>
+
+ <li>Fixed a bug regarding thread safety of
+ Phoenix/Spirit closures.</li>
+ </ul>
+ </li>
+
+ <li><span class="library">The Boost Template <a href=
+ "../libs/mpl/doc/index.html">Metaprogramming Library
+ (MPL)</a>'s</span> ..typeof implementation is now
+ compatible with Metrowerks CodeWarrior Pro8.</li>
+
+ <li><span class="library"><a href=
+ "../libs/function/index.html">Boost.Function</a>:</span>
+ workaround for the new Borland patch (version 0x564)
+ and MSVC++ .NET 2003.</li>
+
+ <li><span class="library"><a href=
+ "../libs/config/index.html">Boost.Config</a>, <a href=
+ "../libs/format/doc/format.html">Boost.Format</a>, and
+ <a href=
+ "../libs/regex/index.html">Boost.Regex</a></span>
+ ..have been adjusted to avoid warnings with GCC-3.3,
+ and Boost.Format also now works with string types other
+ than <code>std::string</code>.</li>
+
+ <li>
+ <span class="library"><a href=
+ "../libs/smart_ptr/index.html">Smart
+ Pointers</a>:</span>
+
+ <ul>
+ <li><code>checked_delete</code> now works on more
+ platforms</li>
+
+ <li>Compatibility with the SunPro compiler</li>
+
+ <li>Added missing <code>#include</code>s.</li>
+ </ul>
+ </li>
+
+ <li>
+ <span class="library"><a href=
+ "../libs/python/index.html">Boost.Python</a>:</span>
+
+ <ul>
+ <li>warning suppression for finicky compilers</li>
+
+ <li>fixed a crashing bug in the
+ <code>raw_function</code> facility when no keyword
+ arguments were passed.</li>
+
+ <li>Improved conversion of NULL
+ <code>shared_ptr</code>s to Python.</li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.30.0">
+ <h3>1.30.0 (19 Mar 2003)</h3>
+
+ <ul>
+ <li><a href=
+ "../libs/filesystem/doc/index.htm">Filesystem
+ Library</a> added - Portable paths, iteration over
+ directories, and other useful filesystem operations,
+ from Beman Dawes.</li>
+
+ <li><a href=
+ "../libs/optional/doc/optional.html">Optional
+ Library</a> added - A discriminated-union wrapper for
+ optional values, from Fernando Cacciola.</li>
+
+ <li><a href=
+ "../libs/numeric/interval/doc/interval.htm">Interval
+ Library</a> added - Extends the usual arithmetic
+ functions to mathematical intervals, from Guillaume
+ Melquiond, Herv&eacute; Br&ouml;nnimann and Sylvain
+ Pion.</li>
+
+ <li><a href="../libs/mpl/doc/index.html">MPL</a> added
+ - Template metaprogramming framework of compile-time
+ algorithms, sequences and metafunction classes, from
+ Aleksey Gurtovoy.</li>
+
+ <li><a href="../libs/spirit/index.html">Spirit
+ Library</a> added - An LL (unlimited lookahead) parser
+ framework that represents parsers directly as EBNF
+ grammars in inlined C++ source code, complete with
+ semantic actions, ASTs and much more, from Joel de
+ Guzman and team.</li>
+
+ <li><a href="../libs/smart_ptr/index.html">Smart
+ Pointers Library</a> - cast functions are now spelled
+ <a href=
+ "../libs/smart_ptr/shared_ptr.htm#static_pointer_cast">static_pointer_cast</a>
+ / <a href=
+ "../libs/smart_ptr/shared_ptr.htm#dynamic_pointer_cast">
+ dynamic_pointer_cast</a>; <a href=
+ "../libs/smart_ptr/enable_shared_from_this.html">enable_shared_from_this</a>
+ added; shared_ptr::shared_ptr(), shared_ptr::reset(),
+ weak_ptr::weak_ptr(), weak_ptr::reset() no longer
+ throw; <a href=
+ "../libs/smart_ptr/shared_ptr.htm#get_deleter">get_deleter</a>
+ added; weak_ptr::get() removed; make_shared is now
+ spelled <a href=
+ "../libs/smart_ptr/weak_ptr.htm#lock">weak_ptr::lock()</a>
+ ; <a href=
+ "../libs/smart_ptr/intrusive_ptr.html">intrusive_ptr
+ documentation</a> added; some experimental undocumented
+ shared_ptr features have been removed; a <a href=
+ "../libs/smart_ptr/sp_techniques.html">page describing
+ some smart pointer programming techniques</a> has been
+ added.</li>
+
+ <li><a href=
+ "../libs/utility/assert.html">boost/assert.hpp</a>,
+ <a href=
+ "../libs/utility/current_function.html">boost/current_function.hpp</a>,
+ <a href=
+ "../libs/utility/throw_exception.html">boost/throw_exception.hpp</a>,
+ <a href=
+ "../libs/utility/checked_delete.html">boost/checked_delete.hpp</a>
+ have been documented.</li>
+
+ <li><a href=
+ "../libs/date_time/doc/index.html">Date-Time
+ Library</a> - several fixes and small additions
+ including an interface change to partial_date. See the
+ Date-Time Change History for more details.</li>
+
+ <li><a href="../libs/function/index.html">Function
+ Library</a> - added support for assignment to zero (to
+ clear) and comparison against zero (to check if
+ empty).</li>
+
+ <li><a href=
+ "../libs/utility/operators.htm#symmetry">Operators
+ Library</a> - now takes advantage of named return value
+ optimization (NRVO) when available, from Daniel
+ Frey.</li>
+
+ <li><a href="../status/compiler_status.html">Regression
+ Tests</a> - Much expanded, plus a very nice <a href=
+ "http://boost.sourceforge.net/regression-logs/">summary
+ page</a> from Rene Rivera.</li>
+
+ <li>
+ <a href="../libs/test/index.html">Test Library</a> -
+ introduced following new facilities:
+
+ <ul>
+ <li>Automatic registration of unit tests</li>
+
+ <li>XML log format</li>
+
+ <li>XML report format</li>
+
+ <li>BOOST_CHECK_NO_THROW test tool</li>
+
+ <li>BOOST_BITWISE_CHECK test tool</li>
+ </ul>
+
+ <p>For a complete list of changes see the Test
+ Library <a href=
+ "../libs/test/doc/release_notes.html#v1_30_0">release
+ notes</a>.</p>
+ </li>
+
+ <li>Many fixes and enhancements to other
+ libraries.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.29.0">
+ <h3>1.29.0 (10 Oct 2002)</h3>
+
+ <ul>
+ <li><a href=
+ "../libs/date_time/doc/index.html">Date-Time
+ Library</a> added - Dates, times, leap seconds,
+ infinity, and more, from Jeff Garland.</li>
+
+ <li><a href=
+ "../libs/dynamic_bitset/dynamic_bitset.html">Dynamic
+ Bitset</a> added - A runtime sized version of the
+ <code>std::bitset</code> class from Jeremy Siek and
+ Chuck Allison.</li>
+
+ <li><a href="../libs/format/index.html">Format
+ Library</a> added - Type-safe 'printf-like' format
+ operations, from Samuel Krempp.</li>
+
+ <li><a href="../libs/function/index.html">Function
+ Library</a>: Major syntactic changes have been made.
+ Some old syntax and little-used features have been
+ deprecated (and will be removed shortly), and the
+ syntax for the <code>boost::function</code> class
+ template has been greatly improved on conforming
+ compilers. Please see the compatibility note for more
+ information.</li>
+
+ <li><a href=
+ "../libs/multi_array/doc/index.html">Multi-array
+ Library</a> added - Multidimensional containers and
+ adaptors for arrays of contiguous data, from Ron
+ Garcia.</li>
+
+ <li><a href=
+ "../libs/preprocessor/index.html">Preprocessor
+ Library</a>: Major upgrade, from Paul Mensonides.</li>
+
+ <li><a href="../libs/python/doc/index.html">Python
+ Library</a> - Version 2 is released, from Dave Abrahams
+ and others. This is a major rewrite which works on many
+ more compilers and platforms, with a completely new
+ interface and lots of new features. Boost.Python v2
+ requires Python 2.2 or later.</li>
+
+ <li><a href="../libs/signals/doc/index.html">Signals
+ Library</a> added - Managed signals &amp; slots
+ callback implementation, from Doug Gregor.</li>
+
+ <li><a href="../libs/test/doc/index.html">Test
+ Library</a>: Major new version, including full unit
+ test capabilities, from Gennadiy Rozental.</li>
+
+ <li><a href="../libs/numeric/ublas/doc/index.htm">uBLAS
+ Library</a> added - Basic linear algebra for dense,
+ packed and sparse matrices, from Joerg Walter and
+ Mathias Koch.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.28.0">
+ <h3>1.28.0 (15 May 2002)</h3>
+
+ <ul>
+ <li>The Boost mailing lists are now also accessible as
+ <a href=
+ "mailing_lists.htm#newsgroup">newsgroups</a>.</li>
+
+ <li>A powerful <a href=
+ "http://aspn.activestate.com/ASPN/Mail/Archives/boost/">
+ mailing list archive</a> has been contributed by the
+ <a href="http://aspn.activestate.com/ASPN">ActiveState
+ Programmer Network</a>.</li>
+
+ <li>
+ <a href="../libs/lambda/doc/index.html">Lambda
+ Library</a> added, from Jaakko J&auml;rvi and Gary
+ Powell. Define small unnamed function objects at the
+ actual call site:
+
+ <blockquote>
+ <p><code>for_each( a.begin(), a.end(), std::cout
+ &lt;&lt; _1 &lt;&lt; ' ' );</code></p>
+ </blockquote>
+ </li>
+
+ <li><a href="../libs/io/doc/ios_state.html">I/O State
+ Saver Library added</a> - Save I/O state to prevent
+ jumbled data, from Daryle Walker.</li>
+
+ <li><a href="../libs/config/config.htm">Configuration
+ Library</a>: User code should not use
+ BOOST_NO_LIMITS.</li>
+
+ <li><a href="../libs/random/index.html">Random Number
+ Library</a>: Avoid compiler warnings.</li>
+
+ <li><a href="../libs/smart_ptr/index.html">Smart
+ Pointers Library</a>: Added shared_polymorphic_cast and
+ shared_polymorphic_downcast.</li>
+
+ <li><a href="../libs/function/index.html">Function
+ Library</a>: Now supports function objects with the
+ unary <code>&amp;</code> operator overloaded.</li>
+
+ <li><a href="../libs/utility/utility.htm">Utility
+ Library</a>: Added <code>addressof()</code>
+ function.</li>
+
+ <li>The usual small fixes and tweaks.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.27.0">
+ <h3>1.27.0 (5 Feb 2002)</h3>
+
+ <ul>
+ <li><a href="../libs/python/doc/index.html">Python
+ Library</a>: Scott Snyder contributed inplace operator
+ support.</li>
+
+ <li><a href="../libs/integer/index.html">Integer
+ Library</a>: Daryle Walker contributed enhancements to
+ the <a href="../libs/integer/integer.htm">type
+ selection templates</a>, and added new compile-time
+ <a href="../libs/integer/doc/integer_mask.html">bit
+ mask</a>, <a href=
+ "../libs/integer/doc/static_log2.html">binary
+ logarithm</a>, and <a href=
+ "../libs/integer/doc/static_min_max.html">extrema</a>
+ templates.</li>
+
+ <li><a href="../libs/function/index.html">Function
+ Library</a>: user may request that
+ <code>boost::function</code> objects store a reference
+ to a function object target instead of a copy, using
+ <a href="../libs/bind/ref.html"><code>ref</code></a>.
+ Stateless objects are optimized so that they require no
+ dynamic storage.</li>
+
+ <li><a href=
+ "../libs/math/quaternion/index.html">Quaternions</a>:
+ added support for GCC 2.95.x.</li>
+
+ <li><a href=
+ "../libs/math/octonion/index.html">Octonions</a>: added
+ support for GCC 2.95.x.</li>
+
+ <li><a href="../libs/smart_ptr/index.html">Smart
+ Pointers Library</a>: Peter Dimov contributed a new
+ implementation that fixes some bugs and adds some
+ features including <a href=
+ "../libs/smart_ptr/compatibility.htm#threadsafe">thread
+ safety</a> when manipulating the use count, <a href=
+ "../libs/smart_ptr/shared_ptr.htm#constructors">custom
+ delete functions</a>, a new <a href=
+ "../libs/smart_ptr/weak_ptr.htm">weak_ptr</a>, and
+ shared_static_cast and shared_dynamic_cast.</li>
+
+ <li><a href=
+ "../libs/preprocessor/doc/index.html">Preprocessor
+ Library</a>: changed macro prefix from
+ BOOST_PREPROCESSOR to BOOST_PP, added support for list
+ data structure manipulation, added examples, made
+ library ANSI C friendly, added generalized <a href=
+ "../libs/preprocessor/doc/ref/for.html">repetition</a>
+ and <a href=
+ "../libs/preprocessor/doc/ref/while.html">iteration</a>
+ primitives, improved reference manual.</li>
+
+ <li><a href="../libs/thread/doc/index.html">Threads
+ Library:</a> Mac Carbon implementation contributed by
+ Mac Murrett.</li>
+
+ <li>Minor fixes to many libraries.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.26.0">
+ <h3>1.26.0 (30 Nov 2001)</h3>
+
+ <ul>
+ <li><a href=
+ "../libs/math/doc/common_factor.html">Common Factor
+ Library</a> added. Greatest common divisor and least
+ common multiple, from Daryle Walker.</li>
+
+ <li><a href=
+ "../libs/preprocessor/doc/index.html">Preprocessor
+ Library</a> added. Preprocessor metaprogramming tools
+ including repetition and recursion, from Vesa
+ Karvonen.</li>
+
+ <li><a href=
+ "../libs/utility/iterator_adaptors.htm">Iterator
+ Adaptor Library</a>: Added <a href=
+ "../libs/utility/generator_iterator.htm">generator
+ iterator</a> adaptor, from Jens Maurer.</li>
+
+ <li><a href="../libs/random/index.html">Random Number
+ Library</a>: Removed iterator interface. Fixed
+ overflows in uniform_int&lt;&gt;. Both changes cause
+ random number sequences to differ compared to previous
+ boost releases.</li>
+
+ <li><a href=
+ "../libs/utility/operators.htm">operators.hpp</a>:
+ Improvements from Daryle and Helmut Ziesel</li>
+
+ <li><a href=
+ "../tools/build/index.html">Boost.Build:</a> Continuing
+ improvements, including pre-built <a href=
+ "../tools/build/index.html">Boost.Jam
+ executables</a>.</li>
+
+ <li>Minor fixes to a number of other libraries.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.25.1">
+ <h3>1.25.1 (5 Nov 2001)</h3>
+
+ <ul>
+ <li><a href="../tools/build/index.html">Boost Build
+ System</a>: Continued improvements.</li>
+
+ <li><a href="../libs/config/config.htm">Config
+ Library</a>: Continued refinements.</li>
+
+ <li><a href="../libs/graph/doc/index.html">Graph
+ Library</a>: Final cleanup for upcoming the Boost Graph
+ Library book.</li>
+
+ <li><a href="../libs/thread/doc/index.html">Thread
+ Library</a>: Minor fixes - tests now pass on most Win32
+ and POSIX systems including Linux and Solaris.
+ Semaphore removed as too error prone.</li>
+
+ <li><a href="../libs/function/index.html">Function
+ Library</a>: direct support for member function
+ pointers and documentation updates.</li>
+
+ <li><a href=
+ "http://groups.yahoo.com/group/Boost-Users">Boost-Users</a>
+ mailing list has been created to address topics of
+ interest to users of Boost libraries.</li>
+
+ <li><a href=
+ "http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl">
+ Boost Wiki web</a> added. Provides a place for Boost
+ users to openly discuss and document the use of Boost
+ libraries. It is not officially maintained by Boost
+ developers.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.25.0">
+ <h3>1.25.0 (1 Oct 2001)</h3>
+
+ <ul>
+ <li><a href="../libs/thread/doc/index.html">Thread
+ Library</a> added. Portable C++ multi-programming at
+ last, from William Kempf.</li>
+
+ <li><a href=
+ "../libs/utility/base_from_member.html">Base From
+ Member</a> added to <a href=
+ "../libs/utility/utility.htm">Utility Library</a>.
+ Support for the base from member idiom, from Daryle
+ Walker.</li>
+
+ <li><a href="../libs/bind/bind.html">Bind</a> and
+ <a href="../libs/bind/mem_fn.html">mem_fn</a> added -
+ Generalized binders for function/object/pointers and
+ member functions, from Peter Dimov.</li>
+
+ <li><a href="../libs/array/index.html">Array
+ Library</a>: Minor updates, from Nico Josuttis.</li>
+
+ <li><a href="../libs/config/config.htm">Config
+ Library</a>: major redesign with much improved and
+ automated configuration of Boost libraries for specific
+ compilers, from John Maddock.</li>
+
+ <li><a href="../libs/random/index.html">Random Number
+ Library</a>: Fixed bug when copying normal_distribution
+ and improved the documentation, from Michael Stevens
+ and Jens Maurer.</li>
+
+ <li><a href=
+ "../libs/math/special_functions/index.html">Special
+ functions</a>, <a href=
+ "../libs/math/octonion/index.html">octonions</a>,
+ <a href=
+ "../libs/math/quaternion/index.html">quaternions</a>
+ updated, now useable with many more compilers, plus
+ three new special functions, from Hubert Holin, Eric
+ Ford, and others.</li>
+
+ <li><a href="../libs/tokenizer/index.html">Tokenizer
+ Library</a>: fixes/enhancements to
+ escaped_list_separator based on empty fields and tokens
+ comments from Johan Nillson and Jens Maurer.</li>
+
+ <li>Coming Soon - A mailing list for Boost users!</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.24.0">
+ <h3>1.24.0 (19 Aug 2001)</h3>
+
+ <ul>
+ <li><a href=
+ "../libs/tuple/doc/tuple_users_guide.html">Tuple
+ Library</a> added. Tuples ease definition of functions
+ returning multiple values, and more, from Jaakko
+ J&auml;rvi.</li>
+
+ <li>Minor fixes to some other libraries.</li>
+
+ <li><a href="../tools/build/index.html">Boost Build
+ System</a> added. Preliminary release of an innovative
+ build system for Boost libraries, from Dave Abrahams
+ and others.</li>
+
+ <li><a href="formal_review_schedule.html">Formal Review
+ Schedule</a> added. Shows current, future, and recent
+ past review dates.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.23.0">
+ <h3>1.23.0 (6 Jul 2001)</h3>
+
+ <ul>
+ <li><a href="../libs/any/index.html">Any Library</a>
+ added. Safe, generic container for single values of
+ different value types, from Kevlin Henney.</li>
+
+ <li><a href="../libs/function/index.html">Function
+ Library</a> added. Function object wrappers for
+ deferred calls or callbacks, from Doug Gregor.</li>
+
+ <li><a href="../libs/tokenizer/index.html">Tokenizer
+ Library</a> added. Break a string into a series of
+ tokens, from John Bandela.</li>
+
+ <li><a href=
+ "../libs/math/special_functions/index.html">Special
+ functions</a>, <a href=
+ "../libs/math/octonion/index.html">octonions</a>,
+ <a href=
+ "../libs/math/quaternion/index.html">quaternions</a>
+ added, from Hubert Holin.</li>
+
+ <li><a href="../libs/smart_ptr/smart_ptr.htm">Smart
+ Pointer Library</a>: shared_ptr polymorphic pointers
+ now work on more broken compilers.</li>
+
+ <li>IBM/Aix Compiler status table contributed by Toon
+ Knapen.</li>
+
+ <li>Minor fixes to a number of other libraries.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.22.0">
+ <h3>1.22.0 (25 May 2001)</h3>
+
+ <ul>
+ <li><a href="../libs/crc/index.html">CRC Library</a>
+ added. Compute cyclic redundancy codes from Daryle
+ Walker.</li>
+
+ <li><a href="../libs/graph/doc/index.html">Graph
+ Library</a>: Minor fixes.</li>
+
+ <li><a href=
+ "../libs/integer/integer_traits.html">Integer
+ Traits</a>: added wchar_t specialization, minor
+ portability fixes.</li>
+
+ <li><a href="../libs/regex/index.html">Regex
+ Library</a>: Minor portability fixes.</li>
+
+ <li><a href="../libs/smart_ptr/smart_ptr.htm">Smart
+ Pointer Library</a>: fixed bugs, tightened
+ requirements, added examples.</li>
+
+ <li><a href="../libs/utility/utility.htm">Utility
+ Library</a>: added checked_delete() and
+ checked_array_delete() functions.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.21.2">
+ <h3>1.21.2 (24 Apr 2001)</h3>
+
+ <ul>
+ <li><a href=
+ "../libs/compatibility/index.html">Compatibility
+ Library</a> added: Help for non-conforming standard
+ libraries missing CXX headers from Ralf
+ Grosse-Kunstleve, and help for missing standard library
+ &lt;limits&gt; header from Jens Maurer. (These are
+ unreviewed implementation libraries, treated as
+ maintenance steps only.)</li>
+
+ <li><a href="../libs/random/index.html">Random Number
+ Library</a>: Split into separate headers, updated
+ documentation, added lagged_fibonacci generator.</li>
+
+ <li><a href="../libs/integer/index.html">Integer
+ Library</a>: Minor portability update.</li>
+
+ <li><a href=
+ "../libs/graph/doc/table_of_contents.html">Graph
+ Library</a>: Changed algorithm interfaces to use named
+ parameters technique. Added graph isomorphism
+ algorithm.</li>
+
+ <li>Download refinements - files now available from
+ either FTP or web server.</li>
+
+ <li><a href=
+ "http://sourceforge.net/tracker/?group_id=7586">Tracker</a>
+ Added: View and submit bug, support, and feature
+ requests.</li>
+
+ <li>Minor portability fixes in several other
+ libraries.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.21.1">
+ <h3>1.21.1 (14 Mar 2001)</h3>
+
+ <ul>
+ <li>New download page. The .zip and .tar.gz files now
+ live on the SourceForge ftp site.</li>
+
+ <li><a href="../libs/graph/doc/index.html">Graph
+ Library</a>: Minor docs fixes.</li>
+
+ <li><a href="../libs/python/doc/index.html">Python
+ Library</a>: Minor docs fixes.</li>
+
+ <li><a href="../libs/regex/index.html">Regex
+ Library</a>: Minor portability fixes.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.21.0">
+ <h3>1.21.0 (9 Mar 2001)</h3>
+
+ <ul>
+ <li><a href=
+ "../libs/utility/iterator_adaptors.htm">Iterator
+ Adaptor Library</a> added. Adapt a base type into a
+ standard conforming iterator, and more, from Dave
+ Abrahams, Jeremy Siek, and John Potter.</li>
+
+ <li><a href="../libs/pool/doc/index.html">Pool
+ Library</a> added. Memory pool management from Steve
+ Cleary.</li>
+
+ <li><a href="../libs/test/doc/index.html">Test
+ Library</a> added. Support for program testing and
+ execution from Beman Dawes.</li>
+
+ <li><a href="generic_programming.html">Generic
+ Programming Techniques</a> page added, contributed by
+ Dave Abrahams.</li>
+
+ <li><a href=
+ "../libs/graph/doc/table_of_contents.html">Graph
+ Library</a>: Updated use of iterator adaptors. Changed
+ <code>operator ==</code> for
+ <code>adjacency_list::edge_descriptor</code> to improve
+ semantics for multigraphs. Moved
+ <code>adjacency_iterator_generator</code> from
+ namespace <code>detail</code> to <code>boost</code> and
+ added <a href=
+ "../libs/graph/doc/adjacency_iterator.html">documentation</a>.
+ Renamed <code>dynamic_components()</code> to <a href=
+ "../libs/graph/doc/incremental_components.html"><code>incremental_components()</code></a>,
+ better matching graph literature terminology. Cleaned
+ up interface of <a href=
+ "../libs/graph/doc/connected_components.html"><code>connected_components()</code></a>
+ and created separate <a href=
+ "../libs/graph/doc/strong_components.html"><code>strong_components()</code></a>
+ function using Tarjan's more efficient algorithm. Fixed
+ documentation figures for <a href=
+ "../libs/graph/doc/adjacency_list.html"><code>adjacency_list</code></a>
+ and <a href=
+ "../libs/graph/doc/adjacency_matrix.html"><code>adjacency_matrix</code></a>.
+ Added docs for <a href=
+ "../libs/graph/doc/cuthill_mckee_ordering.html"><code>cuthill_mckee_ordering()</code></a>
+ algorithm.</li>
+
+ <li><a href="../libs/python/doc/index.html">Python
+ Library</a> upgraded. Better compatibility with Python
+ 2.0, NULL pointers and smart-pointers get converted
+ to/from python None, massive documentation
+ review/revision.</li>
+
+ <li><a href="../libs/regex/index.html">Regular
+ Expression Library</a>: Minor fixes for Unicode
+ platforms.</li>
+
+ <li><a href="../libs/type_traits/index.html">Type
+ Traits Library</a> upgraded: Major revision.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.20.2">
+ <h3>1.20.2 (10 Feb 2001)</h3>
+
+ <ul>
+ <li>Array traits: minor portability fix.</li>
+
+ <li><a href=
+ "../libs/graph/doc/table_of_contents.html">Graph
+ Library</a> - Changes to <a href=
+ "../libs/graph/doc/breadth_first_search.html"><code>breadth_first_search()</code></a>
+ re: <a href=
+ "../libs/graph/doc/BFSVisitor.html">BFSVisitor</a>,
+ added max flow algorithms <a href=
+ "../libs/graph/doc/edmunds_karp_max_flow.html"><code>edmunds_karp_max_flow()</code></a>
+ and <a href=
+ "../libs/graph/doc/push_relabel_max_flow.html"><code>push_relabel_max_flow()</code></a>,
+ added <a href=
+ "../libs/graph/doc/adjacency_matrix.html"><code>adjacency_matrix</code></a>
+ graph class, added <a href=
+ "../libs/graph/doc/filtered_graph.html"><code>filtered_graph</code></a>
+ adaptor</li>
+
+ <li><a href="../libs/integer/index.html">Integer
+ Library:</a> minor fixes to integer.hpp and
+ integer_test.cpp</li>
+
+ <li><a href="microsoft_vcpp.html">Portability Hints:
+ Microsoft Visual C++</a> added.</li>
+
+ <li><a href="../libs/random/index.html">Random Number
+ Library</a>: Minor portability fixes</li>
+
+ <li><a href="../libs/rational/index.html">Rational
+ Number Library</a>: documentation updates, efficiency
+ improvements, co-operates with user-defined types,
+ regression tests</li>
+
+ <li><a href="../libs/regex/index.html">Regular
+ Expression Library</a>: minor updates.</li>
+
+ <li><a href="../libs/smart_ptr/index.html">Smart
+ Pointer Library</a>: shared_ptr example added.</li>
+
+ <li><a href="../libs/timer/index.html">Timer
+ Library</a>: changed to an all inline
+ implementation.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.20.1">
+ <h3>1.20.1 (10 Jan 2001)</h3>
+
+ <ul>
+ <li><a href=
+ "../boost/compressed_pair.hpp">compressed_pair.hpp</a>
+ minor update fixes test failures of other libraries
+ under VC++.</li>
+
+ <li><a href=
+ "../libs/graph/doc/table_of_contents.html">Graph
+ Library</a> minor updates.</li>
+
+ <li><a href="../libs/regex/index.html">Regular
+ Expression Library</a> minor updates.</li>
+
+ <li>Minor website fixes including missing files in
+ boost_all.zip.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.20.0">
+ <h3>1.20.0 (6 Jan 2001)</h3>
+
+ <ul>
+ <li><a href="../libs/conversion/index.html">Conversion
+ Library</a> added - <a href=
+ "../libs/conversion/cast.htm">cast</a> and <a href=
+ "../libs/conversion/lexical_cast.htm">lexical_cast</a>
+ headers from Dave Abrahams and Kevlin Henney.</li>
+
+ <li>Web site moved to a larger host after the old ISP
+ collapsed unexpectedly.</li>
+
+ <li>Regression tests now include execution testing. See
+ <a href="../status/compiler_status.html">Compiler
+ Status</a>.</li>
+
+ <li><a href="discussion_policy.htm">Discussion
+ Policy</a> page added.</li>
+
+ <li><a href="../libs/array/index.html">Array
+ Library</a> minor documentation improvements.</li>
+
+ <li><a href=
+ "../libs/graph/doc/table_of_contents.html">Graph
+ Library</a> minor updates.</li>
+
+ <li><a href="../libs/regex/index.html">Regular
+ Expression Library</a> minor updates.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.19.0">
+ <h3>1.19.0 (10 Dec 2000)</h3>
+
+ <ul>
+ <li><a href=
+ "../libs/concept_check/concept_check.htm">Concept Check
+ Library</a> added - tools for generic programming from
+ Jeremy Siek.</li>
+
+ <li><a href="../libs/python/doc/index.html">Python
+ Library</a> added - reflects C++ classes and functions
+ into Python, from Dave Abrahams.</li>
+
+ <li><a href=
+ "../libs/static_assert/static_assert.htm">Static Assert
+ Library</a> added - compile time assertions from John
+ Maddock</li>
+
+ <li><a href=
+ "../libs/property_map/property_map.html">Property Map
+ Concepts</a> added - interfaces which map key objects
+ to value objects from Jeremy Siek.</li>
+
+ <li><a href=
+ "../libs/graph/doc/table_of_contents.html">Graph
+ Library</a> minor updates.</li>
+
+ <li><a href="../libs/regex/index.html">Regular
+ Expression Library</a> minor updates.</li>
+
+ <li><a href="lib_guide.htm">Library Requirements and
+ Guidelines</a> - directory name policy added.</li>
+
+ <li><a href="faq.htm">FAQ</a> updated.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.18.3">
+ <h3>1.18.3 (18 Nov 2000)</h3>
+
+ <ul>
+ <li><a href=
+ "../libs/graph/doc/table_of_contents.html">Graph
+ Library</a> minor fixes and additions.</li>
+
+ <li><a href="../libs/regex/index.html">Regular
+ Expression Library</a> minor fixes.</li>
+
+ <li><a href="../boost/cast.hpp">cast.hpp</a> Borland
+ compiler fixes.</li>
+
+ <li><a href="../boost/cstdint.hpp">cstdint.hpp</a>
+ changed to no longer expose names to the global
+ namespace.</li>
+
+ <li>BeOS5/Intel compiler status contributed by John
+ Maddock.</li>
+
+ <li><a href="../status/compiler_status.html">Compiler
+ Status</a> added two additional test programs.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.18.2">
+ <h3>1.18.2 (3 Nov 2000)</h3>
+
+ <ul>
+ <li><a href="../libs/conversion/cast.htm">Cast
+ Library</a> Fix numeric_cast&lt;&gt; bugs with floating
+ types.</li>
+
+ <li><a href=
+ "../libs/graph/doc/table_of_contents.html">Graph
+ Library</a> minor fixes.</li>
+
+ <li><a href="../libs/regex/index.html">Regular
+ Expression Library</a> minor fixes.</li>
+
+ <li><a href="../libs/config/index.html">Configuration
+ Header</a> more fixes for broken compilers.</li>
+
+ <li>Boost Header Dependencies page added.</li>
+
+ <li>Terminology change: Several headers previously
+ lumped together as a "utility" library are now
+ considered separate libraries. For historical reasons,
+ their non-header files still live in the "utility"
+ sub-directory.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.18.1">
+ <h3>1.18.1 (15 Oct 2000)</h3>
+
+ <ul>
+ <li><a href=
+ "../libs/graph/doc/table_of_contents.html">Graph
+ Library</a>, <a href="../libs/random/index.html">Random
+ Number Library</a>, and <a href=
+ "../libs/regex/index.html">Regular Expression
+ Library</a>: Minor fixes.</li>
+
+ <li><a href="../libs/config/index.html">Configuration
+ Header</a> additions for various compiler foibles.</li>
+
+ <li><a href="borland_cpp.html">Portability Hints:
+ Borland C++ 5.5.1</a> from Jens Maurer added.</li>
+
+ <li><a href="../status/compiler_status.html">Compiler
+ Status</a> updated for latest versions of several
+ compilers.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.18.0">
+ <h3>1.18.0 (28 Sep 2000)</h3>
+
+ <ul>
+ <li>Preliminary release of two important new libraries:
+
+ <ul>
+ <li><a href=
+ "../libs/graph/doc/table_of_contents.html">Graph
+ Library</a> - Generic graph components and
+ algorithms from Jeremy Siek and a University of
+ Notre Dame team.</li>
+
+ <li><a href="../libs/regex/index.html">Regular
+ Expression Library</a> - Text pattern matching in
+ all its glory from John Maddock.</li>
+ </ul>
+ </li>
+
+ <li>Other changes:
+
+ <ul>
+ <li><a href="../libs/array/index.html">Array
+ Library</a> improvements reflecting formal review
+ comments.</li>
+
+ <li><a href=
+ "../boost/functional.hpp">functional.hpp</a>
+ compiler workarounds added.</li>
+
+ <li><code>tie() function template</code> added to
+ utility.hpp for easier handling of
+ std::pair&lt;&gt; return values.</li>
+
+ <li><a href="../libs/integer/index.html">Integer
+ Library</a> improved handling of 64-bit
+ integers.</li>
+
+ <li>Minor web site page updates.</li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.17.0">
+ <h3>1.17.0 (3 Aug 2000)</h3>
+
+ <ul>
+ <li><a href="../libs/array/index.html">Array
+ Library</a> added - An STL compliant container wrapper
+ for arrays of constant size from Nicolai Josuttis.</li>
+
+ <li>array traits header renamed array_traits.hpp (was
+ array.hpp).</li>
+
+ <li><a href="../libs/random/index.html">Random Number
+ Library</a>: more minor changes to support more
+ compilers.</li>
+
+ <li><a href="../libs/smart_ptr/index.html">Smart
+ Pointer Library</a>: performance reducing
+ exception-specifications removed.</li>
+
+ <li>Compiler and test program fixes for call_traits,
+ compressed_pair, and type_traits.</li>
+
+ <li>Updated <a href="../boost/cast.hpp">cast.hpp</a> to
+ clear compiler warning messages.</li>
+
+ <li>Linux <a href=
+ "../status/compiler_status.html">Compiler Status</a>
+ added.</li>
+
+ <li>Boost source code now lives in a publicly
+ accessible Concurrent Versions System (CVS)
+ repository.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.16.1">
+ <h3>1.16.1 (5 Jul 2000)</h3>
+
+ <ul>
+ <li><a href="../libs/integer/index.html">Integer</a>
+ library: fixed <a href=
+ "../boost/cstdint.hpp">cstdint.hpp</a> bug, added
+ <a href=
+ "../libs/integer/cstdint_test.cpp">cstdint_test.cpp</a>,
+ updated <a href=
+ "../libs/integer/cstdint.htm">docs</a>.</li>
+
+ <li><a href="../libs/random/index.html">Random Number
+ Library</a>: minor fixes to <a href=
+ "../boost/random.hpp">random.hpp</a> and <a href=
+ "../libs/random/random_test.cpp">random_test.cpp</a> to
+ support more compilers.</li>
+
+ <li>Updated <a href="../boost/cast.hpp">cast.hpp</a>
+ with more Microsoft compiler workarounds.</li>
+
+ <li>Updated <a href=
+ "../libs/utility/call_traits.htm">call_traits docs</a>,
+ added <a href=
+ "../libs/utility/call_traits_test.cpp">call_traits_test.cpp</a>.</li>
+
+ <li>Cleanup and bug fixes for <a href=
+ "../boost/operators.hpp">operators.hpp</a> and <a href=
+ "../libs/utility/operators_test.cpp">operators_test.cpp</a>.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.16.0">
+ <h3>1.16.0 (28 Jun 2000)</h3>
+
+ <ul>
+ <li>Added <a href=
+ "../libs/functional/index.html">Functional Library</a>
+ - Enhanced function object adaptors from Mark
+ Rodgers.</li>
+
+ <li>Added missing <a href=
+ "../libs/random/index.html">Random Number Library</a>
+ files.</li>
+
+ <li>Updated <a href=
+ "../libs/utility/operators.htm">operators docs</a> and
+ <a href=
+ "../boost/operators.hpp">operators.hpp</a>.</li>
+
+ <li>New <a href=
+ "../boost/iterator.hpp">iterator.hpp</a> header.</li>
+
+ <li>Minor <a href=
+ "../boost/rational.hpp">rational.hpp</a>, <a href=
+ "../libs/rational/rational_example.cpp">rational_example.cpp</a>,
+ and <a href=
+ "../libs/integer/integer_traits_test.cpp">integer_traits_test.cpp</a>
+ changes to support more compilers.</li>
+
+ <li>Revised <a href="../boost/cast.hpp">cast.hpp</a>:
+ removed implicit_cast, plus fixes for broken
+ compilers.</li>
+
+ <li>Minor <a href=
+ "../boost/smart_ptr.hpp">smart_ptr.hpp</a> workaround
+ for some GCC builds.</li>
+
+ <li>Several <a href=
+ "../boost/config.hpp">config.hpp</a> changes for
+ Microsoft, Intel, and other compilers.</li>
+
+ <li>Added <a href=
+ "../libs/config/index.html">Configuration Header</a>
+ page and test program.</li>
+
+ <li>Added Experimental <a href=
+ "../status/compiler_status.html">Compiler Status</a>
+ page showing what library works with which
+ compilers.</li>
+ </ul>
+ </div>
+
+ <div class="history_item" id="v1.15.1">
+ <h3>1.15.1 (21 Jun 2000)</h3>
+
+ <p>Fixes to <a href="../boost/cast.hpp">cast.hpp</a> and
+ <a href="../libs/utility/operators.htm">operators</a>
+ fix. Minor additions to <a href=
+ "../boost/config.hpp">config.hpp</a> for Microsoft
+ compilers. The 1.15.0 operators changes seem to have
+ introduced incompatibilities. We are working on fixing
+ them, and have started to build a regression test to
+ prevent similar future problems.</p>
+ </div>
+
+ <div class="history_item" id="v1.15.0">
+ <h3>1.15.0 (17 Jun 2000)</h3>
+
+ <p><a href="../libs/random/index.html">Random Number
+ Library</a> from Jens Maurer added. Updated utility
+ library <a href=
+ "../libs/utility/operators.htm">operators</a> eliminates
+ code bloat. Minor additions to <a href=
+ "../boost/config.hpp">config.hpp</a> and <a href=
+ "../boost/cast.hpp">cast.hpp</a> for Microsoft
+ compilers.</p>
+ </div>
+
+ <div class="history_item" id="v1.14.3">
+ <h3>1.14.3 (29 May 2000)</h3>
+
+ <p>Minor additions to <a href=
+ "../boost/config.hpp">config.hpp</a> for Borland
+ compilers. Minor fix to <tt>type_traits</tt> example.
+ Minor web site fixes. <a href=
+ "formal_review_process.htm">Library Formal Review
+ Process</a> page added.</p>
+ </div>
+
+ <div class="history_item" id="v1.14.2">
+ <h3>1.14.2 (9 May 2000)</h3>
+
+ <p>No libraries updated. <a href="lib_guide.htm">Library
+ Requirements and Guidelines</a> expanded, <a href=
+ "submission_process.htm">Library Submission Process</a>
+ added.</p>
+ </div>
+
+ <div class="history_item" id="v1.14.1">
+ <h3>1.14.1 (17 Mar 2000)</h3>
+
+ <p>Minor fix to <a href=
+ "../boost/rational.hpp">rational.hpp</a>. Minor
+ documentation changes to the <a href=
+ "../libs/smart_ptr/index.html">Smart Pointer</a> Library
+ and <a href=
+ "../libs/utility/call_traits.htm">call_traits</a>,
+ <a href=
+ "../libs/utility/compressed_pair.htm">compressed_pair</a>,
+ and type_traits. Updated <a href="lib_guide.htm">Library
+ Guidelines</a> and <a href=
+ "../people/people.htm">People</a> page.</p>
+ </div>
+
+ <div class="history_item" id="v1.14.0">
+ <h3>1.14.0 (5 Mar 2000)</h3>
+
+ <p><a href="../libs/integer/index.html">Integer
+ Library</a> status upgraded after removing bin_bun.hpp.
+ The "Experimental" library category has been removed; the
+ boost files/vault now serves the purpose. Minor fix to
+ <a href="../boost/smart_ptr.hpp">smart_ptr.hpp</a> line
+ endings.</p>
+ </div>
+
+ <div class="history_item" id="v1.13.0">
+ <h3>1.13.0 (29 Feb 2000)</h3>
+
+ <p>Adds <a href="../libs/utility/index.html">Utility
+ Library</a> type_traits, <a href=
+ "../libs/utility/call_traits.htm">call_traits</a>, and
+ <a href=
+ "../libs/utility/compressed_pair.htm">compressed_pair</a>
+ headers from John Maddock, Steve Cleary and Howard
+ Hinnant.</p>
+ </div>
+
+ <div class="history_item" id="v1.12.0">
+ <h3>1.12.0 (23 Feb 2000)</h3>
+
+ <p>Adds a <a href=
+ "../libs/integer/integer_traits.html">integer_traits</a>
+ header from Jens Maurer to the <a href=
+ "../libs/integer/index.html">Integer Library</a>.</p>
+ </div>
+
+ <div class="history_item" id="v1.11.2">
+ <h3>1.11.2 (21 Feb 2000)</h3>
+
+ <p><a href="../libs/smart_ptr/smarttests.htm">Smart
+ pointer timings</a> added (thanks to Gavin Collings).
+ Minor fix to <tt>min_rand</tt> sample program. Minor
+ fixes to <a href=
+ "../boost/config.hpp">config.hpp</a>.</p>
+ </div>
+ <!-- For new entries, add a 'div' of class 'history_item' and id of the appropriate version. -->
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <p>...And the remainder are lost to the mists of time (for now,
+ anyway)....</p>
+ </div>
+
+ <div id="footer">
+ <p id="revised">Revised $Date$</p>
+
+ <p id="copyright">Copyright Daryle Walker 2004. Copyright Rene
+ Rivera 2005.</p>
+
+ <p id="license">Distributed under the Boost Software License,
+ Version 1.0. (See accompanying file <a href=
+ "../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or a copy at &lt;<a href=
+ "http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>&gt;.)</p>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/more/w3c_valid_css.png b/more/w3c_valid_css.png
new file mode 100644
index 0000000000..9b2f596e01
--- /dev/null
+++ b/more/w3c_valid_css.png
Binary files differ
diff --git a/more/w3c_valid_xhtml10.png b/more/w3c_valid_xhtml10.png
new file mode 100644
index 0000000000..2275ee6ea1
--- /dev/null
+++ b/more/w3c_valid_xhtml10.png
Binary files differ
diff --git a/more/whos_using/Jamfile.v2 b/more/whos_using/Jamfile.v2
new file mode 100644
index 0000000000..de592ead08
--- /dev/null
+++ b/more/whos_using/Jamfile.v2
@@ -0,0 +1,29 @@
+
+# Copyright John Maddock 2005. Use, modification, and distribution are
+# 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)
+
+using quickbook ;
+
+xml using : using.qbk ;
+boostbook standalone
+ :
+ using
+ :
+ <xsl:param>nav.layout=none
+ #<xsl:param>navig.graphics=0
+ ;
+
+install html : ../../doc/html/boostbook.css ;
+install ../ : ../../boost.png ;
+
+if ! $(gWARNING_DONE)
+{
+ ECHO ;
+ ECHO This Jamfile is for testing the \"Who's Using Boost\" documentation build only ;
+ ECHO If you want to update your distributed documentation then please build ;
+ ECHO from the boost-path/doc directory ;
+ ECHO ;
+ gWARNING_DONE = "true" ;
+}
+
diff --git a/more/whos_using/using.qbk b/more/whos_using/using.qbk
new file mode 100644
index 0000000000..95a71c3c69
--- /dev/null
+++ b/more/whos_using/using.qbk
@@ -0,0 +1,878 @@
+[article Who's Using Boost?
+ [copyright 2005 Various Authors]
+ [license
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ <ulink url="http://www.boost.org/LICENSE_1_0.txt">
+ http://www.boost.org/LICENSE_1_0.txt
+ </ulink>)
+ ]
+ [last-revision $Date$]
+]
+
+[section:intro]
+
+Open source isn't just for nerds and researchers. Real world programming challenges,
+irrespective of whether they are open or closed source, can benefit enormously from
+the thought and experience that has gone into the Boost software libraries. Put simply,
+for any given problem for which Boost provides a solution, Boost will strive to provide
+the best solution possible. It's up to you to decide whether we've achieved that, but
+as these pages will testify, many other developers have found our solutions to be the
+best for them.
+
+['Disclaimer:] Boost's developers try to ensure that the
+information on these pages is correct, but from time to time inadvertent
+mistakes are bound to occur:
+if you would like an entry in these pages to be removed or corrected please contact
+the [@mailto:boost-owner@lists.boost.org Boost Moderators].
+
+[endsect]
+
+[section:shrink Shrink Wrapped Boost]
+
+Boost has found it's way into many products that are available "off the shelf",
+including consumer applications from Adobe, through to business
+middleware from SAP.
+
+[blurb [*Adobe Photoshop CS2]\n\n
+[@http://www.adobe.com/products/photoshop/main.html Adobe Photoshop CS2]
+uses the
+[@http://opensource.adobe.com/ Adobe Software Libraries], which in
+turn depend upon large parts of Boost. The [@http://opensource.adobe.com/
+Adobe Software Libraries] are being rolled
+out across the Adobe product line to provide cross platform user interface logic.
+]
+
+[blurb [*Adobe Indesign]\n\n
+[@http://www.adobe.com/products/indesign/main.html Adobe Indesign] offers
+best of breed page design:
+Indesign and it's asociated SDK depend upon Boost
+[@../../libs/regex/index.html Regex],
+[@../../libs/functional/index.html Functional] and others.
+]
+
+[blurb [*SAP NetWeaver]\n\n
+[@http://www.sap.com/solutions/netweaver/index.epx SAP NetWeaver]
+is the technical foundation of mySAP Business Suite solutions,
+SAP xApps composite applications, partner solutions, and customer
+custom-built applications. [@../../libs/regex/index.html The Boost Regex library]
+provides the regular expression
+implementation for SAP's
+[@https://www.sdn.sap.com/sdn/developerareas/abap.sdn?node=linkDnode6-3 ABAP language].]
+
+[blurb [*Real Networks, Rhapsody]\n\n
+The [@http://www.real.com/ Rhapsody Music Service] allows its subscribers to legally
+download/transfer/burn over a million songs. The Rhapsody client
+software was built with many Boost libraries:\n\n
+['"[@../../libs/format/index.html Format]: Boost.Format is top notch. Using it is a bliss.\n
+[@../../libs/functional/index.html Functional],
+[@../../libs/function/index.html Function],
+and [@../../libs/bind/index.html Bind]: These three libraries,
+along with smart pointer are the most used in our application. I could not imagine
+not having them handy.\n
+[@../../libs/smart_ptr/index.html Smart Pointer]: Hands down, the most useful, and used library of the lot!\n
+[@../../libs/date_time/index.html Date Time]: Simple to use, effective, does the job. I love the
+flexible input string parsing facilities, and the
+human readable ISO output.\n
+[@../../libs/iterator/index.html Iterators]: Wow. Moving legacy iterating interfaces, or
+interfaces that should of been properly designed
+as iterators to STL compliant iterators was easy
+and painless. The gains in functionality to our
+code made by this library are invaluable.\n
+[@../../libs/regex/index.html Regex]: When you need it, it works magic.\n
+[@../../libs/thread/index.html Thread]: Used to implement the monitor pattern in key areas.\n
+[@../../libs/preprocessor/index.html Preprocessor]: Used to implement repetitive unit-test
+code generation. The codebase benefited
+greatly from the clarity boost.preprocessor
+brought."]
+]
+
+[blurb [*McAfee, Managed VirusScan 3]\n\n
+[@http://www.mcafeesecurity.com/us/products/mcafee/smb/managed_services/managed_vs_smb.htm McAfee Managed VirusScan],
+is an always on, automatic virus protection for desktops
+and servers.\n\n More details of the Boost libraries used can be found
+[@http://betavscan.mcafeeasap.com/beta/docs/readme/Readme.html here].]
+
+
+[blurb [*DataSolid GmbH Germany, CADdy++ Mechanical Design (c)]\n\n
+[@http://www.DataSolid.com CADdy++ Mechanical Design professional (c)]
+is a fully parametric 3D CAD
+application with unbroken link between 3D
+models and 2D drawings. CADdy++ uses the Boost libraries:
+[@../../libs/any/index.html Any],
+[@../../libs/tokenizer/index.html Tokenizer],
+[@../../libs/signals/index.html Signals],
+[@../../libs/property_map/index.html Property Map],
+[@../../libs/array/index.html Array],
+[@../../libs/bind/index.html Bind],
+[@../../libs/utility/operators.htm Operators],
+[@../../libs/tuple/index.html Tuple],
+[@../../libs/random/index.html Random].\n\n
+['"Many thanks to all the boost developers for their great work and effort
+spending into boost."]]
+
+[blurb [*Dimesion 5, Miner3D]\n\n
+ Data visualization technology enabling advanced data analysis,
+ visualization, sonification and speech applications for business and science.\n
+ The [@http://www.miner3D.com Miner3D] application provides means for interactive visual analysis of
+ arbitrary tabular data from various data sources. It has a powerful OpenGL-based
+ visualization engine and an intuitive GUI. This combination helps a human eye
+ guide the application of statistical tools and spot the patterns that
+ might otherwise remain hidden.
+['"We are using following boost libraries:
+[@../../libs/date_time/index.html Date Time],
+[@../../libs/variant/index.html Variant],
+[@../../libs/regex/index.html Regex],
+[@../../libs/format/index.html Format],
+[@../../libs/algorithm/string/index.html String Algoritms],
+[@../../libs/smart_ptr/index.html Smart Pointers],
+[@../../libs/mpl/index.html MPL],
+[@../../libs/type_traits/index.html Type Traits],
+[@../../libs/utility/operators.htm Operators],
+[@../../libs/dynamic_bitset/index.html Dynamic Bitset],
+[@../../libs/utility/enable_if.html Enable If],
+[@../../libs/timer/index.html Timer]."]
+]
+
+[blurb [*Synergy, mailIntercept]\n\n
+[@http://www.mintercept.com mailIntercept] from [@http://www.synergy.com.br Synergy]
+is a mail interceptor service for Exchange Server 2000/2003.\n
+mailIntercept intercepts and interprets the e-mails from a
+LAN using Exchange Server and converts the microsoft proprietary
+format to MIME and passes them to an SMTP filter and returns the
+emails to the Exchange Server as modified by the SMTP filter,
+converted back to the microsoft proprietary format and with its
+features preserved.\n\n
+mailIntercept was built using the following Boost libraries:
+[@../../libs/mpl/index.html MPL],
+[@../../libs/algorithm/string/index.html String Algorithm],
+[@../../libs/bind/index.html Bind],
+[@../../libs/spirit/phoenix/index.html Phoenix],
+[@../../libs/spirit/index.html Spirit],
+[@../../libs/ptr_container/index.html Pointer Container],
+[@../../libs/serialization/index.html Serialization],
+[@../../libs/regex/index.html Regex],
+[@../../libs/iterator/index.html Iterators],
+[@../../libs/lambda/index.html Lambda],
+[@../../libs/conversion/lexical_cast.htm Lexical Cast],
+[@../../libs/utility/operators.htm Operators],
+[@../../libs/smart_ptr/index.html Smart Pointer],
+[@../../doc/html/tribool.html Tribool] and
+[@../../libs/type_traits/index.html Type Traits]
+]
+
+[blurb [*Integrated Research P/L, PROGNOSIS IP Telephony Manager and IP Telephony Express]\n\n
+ [@http://www.ir.com PROGNOSIS] is a suite of IP telephony management software products,
+ specifically designed to address the key challenges of IP telephony
+ life cycle management, including network-readiness, assessment,
+ pre-deployment assurance testing, and ongoing Day-2 management of
+ Cisco CallManager, Cisco Unity, and Cisco AVVID infrastructure.
+['"The Boost libraries used were:
+[@../../libs/any/index.html Any],
+ [@../../libs/bind/index.html Bind],
+ [@../../libs/function/index.html Function],
+ [@../../libs/conversion/lexical_cast.htm Lexical Cast],
+ [@../../libs/mpl/index.html MPL],
+ [@../../libs/conversion/cast.htm#numeric_cast Numeric Cast],
+ [@../../libs/bind/ref.html Ref],
+ [@../../libs/regex/index.html Regex],
+ [@../../libs/smart_ptr/index.html Smart Pointer],
+ [@../../libs/thread/index.html Thread],
+ [@../../libs/type_traits/index.html Type Traits]."]
+]
+
+[blurb [*Kinook Software, Visual Build Professional]\n\n
+[@http://www.visualbuild.com/ Visual Build Professional]
+is a tool that enables developers,
+software process engineers, and build specialists to create an
+automated, repeatable process for building their software. Visual Build
+provides built-in support for Microsoft Visual Studio .NET and 2005,
+Visual Basic, Visual C++, Visual J++, SourceSafe, eMbedded Tools,
+Borland Delphi, JBuilder, C++Builder, and more.\n\n
+The following Boost Libraries were used:
+[@../../libs/any/index.html Any],
+[@../../libs/bind/mem_fn.html Mem_fn],
+[@../../libs/regex/index.html Regex],
+[@../../libs/smart_ptr/index.html Smart Pointer],
+[@../../libs/static_assert/index.html Static Assert]
+]
+
+[blurb [*Kinook Software, Ultra Recall]\n\n
+[@http://www.ultrarecall.com/ Ultra Recall]
+is a personal information management (PIM) /
+knowledge management (KM) application for Microsoft Windows. It helps
+you capture, organize, and recall all of your electronic information
+across all the applications that you use.\n\n
+Used the following Boost libraries:
+[@../../libs/format/index.html Format],
+[@../../libs/smart_ptr/index.html Shared Pointer],
+[@../../libs/static_assert/index.html Static Assert]
+]
+
+[blurb [*Applied Dynamics International, ADvantageDE]\n\n
+[@http://www.adi.com Applied Dynamics International (ADI)]
+provides state-of-the art software and
+hardware tools to the automotive, aerospace, and defense industries to
+design and test embedded control systems. ADI's tools provide advanced capabilities in real-time hardware-in-the-loop
+(HIL) simulation, rapid prototyping, and embedded controller software
+development. We have been a leading supplier of HIL simulation solutions
+since 1957.\n\n
+ADvantageDE is the development environment. It allows simulation models to
+be easily connected to one another or to hardware components for real-time
+simulation. ADvantageDE projects can be created for execution on your PC,
+Unix workstation or on our real-time platforms.\n\n
+ADvantageVI is the point of control and the graphical user interface for
+all of the run-time activities. The run-time architecture includes extensive
+features for interacting with, visualizing, and automating simulation and
+test activities.\n\n
+DasCom provides access to real-time simulation data from most Windows
+applications, such as Micrsoft Excel, National Instruments Labview, etc.\n\n
+The following Boost Libraries are used:
+[@../../libs/array/index.html Array],
+[@../../libs/assign/index.html Assign],
+[@../../libs/bind/index.html Bind],
+[@../../libs/crc/index.html CRC],
+[@../../libs/dynamic_bitset/index.html Dynamic Bitset],
+[@../../libs/utility/enable_if.html Enable If],
+[@../../libs/filesystem/index.html File System],
+[@../../libs/function/index.html Function],
+[@../../libs/functional/index.html Functional],
+[@../../libs/iterator/index.html Iterators],
+[@../../libs/lambda/index.html Lambda],
+[@../../libs/optional/index.html Optional],
+[@../../libs/preprocessor/index.html Preprocessor],
+[@../../libs/bind/ref.html Ref],
+[@../../libs/regex/index.html Regex],
+[@../../libs/serialization/index.html Serialization],
+[@../../libs/signals/index.html Signals],
+[@../../libs/smart_ptr/index.html Smart Pointer],
+[@../../libs/static_assert/index.html Static Assert],
+[@../../libs/spirit/index.html Spirit],
+[@../../libs/algorithm/string/index.html String Algorithm],
+[@../../libs/tokenizer/index.html Tokenizer]
+[@../../libs/tuple/index.html Tuple],
+[@../../libs/utility/index.html Uutility(Non-Copyable)] and
+[@../../libs/variant/index.html Variant]
+]
+
+[blurb [*PeerGuardian]\n\n
+[@http://methlabs.org/projects/peerguardian-2-windows/ PeerGuardian 2]
+is Methlabs premier IP blocker for Windows.
+With features like support for multiple lists, a list editor,
+automatic updates, and blocking all of IPv4 (TCP, UDP, ICMP, etc),
+PeerGuardian 2 is the safest and easiest way to protect your privacy on P2P.\n\n
+Boost Libraries used include
+[@../../libs/crc/index.html CRC],
+[@../../libs/bind/index.html Bind],
+[@../../libs/integer/index.html Integer],
+[@../../libs/function/index.html Function],
+[@../../libs/functional/index.html Functional],
+[@../../libs/smart_ptr/index.html Smart Pointers],
+[@../../libs/conversion/lexical_cast.htm Lexical cast],
+[@../../doc/html/string_algo.html String Algorithms],
+[@../../libs/random/index.html Random],
+[@../../libs/format/index.html Format],
+[@../../libs/utility/index.html Utility].]
+
+[blurb [*DECOMSYS::DESIGNER PRO]\n\n
+[@http://www.decomsys.com/ DECOMSYS::DESIGNER PRO] enables the user to design
+a highly complex [@http://www.flexray.com/ FlexRay] communication
+system, which is going to be the fundament for tomorrow's
+automotive electronics.\n\n
+['"Boost Libraries used:
+[@../../libs/bind/index.html Bind],
+[@../../libs/dynamic_bitset/index.html Dynamic Bitset],
+[@../../libs/format/index.html Format],
+[@../../libs/function/index.html Function],
+[@../../libs/iterator/index.html Iterators],
+[@../../libs/mpl/index.html MPL],
+[@../../libs/multi_index/index.html Multi Index],
+[@../../libs/utility/utility.htm#Class_noncopyable Non-Copyable],
+[@../../libs/utility/operators.htm Operators],
+[@../../libs/preprocessor/index.html Preprocessor (nice for generating data for unit tests)],
+[@../../libs/program_options/index.html Program Options (for the unit test programs)],
+[@../../libs/bind/ref.html Ref],
+[@../../libs/regex/index.html Regex],
+[@../../libs/serialization/index.html Serialization],
+[@../../libs/signals/index.html Signals],
+[@../../libs/smart_ptr/index.html SmartPointer],
+[@../../libs/spirit/index.html Spirit],
+[@../../libs/timer/index.html Timer] and
+[@../../libs/variant/index.html Variant]\n\n
+We are also planning to use Andreas Huber's FSM library and Iostreams
+(together with Serialize) once
+they are officially released."]
+]
+
+[blurb [*Wise Riddles Software, Audiomatic]\n\n
+[@http://www.WiseRiddles.com/Audiomatic Audiomatic]
+is a tool used to make system-wide macros and then launch those
+macros with a voice command or keyboard shortcut at any time... from any
+Windows application. Audiomatic enables you to launch programs, files, or
+websites; simulate keystrokes; play sounds; speak text; or even run scripts.
+You can do it all with a voice command or keyboard shortcut!
+['"Boost libraries Used:
+[@../../libs/bind/index.html Bind],
+[@../../libs/function/index.html Function],
+[@../../libs/smart_ptr/index.html Smart Pointers],
+[@../../libs/date_time/index.html Date Time],
+[@../../libs/algorithm/string/index.html String Algorithm],
+[@../../libs/utility/index.html Utility (Non-Copyable, Ref)],
+[@../../libs/regex/index.html Regex],
+[@../../libs/thread/index.html Thread],
+[@../../libs/mpl/index.html MPL] and
+[@../../libs/type_traits/index.html Type Traits]."]
+]
+
+[blurb [*Megahard Software Technologies Inc., Rule in Hell]\n\n
+[@http://www.ruleinhell.com Rule in Hell] is a
+Massively Multiplayer Online Role Playing Game (still in beta).\n\n
+The Boost libraries used were:
+[@../../libs/bind/index.html Bind],
+[@../../libs/function/index.html Function],
+[@../../libs/any/index.html Any],
+[@../../libs/tuple/index.html Tuples],
+[@../../libs/bind/ref.html Ref],
+[@../../libs/smart_ptr/index.html Shared Pointer],
+[@../../libs/type_traits/index.html Type Traits] and
+[@../../libs/utility/utility.htm#Class_noncopyable Non-Copyable].\n\n
+['"By far the combination of Bind, Function, Shared Pointer and Ref is what we use
+most heavily".]
+]
+
+[blurb [*Dr. Detlef Meyer-Eltz, TextTransformer]\n\n
+The [@http://www.texttransformer.com TextTransformer]
+is a Windows IDE for the generation of top down
+parsers with included c++ interpreter code for semantic actions. Both
+can be executed or debugged immediately on single source files or on
+groups of files. Generated parsers can be exported as c++ code
+including as well the interpretable code as any arbitrary other code.
+Tokens are defined as POSIX regular expressions and rules are defined
+in a similar syntax quasi as regular expressions of regular
+expressions. The construction of parse trees and their traversal is
+supported.\n\n
+['"The TextTransformer is essentially based on the Boost Regex library,
+by which the tokens for a parser can be defined. The Lexical Cast and
+the Format library are used for the integrated c++ interpreter. For
+the future also an interpreter version of the String Algorithm library is
+planned. The Program Options library will be used too to improve the
+command line version of the texttransformer."]
+]
+
+
+[blurb [*Redshift Software, The Thot Tool]\n\n
+[@http://thot-tool.com/ The Thot Tool]
+is an asset management tool for a group of game developers.
+Thot combines assets, both binary and text, with workflow automation
+into a unified whole, and was built using Boost
+[@../../libs/thread/index.html Threads],
+[@../../libs/smart_ptr/index.html Smart Pointer],
+[@../../libs/regex/index.html Regex],
+[@../../libs/mpl/index.html MPL],
+and [@../../libs/type_traits/index.html Type Traits].
+]
+
+[endsect]
+
+[section:open Open Source Boost]
+
+Boost is used in a variety of Open Source Projects, both applications and libraries.
+Indeed many Open Source libraries developed around Boost have in the past been judged
+of high enough quality to be absorbed
+into the main Boost source tree, a process that will no doubt continue into the future.
+Others are in highly specialized niche markets, ranging from probability theory to
+astronomy, via mass spectroscopy: whatever your field of interest you'll find
+something of value in Boost.
+
+[blurb [*Adobe Software Libraries]\n\n
+The [@http://opensource.adobe.com/ Adobe Software Libraries] provide
+components for modeling the human interface appearance and behavior
+in a software application. The Adobe Software Libraries depend on many
+parts of Boost including [@../../libs/any/index.html Any],
+[@../../libs/bind/index.html Bind], [@../../libs/function/index.html Function],
+[@../../libs/mpl/index.html MPL], [@../../libs/utility/operators.htm Operators],
+[@../../libs/range/index.html Range], [@../../libs/static_assert/index.html Static Assertions],
+[@../../libs/thread/index.html Threads], and [@../../libs/type_traits/index.html Type Traits].\n\n
+Currently Boost and the Adobe Software Libraries are in use in around 30 Adobe products.
+]
+
+[blurb [*LyX Document Editor]\n\n
+[@http://www.lyx.org/ The LyX Document Editor]
+is an advanced open source document processor that encourages an
+approach to writing based on the structure of your documents,
+not their appearance. LyX produces high quality, professional output,
+using LaTeX, an industrial strength typesetting engine.\n\n
+LyX uses many parts of Boost, including [@../../libs/array/index.html Array],
+[@../../libs/bind/index.html Bind], [@../../libs/regex/index.html Regex],
+[@../../libs/type_traits/index.html Type Traits],
+[@../../libs/function/index.html Function],
+and [@../../libs/signals/index.html Signals].]
+
+[blurb [*CGAL]\n\n
+[@http://www.cgal.org/ CGAL] is the Computational Geometry Algorithms Library,
+ an open source C++ library providing generic components
+ such as triangulations, convex hulls algorithms, boolean
+ operations of polygons and many other things.
+ ['"We currently use the following Boost libraries :
+ [@../../libs/utility/operators.htm Operators],
+ [@../../libs/iterator/index.html Iterators],
+ [@../../libs/tuple/index.html Tuples],
+ [@../../libs/concept_check/index.html Concept Check],
+ [@../../libs/mpl/index.html MPL],
+ [@../../libs/bind/index.html Bind],
+ [@../../libs/optional/index.html Optional] and
+ [@../../libs/smart_ptr/index.html Smart Pointers]."]
+]
+
+
+[blurb [*ALPS]\n\n
+[@http://alps.comp-phys.org/ ALPS] is an open source project to develop codes
+for the accurate simulation of quantum lattice models, such as quantum magnets,
+electronic systems and Bose-Einstein condensates. The main Boost libraries
+used are:
+[@../../libs/graph/index.html Graph],
+[@../../libs/random/index.html Random],
+[@../../libs/multi_array/index.html Multi Array],
+[@../../libs/program_options/index.html Program Options],
+[@../../libs/conversion/lexical_cast.htm Lexical Cast],
+[@../../libs/serialization/index.html Serialization],
+[@../../libs/regex/index.html Regex],
+[@../../libs/tuple/index.html Tuple],
+[@../../libs/filesystem/index.html Filesystem],
+[@../../libs/smart_ptr/index.html Smart Pointer],
+[@../../libs/bind/index.html Bind],
+[@../../libs/functional/index.html Functional] and
+[@../../libs/type_traits/index.html Type Traits]
+]
+
+[blurb [*SmartWin++]\n\n
+[@http://smartwin.sourceforge.net/ SmartWin++]
+is a 100% free GUI library for developing Windows applications,
+it's free both as in "free beer" and as in "free speech", you can freely use
+SmartWin++ for commercial applications and for Open Source applications!
+]
+
+[blurb [*Open VRML]\n\n
+[@http://openvrml.org/ Open VRML] is a free cross-platform runtime
+for VRML.
+The basic OpenVRML distribution includes libraries you can use to add
+VRML support to an application, and Lookat, a simple stand-alone VRML browser.
+]
+
+[blurb [*Bayes++]\n\n
+[@http://bayesclasses.sourceforge.net/Bayes++.html Bayes++] is an open source
+library that represents and implements a wide variety of numerical algorithms
+for Bayesian Filtering of discrete systems from the
+[@http://www.acfr.usyd.edu.au/ Australian Centre for Field Robotics].
+Bayes++ makes particularly heavy use of [@../../libs/numeric/ublas/index.html the Boost Ublas library]
+for matrix and numeric computations.
+]
+
+[blurb [*The C++/Tk Library]\n\n
+[@http://cpptk.sourceforge.net The C++/Tk Library] is an open source
+C++ interface to the Tk GUI Library.
+]
+
+[blurb [*GluCat]\n\n
+[@http://glucat.sourceforge.net/ GluCat] is a library of template classes
+which model the universal Clifford algebras over the real or complex fields,
+with arbitrary dimension and arbitrary signature.
+]
+
+[blurb [*OpenMS]\n\n
+[@http://open-ms.sourceforge.net/main.html OpenMS] is an open source C++ library
+for LC/MS data management, reduction, evaluation, visualization, storage and
+sophisticated statistical analyses. It can be used to develop mass
+spectrometry related applications.
+]
+
+[blurb [*libpdf++]\n\n
+[@http://libpdfxx.sourceforge.net/doc/index.html libpdf++] is an object-oriented
+library for generating PDF (portable document format) files. It is designed
+in a way that the objects in the document are mapped directly to classes
+in the library.
+]
+
+[blurb [*Regina]\n\n
+[@http://regina.sourceforge.net/ Regina] is a suite of mathematical software
+for 3-manifold topologists. It focuses upon the study of 3-manifold
+triangulations and includes support for normal surfaces and angle structures.
+]
+
+[blurb [*MetaFS]\n\n
+[@http://metafs.sourceforge.net/ MetaFS] is a daemon for Linux
+(and Linux only) that allows you to access information about your
+files (such as MP3 tags or JPEG's EXIF tags) easily and consistently
+using extended attributes. It also allows you to perform fast searches
+using this information. MetaFS is extensible, so anyone can write plug-ins
+to access new types of metadata.
+]
+
+[blurb [*The ASN.1 Tool]\n\n
+Abstract Syntax Notation One (ASN.1) is a
+formal language for abstractly describing messages to be exchanged among an
+extensive range of applications involving the Internet, intelligent network,
+cellular phones, ground-to-air communications, electronic commerce, secure
+electronic services, interactive television, intelligent transportation
+systems, Voice Over IP and others. \n\n
+[@http://iiiasn1.sourceforge.net/main.html The ASN.1 Tool] includes two parts :
+an ASN.1 compiler "asnparser" which compiles the Abstract Syntax to c++ files,
+and a runtime library which is used to link with the c++ files generated by
+asnparser. Based on the works of Open H.323 projects, it is developed for
+the needs of H.450 series protocol.
+]
+
+[blurb [*DGD]\n\n
+[@http://dgd.sourceforge.net/dgd_home.html DGD] (Depression Glass Debug)
+is simple, easy to use C++ ostream extension
+created with a goal to produce nice, readable and easy to understand trace logs]
+
+[blurb [*FEAR]\n\n
+[@http://fear.sourceforge.net/ FEAR] is a language independent
+open-source project providing portable support for the creation of
+genuine Artificial Intelligence within realistic simulated worlds.]
+
+[blurb [*XEngine]\n\n
+[@http://xengine.sourceforge.net/features.php XEngine] is a platform- and
+rendering-API-independent 3D engine for real-time visualization with
+support for programmable graphics pipeline architectures and is implemented in C++.]
+
+[blurb [*Spheral++]\n\n
+[@http://spheral.sourceforge.net/ Spheral++] is a numerical tool
+for simulating the evolution of a set of fluid or solid materials subject to
+hydrodynamic, gravitational, and radiative effects.
+Spherical++ uses [@../../libs/python/doc/index.html the Boost Python library].]
+
+[blurb [*C++ XML Objects]\n\n
+[@http://cppxmlobj.sourceforge.net/ C++ XML Objects] is a framework for persisting
+hierarchies of C++ objects to and from XML.]
+
+[blurb [*HippoDraw]\n\n
+[@http://www.slac.stanford.edu/grp/ek/hippodraw/index.html HippoDraw] provides a
+highly interactive data analysis environment.
+HippoDraw uses [@../../libs/python/doc/index.html the Boost Python library].]
+
+[blurb [*Orocos]\n\n
+[@http://people.mech.kuleuven.ac.be/~psoetens/orocos/doc/orocos-control-manual.html
+The Orocos Robot Control Software Application Framework].]
+
+[blurb [*ECell]\n\n
+The [@http://www.e-cell.org/ E-Cell Project] is an international research
+project aiming at developing necessary theoretical supports, technologies
+and software platforms to allow precise whole cell simulation.]
+
+[blurb [*VCS Made Easy]\n\n
+[@http://vcsme.sourceforge.net/ VCS Made Easy],
+or vcsme for short, is an utility whose main
+purpose is to simplify the maintenance of file trees managed by a version
+control system, such as the well known CVS or Subversion. Simply put,
+it automates the process of bringing all these directories to an up-to-date
+status with a single and simple command.\n\n
+['"The following Boost libraries were used:
+[@../../libs/format/index.html Format],
+[@../../libs/smart_ptr/index.html Smart Pointers],
+[@../../libs/utility/index.html Utility (noncopyable)] and
+[@../../libs/filesystem/index.html Filesystem]."]
+]
+
+[blurb [*Monotone]\n\n
+[@http://www.venge.net/monotone/ Monotone]
+is a free distributed version control system. It provides
+ a simple, single-file transactional version store, with fully disconnected
+ operation and an efficient peer-to-peer synchronization protocol. It
+ understands history-sensitive merging, lightweight branches, integrated
+ code review and 3rd party testing. It uses cryptographic version naming
+ and client-side RSA certificates. It has good internationalization support,
+ has no external dependencies, runs on linux, solaris, OSX, windows, and
+ other unixes, and is licensed under the GNU GPL.\n\n
+['"The followind Boost libraries were used:
+[@../../libs/date_time/index.html Date Time],
+[@../../libs/filesystem/index.html Filesystem],
+[@../../libs/conversion/index.html Conversion],
+[@../../libs/optional/index.html Optional],
+[@../../libs/random/index.html Random],
+[@../../libs/regex/index.html Regex],
+[@../../libs/smart_ptr/index.html Smart Pointers],
+[@../../libs/static_assert/index.html Static Assertions],
+[@../../libs/tokenizer/index.html Tokenizer],
+[@../../libs/tuple/index.html Tuple] and
+[@../../libs/test/index.html Test]."]
+]
+
+[blurb [*Hydranode Engine]\n\n
+[@http://hydranode.com/ Hydranode Engine]
+is a plugin-driven P2P client engine that relies
+heavily on Boost libraries. Hydranode codebase is licenced under GNU
+GPL, and is developed mainly by Alo Sarv. Currently in Beta phase,
+Hydranode runs on wide range of platforms, including Windows, Linux,
+BSD, Mac OS, Solaris etc.\n\n
+['"Hydranode Engine and plugins rely heavily on the following Boost
+libraries: Bind, Function, Lambda, MultiIndex, Signals, Threads,
+Smart Pointer, Format, Lexical Cast. Other Boost libraries being used
+include FileSystem, String Algorithm, Date Time, Program Options, Spirit,
+Random, Tokenizer, Type Traits, Tribool, Tuple and Any. Once Boost 1.33
+is released, I'm also looking forward to using the Boost Iostreams library
+in Hydranode.\n\n
+All complex data structures in Hydranode are implemented using
+Multi Index containers, which significantly reduced development time
+and kept code clean. Format is being used for all text formatting.
+Having Threads and FileSystem libraries available made cross-platform
+development lot easier in those areas."]
+]
+
+[blurb [*Hugin]\n\n
+With [@http://hugin.sourceforge.net/ hugin] you can assemble a mosiac of
+photographs into a complete
+immersive panorama, stitch any series of overlapping pictures and much more.]
+
+[blurb [*Enblend]\n\n
+[@http://enblend.sourceforge.net/ Enblend] is a tool for compositing images.
+Given a set of images that overlap
+in some irregular way, Enblend overlays them in such a way that the seam
+between the images is invisible, or at least very difficult to see.]
+
+[blurb [*GNU Source-highlight]\n\n
+[@http://www.gnu.org/software/src-highlite/source-highlight.html GNU Source-highlight],
+given a source file, produces a document with
+syntax highlighting. The colors and the styles can be specified
+(bold, italics, underline) by means of a configuration file, and some
+other options can be specified at the command line. The output format
+can be HTML, XHTML and ANSI color escape sequences. GNU Source Highlight
+is build around [@../../libs/regex/index.html the Boost Regex library]]
+
+[blurb [*Luabind]\n\n
+[@http://luabind.sourceforge.net/ Luabind] is a library that helps you create
+bindings between C++ and lua. It has the ability to expose functions and classes,
+written in C++, to lua. It will also supply the functionality to define classes
+in lua and let them derive from other lua classes or C++ classes.
+Lua classes can override virtual functions from their C++ baseclasses.
+It is written towards lua 5.0, and does not work with lua 4.]
+
+[blurb [*C++/Tcl]\n\n
+[@http://cpptcl.sourceforge.net/ C++/Tcl] is a library that allows the easy
+integration of C++ and Tcl.]
+
+[blurb [*QuantLib]\n\n
+The [@http://quantlib.org/ QuantLib] project provides a comprehensive software
+framework for quantitative finance. QuantLib is a free/open-source library
+for modeling, trading, and risk management in real-life.
+Boost components used include
+[@../../libs/smart_ptr/index.html Smart Pointers],
+[@../../libs/iterator/index.html Iterators],
+and [@../../libs/test/index.html the Test Framework].
+]
+
+[blurb [*CBCanaylzer]\n\n
+[@http://www.biozentrum.uni-wuerzburg.de/index.php?id=524 CBCanaylzer]
+ is developed by the Department of Bioinformatics,
+at the University of Wuerzburg.\n\n
+['"CBCAnalyzer (CBC = compensatory base change) is a tool to create ``small''
+phylogenetic trees from sequence alignments. To measure the distance of sequences
+the compensatory base changes are detected and counted. The bionj
+algorithm is then used to construct a tree. CBCAnalyzer is available on
+Windows, Linux and partly works on MacOSX. \n\n
+Boost libraries used:
+ [@../../libs/program_options/index.html Program Options]
+ - creates really nice output, and is both easy to extend and simple to handle.
+ [@../../libs/iterator/index.html Iterator],
+ [@../../libs/spirit/index.html Spirit]
+ - Saved a lot of my time, and makes the vast amount of biological file
+ formats simple to support,
+ [@../../libs/smart_ptr/index.html Shared Pointer],
+ [@../../libs/lambda/index.html Lambda].]
+]
+
+[blurb [*Profdist]\n\n
+[@http://www.biozentrum.uni-wuerzburg.de/index.php?id=523 Profdist]
+is developed by the Department of Bioinformatics, at the University of Wuerzburg.\n\n
+['"Profdist is a tool for the construction of large phylogenetic trees based on
+profile distances. The input alignment data gets extended by random
+picking of rows, and a clustering technique is used to create profiles
+of the most frequent subtrees. The iterative approach allows working on
+large datasets. Currently the application is very limited by the quality of
+wxWidgets, and only available for Windows and Linux. \n\n
+The Boost librarie used were:
+ [@../../libs/algorithm/string/index.html String Algorithms],
+ [@../../libs/bind/ref.html Ref],
+ [@../../libs/iterator/index.html Iterator],
+ [@../../libs/spirit/index.html Spirit],
+ [@../../libs/smart_ptr/index.html Shared Pointer] and
+ [@../../libs/lambda/index.html Lambda]."]
+]
+
+[blurb [*The Yake Engine]\n\n
+[@http://www.yake.org/ The Yake Engine]
+is a component-based, object-oriented engine written in C++
+and primarily designed for VR applications and games. It abstracts typical
+low-level and middleware APIs and provides various low, mid and application
+level functionality as well as tools to create and import content.
+]
+
+[endsect]
+
+[section:inhouse In House Boost]
+
+Whether you're a government department, an internet startup, or a specialist consultancy, in-house
+developement using the Boost Libraries can significantly shorten your
+development cycles.
+
+[blurb [*LiquidNet]\n\n
+[@http://www.liquidnet.com/ LiquidNet] is Americas number one electronic
+marketplace for large block trading, and the 5th fastest growing company
+according to Inc Magazine. \n\n
+"['Boost Libraries most used, in order of importance:\n
+[@../../libs/smart_ptr/index.html Shared Pointer],
+[@../../libs/bind/index.html Bind],
+[@../../libs/python/doc/index.html Python],
+[@../../libs/conversion/lexical_cast.htm Lexical Cast],
+[@../../libs/optional/index.html Optional],
+[@../../libs/any/index.html Any] and
+[@../../libs/tuple/index.html Tuple]]
+]
+
+[blurb [*MetOcean Engineers]\n\n
+[@http://www.metoceanengineers.com MetOcean Engineers]
+are a leading consultancy providing oceanographic and meteorological
+services in support of coastal and ocean engineering and environmental
+protection. Core activities encompass: oceanographic measurements;
+metocean monitoring systems; coastal and ocean engineering; environmental
+consultancy; data management.\n\n
+Boost Libraries currently in use:
+[@../../libs/any/index.html Any],
+[@../../libs/assign/index.html Assign],
+[@../../libs/bind/index.html Bind],
+[@../../libs/date_time/index.html Date Time],
+[@../../libs/iterator/index.html Iterators],
+[@../../libs/conversion/lexical_cast.htm Lexical Cast],
+[@../../libs/mpl/index.html MPL],
+[@../../libs/spirit/phoenix/index.html Phoenix],
+[@../../libs/program_options/index.html Program Options],
+[@../../libs/bind/ref.html Ref],
+[@../../libs/smart_ptr/index.html Smart Pointer],
+[@../../libs/spirit/index.html Spirit],
+[@../../libs/algorithm/string/index.html String Algorithm],
+[@../../doc/html/tribool.html Tribool] and
+[@../../libs/variant/index.html Variant]
+]
+
+[blurb [*TeraView Ltd]\n\n
+[@http://www.teraview.com TeraView Ltd] develop terahertz based systems
+for a variety of applications
+including spectroscopy and imaging.\n\n
+['"We use:
+[@../../libs/thread/index.html Thread],
+[@../../libs/filesystem/index.html Filesystem],
+[@../../libs/date_time/index.html Date Time],
+[@../../libs/serialization/index.html Serialization],
+[@../../libs/smart_ptr/index.html Smart Pointer],
+[@../../libs/function/index.html Function],
+[@../../libs/bind/index.html Bind],
+[@../../libs/iterator/index.html Iterator],
+[@../../libs/conversion/lexical_cast.htm Lexical Cast],
+[@../../libs/format/index.html Format],
+[@../../libs/tuple/index.html Tuple],
+[@../../libs/any/index.html Any] and
+[@../../libs/optional/index.html Optional]"]
+]
+
+[blurb [*NPC International]\n\n
+With about 800 restaurants, [@http://www.npcinternational.com NPC International]
+is the world's largest Pizza Hut franchisee.\n\n
+['"We make extensive use of boost in our internally developed point of sale,
+restaurant management, communications, and accounting systems.
+We use the following Boost libraries in approximate order of frequency of use:
+[@../../libs/bind/index.html Bind],
+[@../../libs/function/index.html Function],
+[@../../libs/optional/index.html Optional],
+[@../../libs/smart_ptr/index.html Shared Pointer],
+[@../../libs/date_time/index.html Date Time],
+[@../../libs/thread/index.html Thread],
+[@../../libs/lambda/index.html Lambda],
+[@../../libs/type_traits/index.html Type Traits],
+[@../../libs/mpl/index.html MPL],
+[@../../libs/tuple/index.html Tuple],
+[@../../libs/utility/enable_if.html Enable If],
+[@../../libs/variant/index.html Variant],
+[@../../libs/spirit/index.html Spirit],
+[@../../libs/algorithm/string/index.html String Algorithm],
+[@../../libs/preprocessor/index.html Preprocessor],
+[@../../libs/filesystem/index.html Filesystem],
+[@../../libs/utility/operators.htm Operator],
+[@../../libs/iterator/index.html Iterators] and
+[@../../libs/tokenizer/index.html Tokenizer]."]
+]
+
+[blurb [*Rational Discovery LLC]\n\n
+[@http://www.rationaldiscovery.com Rational Discovery]
+provides computational modeling, combinatorial
+library design and custom software development services to the
+pharmaceutical, biotech and chemical industries.\n\n
+['"We do a substantial amount of internal research to develop new
+approaches for applying machine-learning techniques to solve chemical
+problems. Because we're a small organization and chemistry is a large
+and complex field, it is essential that we be able to quickly and
+easily prototype and test new algorithms. We have found the Boost
+libraries, a reliable source of high-quality code, to be
+indispensable.\n\n
+Boost libraries used:
+[@../../libs/python/index.html Python],
+[@../../libs/graph/index.html Graph],
+[@../../libs/smart_ptr/index.html Smart Pointer],
+[@../../libs/any/index.html Any],
+[@../../libs/conversion/lexical_cast.htm Lexical Cast],
+[@../../libs/random/index.html Random],
+[@../../libs/algorithm/string/index.html String Algorithms],
+[@../../libs/tuple/index.html Tuple],
+[@../../libs/numeric/ublas/index.html uBLAS]."]
+]
+
+[blurb [*Archelon LLC]\n\n
+[@http://www.archelon-us.com Archelon LLC] is a global securities firm
+headquartered in Chicago. We actively trade equities, futures and
+derivatives in both electronic and floor-based markets. Archelon is
+one of the highest volume market makers on EUREX and a leading
+U.S. option market maker focusing on the most active securities.\n\n
+['"We use:
+[@../../libs/any/index.html Any],
+[@../../libs/array/index.html Array],
+[@../../libs/bind/index.html Bind],
+[@../../libs/date_time/index.html Date Time],
+[@../../libs/function/index.html Function],
+[@../../libs/conversion/lexical_cast.htm Lexical Cast],
+[@../../libs/optional/index.html Optional],
+[@../../libs/rational/index.html Rational],
+[@../../libs/regex/index.html Regex],
+[@../../libs/signals/index.html Signals],
+[@../../libs/smart_ptr/index.html Smart Pointer],
+[@../../libs/tokenizer/index.html Tokenizer],
+[@../../libs/tuple/index.html Tuple] and
+[@../../libs/utility/index.html Utility]."]
+]
+
+
+[endsect]
+
+[section:submit Submissions]
+
+If you have an application or library that's using Boost and would like to be
+listed here, please post the following information to the
+[@http://www.boost.org/more/mailing_lists.htm#main main Boost developer
+mailing list]:
+
+* The name of the Application/Product/Service.
+* The name of the company (where appropriate).
+* A paragraph describing the Application/Product/Service.
+* Any information you can provide about which parts of Boost you used,
+ along with any comments you may have on how Boost helped your product
+ development.
+* URLs to your companies home page, and the home page of the
+ Application/Product/Service if there is one.
+
+Finally, if the subheadings used in the structure of these pages
+don't fit your Product/Application/Service please say so: we're
+always interested to hear how these pages can be improved or better
+structured.
+
+[endsect]
+
+
diff --git a/more/writingdoc/design.html b/more/writingdoc/design.html
new file mode 100644
index 0000000000..56d3e64eed
--- /dev/null
+++ b/more/writingdoc/design.html
@@ -0,0 +1,377 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="../../boost.css">
+<title>Writing Documentation for Boost - HTML Design</title>
+</head>
+<body link="#0000ff" vlink="#800080">
+<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
+ "header">
+ <tr>
+ <td valign="top" width="300">
+ <h3><a href="index.html"><img height="86" width="277" alt="C++ Boost" src="../../boost.png" border="0"></a></h3>
+ </td>
+ <td valign="top">
+ <h1 align="center">Writing Documentation for Boost</h1>
+ <h2 align="center">HTML Design</h2>
+ </td>
+ </tr>
+</table>
+<hr>
+<dl class="page-index">
+ <dt><a href="#introduction">Introduction</a></dt>
+ <dt><a href="#common-pages">Common Pages Included in HTML Documentation</a></dt>
+ <dl class="page-index">
+ <dt><a href="#index-page">Index</a></dt>
+ <dt><a href="#overview-page">Overview</a></dt>
+ <dt><a href="#definitions-page">Definitions</a></dt>
+ <dt><a href="#rationale-page">Rationale</a></dt>
+ <dt><a href="#configuration-page">Configuration Information</a></dt>
+ <dt><a href="#faq-page">Frequently Asked Questions</a></dt>
+ <dt><a href="#bibliography-page">Bibliography</a></dt>
+ <dt><a href="#acknowledgements-page">Acknowledgment</a></dt>
+ <dt><a href="#header-page">Header Reference</a></dt>
+ </dl>
+ <dt><a href="#layout">Layout</a></dt>
+ <dl class="page-index">
+ <dt><a href="#page-banner">Page Banner</a></dt>
+ <dt><a href="#page-index">Page Index</a></dt>
+ <dt><a href="#content">Documentation Content</a></dt>
+ <dl class="page-index">
+ <dt><a href="#doc-footnotes">Footnotes</a></dt>
+ </dl>
+ <dt><a href="#revision-info">Revision Information</a></dt>
+ <dt><a href="#copyright">Copyright Information</a></dt>
+ </dl>
+ <dt><a href="#format">Format</a></dt>
+ <dl class="page-index">
+ <dt><a href="#style-sheets">Cascading Style Sheets</a></dt>
+ <dl class="page-index">
+ <dt><a href="#boost-style-sheet">Boost Style Sheet</a></dt>
+ </dl>
+ </dl>
+ <dt><a href="#templates">Templates</a></dt>
+ <dl class="page-index">
+ <dt><a href="#index-template">Index Page Template</a></dt>
+ <dt><a href="#overview-template">Overview Page Template</a></dt>
+ <dt><a href="#definitions-template">Definitions Page Template</a></dt>
+ <dt><a href="#rationale-template">Rationale Page Template</a></dt>
+ <dt><a href="#configuration-template">Configuration Page Template</a></dt>
+ <dt><a href="#faq-template">FAQ (Frequently Asked Questions) Page Template</a></dt>
+ <dt><a href="#bibliography-template">Bibliography Page Template</a></dt>
+ <dt><a href="#acknowledgements-template">Acknowledgments Page Template</a></dt>
+ <dt><a href="#header-template">Header Page Template</a></dt>
+ </dl>
+</dl>
+<h2><a name="introduction"></a>Introduction</h2>
+<p>Boost places no requirements on the design of HTML documentation for library
+ submitters. If you are submitting a library for which documentation already
+ exists in either HTML or in a form easily converted to HTML then there is no
+ need for you to read this document. However, if you have not yet written the
+ documentation, or if you expect to have to translate documentation written in
+ a format not easily convertible to HTML then this document can give you a lot
+ of information on how to go about writing documentation in HTML.</p>
+<p>In several places this document assumes you're writing the documentation to
+ conform to the structure described in the <a href="structure.html">Documentation
+ Structure</a> document. There is no requirement that your documentation content
+ follow these guidelines, but they provide an effective way to communicate technical
+ specifications for a library in a terse yet precise manner that's familiar to
+ many Boost users.</p>
+<p>This document also contains links to <a href="#templates">HTML template files</a>
+ that can be used to rapidly develop documentation for a library submission.
+ These templates follow the guidelines presented here and in the <a href="structure.html">Documentation
+ Structure</a> document.</p>
+<h2><a name="common-pages"></a>Common Pages Included in HTML Documentation</h2>
+<p>Most HTML documentation projects will contain some common pages. General guidelines
+ for these common pages are provided below.</p>
+<h3><a name="index-page"></a>Index</h3>
+<p>The index page is the first page presented to a user when he browses the documentation.
+ Generally this page should not contain any actual content, but instead contains
+ a list of links to specific content. At a minimum this list should contain a
+ link to every HTML page contained in the documentation. Optionally, sub-lists
+ may be provided for individual pages linking to specific subjects within the
+ page. These sub-lists should form a &quot;tree&quot; hierarchy based on the
+ level of heading tag used for the specific subject. Inclusion of such sub-lists
+ for every page can make the index rather lengthy, and since each page should
+ include its own <a href="#page-index">Page Index</a>, it may make the navigation
+ of the documentation easier if such sub-lists are avoided. However, there is
+ one exception to this guideline: reference documentation should contain a link
+ to every header file in the library and a sub-list with a link to every macro,
+ value, type, class, function and object (see <a href="structure.html">Documentation
+ Structure</a>) found in the header. Users aren't always sure what header file
+ any of these may be contained in, so this structure in the index allows for
+ easy navigation of the reference documentation.</p>
+<p>The index list should generally be constructed using an HTML &quot;definition
+ list&quot; (&lt;dl&gt; and &lt;dt&gt; tags). A definition list has no bullets
+ or ordered specifications and produces a cleaner layout then an unordered list
+ (&lt;ul&gt; and &lt;li&gt; tags) or an ordered list (&lt;ol&gt; and &lt;li&gt;
+ tags). If you choose to use the common <a href="#boost-style-sheet">Boost Style
+ Sheet</a> you should add a <code>class="index"</code> attribute/value pair to
+ the &lt;dl&gt; tag.</p>
+<p>An Index page <a href="#index-template">template</a> is provided for use.</p>
+<h3><a name="overview-page"></a>Overview</h3>
+<p>The Overview page is used to introduce the reader to the library. It should
+ give a high-level overview of the purpose of the library and introduce the reader
+ to any concepts they may be unfamiliar with. This may also be an appropriate
+ place for some &quot;light&quot; rationale, though more thorough presentation
+ of any rationale would be better placed in the <a href="#rationale-page">Rational
+ Page</a>.</p>
+<p>Like most content pages, the Overview page should include a <a href="#page-index">Page
+ Index</a>.</p>
+<p>An Overview page <a href="#overview-template">template</a> is provided for
+ use.</p>
+<h3><a name="definitions-page"></a>Definitions</h3>
+<p>The Definitions page is used to provide a list of definitions for terms that
+ a user may be unfamiliar with.</p>
+<p>The definition list should generally be constructed using an HTML &quot;definition
+ list&quot; (&lt;dl&gt; and &lt;DT&gt; tags). A definition list has no bullets
+ or ordered specifications and produces a cleaner layout then an unordered list
+ (&lt;UL&gt; and &lt;li&gt; tags) or an ordered list (&lt;ol&gt; and &lt;li&gt;
+ tags). If you choose to use the common <a href="#boost-style-sheet">Boost Style
+ Sheet</a> you should add a <code>class="definition"</code> attribute/value pair
+ to the &lt;dl&gt; tag.</p>
+<p>Because this page's content should only contain a list of definitions, it should
+ not have a <a href="#page-index">Page Index</a>.</p>
+<p></p>
+<p> A Definitions page <a href="#definitions-template">template</a> is provided
+ for use.</p>
+<h3><a name="rationale-page"></a>Rationale</h3>
+<p>The Rationale page is used to provide lengthy descriptions of the rationale
+ behind the library's design. This information helps users to understand why
+ a library was designed the way it was and may reduce the frequency of a number
+ of frequently asked questions. For a better description of why rationale is
+ important see the <a href="http://www.boost.org/more/lib_guide.htm#Rationale">Rationale
+ rationale</a> in the general submission guidelines.</p>
+<p>Like most content pages, the Rationale page should include a <a href="#page-index">Page
+ Index</a>.</p>
+<p></p>
+<p>A Rationale page <a href="#rationale-template">template</a> is provided for
+ use.</p>
+<h3><a name="configuration-page"></a>Configuration Information</h3>
+<p>The Configuration Information page is used to document configuration macros
+ used by the library. Such macros belong in one of three groups: macros used
+ by library implenters defined in <code>&lt;boost/config.hpp&gt;</code>, macros
+ used by library users to detect platform configuration information and macros
+ defined by library users to configure library behavior.</p>
+<p>Like most content pages, the Overview page should include a <a href="#page-index">Page
+ Index</a>.</p>
+<p></p>
+<p>A Configuration page <a href="#configuration-template">template</a> is provided
+ for use.</p>
+<h3><a name="faq-page"></a>Frequently Asked Questions</h3>
+<p>As a library matures the users will have questions about the usage of the library.
+ Often users will ask the same questions over and over again. Rather than having
+ to deal with answering the question every time it's asked, a Frequently Asked
+ Questions (commonly known as FAQs) page can be used to document the questions
+ and answers. This is such a valuable piece of documentation not only for the
+ users but for the maintainers as well, that a FAQ page should be provided from
+ the outset. If there are no questions that will obviously become a FAQ, the
+ initial page may just indicate that there are no FAQs yet. This empty place
+ holder helps to indicate to the users that you plan to address any FAQs as they
+ occur.</p>
+<p>The <a href="#page-index">Page Index</a> for the FAQ page should contain a
+ list of all the questions contained in the document. The actual question entries
+ should be formatted with the question in a heading tag and the answers in standard
+ paragraph format. This provides a clean presentation that's easy to read.</p>
+<p>A Frequently Asked Questions page <a href="#faq-template">template</a> is provided
+ for use.</p>
+<h3><a name="bibliography-page"></a>Bibliography</h3>
+<p>The Bibliography page is used to document any bibliographical information associated
+ with references made within the documentation to external resources. Parenthetical
+ references are used within the documentation which link to entries in the Bibliography
+ page. Bibliographical entries provide detailed information about the external
+ resource and may contain hyper links to the resource if it's available online.
+ There are several formal styles used for writing bibliographies. You may use
+ what ever style you want, but one of the better styles to consider using can
+ be referenced <a href="http://www.columbia.edu/cu/cup/cgos/idx_basic.html">here</a>.</p>
+<p>Since the Bibliography page should contain only bibliographical information
+ there is no need for a <a href="#page-index">Page Index</a>.</p>
+<p>A Bibliography page <a href="#bibliography-template">template</a> is provided
+ for use.</p>
+<h3><a name="acknowledgements-page"></a>Acknowledgment</h3>
+<p>The Acknowledgment page is used to give credit where credit is due. When individuals
+ provide input on the design or implementation, or when you make use of someone
+ else's work, you should acknowledge them. This is a courtesy that you'd expect
+ others to extend to you, so you should strive to acknowledge the efforts of
+ everyone else in your own documentation.</p>
+<p>Since the Acknowledgment page should contain only a list of acknowledgment
+ there is no need for a <a href="#page-index">Page Index</a>.</p>
+<p>An Acknowledgments page <a href="#acknowledgements-template">template</a> is
+ provided for use.</p>
+<h3><a name="header-page"></a>Header Reference</h3>
+<p>The Header Reference pages are the most important pages in your documentation.
+ They document all library headers, including all the macros, values, types,
+ classes, functions and objects defined in them. In general it may prove useful
+ to follow the guidelines in <a href="structure.html">Documentation Structure</a>
+ when writing the content for these pages.</p>
+<p>Like most content pages, the Header Reference pages should include a <a href="#page-index">Page
+ Index</a>.</p>
+<p>A Header Reference page <a href="#header-template">template</a> is provided
+ for use.</p>
+<h2><a name="layout"></a>Layout</h2>
+<p>There are certain page layout concepts that will be used frequently in many
+ of your pages. This section outlines some general guidelines that you can follow
+ when designing each of these layout concepts for your documentation.</p>
+<h3><a name="page-banner"></a>Page Banner</h3>
+<p>The Page Banner is located at the very top of a page and provides quick information
+ about the page contents. This includes the Boost logo, which indicates to the
+ reader that this page is part of the Boost web site, a title for the documentation
+ (generally the library name) and the page title. The Boost logo should hyper
+ link to the Boost home page on the index page and to the index page on all other
+ pages. This allows the user to easily navigate through the Boost web site and
+ through the documentation. The &lt;title&gt; tag for the HTML page should consist
+ of the documentation title and the page title separated by a hyphen.</p>
+<p>The Page Banner should be separated from the rest of the page by the use of
+ an &lt;hr&gt; tag. This helps to clearly separate the actual content from the
+ title information and produces cleaner text.</p>
+<h3><a name="page-index"></a>Page Index</h3>
+<p>The page index is used to quickly navigate to the various sections of the documentation
+ on the page, and when present should be located just below the Page Banner.</p>
+<p>The index list should generally be constructed using an HTML &quot;definition
+ list&quot; (&lt;dl&gt; and &lt;DT&gt; tags). A definition list has no bullets
+ or ordered specifications and produces a cleaner layout then an unordered list
+ (&lt;UL&gt; and &lt;li&gt; tags) or an ordered list (&lt;ol&gt; and &lt;li&gt;
+ tags). If you choose to use the Boost Style Sheet you should add a <code>class="page-index"</code>
+ attribute/value pair to the &lt;dl&gt; tag.</p>
+<p>Most pages should include a Page Index.</p>
+<h3><a name="content"></a>Documentation Content</h3>
+<p>The page's actual documentation content will be formatted according to the
+ specific needs of individual pages, and should be placed right after the Page
+ Index if present, or after the Page Banner if not. In general the documentation
+ content will take the form of paragraph text contained underneath section headings.</p>
+<h3><a name="doc-footnotes"></a>Footnotes</h3>
+<p>Footnotes may be used within a page's documentation. Within the documentation
+ content a footnote reference should take the form of a footnote number in parentheses
+ (the parentheses make it easier for the reader to click on the hyper link) hyper
+ linking to the actual footnote at the bottom of the page's documentation content.
+ You may either use the &lt;sup&gt; tag to format such footnote numbers, or,
+ preferably, you can use a CSS style class in order to distinguish the number
+ as a footnote instead of as part of the actual text. If you choose to use the
+ common <a href="#boost-style-sheet">Boost Style Sheet</a>, a <code>footnote</code>
+ class is defined for this purpose.</p>
+<h3><a name="revision-info"></a>Revision Information</h3>
+<p>At the bottom of every page should be some revision information indicating
+ when the page was last revised. This information should be separated from the
+ rest of the page above by an &lt;hr&gt; tag. The following HTML code snippet
+ can be used to track this revision information (this code uses some server components
+ that exist on the Boost web site to automatically track revision dates with
+ out the need for hand editing the date text):</p>
+<pre>&lt;hr&gt;
+&lt;p&gt;Revised
+ &lt;!--webbot bot=&quot;Timestamp&quot; S-Type=&quot;EDITED&quot; S-Format=&quot;%d %B, %Y&quot; startspan --&gt;
+ 01 January, 2001
+ &lt;!--webbot bot=&quot;Timestamp&quot; endspan i-checksum=&quot;39359&quot; --&gt;
+&lt;/p&gt;
+</pre>
+<h3><a name="copyright"></a>Copyright Information</h3>
+<p>The very bottom of the page should contain any copyright information that applies
+ to the document.</p>
+<h2><a name="format"></a>Format</h2>
+<p>This section provides general guidelines for formatting documentation using
+ HTML. The description of the various &quot;common pages&quot; gave specific
+ details for formatting specific sections of the documentation, which should
+ override these guidelines.</p>
+<h3><a name="code-format"></a>Code</h3>
+<p>Code within the documentation should be placed within either &lt;code&gt;&lt;/code&gt;
+ or &lt;pre&gt;&lt;/pre&gt; tags. For code that's placed inline with other text
+ you use &lt;code&gt;&lt;/code&gt; tags, while &lt;pre&gt;&lt;/pre&gt; tags are
+ used for code &quot;blocks&quot;. If a cascading style sheet is used to specify
+ formatting for these tags, a fixed width sans serif font should be used. This
+ insures that the code is easily distinguishable from the rest of the text. It
+ may also be beneficial to set the style for &lt;pre&gt;&lt;/pre&gt; tags to
+ indent the text, to help separate code blocks from other structural HTML blocks.
+ The <a href="#boost-style-sheet">Boost Style Sheet</a> specifies formatting
+ for these tags.</p>
+<p><b>Note:</b> &quot;Code&quot; includes variable names, function names, etc.</p>
+<h3><a name="lists"></a>Lists</h3>
+<p>Lists should be constructed as unordered (&lt;UL&gt; and &lt;li&gt; tags),
+ ordered (&lt;ol&gt; and &lt;li&gt; tags) or definition (&lt;dl&gt; and &lt;DT&gt;
+ tags) lists in HTML. You use an unordered list when you need a collection of
+ items that don't have any kind of logical ordering, such as a list of data types
+ that are defined by the library and can be used for a template argument. You
+ use an ordered list when the collection of items must be grouped in a logical
+ ordering, such as when enumerating the steps that an action logically performs.
+ You use a definition list when the list consists of not only items that have
+ no logical ordering, but also contains definitions/descriptions/etc. of the
+ items. A good example of this is the function specifications as described in
+ <a href="structure.html">Documentation Structure</a>.</p>
+<h3><a name="graphics"></a>Graphics</h3>
+<p>Graphics should be used very sparingly, if at all. Graphic images greatly effect
+ the download time for many people, which can discourage users from reading the
+ documentation. If you need graphic images to help illustrate something in your
+ documentation consider supplying only a link to the image within the documentation,
+ instead of embedding it directly in the text. If an image is going to be included
+ in the text of the document you should specify the image's size in the &lt;img&gt;
+ tag, in order to allow the user's browser to optimize the formatting of the
+ text before the image is loaded.</p>
+<h3><a name="non-breaking-spaces"></a>Non-breaking Spaces</h3>
+<p>Non-breaking spaces (&amp;nbsp;) should be avoided in HTML text. Generally
+ there are more appropriate ways to format the document, such as using list constructs
+ or specifying indentation as a style attribute or in cascading style sheets.</p>
+<h3><a name="style-sheets"></a>Cascading Style Sheets</h3>
+<p>Cascading style sheets allow you to apply some advanced formatting styles to
+ an HTML document. More importantly, they allow you to change the formatting
+ in a single file and effect all pages using the style sheet. Instead of struggling
+ to produce a specific format in HTML it's often easier and more flexible to
+ specify the formatting in a style sheet.</p>
+<h4><a name="boost-style-sheet"></a>Boost Style Sheet</h4>
+<p>The concept of using cascading style sheets to format HTML is such a good idea
+ that it can be beneficial to apply this across the entire Boost site. Of course
+ we can't require this (if Boost were to require such trivia for submissions
+ it's likely that many programmers would be discouraged from contributing). However,
+ a &quot;standard&quot; Boost style sheet (http://www.boost.org/boost.css) is
+ supplied anyway, so that a contributer can quickly and easily produce clear
+ and consistent documentation that reflects a Boost &quot;brand&quot; if they
+ so choose. If, at a later date, it's decided to update the Boost &quot;brand&quot;,
+ it may be done in this single file and all documents using the style sheet will
+ automatically be updated.</p>
+<p>The Boost supplied style sheet not only specifies styles for many standard
+ tags, it also specifies several style &quot;classes&quot;. A class is specified
+ for a given tag instead of being applied to all instances of a given tag type.
+ Below is a list of the classes specified in the Boost style sheet and a description
+ of when to use them:</p>
+<dl>
+ <dt><b>index</b> Used for &lt;dl&gt; tags when writing index lists.</dt>
+ <dt><b>page-index</b> Used for &lt;dl&gt; tags when writing page index lists.</dt>
+ <dt><b>Footnote</b> Used when writing Footnote numbers.</dt>
+ <dt><b>function-semantics</b> Used for &lt;dl&gt; tags when writing function
+ semantic lists.</dt>
+</dl>
+<h2><a name="templates"></a>Templates</h2>
+<p>Instead of hand coding every HTML page, HTML "templates" can be used instead.
+ The list below provides links to templates that may be used when writing documentation
+ for a contribution to Boost. Links provided in these templates assume the files
+ will reside in the &quot;traditional&quot; directory hierarchy of <i>boost/libs/library/doc</i>.
+ They may need correcting if the file will reside in some other location.</p>
+<p><b>Note:</b> Since these &quot;templates&quot; are just HTML pages simply clicking
+ on the links below will load the template in your browser. You will need to
+ use a browser specific method to download the files instead of loading them
+ into the browser (for instance, on most Windows browsers you can right click
+ on the link and select the appropriate command from the context sensitive menu).</p>
+<ul>
+ <li><a name="index-template"></a><a href="template/index.html">Index Page Template</a></li>
+ <li><a name="overview-template"></a><a href="template/overview.html">Overview
+ Page Template</a></li>
+ <li><a name="definitions-template"></a><a href="template/definitions.html">Definitions
+ Page Template</a></li>
+ <li><a name="rationale-template"></a><a href="template/rationale.html">Rationale
+ Page Template</a></li>
+ <li><a name="configuration-template"></a><a href="template/configuration.html">Configuration
+ Page Template</a></li>
+ <li><a name="faq-template"></a><a href="template/faq.html">FAQ (Frequently Asked
+ Questions) Page Template</a></li>
+ <li><a name="bibliography-template"></a><a href="template/bibliography.html">Bibliography
+ Page Template</a></li>
+ <li><a name="acknowledgements-template"></a><a href="template/acknowledgments.html">Acknowledgments
+ Page Template</a></li>
+ <li><a name="header-template"></a><a href="template/header.html">Header Page
+ Template</a></li>
+</ul>
+<hr>
+<p>Revised
+ <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->29 November, 2003<!--webbot bot="Timestamp" endspan i-checksum="39371" -->
+</p>
+<p><i>&copy; Copyright <a href="mailto:williamkempf@hotmail.com">William E. Kempf</a>
+ 2001. All Rights Reserved.</i></p>
+</body>
+</html> \ No newline at end of file
diff --git a/more/writingdoc/index.html b/more/writingdoc/index.html
new file mode 100644
index 0000000000..d1cf7a4cdf
--- /dev/null
+++ b/more/writingdoc/index.html
@@ -0,0 +1,36 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="../../boost.css">
+<title>Writing Documentation for Boost</title>
+</head>
+<body link="#0000ff" vlink="#800080">
+<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
+ "header">
+ <tr>
+ <td valign="top" width="300">
+ <h3><a href="../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../boost.png" border="0"></a></h3>
+ </td>
+ <td valign="top">
+ <h1 align="center">Writing Documentation for Boost</h1>
+ <h2 align="center">Index</h2>
+ </td>
+ </tr>
+</table>
+<hr>
+<h2>Contents</h2>
+<dl class="index">
+ <dt><a href="introduction.html">Introduction</a></dt>
+ <dt><a href="structure.html">Documentation Structure</a></dt>
+ <dt><a href="design.html">HTML Design</a></dt>
+</dl>
+<hr>
+<p>Revised
+ <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
+ 05 November, 2001
+ <!--webbot bot="Timestamp" endspan i-checksum="39359" -->
+</p>
+<p><i>&copy; Copyright <a href="mailto:williamkempf@hotmail.com">William E. Kempf</a>
+ 2001. All Rights Reserved.</i></p>
+</body>
+</html>
diff --git a/more/writingdoc/introduction.html b/more/writingdoc/introduction.html
new file mode 100644
index 0000000000..f3ae8959fc
--- /dev/null
+++ b/more/writingdoc/introduction.html
@@ -0,0 +1,46 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="../../boost.css">
+<title>Writing Documentation for Boost - Introduction</title>
+</head>
+<body link="#0000ff" vlink="#800080">
+<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
+ "header">
+ <tr>
+ <td valign="top" width="300">
+ <h3><a href="index.html"><img height="86" width="277" alt="C++ Boost" src="../../boost.png" border="0"></a></h3>
+ </td>
+ <td valign="top">
+ <h1 align="center">Writing Documentation for Boost</h1>
+ <h2 align="center">Introduction</h2>
+ </td>
+ </tr>
+</table>
+<hr>
+<p>Boost does not have any requirements on how you write your documentation. If
+ you are submitting a library that already has written documentation in HTML
+ format, there is no reason to change it to follow any of the guidelines presented
+ here. However, if you have documentation that's not in HTML format and can't
+ be easily converted to HTML, or if you're starting on a library from scratch
+ or have a library with no documentation then these guidelines can make writing
+ the documentation much easier.</p>
+<p>The section on <a href="structure.html">Documentation Structure</a> describes
+ how to go about structuring the documentation's content. This section may be
+ helpful even for libraries that already have documentation. If there's a desire
+ to present the library for possible inclusion by the C++ Standards Committee
+ then there may be a need to restructure the documentation's content in order
+ to insure the content meets explicit requirements for library components (Section
+ 17.3).</p>
+<p>The section on <a href="design.html">HTML Design</a> gives general rules to
+ follow when writing HTML documentation in order to give a professional and consistent
+ look. This section also contains some template files that can be used to rapidly
+ create documentation pages.</p>
+<hr>
+<p>Revised
+ <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->29 November, 2003<!--webbot bot="Timestamp" endspan i-checksum="39371" -->
+</p>
+<p><i>&copy; Copyright <a href="mailto:williamkempf@hotmail.com">William E. Kempf</a>
+ 2001. All Rights Reserved.</i></p>
+</body>
+</html> \ No newline at end of file
diff --git a/more/writingdoc/structure.html b/more/writingdoc/structure.html
new file mode 100644
index 0000000000..2429a124e4
--- /dev/null
+++ b/more/writingdoc/structure.html
@@ -0,0 +1,254 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="../../boost.css">
+<title>Writing Documentation for Boost - Documentation Structure</title>
+</head>
+<body link="#0000ff" vlink="#800080">
+<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
+ "header">
+ <tr>
+ <td valign="top" width="300">
+ <h3><a href="index.html"><img height="86" width="277" alt="C++ Boost" src="../../boost.png" border="0"></a></h3>
+ </td>
+ <td valign="top">
+ <h1 align="center">Writing Documentation for Boost</h1>
+ <h2 align="center">Documentation Structure</h2>
+ </td>
+ </tr>
+</table>
+<hr>
+<dl class="page-index">
+ <dt><a href="#introduction">Introduction</a></dt>
+ <dt><a href="#standards-conforming">Standards Conforming Documentation</a></dt>
+ <dl class="page-index">
+ <dt><a href="#elements">Document elements</a></dt>
+ <dl class="page-index">
+ <dt><a href="#summary">Summary</a></dt>
+ <dt><a href="#requirements">Requirements</a></dt>
+ <dt><a href="#detailed-specs">Detailed specifications</a></dt>
+ <dt><a href="#ref-cpp">References to the Standard C++ library</a></dt>
+ <dt><a href="#ref-c">References to the Standard C library</a></dt>
+ </dl>
+ <dt><a href="#other">Other conventions</a></dt>
+ <dl class="page-index">
+ <dt><a href="#type-descs">Type descriptions</a></dt>
+ </dl>
+ </dl>
+ <dt><a href="#more">More Information</a></dt>
+ <dl class="page-index">
+ <dt><a href="#function-semantic-explanations">Function semantic element explanations</a></dt>
+ <dl class="page-index">
+ <dt><a href="#requires">Requires</a></dt>
+ <dt><a href="#effects">Effects</a></dt>
+ <dt><a href="#postconditions">Postconditions</a></dt>
+ <dt><a href="#returns">Returns</a></dt>
+ <dt><a href="#throws">Throws</a></dt>
+ <dt><a href="#complexity">Complexity</a></dt>
+ <dt><a href="#rationale">Rationale</a></dt>
+ </dl>
+ </dl>
+ <dt><a href="#footnotes">Footnotes</a></dt>
+</dl>
+<h2><a name="introduction">Introduction</a></h2>
+<p>Boost itself does not require any specific documentation structure. The C++
+ Standard, however, has very explicit requirements for the description of library
+ components (Section 17.3). So for Boost libraries likely to be proposed for
+ inclusion in the standard, it is highly desirable to structure documentation
+ in a way that meets the requirements of the the standard. Doing so eliminates
+ the need to rewrite the documentation for standardization.</p>
+<p>Library developers should remember that for a library to be accepted as part
+ of the C++ Standard Library, the proposal must include full wording. The committee
+ will not do that work for you.</p>
+<p>Beyond that, the documentation structure required for the standard is an effective
+ way to communicate the technical specifications for a library. Although terse,
+ it is already familiar to many Boost users, and is far more precise than most
+ ad hoc documentation structures.</p>
+<p>The following description is for the structure of documentation required by
+ the standard. Boost libraries should also provided additional documentation,
+ such as introductory, tutorial, example, and rationale material.</p>
+<h2><a name="standards-conforming">Standards Conforming</a> Documentation</h2>
+<h3><a name="elements">Document elements</a></h3>
+<p>Each document contains the following elements, as applicable<a class="footnote" href="#footnote1">(1)</a>:</p>
+<ul>
+ <li><a href="#summary">Summary</a></li>
+ <li><a href="#requirements">Requirements</a></li>
+ <li><a href="#detailed-specs">Detailed specifications</a></li>
+ <li><a href="#ref-cpp">References to the Standard C++ library</a></li>
+ <li><a href="#ref-c">References to the Standard C library</a></li>
+</ul>
+<h4><a name="summary">Summary</a></h4>
+<p>The Summary provides a synopsis of the category, and introduces the first-level
+ subclauses. Each subclause also provides a summary, listing the headers specified
+ in the subclause and the library entities provided in each header.</p>
+<p>Paragraphs labeled "Note(s):" or "Example(s):" are informative, other paragraphs
+ are normative.</p>
+<p>The summary and the detailed specifications are presented in the order:</p>
+<ul>
+ <li>Macros</li>
+ <li>Values</li>
+ <li>Types</li>
+ <li>Classes</li>
+ <li>Functions</li>
+ <li>Objects</li>
+</ul>
+<h4><a name="requirements">Requirements</a></h4>
+<p>The library can be extended by a C++ program. Each clause, as applicable, describes
+ the requirements that such extensions must meet. Such extensions are generally
+ one of the following:</p>
+<ul>
+ <li>Template arguments</li>
+ <li>Derived classes</li>
+ <li>Containers, iterators, and/or algorithms that meet an interface convention</li>
+</ul>
+<p>Interface convention requirements are stated as generally as possible. Instead
+ of stating "<code>class X</code> has to define a member function <code>operator++()</code>,"
+ the interface requires "for any object <code>x</code> of <code>class X</code>,
+ <code>++x</code> is defined." That is, whether the operator is a member is unspecified.</p>
+<p>Requirements are stated in terms of well-defined expressions, which define
+ valid terms of the types that satisfy the requirements. For every set of requirements
+ there is a table that specifies an initial set of the valid expressions and
+ their semantics. Any generic algorithm that uses the requirements is described
+ in terms of the valid expressions for its formal type parameters.</p>
+<p>Template argument requirements are sometimes referenced by name.</p>
+<p>In some cases the semantic requirements are presented as C++ code. Such code
+ is intended as a specification of equivalance of a construct to another construct,
+ not necessarily as the way the construct must be implemented.<a class="footnote" href="#footnote2">(2)</a></p>
+<h4><a name="detailed-specs">Detailed specification</a></h4>
+<p>The detailed specifications each contain the following elements:</p>
+<ul>
+ <li>Name and brief description</li>
+ <li>Synopsis (class definition or function prototype, as appropriate)</li>
+ <li>Restrictions on template arguments, if any</li>
+ <li>Description of class invariants</li>
+ <li>Description of function semantics</li>
+</ul>
+<p>Descriptions of class member functions follow the order (as appropriate)<a class="footnote" href="#footnote3">(3)</a>:</p>
+<ul>
+ <li>Constructor(s) and destructor</li>
+ <li>Copying and assignment functions</li>
+ <li>Comparison functions</li>
+ <li>Modifier functions</li>
+ <li>Observer functions</li>
+ <li>Operators and other non-member functions</li>
+</ul>
+<p>Descriptions of function semantics contain the following <a name="function-elements">elements</a>
+ (as appropriate)<a class="footnote" href="#footnote4">(4):</a></p>
+<dl class="function-semantics">
+ <dt><b><a href="#requires">Requires:</a></b> the preconditions for calling the
+ function</dt>
+ <dt><b><a href="#effects">Effects:</a></b> the actions performed by the function</dt>
+ <dt><b><a href="#postconditions">Postconditions:</a></b> the observable results
+ established by the function</dt>
+ <dt><b><a href="#returns">Returns:</a></b> a description of the value(s) returned
+ by the function</dt>
+ <dt><b><a href="#throws">Throws:</a></b> any exceptions thrown by the function,
+ and the conditions that would cause the exception</dt>
+ <dt><b><a href="#complexity">Complexity:</a></b> the time and/or space complexity
+ of the function</dt>
+ <dt><b><a href="#rationale">Rationale:</a></b> the rationale for the function's design
+ or existence</dt>
+</dl>
+<p>Complexity requirements specified in the library clauses are upper bounds,
+ and implementations that provide better complexity guarantees satisfy the requirements.</p>
+<h4><a name="ref-cpp">References to the C++ Standard library</a></h4>
+<h4><a name="ref-c">References to the C Standard library</a></h4>
+<h3><a name="other">Other conventions</a></h3>
+<p>These conventions are for describing implementation-defined types, and member
+ functions.</p>
+<h4><a name="type-descs">Type descriptions</a></h4>
+<p>The Requirements subclauses may describe names that are used to specify constraints
+ on template arguments.</p>
+<h2><a name="more">More Information</a></h2>
+<h3><a name="function-semantic-explanations">Function semantic element explanations</a></h3>
+<p>The function semantic element description <a href="#function-elements">above</a>
+ is taken directly from the C++ standard, and is quite terse. Here is a more
+ detailed explanation of each of the elements.</p>
+<p>Note the use of the <code>&lt;code&gt; ... &lt;/code&gt;</code> font tag to
+ distinguish actual C++ usage from English prose.</p>
+<h4><a name="requires">Requires</a></h4>
+<p>Preconditions for calling the function, typically expressed as predicates.
+ The most common preconditions are requirements on the value of arguments, often
+ in the form of C++ expressions. For example,
+<pre>
+<code>void limit( int * p, int min, int max );</code>
+</pre>
+<dl class="function-semantics">
+ <dt><b>Requires:</b> <code>p != 0 &amp;&amp; min &lt;= max</code></dt>
+</dl>
+<p>Requirements already enforced by the C++ language rules (such as the type of
+ arguments) are not repeated in Requires paragraphs.</p>
+<h4><a name="effects">Effects</a></h4>
+<p>The actions performed by the function, described either in prose or in C++.
+ A description in prose is often less limiting on implementors, but is often
+ less precise than C++ code.</p>
+<p>If an effect is specified in one of the other elements, particularly <i>postconditions</i>,
+ <i>returns</i>, or <i>throws</i>, it is not also described in the <i>effects</i>
+ paragraph. Having only a single description ensures that there is one and only
+ one specification, and thus eliminates the risk of divergence.</p>
+<h4><a name="postconditions">Postconditions</a></h4>
+<p>The observable results of the function, such as the value of variables. Postconditions
+ are often expressed as predicates that are true after the function completes,
+ in the form of C++ expressions. For example:</p>
+<pre>
+void make_zero_if_negative( int &amp; x );
+</pre>
+<dl class="function-semantics">
+ <dt><b>Postcondition:</b> <code>x &gt;= 0</code></dt>
+</dl>
+<h4><a name="returns">Returns</a></h4>
+<p>The value returned by the function, usually in the form of a C++ expression.
+ For example:</p>
+<pre>int sum( int x, int y );
+</pre>
+<dl class="function-semantics">
+ <dt><b>Returns:</b> <code>x + y</code></dt>
+</dl>
+<p>Only specify the return value; the type is already dictated by C++ language
+ rules.
+<h4><a name="throws">Throws</a></h4>
+<p>Specify both the type of exception thrown, and the condition that causes the
+ exception to be thrown. For example, the <code>std::basic_string</code> class
+ specifies:
+<pre>
+void resize(size_type n, charT c);
+</pre>
+<dl class="function-semantics">
+ <dt><b>Throws:</b> <code> length_error</code> if <code>n &gt; max_size()</code>.</dt>
+</dl>
+<h4><a name="complexity">Complexity</a></h4>
+<p>Specifying the time and/or space complexity of a function is often not desirable
+ because it over-constrains implementors and is hard to specify correctly. Complexity
+ is thus often best left as a quality of implementation issue.</p>
+<p>A library component, however, can become effectively non-portable if there
+ is wide variation in performance between conforming implementations. Containers
+ are a prime example. In these cases it becomes worthwhile to specify complexity.</p>
+<p>Complexity is often specified in generalized <a href="http://hissa.nist.gov/dads/HTML/bigOnotation.html">
+ &quot;Big-O&quot; notation</a>.</p>
+<h4><a name="rationale">Rationale</a></h4>
+<p>Specifying the rationale for a function's design or existence can often give users
+ a lot of insight into why a library is designed the way it is. More importantly, it
+ can help prevent "fixing" something that wasn't really broken as the library matures.</p>
+<h2><a name="footnotes">Footnotes</a></h2>
+<dl>
+ <dt><a class="footnote" name="footnote1">(1)</a>
+ To save space, items that do not apply to a clause are omitted. For example,
+ if a clause does not specify any requirements, there will be no "Requirements"
+ subclause.</dt>
+ <dt><a class="footnote" name="footnote2">(2)</a> Although in some cases the
+ code is unambiguously the optimum implementation.</dt>
+ <dt><a class="footnote" name="footnote3">(3)</a> To save space, items that do
+ not apply to a class are omitted. For example, if a class does not specify
+ any comparison functions, there will be no "Comparison functions" subclause.</dt>
+ <dt><a class="footnote" name="footnote4">(4)</a> To save space, items that do
+ not apply to a function are omitted. For example, if a function does not specify
+ any precondition, there will be no "Requires" paragraph.</dt>
+</dl>
+<hr>
+<p>Revised
+ <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->29 November, 2003<!--webbot bot="Timestamp" endspan i-checksum="39371" -->
+</p>
+<p><i>&copy; Copyright <a href="mailto:williamkempf@hotmail.com">William E. Kempf</a>
+ 2001. All Rights Reserved.</i></p>
+</body>
+</html> \ No newline at end of file
diff --git a/more/writingdoc/template/acknowledgments.html b/more/writingdoc/template/acknowledgments.html
new file mode 100644
index 0000000000..90556b0555
--- /dev/null
+++ b/more/writingdoc/template/acknowledgments.html
@@ -0,0 +1,31 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="../../../boost.css">
+<title>{{Library}} - Acknowledgments</title>
+</head>
+<body link="#0000ff" vlink="#800080">
+<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
+ "header">
+ <tr>
+ <td valign="top" width="300">
+ <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
+ </td>
+ <td valign="top">
+ <h1 align="center">{{Library}}</h1>
+ <h2 align="center">Acknowledgments</h2>
+ </td>
+ </tr>
+</table>
+<hr>
+{{text}}
+<hr>
+<p>Revised
+ <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
+ 05 November, 2001
+ <!--webbot bot="Timestamp" endspan i-checksum="39359" -->
+</p>
+<p><i>&copy; Copyright <a href="mailto:{{address}}">{{author}}</a>
+ 2002. All Rights Reserved.</i></p>
+</body>
+</html>
diff --git a/more/writingdoc/template/bibliography.html b/more/writingdoc/template/bibliography.html
new file mode 100644
index 0000000000..5faed0b563
--- /dev/null
+++ b/more/writingdoc/template/bibliography.html
@@ -0,0 +1,31 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="../../../boost.css">
+<title>{{Library}} - Bibliography</title>
+</head>
+<body link="#0000ff" vlink="#800080">
+<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
+ "header">
+ <tr>
+ <td valign="top" width="300">
+ <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
+ </td>
+ <td valign="top">
+ <h1 align="center">{{Library}}</h1>
+ <h2 align="center">Bibliography</h2>
+ </td>
+ </tr>
+</table>
+<hr>
+{{bibliographical information}}
+<hr>
+<p>Revised
+ <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
+ 05 November, 2001
+ <!--webbot bot="Timestamp" endspan i-checksum="39359" -->
+</p>
+<p><i>&copy; Copyright <a href="mailto:{{address}}">{{author}}</a>
+ 2002. All Rights Reserved.</i></p>
+</body>
+</html>
diff --git a/more/writingdoc/template/configuration.html b/more/writingdoc/template/configuration.html
new file mode 100644
index 0000000000..edf2216c85
--- /dev/null
+++ b/more/writingdoc/template/configuration.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="../../../boost.css">
+<title>{{Library}} - Configuration</title>
+</head>
+<body link="#0000ff" vlink="#800080">
+<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
+ "header">
+ <tr>
+ <td valign="top" width="300">
+ <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
+ </td>
+ <td valign="top">
+ <h1 align="center">{{Library}}</h1>
+ <h2 align="center">Configuration</h2>
+ </td>
+ </tr>
+</table>
+<hr>
+<dl class="page-index">
+ <dt><a href="#introduction">Introduction</a></dt>
+ <dt><a href="#app-defined">Application Defined Macros</a></dt>
+ <dt><a href="#lib-defined-public">Public Library Defined Macros</a></dt>
+ <dt><a href="#lib-defined-impl">Library Defined Implementation Macros</a></dt>
+</dl>
+<h2><a name="introduction"></a>Introduction</h2>
+<p>{{library}} uses several configuration macros in <a href="http://www.boost.org/libs/config/config.htm">&lt;boost/config.hpp&gt;</a>,
+ as well as configuration macros meant to be supplied by the application. These
+ macros are documented here.</p>
+<h2><a name="app-defined"></a>Application Defined Macros</h2>
+<p>These are the macros that may be defined by an application using {{library}}.</p>
+<table summary="application defined macros" cellspacing="10" width="100%">
+ <tr>
+ <td><b>Macro</b></td>
+ <td><b>Meaning</b></td>
+ </tr>
+ <tr>
+ <td>{{macro}}</td>
+ <td>{{meaning}}</td>
+ </tr>
+ <tr>
+ <td>{{macro}}</td>
+ <td>{{meaning}}</td>
+ </tr>
+</table>
+<h2><a name="lib-defined-public"></a>Public Library Defined Macros</h2>
+<p>These macros are defined by {{library}} but are expected to be used by application
+ code.</p>
+<table summary="public library defined macros" cellspacing="10" width="100%">
+ <tr>
+ <td><b>Macro</b></td>
+ <td><b>Meaning</b></td>
+ </tr>
+ <tr>
+ <td>{{macro}}</td>
+ <td>{{meaning}}</td>
+ </tr>
+ <tr>
+ <td>{{macro}}</td>
+ <td>{{meaning}}</td>
+ </tr>
+</table>
+<h2><a name="lib-defined-impl"></a>Library Defined Implementation Macros</h2>
+<p>These macros are defined by {{library}} and are implementation details of interest
+ only to implementers.</p>
+<table summary="library defined implementation macros" cellspacing="10" width="100%">
+ <tr>
+ <td><b>Macro</b></td>
+ <td><b>Meaning</b></td>
+ </tr>
+ <tr>
+ <td>{{macro}}</td>
+ <td>{{meaning}}</td>
+ </tr>
+ <tr>
+ <td>{{macro}}</td>
+ <td>{{meaning}}</td>
+ </tr>
+</table>
+<hr>
+<p>Revised
+ <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
+ 05 November, 2001
+ <!--webbot bot="Timestamp" endspan i-checksum="39359" -->
+</p>
+<p><i>&copy; Copyright <a href="mailto:{{address}}">{{author}}</a>
+ 2002. All Rights Reserved.</i></p>
+</body>
+</html>
diff --git a/more/writingdoc/template/definitions.html b/more/writingdoc/template/definitions.html
new file mode 100644
index 0000000000..08fff59dd7
--- /dev/null
+++ b/more/writingdoc/template/definitions.html
@@ -0,0 +1,47 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="../../../boost.css">
+<title>{{Library}} - Definitions</title>
+</head>
+<body link="#0000ff" vlink="#800080">
+<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
+ "header">
+ <tr>
+ <td valign="top" width="300">
+ <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
+ </td>
+ <td valign="top">
+ <h1 align="center">{{Library}}</h1>
+ <h2 align="center">Definitions</h2>
+ </td>
+ </tr>
+</table>
+<hr>
+<h2>Contents</h2>
+<dl class="page-index">
+ <dt><a href="#introduction">Introduction</a></dt>
+ <dt><a href="#definitions">Definitions</a></dt>
+ <dl class="page-index">
+ <dt><a href="#definition-term1">Term 1</a></dt>
+ <dt><a href="#definition-term2">Term 2</a></dt>
+ </dl>
+</dl>
+<hr>
+<h2><a name="introduction"></a>Introduction</h2>
+<p>{{Introductory text}}</p>
+<h2><a name="definitions"></a>Definitions</h2>
+<dl class="definitions">
+ <dt><a name="definition-term1"></a><b>{{term}}:</b> {{definition}}</dt>
+ <dt><a name="definition-term2"></a><b>{{term}}:</b> {{definition}}</dt>
+</dl>
+<hr>
+<p>Revised
+ <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
+ 05 November, 2001
+ <!--webbot bot="Timestamp" endspan i-checksum="39359" -->
+</p>
+<p><i>&copy; Copyright <a href="mailto:{{address}}">{{author}}</a>
+ 2002. All Rights Reserved.</i></p>
+</body>
+</html>
diff --git a/more/writingdoc/template/faq.html b/more/writingdoc/template/faq.html
new file mode 100644
index 0000000000..82773d916f
--- /dev/null
+++ b/more/writingdoc/template/faq.html
@@ -0,0 +1,38 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="../../../boost.css">
+<title>{{Library}} - FAQ</title>
+</head>
+<body link="#0000ff" vlink="#800080">
+<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
+ "header">
+ <tr>
+ <td valign="top" width="300">
+ <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
+ </td>
+ <td valign="top">
+ <h1 align="center">{{Library}}</h1>
+ <h2 align="center">Frequently Asked Questions (FAQs)</h2>
+ </td>
+ </tr>
+</table>
+<hr>
+<dl class="page-index">
+ <dt><a href="#question1">{{question}}</a></dt>
+ <dt><a href="#question2">{{question}}</a></dt>
+</dl>
+<h2><a name="question1"></a>{{question}}</h2>
+<p>{{answer}}</p>
+<h2><a name="question2"></a>{{question}}</h2>
+<p>{{answer}}</p>
+<hr>
+<p>Revised
+ <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
+ 05 November, 2001
+ <!--webbot bot="Timestamp" endspan i-checksum="39359" -->
+</p>
+<p><i>&copy; Copyright <a href="mailto:{{address}}">{{author}}</a>
+ 2002. All Rights Reserved.</i></p>
+</body>
+</html>
diff --git a/more/writingdoc/template/header.html b/more/writingdoc/template/header.html
new file mode 100644
index 0000000000..201c198ecf
--- /dev/null
+++ b/more/writingdoc/template/header.html
@@ -0,0 +1,195 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="../../../boost.css">
+<title>{{library}} - Header &lt;{{header}}&gt;</title>
+</head>
+<body link="#0000ff" vlink="#800080">
+<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
+ "header">
+ <tr>
+ <td valign="top" width="300">
+ <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
+ </td>
+ <td valign="top">
+ <h1 align="center">{{library}}</h1>
+ <h2 align="center">Header &lt;{{header}}&gt;</h2>
+ </td>
+ </tr>
+</table>
+<hr>
+<h2>Contents</h2>
+<dl class="page-index">
+ <dt><a href="#introduction">Introduction</a></dt>
+ <dt><a href="#macros">Macros</a></dt>
+ <dl class="page-index">
+ <dt><a href="#macro-spec">{{macro name}}</a></dt>
+ </dl>
+ <dt><a href="#values">Values</a></dt>
+ <dl class="page-index">
+ <dt><a href="#value-spec">{{value name}}</a></dt>
+ </dl>
+ <dt><a href="#types">Types</a></dt>
+ <dl class="page-index">
+ <dt><a href="#type-spec">{{type name}}</a></dt>
+ </dl>
+ <dt><a href="#classes">Classes</a></dt>
+ <dl class="page-index">
+ <dt><a href="#class-spec">Class <code>{{class name}}</code></a></dt>
+ <dl class="page-index">
+ <dt><a href="#class-spec-synopsis">Class <code>{{class name}}</code> synopsis</a></dt>
+ <dt><a href="#class-spec-ctors">Class <code>{{class name}}</code> constructors and destructor</a></dt>
+ <dt><a href="#class-spec-comparisons">Class <code>{{class name}}</code> comparison functions</a></dt>
+ <dt><a href="#class-spec-modifiers">Class <code>{{class name}}</code> modifier functions</a></dt>
+ <dt><a href="#class-spec-observers">Class <code>{{class name}}</code> observer functions</a></dt>
+ <dt><a href="#class-spec-statics">Class <code>{{class name}}</code> static functions</a></dt>
+ </dl>
+ </dl>
+ <dt><a href="#functions">Functions</a></dt>
+ <dl class="page-index">
+ <dt><a href="#function-spec">{{function name}}</a></dt>
+ </dl>
+ <dt><a href="#objects">Objects</a></dt>
+ <dl class="page-index">
+ <dt><a href="#object-spec">{{object name}}</a></dt>
+ </dl>
+ <dt><a href="#examples">Example(s)</a></dt>
+</dl>
+<hr>
+<h2><a name="introduction"></a>Introduction</h2>
+<p>{{Introductory text}}</p>
+<h2><a name="macros"></a>Macros</h2>
+<p><a name="macro-spec"></a>{{Macro specifications}}</p>
+<h2><a name="values"></a>Values</h2>
+<p><a name="value-spec"></a>{{Value specifications}}</p>
+<h2><a name="types"></a>Types</h2>
+<p><a name="type-spec"></a>{{Type specifications}}</p>
+<h2><a name="classes"></a>Classes</h2>
+<h3><a name="class-spec"></a>Class <code>{{class name}}</code></h3>
+<p>{{class overview text}}</p>
+<h4><a name="class-spec-synopsis"></a>Class <code>{{class name}}</code> synopsis</h4>
+<pre>
+namespace boost
+{
+ class {{class name}}
+ {
+ };
+};
+</pre>
+<h4><a name="class-spec-ctors"></a>Class <code>{{class name}}</code> constructors and destructor</h4>
+<pre>
+{{constructor}}
+</pre>
+<dl class="function-semantics">
+ <dt><b>Requires:</b> {{text}}</dt>
+ <dt><b>Effects:</b> {{text}}</dt>
+ <dt><b>Postconditions:</b> {{text}}</dt>
+ <dt><b>Returns:</b> {{text}}</dt>
+ <dt><b>Throws:</b> {{text}}</dt>
+ <dt><b>Complexity:</b> {{text}}</dt>
+ <dt><b>Note:</b> {{text}}</dt>
+ <dt><b>Danger:</b> {{text}}</dt>
+ <dt><b>Rationale:</b> {{text}}</dt>
+</dl>
+<pre>
+{{destructor}}
+</pre>
+<dl class="function-semantics">
+ <dt><b>Requires:</b> {{text}}</dt>
+ <dt><b>Effects:</b> {{text}}</dt>
+ <dt><b>Postconditions:</b> {{text}}</dt>
+ <dt><b>Returns:</b> {{text}}</dt>
+ <dt><b>Throws:</b> {{text}}</dt>
+ <dt><b>Complexity:</b> {{text}}</dt>
+ <dt><b>Note:</b> {{text}}</dt>
+ <dt><b>Danger:</b> {{text}}</dt>
+ <dt><b>Rationale:</b> {{text}}</dt>
+</dl>
+<h4><a name="class-spec-comparisons"></a>Class <code>{{class name}}</code> comparison functions</h4>
+<pre>
+{{function}}
+</pre>
+<dl class="function-semantics">
+ <dt><b>Requires:</b> {{text}}</dt>
+ <dt><b>Effects:</b> {{text}}</dt>
+ <dt><b>Postconditions:</b> {{text}}</dt>
+ <dt><b>Returns:</b> {{text}}</dt>
+ <dt><b>Throws:</b> {{text}}</dt>
+ <dt><b>Complexity:</b> {{text}}</dt>
+ <dt><b>Note:</b> {{text}}</dt>
+ <dt><b>Danger:</b> {{text}}</dt>
+ <dt><b>Rationale:</b> {{text}}</dt>
+</dl>
+<h4><a name="class-spec-modifiers"></a>Class <code>{{class name}}</code> modifier functions</h4>
+<pre>
+{{function}}
+</pre>
+<dl class="function-semantics">
+ <dt><b>Requires:</b> {{text}}</dt>
+ <dt><b>Effects:</b> {{text}}</dt>
+ <dt><b>Postconditions:</b> {{text}}</dt>
+ <dt><b>Returns:</b> {{text}}</dt>
+ <dt><b>Throws:</b> {{text}}</dt>
+ <dt><b>Complexity:</b> {{text}}</dt>
+ <dt><b>Note:</b> {{text}}</dt>
+ <dt><b>Danger:</b> {{text}}</dt>
+ <dt><b>Rationale:</b> {{text}}</dt>
+</dl>
+<h4><a name="class-spec-observers"></a>Class <code>{{class name}}</code> observer functions</h4>
+<pre>
+{{function}}
+</pre>
+<dl class="function-semantics">
+ <dt><b>Requires:</b> {{text}}</dt>
+ <dt><b>Effects:</b> {{text}}</dt>
+ <dt><b>Postconditions:</b> {{text}}</dt>
+ <dt><b>Returns:</b> {{text}}</dt>
+ <dt><b>Throws:</b> {{text}}</dt>
+ <dt><b>Complexity:</b> {{text}}</dt>
+ <dt><b>Note:</b> {{text}}</dt>
+ <dt><b>Danger:</b> {{text}}</dt>
+ <dt><b>Rationale:</b> {{text}}</dt>
+</dl>
+<h4><a name="class-spec-statics"></a>Class <code>{{class name}}</code> static functions</h4>
+<pre>
+{{function}}
+</pre>
+<dl class="function-semantics">
+ <dt><b>Requires:</b> {{text}}</dt>
+ <dt><b>Effects:</b> {{text}}</dt>
+ <dt><b>Postconditions:</b> {{text}}</dt>
+ <dt><b>Returns:</b> {{text}}</dt>
+ <dt><b>Throws:</b> {{text}}</dt>
+ <dt><b>Complexity:</b> {{text}}</dt>
+ <dt><b>Note:</b> {{text}}</dt>
+ <dt><b>Danger:</b> {{text}}</dt>
+ <dt><b>Rationale:</b> {{text}}</dt>
+</dl>
+<h2><a name="functions"></a>Functions</h2>
+<pre>
+<a name="function-spec"></a>{{function}}
+</pre>
+<dl class="function-semantics">
+ <dt><b>Requires:</b> {{text}}</dt>
+ <dt><b>Effects:</b> {{text}}</dt>
+ <dt><b>Postconditions:</b> {{text}}</dt>
+ <dt><b>Returns:</b> {{text}}</dt>
+ <dt><b>Throws:</b> {{text}}</dt>
+ <dt><b>Complexity:</b> {{text}}</dt>
+ <dt><b>Note:</b> {{text}}</dt>
+ <dt><b>Danger:</b> {{text}}</dt>
+ <dt><b>Rationale:</b> {{text}}</dt>
+</dl>
+<h2><a name="objects"></a>Objects</h2>
+<p><a name="object-spec"></a>{{Object specifications}}</p>
+<h2><a name="examples"></a>Example(s)</h2>
+<p>{{Example(s)}}</p>
+<p>Revised
+ <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
+ 05 November, 2001
+ <!--webbot bot="Timestamp" endspan i-checksum="39359" -->
+</p>
+<p><i>&copy; Copyright <a href="mailto:{{address}}">{{author}}</a>
+ 2002. All Rights Reserved.</i></p>
+</body>
+</html>
diff --git a/more/writingdoc/template/index.html b/more/writingdoc/template/index.html
new file mode 100644
index 0000000000..fe5bb0d4f5
--- /dev/null
+++ b/more/writingdoc/template/index.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="../../../boost.css">
+<title>{{Library}}</title>
+</head>
+<body link="#0000ff" vlink="#800080">
+<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
+ "header">
+ <tr>
+ <td valign="top" width="300">
+ <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
+ </td>
+ <td valign="top">
+ <h1 align="center">{{Library}}</h1>
+ <h2 align="center">Index</h2>
+ </td>
+ </tr>
+</table>
+<hr>
+<h2>Contents</h2>
+<dl class="index">
+ <dt><a href="overview.html">Overview</a></dt>
+ <dt>Reference</dt>
+ <dl class="index">
+ <dt><a href="header.html">{{header}}</a></dt>
+ <dl class="index">
+ <dt><a href="header.html#macros">Macros</a></dt>
+ <dl class="index">
+ <dt><a href="header.html#macro-spec">{{macro name}}</a></dt>
+ </dl>
+ <dt><a href="header.html#values">Values</a></dt>
+ <dl class="index">
+ <dt><a href="header.html#value-spec">{{value name}}</a></dt>
+ </dl>
+ <dt><a href="header.html#types">Types</a></dt>
+ <dl class="index">
+ <dt><a href="header.html#value-spec">{{type name}}</a></dt>
+ </dl>
+ <dt><a href="header.html#classes">Classes</a></dt>
+ <dl class="index">
+ <dt><a href="header.html#value-spec">{{class name}}</a></dt>
+ </dl>
+ <dt><a href="header.html#functions">Functions</a></dt>
+ <dl class="index">
+ <dt><a href="header.html#value-spec">{{function name}}</a></dt>
+ </dl>
+ <dt><a href="header.html#objects">Objects</a></dt>
+ <dl class="index">
+ <dt><a href="header.html#value-spec">{{object name}}</a></dt>
+ </dl>
+ </dl>
+ </dl>
+ <dt><a href="configuration.html">Configuration Information</a></dt>
+ <dt><a href="rationale.html">Rationale</a></dt>
+ <dt><a href="definitions.html">Definitions</a></dt>
+ <dt><a href="faq.html">Frequently Asked Questions (FAQs)</a></dt>
+ <dt><a href="bibliography.html">Bibliography</a></dt>
+ <dt><a href="acknowledgments.html">Acknowledgments</a></dt>
+</dl>
+<hr>
+<p>Revised
+ <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
+ 05 November, 2001
+ <!--webbot bot="Timestamp" endspan i-checksum="39359" -->
+</p>
+<p><i>&copy; Copyright <a href="mailto:{{address}}">{{author}}</a>
+ 2002. All Rights Reserved.</i></p>
+</body>
+</html>
diff --git a/more/writingdoc/template/overview.html b/more/writingdoc/template/overview.html
new file mode 100644
index 0000000000..742afc84d9
--- /dev/null
+++ b/more/writingdoc/template/overview.html
@@ -0,0 +1,47 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="../../../boost.css">
+<title>{{Library}} - Overview</title>
+</head>
+<body link="#0000ff" vlink="#800080">
+<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
+ "header">
+ <tr>
+ <td valign="top" width="300">
+ <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
+ </td>
+ <td valign="top">
+ <h1 align="center">{{Library}}</h1>
+ <h2 align="center">Overview</h2>
+ </td>
+ </tr>
+</table>
+<hr>
+<dl class="index">
+ <dt><a href="#introduction">Introduction</a></dt>
+ <dt><a href="#topic1">First topic</a></dt>
+ <dt><a href="#topic2">Second topic</a></dt>
+ <dt><a href="#footnotes">Footnotes</a></dt>
+</dl>
+<h2><a name="introduction"></a>Introduction</h2>
+<p>{{text}}</p>
+<h2><a name="topic1"></a>First Topic</h2>
+<p>{{text}}</p>
+<h2><a name="topic2"></a>Second Topic</h2>
+<p>{{text}}</p>
+<h2><a name="footnotes"></a>Footnotes</h2>
+<dl>
+ <dt><a name="footnote1" class="footnote">(1)</a> {{text}}</dt>
+ <dt><a name="footnote2" class="footnote">(2)</a> {{text}}</dt>
+</dl>
+<hr>
+<p>Revised
+ <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
+ 05 November, 2001
+ <!--webbot bot="Timestamp" endspan i-checksum="39359" -->
+</p>
+<p><i>&copy; Copyright <a href="mailto:{{address}}">{{author}}</a>
+ 2002. All Rights Reserved.</i></p>
+</body>
+</html>
diff --git a/more/writingdoc/template/rationale.html b/more/writingdoc/template/rationale.html
new file mode 100644
index 0000000000..3476928aea
--- /dev/null
+++ b/more/writingdoc/template/rationale.html
@@ -0,0 +1,47 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="../../../boost.css">
+<title>{{Library}} - Rationale</title>
+</head>
+<body link="#0000ff" vlink="#800080">
+<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
+ "header">
+ <tr>
+ <td valign="top" width="300">
+ <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
+ </td>
+ <td valign="top">
+ <h1 align="center">{{Library}}</h1>
+ <h2 align="center">Rationale</h2>
+ </td>
+ </tr>
+</table>
+<hr>
+<dl class="index">
+ <dt><a href="#introduction">Introduction</a></dt>
+ <dt><a href="#topic1">First topic</a></dt>
+ <dt><a href="#topic2">Second topic</a></dt>
+ <dt><a href="#footnotes">Footnotes</a></dt>
+</dl>
+<h2><a name="introduction"></a>Introduction</h2>
+<p>{{text}}</p>
+<h2><a name="topic1"></a>First Topic</h2>
+<p>{{text}}</p>
+<h2><a name="topic2"></a>Second Topic</h2>
+<p>{{text}}</p>
+<h2><a name="footnotes"></a>Footnotes</h2>
+<dl>
+ <dt><a name="footnote1" class="footnote">(1)</a> {{text}}</dt>
+ <dt><a name="footnote2" class="footnote">(2)</a> {{text}}</dt>
+</dl>
+<hr>
+<p>Revised
+ <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
+ 05 November, 2001
+ <!--webbot bot="Timestamp" endspan i-checksum="39359" -->
+</p>
+<p><i>&copy; Copyright <a href="mailto:{{address}}">{{author}}</a>
+ 2002. All Rights Reserved.</i></p>
+</body>
+</html>
diff --git a/people/aleksey_gurtovoy.htm b/people/aleksey_gurtovoy.htm
new file mode 100644
index 0000000000..9ea27984cd
--- /dev/null
+++ b/people/aleksey_gurtovoy.htm
@@ -0,0 +1,43 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Aleksey Gurtovoy</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/aleksey_gurtovoy.jpg"><img border="0" src="http://boost.sourceforge.net/photos/aleksey_gurtovoy_small.jpg" alt="http://boost.sourceforge.net/photos/aleksey_gurtovoy.jpg (12871 bytes)" align="left" hspace="10" vspace="5" width="100" height="120"></a></p>
+ <p>Aleksey Gurtovoy is a Russian guy from Siberia, who now lives and
+ works in the United States. He is a technical lead at <a href="http://www.meta-comm.com">
+ MetaCommunications</a>, a job and people which have taught him so much.</p>
+ <p>He was born in early 1977, has been in love with computers since 1989, and
+ still has a lot of exciting ideas for his &quot;spare time&quot; in the next
+ few years. He graduated with honors from Krasnoyarsk Technical State University in
+ 1998 with a Master Degree in Computer Science.</p>
+ <p>While being acknowledged as a talented programmer, Aleksey tries to be a
+ better engineer than he is now and hopes that reading good books will help him
+ with that task. He reads a lot. One of his favorite books about his
+ profession is 'The Mythical Man-Month' by Frederic P. Brooks, Jr.</p>
+ <p>Aleksey has been working with C++ since 1993, he loves the language, and is
+ involved in its progress. Sometimes you can come across his articles in the <a href="news:comp.lang.c++.moderated">
+ comp.lang.c++.moderated</a> and <a href="news:comp.std.c++">comp.std.c++</a><a>
+ newsgroups. The other numerous things Aleksey is interested in include
+ patterns, programming languages, organization
+ of software development process, and tools &amp; technologies which make
+ programmer's life easier (e.g. compilers).</p>
+ <p>He is not married, but he has in mind one great girl he hopes to be with
+ someday.</p>
+ <p>You can contact him by sending mail to </a><a href="mailto:alexy@meta-comm.com">alexy@meta-comm.com</a><a>.</p>
+ </a>
+ </body>
+</html>
diff --git a/people/beman_dawes.html b/people/beman_dawes.html
new file mode 100644
index 0000000000..4c946fae1f
--- /dev/null
+++ b/people/beman_dawes.html
@@ -0,0 +1,32 @@
+<html>
+ <head>
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Beman Dawes</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/beman_dawes.jpg"><img src="http://boost.sourceforge.net/photos/beman_dawes_small.jpg" alt="http://boost.sourceforge.net/photos/beman_dawes.jpg (62536 bytes)" border="0" align="left" hspace="10" vspace="5" width="100" height="133"></a>
+ Beman Dawes is a software developer from Virginia in the United States and the
+ founder of boost.org.</p>
+ <p>He is the author of the StreetQuick® geographic atlas library used by digital
+ map publishers to help people get really, really, lost.</p>
+ <p>He wrote his first computer program 40 years ago, and does not mourn the
+ passing of <a href="http://www.mta.ca/~amiller/ibm650/ibm650.htm">bi-quinary</a>
+ arithmetic.</p>
+ <p>Beman has been a voting member of the ANSI/ISO C++ Standards Committee since
+ 1992, and chaired the Library Working Group for five years.</p>
+ <p>He enjoys travel, sailing, hiking, and biking. He is married, and he and his
+ wife have three cats.</p>
+ <p>Email: <a href="mailto:bdawes@acm.org">bdawes@acm.org</a></p>
+ </body>
+</html>
diff --git a/people/darin_adler.htm b/people/darin_adler.htm
new file mode 100644
index 0000000000..337b343d07
--- /dev/null
+++ b/people/darin_adler.htm
@@ -0,0 +1,46 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Darin Adler</title>
+ </head>
+ <body>
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/darin_adler.jpg"><img border="0"
+ src="http://boost.sourceforge.net/photos/darin_adler_small.jpg"
+ alt="http://boost.sourceforge.net/photos/darin_adler.jpg (30416 bytes)" align="left" hspace="10" vspace="5" width="100" height="135"></a>Darin
+ Adler has been programming computers since 1976. He loves to do it.</p>
+ <p>His first major professional experience was at <a href="http://apple.com">Apple
+ Computer</a>. In 1988 he led the team that rewrote the Macintosh Finder in
+ C++. Before that project was completed, he was shanghaied to be the technical
+ lead for the System 7 project (these days they would call it &quot;Mac OS
+ 7&quot;). The group he formed to help him do that, the Blue Meanies, is still a <a href="http://www.cupertino.de/pages/archiv/EasterEggs/BlueMeanies.html">
+ legend</a> in the Apple community.</p>
+ <p>Since Apple, Darin has worked at <a href="http://www.generalmagic.com">General
+ Magic</a> as an architect of the <a href="http://www.google.com/search?q=Magic+Cap">
+ Magic Cap</a> OS, used the moniker <a href="http://bentspoon.com">Bent Spoon
+ Software</a> to do consulting, and helped start Eazel, a company that worked
+ to make Linux easier to use and developed the Nautilus graphical shell for <a href="http://www.gnome.org">
+ GNOME</a>. Since 1997, he has worked from his home in Los Angeles, CA,
+ collaborating with clients and coworkers in other locations.</p>
+ <p>He prefers to use and program Macintosh computers with C++. But work on the
+ GNOME project is best accomplished with a non-Macintosh PC. (That's why Darin
+ is sitting in front of <a href="http://boost.sourceforge.net/photos/darin_adler.jpg">two computers</a>.) The other
+ people working on the GNOME project don't like C++, so he's writing a lot of C
+ code these days.</p>
+ <p>The <a href="http://boost.sourceforge.net/photos/darin_adler.jpg">larger version</a> of his picture shows him hard
+ at work with his C++ guru, his daughter Sophia.</p>
+ <p>He has hobbies and stuff but you don't want to read about that here.</p>
+ <p>You can contact him by sending mail to <a href="mailto:darin@bentspoon.com">darin@bentspoon.com</a>.</p>
+ </body>
+</html>
diff --git a/people/daryle_walker.html b/people/daryle_walker.html
new file mode 100644
index 0000000000..83bee012ec
--- /dev/null
+++ b/people/daryle_walker.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<html>
+ <head>
+ <title>Daryle Walker</title>
+ </head>
+ <body bgcolor="white" text="black">
+ <table border="1" bgcolor="teal" cellpadding="2">
+ <tr>
+ <td bgcolor="white"><img src="../boost.png" alt="boost.png
+ (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="white"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="white"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="white"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="white"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="white"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/daryle_walker.jpg"><img src="http://boost.sourceforge.net/photos/daryle_walker.jpg" alt="http://boost.sourceforge.net/photos/daryle_walker.jpg (3618 bytes)" border="0" align="left" hspace="10" vspace="5" width="100" height="127"></a>
+ Daryle Walker, born and raised in the United States since 1973, needs to write
+ a fuller biography.</p>
+ </body>
+</html>
diff --git a/people/dave_abrahams.htm b/people/dave_abrahams.htm
new file mode 100644
index 0000000000..f486276d73
--- /dev/null
+++ b/people/dave_abrahams.htm
@@ -0,0 +1,34 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Dave Abrahams</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png
+ (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/dave_abrahams.jpg">
+ <img src="http://boost.sourceforge.net/photos/dave_abrahams_small.jpg"
+ alt="dave_abrahams.jpg (30926 bytes)" border="0" align="left" hspace="10" vspace="5" width="100" height="75"></a>
+ <a href="mailto:dave@boost-consulting.com">Dave Abrahams</a> is a founding
+ member and moderator of Boost, and an active member of the wider open-source
+ community. He has been an ANSI/ISO C++ committee member since 1996, and has
+ worked in the software industry since 1988. In 2001 He founded <a href="http://www.boost-consulting.com">
+ Boost Consulting</a>
+ , a company dedicated to providing professional support and development
+ services for the Boost C++ libraries and associated tools.
+ <p>
+ Dave often shows up at C++ standards committee meetings on a bicycle. He lives
+ in Somerville, Massachusetts with his beautiful wife, Luann.</p>
+ </body>
+</html>
diff --git a/people/dietmar_kuehl.htm b/people/dietmar_kuehl.htm
new file mode 100644
index 0000000000..a39d7806ef
--- /dev/null
+++ b/people/dietmar_kuehl.htm
@@ -0,0 +1,48 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Dietmar Kuehl </title>
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" WIDTH="277" HEIGHT="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home </big></font>
+ </a>
+ </td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries </big>
+ </font></a>
+ </td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People </big></font>
+ </a>
+ </td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ </big></font>
+ </a>
+ </td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More </big></font>
+ </a>
+ </td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/dietmar_kuehl.jpg"><img src="http://boost.sourceforge.net/photos/dietmar_kuehl_small.jpg" hspace="10" vspace="5" alt="dietmar_kuehl.jpg (57821 bytes)" border="0" align="left" WIDTH="100" HEIGHT="133"></a>Dietmar
+ Kuehl (the &quot;ue&quot; is actually a &quot;u-umlaut&quot;, ie. one of those
+ funny German characters which has two dots above it) was fork(2)ed in early
+ 1968.</p>
+ <p>He visited school more or less successfully from 1973 to 1987. In 1987 he
+ started to study at the Technical University of Berlin. He finished his studies
+ in 1997 with a Diplom (roughly the German equivalent of a masters) in
+ Mathematics. His thesis was &quot;Design Pattern for the Implementation of
+ Graph Algorithms&quot;; strike the &quot;Design Pattern&quot; and put in
+ &quot;Generic&quot; somehow to get an idea of the main topic. The thesis is
+ available from <a href="http://www.dietmar-kuehl.de/generic-graph-algorithms.pdf">
+ http://www.dietmar-kuehl.de/generic-graph-algorithms.pdf</a>.</p>
+ <p>Since 1997 he has worked as consultant for a small company called Claas
+ Solutions (the &quot;aa&quot; is no typo), mainly working for major German
+ banks. Since late 1995 Dietmar Kuehl has been one of the moderators of the
+ newsgroup <a href="news:comp.lang.c++.moderated">comp.lang.c++.moderated</a>.
+ He is active on the C++ Standards committee.</p>
+ <p>Email: <a href="mailto:dietmar_kuehl@yahoo.com">dietmar_kuehl@yahoo.com</a></p>
+ <p>Home page:&nbsp; <a href="http://www.dietmar-kuehl.de/">http://www.dietmar-kuehl.de/</a></p>
+ </body>
+</html>
diff --git a/people/doug_gregor.html b/people/doug_gregor.html
new file mode 100644
index 0000000000..f2ad611e36
--- /dev/null
+++ b/people/doug_gregor.html
@@ -0,0 +1,42 @@
+<html>
+ <head>
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Doug Gregor</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a
+ href="http://boost.sourceforge.net/photos/doug_gregor.jpg"><img
+ src="http://boost.sourceforge.net/photos/doug_gregor_small.jpg"
+ alt="doug_gregor.jpg (62536 bytes)" border="0" align="left"
+ hspace="10" vspace="5" width="100" height="133"></a> <p>Doug is a
+ post-doctoral research fellow in the <a
+ href="http://www.osl.iu.edu">Open Systems Lab</a>, part of the <a
+ href="http://www.cs.indiana.edu">Computer Science</a> department
+ at <a href="http://www.iub.edu">Indiana University,
+ Bloomington.</a>.
+
+ <p>As a generic programming zealot, his search for the One True
+ Generic Language has seen him through the trials of the <a
+ href="http://www.cs.rpi.edu/research/gpg">Generic Programming
+ Group</a>, and <a href="http://www.boost.org">many</a> <a
+ href="http://www.open-std.org/jtc1/sc22/wg21/">diversions</a>.
+
+ <p>When not hunched over in front of an <a
+ href="http://www.xemacs.org">XEmacs</a> window, Doug looks to his
+ wife Amy to help him navigate through the daylight. Once there, he
+ enjoys tennis and the occasional game of paintball. <p>Email:
+ dgregor -at- cs.indiana.edu</p> <p>Home page: <a
+ href="http://www.osl.iu.edu/~dgregor"><code>http://www.osl.iu.edu/~dgregor</code></a>
+ </body>
+</html>
diff --git a/people/ed_brey.htm b/people/ed_brey.htm
new file mode 100644
index 0000000000..38033875e1
--- /dev/null
+++ b/people/ed_brey.htm
@@ -0,0 +1,45 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Ed Brey</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/ed_brey.jpg"><img src="http://boost.sourceforge.net/photos/ed_brey_small.jpg" alt="ed_brey.jpg" border="0" align="left" hspace="10" vspace="5" width="100" height="133"></a>
+ Ed Brey lives in Menomonee Falls, Wisconsin, a village outside of Milwaukee. In
+ the summertime, he likes to play tennis with his wife, and in the winter, if
+ there is enough snow, he likes to go tobogganing or ice-skating. If it is not
+ nice enough outside for either of those, he plays on the piano.
+ <p>Ed works at <a href="http://www.eaton.com">Eaton Corporation</a> in Milwaukee.
+ He started working there as part of <a href="http://www.mu.edu">Marquette
+ University</a>'s engineering co-op program. Upon graduation in 1995 from
+ Marquette with a BS in electrical and computer engineering, he was hired on
+ full-time, where he initially worked on firmware for industrial controls. More
+ recently, he has been working on a PC-based configuration tool for industrial
+ networks. Ed received his MS in computer engineering in 2001 from <a href="http://www.ntu.edu">
+ NTU</a>
+ .
+ <p>
+ Ed has held programming as a pastime since his grade school days, when he wrote
+ a babysitting invoicing program. Soon after, he wrote a game inspired by the TV
+ game show &ldquo;Press Your Luck&rdquo;. Ever since, programming languages and
+ concepts, along with finding ways to improve the art and science of coding
+ software, have always peeked his interest.
+ <p>Lastly, Ed has managed to retain his perspective. As fun as computers and
+ programming are, Ed's true loves in life are the Lord Jesus whom he serves and
+ his dear wife Beth.</p>
+ <hr>
+ <p>Home page: <a href="http://BreyFamily.net">http://BreyFamily.net</a>
+ </body>
+</html>
diff --git a/people/eric_friedman.htm b/people/eric_friedman.htm
new file mode 100644
index 0000000000..bdcdfc3c5e
--- /dev/null
+++ b/people/eric_friedman.htm
@@ -0,0 +1,40 @@
+<html>
+<head>
+<title>Eric Friedman</title>
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+
+<table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+</table>
+<p>
+
+<a href="http://boost.sourceforge.net/photos/eric_friedman.jpg">
+ <img border="0" src="http://boost.sourceforge.net/photos/eric_friedman_small.jpg" alt="eric_friedman.jpg" align="left" hspace="10" vspace="5" width="100" height="131">
+</a>
+
+Eric Friedman is an undergraduate at Stanford University. Born in 1984, he
+discovered programming at 10 and Boost at 17. He is a Computer Science major,
+with interests in Political Science and Arabic.<br>
+<br>
+Eric is co-author of the <a href="../libs/variant/index.html">Variant library</a> and
+intends to author more.<br>
+<br>
+He enjoys rap music, discussing politics, and, of course, programming.<br>
+<br>
+Though not starving, Eric is a college student and so appreciates both
+spontaneous donations and internship opportunities. He can be contacted at
+<a href="mailto:ebf@users.sourceforge.net">ebf@users.sourceforge.net</a>.
+
+</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/people/fernando_cacciola.html b/people/fernando_cacciola.html
new file mode 100644
index 0000000000..e3147a1597
--- /dev/null
+++ b/people/fernando_cacciola.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+ <title>Fernando Cacciola</title>
+ <link rel="stylesheet" href="../boost.css" type="text/css">
+</head>
+
+ <body>
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (8819 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p>
+ <a href="http://boost.sourceforge.net/photos/fernando_cacciola.jpg"><img
+border="0"
+src="http://boost.sourceforge.net/photos/fernando_cacciola_small.jpg"
+alt="http://boost.sourceforge.net/photos/fernando_cacciola.jpg (38339 bytes)"
+align="left" width="100" height="96"></a>
+
+ <p>
+ <a href=mailto:fernando_cacciola@hotmail.com>Fernando Cacciola</a> has been programming since 1984 when he got his hand
+on a Tandy Color Computer II for the first time. He started with BASIC at the time, but quickly moved to Assembly Language to get
+the most out of the Home Computers of the time (from a Sinclair 1500 [Z80] to a Commodore 64 [Motorola 6510]).</p>
+
+ <p>
+ In 1990 he discovered
+the C programming language and started working as a professional programmer. In 1995 he discovered C++,
+ and during his long time employement in a company producing CAD systems, the
+ fields of Computational Geometry, Computer Graphics, Image Processing and
+ Numerics in general.</p>
+ <p>He studied Biochemistry at the John F. Kennedy (Argentina) University for 4 years, but had to drop because of his full-time job
+ as a programmer. He would complete a CS degree if he only had the time.</p>
+ <p>After 13 years of being an employed programmer (in just a couple of companies), by the end of 2003 he became a freelancer
+ and founded SciSoft, a company specialized in technically/scientifically-oriented software.</p>
+ <p>He loves to spend his spare-time, which isn't much, with his wife Silvia and his daugther Brisa. By the time of this writing (October 2004)
+ he is expecting a second child. If there's any time left, he enjoys stoping by a friend with his family, and studying math,
+ pyshics and chemistry. He would also enjoy some outdoor activity or sport, but there is no time left for this.</p>
+ <p>He was born in 1971 in Buenos Aires, Argentina.</p>
+ </body>
+</html> \ No newline at end of file
diff --git a/people/gary_powell.htm b/people/gary_powell.htm
new file mode 100644
index 0000000000..209ada13b1
--- /dev/null
+++ b/people/gary_powell.htm
@@ -0,0 +1,30 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Gary Powell</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/gary_powell.jpg"><img border="0" src="http://boost.sourceforge.net/photos/gary_powell_small.jpg" alt="gary_powell.jpg (13577 bytes)" align="left" hspace="10" vspace="5" width="100" height="133"></a>Gary
+ Powell has been messing around with C++ since '87 when he dreamed about adding
+ his own operators to the language. Since then he's been busy overloading
+ everything in sight, and working on bringing functional programming to C++.</p>
+ <p>He currently works for Sierra On-line <a href="http://www.sierra.com">http://www.sierra.com</a>
+ a division of Havas Interactive, a wholly owned subsidiary of Vivedi Universal
+ of France, <a href="http://www.vivendi.com">http://www.vivendi.com</a> as a
+ game programmer where he writes AI.</p>
+ <p>He can be reached at <a href="mailto:gary.powell@sierra.com">gary.powell@sierra.com</a>
+ but don't ask him how to solve the riddle of the left handed troll.</p>
+ </body>
+</html>
diff --git a/people/gennadiy_rozental.htm b/people/gennadiy_rozental.htm
new file mode 100644
index 0000000000..b0cf3fc454
--- /dev/null
+++ b/people/gennadiy_rozental.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+ <title>Gennadiy Rozental</title>
+ <link rel="stylesheet" href="../boost.css" type="text/css">
+</head>
+
+ <body>
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (8819 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p>
+ <a href="http://boost.sourceforge.net/photos/gennadiy_rozental.jpg"><img
+border="0"
+src="http://boost.sourceforge.net/photos/gennadiy_rozental_small.jpg"
+alt="http://boost.sourceforge.net/photos/gennadiy_rozental.jpg"
+align="left" width="100" height="75"></a> Gennadiy Rozental is a software
+ developer from Ukraine, who now lives in New Jersey, United States and work
+ for Thomson Financial in New York. He is married, with son and daughter.<p>
+ Gennadiy graduated from MIPT: Moscow Institute of Physics and Technology
+ with Master degree in computer science. Ever since Gennadiy has been
+ programming mostly in C++.<p>
+ In his spare time he not only works on boost, but also enjoy origami making.<p>
+ You can contact him by sending mail to rogeeff at mail dot com
+</body>
+</html> \ No newline at end of file
diff --git a/people/greg_colvin.htm b/people/greg_colvin.htm
new file mode 100644
index 0000000000..19be8bf0e2
--- /dev/null
+++ b/people/greg_colvin.htm
@@ -0,0 +1,34 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Greg Colvin</title>
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" WIDTH="277" HEIGHT="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home </big></font>
+ </a>
+ </td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries </big>
+ </font></a>
+ </td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People </big></font>
+ </a>
+ </td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ </big></font>
+ </a>
+ </td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More </big></font>
+ </a>
+ </td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/greg_colvin.jpg"><img src="http://boost.sourceforge.net/photos/greg_colvin_small.jpg" alt="greg_colvin.jpg (52k bytes)" border="0" align="left" hspace="10" vspace="5" WIDTH="100" HEIGHT="133"></a>
+ Dr. Greg Colvin has been hacking happily since 1972. He is a member of the
+ ANSI/ISO C++ standards committee and a Principal Member of Technical Staff with
+ the Java Products Group at Oracle Corporation. In his spare time he plays
+ apocalyptic electric blues guitar in his Colorado, USA home studio.</p>
+ </body>
+</html>
diff --git a/people/hartmut_kaiser.htm b/people/hartmut_kaiser.htm
new file mode 100644
index 0000000000..575a5042cb
--- /dev/null
+++ b/people/hartmut_kaiser.htm
@@ -0,0 +1,43 @@
+<html>
+
+<head>
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Harmut Kaiser</title>
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+
+ <p><a href="http://boost.sourceforge.net/photos/hartmut_kaiser.jpg">
+ <img src="http://boost.sourceforge.net/photos/hartmut_kaiser_small.jpg"
+ alt="http://boost.sourceforge.net/photos/hartmut_kaiser.jpg"
+ border="0" align="left" hspace="10" vspace="5" height="133"></a>
+ After 15+ interesting years that
+ Hartmut spent working in industrial
+ software development, he still tremendously enjoys working with modern
+ software development technologies and techniques. His preferred field of
+ interest is the software development in the area of object-oriented and
+ component-based programming in C++ and its application in complex
+ contexts, such as for spatial information systems, internet based
+ applications and parser technologies. Hartmut enjoys using and learning
+ about modern C++ programming techniques, such as template based generic
+ and meta-programming and preprocessor based meta-programming.</p>
+
+ <p>You can contact him by sending mail to: HartmutKaiser [at] t-online
+ [dot] de</p>
+
+</body>
+
+</html> \ No newline at end of file
diff --git a/people/herve_bronnimann.htm b/people/herve_bronnimann.htm
new file mode 100644
index 0000000000..240f25d900
--- /dev/null
+++ b/people/herve_bronnimann.htm
@@ -0,0 +1,46 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Herve Bronnimann</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home </big></font>
+ </a>
+ </td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries </big>
+ </font></a>
+ </td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People </big></font>
+ </a>
+ </td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ </big></font>
+ </a>
+ </td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More </big></font>
+ </a>
+ </td>
+ </tr>
+ </table>
+ <p><a
+href="http://boost.sourceforge.net/photos/herve_bronnimann.jpg"><img
+border="0"
+src="http://boost.sourceforge.net/photos/herve_bronnimann_small.jpg"
+alt="herve_bronnimann.jpg (12867 bytes)" align="left" hspace="10"
+vspace="5" width="100" height="133"></a>Herv&eacute;
+ Br&ouml;nnimann is an Assistant Professor at the
+ <a href="http://www.poly.edu">Polytechnic University</a> in Brooklyn, NY.
+ His research deals with computational geometry, algorithms, and
+ implementation.
+ Prior to crossing the Atlantic, he was a researcher at INRIA,
+ participating in the development of the
+ <a href="http://www.cgal.org">CGAL library</a> for geometric computation.<br>
+ <br>
+ In Boost, he is one of the authors of the Interval library, and of the
+ Minmax library.</p>
+ </body>
+</html>
diff --git a/people/howard_hinnant.htm b/people/howard_hinnant.htm
new file mode 100644
index 0000000000..37f764274e
--- /dev/null
+++ b/people/howard_hinnant.htm
@@ -0,0 +1,38 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Howard Hinnant</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home </big></font>
+ </a>
+ </td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries </big>
+ </font></a>
+ </td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People </big></font>
+ </a>
+ </td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ </big></font>
+ </a>
+ </td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More </big></font>
+ </a>
+ </td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/howard_hinnant.jpg"><img border="0" src="http://boost.sourceforge.net/photos/howard_hinnant_small.jpg" align="left" hspace="10" vspace="5" alt="howard_hinnant.jpg (19817 bytes)" width="100" height="97"></a>When
+ Howard Hinnant is not monkeying around, he is the principal author of the
+ Metrowerks CodeWarrior C++ library. He is also a member of the C++ Standards
+ committee.</p>
+ <p>Howard is married with four children, two dogs, one cat, a rabbit, an
+ undetermined number of rodents (which the cat ignores), and ... well, we're
+ really not sure what else. When not sitting in front of his computer, Howard
+ enjoys snow skiing and ... more, snow skiing.</p>
+ </body>
+</html>
diff --git a/people/hubert_holin.html b/people/hubert_holin.html
new file mode 100644
index 0000000000..3a050bf562
--- /dev/null
+++ b/people/hubert_holin.html
@@ -0,0 +1,46 @@
+<html>
+ <head>
+ <title>Hubert Holin</title>
+ <meta http-equiv="generator" content="Adobe GoLive 5">
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" WIDTH="277" HEIGHT="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home </big></font>
+ </a>
+ </td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries </big>
+ </font></a>
+ </td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People </big></font>
+ </a>
+ </td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ </big></font>
+ </a>
+ </td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More </big></font>
+ </a>
+ </td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/hubert_holin.jpg"><img src="http://boost.sourceforge.net/photos/hubert_holin_small.jpg" width="100" height="120" border="0" align="left"></a>Hubert
+ Holin is a mathematician. He is currently a civil servant of the french state
+ (no longer indentured, but still stuck). He has also worked as a developper in
+ a small french start-up , and as a math teacher in a private non-religious
+ higher-ed school.</p>
+ <p>His first programs were in assembly language/micro-code on an Hewlett-Packard <a href="http://www.hpmuseum.org/hp25.htm">
+ HP 25</a> hand-held calculator (a marked improvement over his father's use of
+ binary-on-strips-of-paper on some forgoten piece of metal...), back in the
+ mists of time. He is a Mac-using refugee of the Atari, and on a personal jihad
+ against The Evil Empire Of Computing &#153;.</p>
+ <p>Very much a Child of the World, he has lived in Europe, Africa, the U.S.A.,
+ and is married with a chinese girl (with whom he has both a daughter and a
+ son).</p>
+ <p></p>
+ <hr>
+ <p>Email: <a href="mailto:Hubert.Holin@Bigfoot.com">Hubert.Holin@Bigfoot.com</a></p>
+ <p>Home page: <a href="http://www.Bigfoot.com/~Hubert.Holin">http://www.Bigfoot.com/~Hubert.Holin</a></p>
+ </body>
+</html>
diff --git a/people/jaakko_jarvi.htm b/people/jaakko_jarvi.htm
new file mode 100644
index 0000000000..87b6c2e0f3
--- /dev/null
+++ b/people/jaakko_jarvi.htm
@@ -0,0 +1,28 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Jaakko Järvi</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/jaakko_jarvi.jpg"><img border="0" src="http://boost.sourceforge.net/photos/jaakko_jarvi_small.jpg" alt="jaakko_jarvi.jpg (25365 bytes)" align="center" hspace="10" vspace="5" width="100" height="82"></a></p>
+ <p>Jaakko Järvi is currently a researcher (Post doc) in the <a href="http://www.osl.iu.edu/">Open Systems Lab</a> at Indiana University.<br>
+ <br>
+ He's the author of the <a href="../libs/tuple/index.html">Tuple
+ Library</a> and co-author of the <a href="../libs/lambda/index.html">Lambda Library.</a><br>
+ <br>
+ He can be reached at <a href="mailto:jajarvi@cs.indiana.edu">jajarvi@cs.indiana.edu</a>.
+ </p>
+ </body>
+</html>
diff --git a/people/jeff_garland.html b/people/jeff_garland.html
new file mode 100644
index 0000000000..db902e24b2
--- /dev/null
+++ b/people/jeff_garland.html
@@ -0,0 +1,38 @@
+<html>
+ <head>
+ <title>Jeff Garland</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/jeff_garland.jpg"><img src="http://boost.sourceforge.net/photos/jeff_garland_small.jpg" alt="http://boost.sourceforge.net/photos/jeff_garland.jpg" border="0" align="left" hspace="10" vspace="5" width="100" height="133"></a>
+ Jeff Garland a software developer/consultant from sunny Phoenix,
+ Arizona USA (that's always UTC-7 since there's no DST in AZ).
+ He is the author of the
+ <a href="http://www.boost.org/doc/html/date_time.html">boost date-time library</a>
+ as well as a book on
+ <a href="http://www.largescalesoftwarearchitecture.com">representing software architecture</a>.
+
+ </p>
+ <p>Jeff has been distracted from finishing all those cool features people
+ want in date-time by running the
+ <a href="http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl">Boost Wiki</a>,
+ serving as a review manager, and a
+ <a href="http://www.boost.org/more/moderators.html">Boost Moderator</a>.
+ </p>
+ <p>On the rare day that he's not in front of a computer from morning till night you
+ might find him
+ out hiking, biking, or skiing in Arizona's mountains and canyons with his wife
+ and 2 daughters.</p>
+
+ <p>Email: <a href="mailto:jeff&#64;crystalclearsoftware.com">jeff at crystalclearsoftware.com</a></p>
+ </body>
+</html>
diff --git a/people/jens_maurer.htm b/people/jens_maurer.htm
new file mode 100644
index 0000000000..e599abe398
--- /dev/null
+++ b/people/jens_maurer.htm
@@ -0,0 +1,34 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Jens Maurer</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/jens_maurer.jpg"><img border="0" src="http://boost.sourceforge.net/photos/jens_maurer_small.jpg" alt="jens_maurer.jpg (15698 bytes)" hspace="10" vspace="5" align="left" width="100" height="124"></a>
+ Jens Maurer is a software developer from Germany who lives close to
+ Frankfurt/Main. He was born in 1973 and hasn't died yet.</p>
+ <p>He has worked for a multimedia company programming home-banking applications,
+ CGI scripts and Java applications. He also helped program some simulation
+ systems for long-term decision support to aid businessmen in arguing about
+ company investments.</p>
+ <p>He is neither married nor does he have a girl friend, but asked his colleagues
+ to find one for him.</p>
+ <p>In his spare time, he likes visiting foreign countries but dislikes getting
+ there in uncomfortable airplane seats. On random week-ends, he enjoys
+ participating in historic dance courses (without a costume, of course).
+ Sometimes, he needs fresh air and goes for a walk.&nbsp;</p>
+ <p>Email: <a href="mailto:Jens.Maurer@gmx.net">Jens.Maurer@gmx.net</a></p>
+ </body>
+</html>
diff --git a/people/jeremy_siek.htm b/people/jeremy_siek.htm
new file mode 100644
index 0000000000..d79516c3ad
--- /dev/null
+++ b/people/jeremy_siek.htm
@@ -0,0 +1,42 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Jeremy Siek</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home </big></font>
+ </a>
+ </td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries </big>
+ </font></a>
+ </td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People </big></font>
+ </a>
+ </td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ </big></font>
+ </a>
+ </td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More </big></font>
+ </a>
+ </td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/jeremy_siek.jpg"><img border="0" src="http://boost.sourceforge.net/photos/jeremy_siek_small.jpg" alt="jeremy_siek.jpg (12867 bytes)" align="left" hspace="10" vspace="5" width="100" height="133"></a>Jeremy
+ Siek is a Ph.D. student at Indiana Univ. Bloomington.<br>
+ <br>
+ He is the author of the Matrix Template Library (MTL), and helped design the
+ Generic Graph Component Library, which is now the Boost Graph Library (BGL).<br>
+ <br>
+ Once in a while Jeremy "comes up for air" and enjoys fencing, hiking, skiing,
+ and reading. He's also been spotted at a few fightin' irish tailgaters (BYOB).<br>
+ <br>
+ Jeremy has an intense fear for the ancient dark forests where dusty decks
+ thrive and devour programmers, places where the light of abstraction has not
+ yet reached.</p>
+ </body>
+</html>
diff --git a/people/joaquin_lopez.htm b/people/joaquin_lopez.htm
new file mode 100644
index 0000000000..d37546a39e
--- /dev/null
+++ b/people/joaquin_lopez.htm
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
+
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz</title>
+</head>
+
+<body bgcolor="#FFFFFF">
+<table cellPadding="2" bgColor="#007f7f" border="1">
+ <tr>
+ <td bgColor="#ffffff">
+ <img alt="boost.png (6897 bytes)" src="../boost.png" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#ffffff"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#ffffff"><big> Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#ffffff"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#ffffff"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#ffffff"><big>More</big></font></a></td>
+ </tr>
+</table>
+
+<p>
+<a href="http://boost.sourceforge.net/photos/joaquin_lopez.jpg">
+<img border="0"
+ src="http://boost.sourceforge.net/photos/joaquin_lopez_small.jpg"
+ alt="http://boost.sourceforge.net/photos/joaquin_lopez.jpg (30625 bytes)"
+ align="left" hspace="10" vspace="5" width="100" height="135">
+</a> Joaqu&iacute;n is a telecom engineer from the <a href="http://www.upm.es">Polytechnic
+University of Madrid</a>. He currently works at
+<a href="http://www.tid.es">Telef&oacute;nica, Investigaci&oacute;n y Desarrollo</a>,
+the R&D branch of the Telef&oacute;nica Group, where he leads a small group
+of developers of multimedia mobile applications. Though actual programming is not
+one of his job responsibilities, he still does some C++ for fun when nobody's around.
+</p>
+
+<p>
+Joaqu&iacute;n's professional career began with his first exposure
+to a Dragon 32 (a Tandy TRS-80 clone) at the age of 13, though at the time he
+probably was unaware of the future impact of this event.
+He enjoys Mathematics, Logic and Latin; his lower case interests include paper
+folding, compulsory reading, travel and visiting all sorts of pubs and restaurants.
+You can contact him at <a href="mailto:joaquin@tid.es">joaquin@tid.es</a>.
+</p>
+
+</body>
+</html>
+
diff --git a/people/joel_de_guzman.htm b/people/joel_de_guzman.htm
new file mode 100644
index 0000000000..eaf18c4fb4
--- /dev/null
+++ b/people/joel_de_guzman.htm
@@ -0,0 +1,44 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Joel de Guzman</title>
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/joel_de_guzman.jpg">
+ <img src="http://boost.sourceforge.net/photos/joel_de_guzman_small.jpg"
+ alt="http://boost.sourceforge.net/photos/joel_de_guzman.jpg"
+ border="0" align="left" hspace="10" vspace="5" height="133"></a>
+
+ Joel got into electronics and programming in the 80s because almost
+ everything in music, his first love, is becoming electronic and digital.
+ Back then, he used to build his own guitars, effect boxes and synths. He
+ enjoys playing distortion-laden rock guitar, composes and produces his own
+ music in his home studio.</p>
+ <p>In the 90s, he went to Japan and worked there as a software engineer.
+ There, he learned C++ and immediately fell in love it. He's still trying his
+ best to master the language in all its immensity.</p>
+
+<p>Joel is quite adept in writing code using modern C++ techniques such as template
+ metaprogramming and C++ functional programming. He's very happy and enthusiastic
+ with his current job as a consultant and engineer at <a href="http://www.boost-consulting.com">Boost
+ Consulting</a>.</p>
+
+</body>
+
+</html> \ No newline at end of file
diff --git a/people/john_maddock.htm b/people/john_maddock.htm
new file mode 100644
index 0000000000..1c98748f0d
--- /dev/null
+++ b/people/john_maddock.htm
@@ -0,0 +1,34 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
+ <title>John Maddock</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" cellpadding="2" bgcolor="#007F7F">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font color="#FFFFFF" size="4" face="Arial">Home </font></a>
+ </td>
+ <td><a href="../libs/libraries.htm"><font color="#FFFFFF" size="4" face="Arial">Libraries
+ </font></a>
+ </td>
+ <td><a href="people.htm"><font color="#FFFFFF" size="4" face="Arial">People </font></a>
+ </td>
+ <td><a href="../more/faq.htm"><font color="#FFFFFF" size="4" face="Arial">FAQ </font>
+ </a>
+ </td>
+ <td><a href="../more/index.htm"><font color="#FFFFFF" size="4" face="Arial">More </font>
+ </a>
+ </td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/john_maddock.jpg"><img src="http://boost.sourceforge.net/photos/john_maddock_small.jpg" alt="john_maddock.jpg (14611bytes)" align="left" border="0" hspace="10" vspace="5" width="100" height="133"></a>
+ John Maddock is a software developer from England and holds a PhD in Chemistry,
+ but found that computers smell less and explode less often!</p>
+ <p>John is the author of the <a href="http://ourworld.compuserve.com/homepages/John_Maddock/regexpp.htm">
+ regex++ regular expression package</a>, has an almost pathological interest
+ in anything that &quot;can't be done&quot;, and can be contacted at <a href="mailto:john@johnmaddock.co.uk">
+ john@johnmaddock.co.uk</a>.</p>
+ </body>
+</html>
diff --git a/people/jonathan_turkanis.htm b/people/jonathan_turkanis.htm
new file mode 100755
index 0000000000..a7a56c8234
--- /dev/null
+++ b/people/jonathan_turkanis.htm
@@ -0,0 +1,26 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Jonathan Turkanis</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png
+ (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/jonathan_turkanis.jpg">
+ <img src="http://boost.sourceforge.net/photos/jonathan_turkanis_small.jpg"
+ alt="jonathan_turkanis.jpg" border="0" align="left" hspace="10" vspace="5" width="100" height="133"></a>Jonathan Turkanis is a Ph.D. Candidate in mathematical logic at the University of California at Berkeley and a coauthor of the forthcoming <I>C++ Cookbook</I>, published by O'Reily.</p>
+ <p>You can contact him by sending mail to </a><a href="mailto:technews@kangaroologic.com">technews@kangaroologic.com</a><a>.</p>
+ </a>
+ </body>
+</html>
diff --git a/people/kevlin_henney.htm b/people/kevlin_henney.htm
new file mode 100644
index 0000000000..488cfedd28
--- /dev/null
+++ b/people/kevlin_henney.htm
@@ -0,0 +1,55 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Kevlin Henney</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home </big></font>
+ </a>
+ </td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries </big>
+ </font></a>
+ </td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People </big></font>
+ </a>
+ </td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ </big></font>
+ </a>
+ </td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More </big></font>
+ </a>
+ </td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/kevlin_henney.jpg"><img border="0" src="http://boost.sourceforge.net/photos/kevlin_henney_small.jpg" alt="kevlin_henney.jpg (18107 bytes)" align="left" hspace="10" vspace="5" width="100" height="142"></a>
+ Kevlin Henney (<a href="mailto:kevlin@curbralan.com">mailto:kevlin@curbralan.com</a>,
+ <a href="http://www.curbralan.com">http://www.curbralan.com</a>) is an
+ independent consultant and trainer based in the UK. He has developed and
+ delivered training course material and consultancy on many aspects of OO
+ development, which he has practiced across a number of domains for longer than
+ he cares (or can) remember. His professional interests include patterns, OO and
+ component-based design, architecture, distributed object systems, and
+ languages, including C++, C#, Java, and Ruby. He is also a member of the BSI
+ C++ standards committee.
+ </p>
+ <p>Now that writing code is no longer the core responsibility of his job, his
+ non-professional interests seem to include the hacking associated with the
+ aforementioned professional interests. However, never being one to keep
+ something to himself (like C++'s relationship with C, this is regarded as both
+ a strength and a weakness), he shares/inflicts (delete as necessary) his
+ professional and non-professional development experiences with/on (ditto)
+ others through writing articles and presenting tutorials, workshops and papers
+ at conferences.</p>
+ <p>He is married, and not just to his work. He and Carolyn have one child,
+ Stefan. The little spare time that remains to him is taken up with music,
+ reading, pub appreciation, etc. Although with a newborn, there is more reading
+ and less pub appreciation (pubs are still appreciated, but more in memory than
+ in interaction).&nbsp; Finally, although he enjoys writing, Kevlin is not
+ really one for writing in the third person.</p>
+ </body>
+</html>
diff --git a/people/liequan_lee.htm b/people/liequan_lee.htm
new file mode 100644
index 0000000000..6bdd16595d
--- /dev/null
+++ b/people/liequan_lee.htm
@@ -0,0 +1,28 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Lie-Quan Lee</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ &nbsp;
+ <p><a href="http://boost.sourceforge.net/photos/liequan_lee.jpg"><img border="0" src="http://boost.sourceforge.net/photos/liequan_lee_small.jpg" alt="liequan_lee.jpg (24165 bytes)" hspace="10" vspace="5" width="93" height="133" align="left"></a>Lie-Quan
+ Lee, AKA Rich Lee, is a graduate stduent in Computer Science at University of
+ Notre Dame. He is the author of the Generic Graph Component Library (GGCL).</p>
+ <p>He has a strong desire of learning to disassemble and assemable any electrical
+ appliances. He likes playing bridge but never had a chance to play it after he
+ entered the wonderful world of computers.</p>
+ <p>He can be contacted at liequan@slac.stanford.edu.</p>
+ </body>
+</html>
diff --git a/people/mac_murrett.htm b/people/mac_murrett.htm
new file mode 100644
index 0000000000..fd88adfe4a
--- /dev/null
+++ b/people/mac_murrett.htm
@@ -0,0 +1,27 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <title>Mac Murrett</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/mac_murrett.jpg"><img border="0" src="http://boost.sourceforge.net/photos/mac_murrett_small.jpg" alt="mac_murrett.jpg (19542 bytes)" align="left" hspace="10" vspace="5" width="100" height="135"></a>
+ Mac Murrett is an Advanced Developer at <a href="http://www.vanteon.com/">Vanteon</a>.
+ He lives in Rochester, NY, where everything closes at 10 PM. This gives him
+ plenty of time to think.</p>
+ <p>Mac graduated from SUNY: University at Buffalo with a degree in Mathematics.
+ He has been programming Macintoshes since he was 12 years old, and recently won <a href="http://www.hax.com/MacHack/HackContest.html">
+ the Best Hack Contest</a> at <a href="http://www.machack.com/">MacHack 2001<a />.
+ Nonetheless, he swears up and down that his name has nothing to do with the
+ computer.</p>
+ </body>
+</html>
diff --git a/people/mark_rodgers.htm b/people/mark_rodgers.htm
new file mode 100644
index 0000000000..5c3b723684
--- /dev/null
+++ b/people/mark_rodgers.htm
@@ -0,0 +1,33 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Mark Rodgers</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/mark_rodgers.jpg"><img border="0" src="http://boost.sourceforge.net/photos/mark_rodgers_small.jpg" alt="mark_rodgers.jpg (23035 bytes)" align="left" hspace="10" vspace="5" width="100" height="75"></a>Mark
+ Rodgers lives in <a href="http://www.wellington.govt.nz/">Wellington</a>,
+ the capital of New Zealand,
+ with his wife, Clare, and their son, Ronnie.</p>
+ <p>He studied Computer Science at <a href="http://www.vuw.ac.nz/home/index.asp">Victoria
+ University of Wellington</a> from 1983 to 1986, completing a <nobr>B.Sc.
+ (Hons).</nobr> He now works as consultant through his company, Cadenza New
+ Zealand Ltd, and also markets Cadenza Drawing Board™, a CAD system he
+ developed.</p>
+ <p>Mark has been programming in C++ since about 1990, and loves every minute of
+ it, but is continually amazed at how much more he still has to learn.</p>
+ <p>You can contact Mark at <a href="mailto:mark.rodgers@cadenza.co.nz">mark.rodgers@cadenza.co.nz</a>
+ .
+ </body>
+</html>
diff --git a/people/mat_marcus.htm b/people/mat_marcus.htm
new file mode 100644
index 0000000000..07710a1087
--- /dev/null
+++ b/people/mat_marcus.htm
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
+
+<html>
+ <head>
+ <meta name="generator" content=
+ "HTML Tidy for Cygwin (vers 1st April 2002), see www.w3.org">
+ <meta http-equiv="Content-Language" content="en-us">
+ <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <meta http-equiv="Content-Type" content=
+ "text/html; charset=windows-1252">
+
+ <title>Mat Marcus</title>
+ </head>
+
+ <body bgcolor="#FFFFFF">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt=
+ "boost.png (6897 bytes)" width="277" height="86"></td>
+
+ <td><a href="../index.htm"><font face="Arial" color=
+ "#FFFFFF"><big>Home</big></font></a></td>
+
+ <td><a href="../libs/libraries.htm"><font face="Arial" color=
+ "#FFFFFF"><big>Libraries</big></font></a></td>
+
+ <td><a href="people.htm"><font face="Arial" color=
+ "#FFFFFF"><big>People</big></font></a></td>
+
+ <td><a href="../more/faq.htm"><font face="Arial" color=
+ "#FFFFFF"><big>FAQ</big></font></a></td>
+
+ <td><a href="../more/index.htm"><font face="Arial" color=
+ "#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+
+ <p><a href="http://boost.sourceforge.net/photos/mat_marcus.jpg"><img
+ border="0" src="http://boost.sourceforge.net/photos/mat_marcus_small.jpg"
+ xthumbnail-orig-image="mat_marcus.jpg" width="112" height="130" align=
+ "left" hspace="10" vspace="5"></a></p>
+
+ <p><a href="http://www.emarcus.org">Mat Marcus</a> is a senior computer
+ scientist in the Software Technology Lab at Adobe Systems, Inc. He has
+ been developing software since 1985. Recent projects include a
+ collaboration with <a href="http://www.stepanovpapers.com">Alex
+ Stepanov</a> on a programming class and work on the <a href=
+ "http://opensource.adobe.com">Adobe Source Library</a>. Mat's first
+ contribution to Boost came in the summer of 2000, when he discovered a
+ way to exploit the properties of the sizeof operator to simulate partial
+ specialization (is_pointer, etc. with Jesse Jones). Mat lives in Seattle
+ with his wife and son.</p>
+ </body>
+</html>
+
diff --git a/people/paul_mensonides.htm b/people/paul_mensonides.htm
new file mode 100644
index 0000000000..60daab1624
--- /dev/null
+++ b/people/paul_mensonides.htm
@@ -0,0 +1,25 @@
+<html>
+ <head>
+ <title>Paul Mensonides</title>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p>
+ <a href="http://boost.sourceforge.net/photos/paul_mensonides.jpg"><img border="0" src="http://boost.sourceforge.net/photos/paul_mensonides_small.jpg" alt="paul_mensonides.jpg (286309 bytes)" align="left" hspace="10" vspace="5" width="100" height="131"></a>
+ Paul Mensonides was born on March 31 in 1977.&nbsp; He lives in Tacoma,
+ Washington.
+ </p>
+ <p>
+ His interests include musical composition, playing the guitar, skiing, and
+ programming--particularly in C and C++.
+ </p>
+ </body>
+</html>
diff --git a/people/paul_moore.htm b/people/paul_moore.htm
new file mode 100644
index 0000000000..ffbf11e322
--- /dev/null
+++ b/people/paul_moore.htm
@@ -0,0 +1,33 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Paul Moore</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/paul_moore.jpg"><img border="0" src="http://boost.sourceforge.net/photos/paul_moore_small.jpg" alt="paul_moore.jpg (12023 bytes)" align="left" hspace="10" vspace="5" width="100" height="81"></a>Paul
+ Moore lives in Cheshire, England. He is married, with one son. His &quot;day
+ job&quot; is as an Oracle DBA, but he writes C and C++ programs in his spare
+ time.</p>
+ <p>Paul started programming on Acorn's BBC Micro and RISC PC series of computers,
+ but finally went mainstream and bought a PC, on which he now runs Windows and
+ Linux. Paul's main interest is in porting and developing open-source software,
+ and so his main programming language is C (at least until the open source
+ community switches to C++).</p>
+ <p>Paul's main claim to C++ fame is that he owns all 3 editions of Bjarne
+ Stroustrup's &quot;The C++ Programming language&quot;, plus the ARM and the C++
+ standard, but he didn't own a C++ compiler until after the 3rd edition of
+ Stroustrup's book came out. Make of that what you will...</p>
+ </body>
+</html>
diff --git a/people/pavol_droba.htm b/people/pavol_droba.htm
new file mode 100644
index 0000000000..362c7ea6b1
--- /dev/null
+++ b/people/pavol_droba.htm
@@ -0,0 +1,42 @@
+<html>
+ <head>
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Pavol Droba</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p>
+ <a href="http://boost.sourceforge.net/photos/pavol_droba.jpg"><img border="0" src="http://boost.sourceforge.net/photos/pavol_droba_small.jpg" alt="http://boost.sourceforge.net/photos/pavol_droba.jpg (23801 bytes)" align="left" width="100" height="110"></a>
+ Pavol Droba lives in Bratislava, the capital of Slovakia with his beautiful wife Lenka.
+ </p>
+ <p>
+ Since childhood he has always been messing with computers in one way or the other until he
+ settled down with C++. Since then he did a lot of various projects but he retained his
+ affinity to his favorite programming language.
+ </p>
+ <p>
+ He loves to design nice programs that works and to see how the pieces of the puzzle called
+ design come together.
+ </p>
+ <p>
+ Currently he is a developer in a small company where he leads a group of 5 other guys.
+ </p>
+ <p>
+ When he is not at the computer Pavol enjoys his time with his wife. In winter he likes
+ skiing, in summer he does some scuba diving.
+ </p>
+ <p>
+ You can leave him a message at <a href="mailto:droba@topmail.sk">droba@topmail.sk</a>.
+ </p>
+ </body>
+</html>
diff --git a/people/people.htm b/people/people.htm
new file mode 100644
index 0000000000..f8f2c083ea
--- /dev/null
+++ b/people/people.htm
@@ -0,0 +1,212 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Boost People</title>
+ <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <meta name="Microsoft Border" content="none, default">
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF">
+ <img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <h1>Boost People</h1>
+ <p>(Click on the names for biographies)<br>
+ (Click on the images for enlarged images)</p>
+ <table border="0" cellpadding="4" cellspacing="4">
+ <tr>
+ <td><a href="dave_abrahams.htm">Dave Abrahams</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/dave_abrahams.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/dave_abrahams_small.jpg" alt="http://boost.sourceforge.net/photos/dave_abrahams.jpg (30926 bytes)" width="100" height="75"></a></td>
+ </tr>
+ <tr>
+ <td><a href="darin_adler.htm">Darin Adler</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/darin_adler.jpg"><img border="0" src="http://boost.sourceforge.net/photos/darin_adler_small.jpg" alt="http://boost.sourceforge.net/photos/darin_adler.jpg (30416 bytes)" width="100" height="133"></a></td>
+ </tr>
+ <tr>
+ <td><a href="ed_brey.htm">Ed Brey</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/ed_brey.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/ed_brey_small.jpg" alt="http://boost.sourceforge.net/photos/ed_brey.jpg (13913 bytes)" width="100" height="118"></a></td>
+ </tr>
+ <tr>
+ <td><a href="herve_bronnimann.htm">Herv&eacute; Br&ouml;nnimann</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/herve_bronnimann.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/herve_bronnimann_small.jpg" alt="http://boost.sourceforge.net/photos/herve_bronnimann.jpg (12867 bytes)" width="100" height="133"></a></td>
+ </tr>
+ <tr>
+ <td><a href="fernando_cacciola.html">Fernando Cacciola</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/fernando_cacciola.jpg"> <img src="http://boost.sourceforge.net/photos/fernando_cacciola_small.jpg" alt="http://boost.sourceforge.net/photos/fernando_cacciola.jpg (38339 bytes)" border="0" width="100" height="96"></a></td>
+ </tr>
+ <tr>
+ <td><a href="greg_colvin.htm">Greg Colvin</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/greg_colvin.jpg"> <img src="http://boost.sourceforge.net/photos/greg_colvin_small.jpg" alt="http://boost.sourceforge.net/photos/greg_colvin.jpg (52740 bytes)" border="0" width="100" height="133"></a></td>
+ </tr>
+ <tr>
+ <td><a href="beman_dawes.html">Beman Dawes</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/beman_dawes.jpg"> <img src="http://boost.sourceforge.net/photos/beman_dawes_small.jpg" alt="http://boost.sourceforge.net/photos/beman_dawes.jpg (47863 bytes)" border="0" width="100" height="133"></a></td>
+ </tr>
+ <tr>
+ <td><a href="joel_de_guzman.htm">Joel de Guzman</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/joel_de_guzman.jpg">
+ <img border="0" src="http://boost.sourceforge.net/photos/joel_de_guzman_small.jpg" alt="http://boost.sourceforge.net/photos/joel_de_guzman.jpg" width="100" height="124"></a></td>
+ </tr>
+ <tr>
+ <td><a href="peter_dimov.htm">Peter Dimov</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/peter_dimov.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/peter_dimov_small.jpg" alt="http://boost.sourceforge.net/photos/peter_dimov.jpg (56340 bytes)" width="100" height="123"></a></td>
+ </tr>
+ <tr>
+ <td><a href="pavol_droba.htm">Pavol Droba</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/pavol_droba.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/pavol_droba_small.jpg" alt="http://boost.sourceforge.net/photos/pavol_droba.jpg (23801 bytes)" width="100" height="110"></a></td>
+ </tr>
+
+ <tr>
+ <td><a href="eric_friedman.htm">Eric Friedman</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/eric_friedman.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/eric_friedman_small.jpg" alt="http://boost.sourceforge.net/photos/eric_friedman.jpg" width="100" height="130"></a></td>
+ </tr>
+ <tr>
+ <td><a href="ronald_garcia.htm">Ron Garcia</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/ronald_garcia.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/ronald_garcia_small.jpg" alt="http://boost.sourceforge.net/photos/ronald_garcia.jpg" width="92" height="133"></a></td>
+ </tr>
+ <tr>
+ <td><a href="jeff_garland.html">Jeff Garland</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/jeff_garland.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/jeff_garland_small.jpg" alt="http://boost.sourceforge.net/photos/jeff_garland.jpg" width="100" height="133"></a></td>
+ </tr>
+ <tr>
+ <td><a href="doug_gregor.html">Doug Gregor</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/doug_gregor.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/doug_gregor_small.jpg" alt="http://boost.sourceforge.net/photos/doug_gregor.jpg (30947 bytes)" width="100" height="133"></a></td>
+ </tr>
+ <tr>
+ <td><a href="ralf_w_grosse_kunstleve.htm">Ralf W Grosse-Kunstleve</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/ralf_w_grosse_kunstleve.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/ralf_w_grosse_kunstleve_sm.jpg" alt="http://boost.sourceforge.net/photos/ralf_w_grosse_kunstleve.jpg (29133 bytes)" width="100" height="134"></td>
+ </tr>
+ <tr>
+ <td><a href="aleksey_gurtovoy.htm">Aleksey Gurtovoy</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/aleksey_gurtovoy.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/aleksey_gurtovoy_small.jpg" alt="http://boost.sourceforge.net/photos/aleksey_gurtovoy.jpg (12871 bytes)" width="100" height="120"></a></td>
+ </tr>
+ <tr>
+ <td><a href="kevlin_henney.htm">Kevlin Henney</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/kevlin_henney.jpg"><img src="http://boost.sourceforge.net/photos/kevlin_henney_small.jpg" alt="http://boost.sourceforge.net/photos/kevlin_henney.jpg (27191 bytes)" border="0" width="100" height="133"></a></td>
+ </tr>
+ <tr>
+ <td><a href="howard_hinnant.htm">Howard Hinnant</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/howard_hinnant.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/howard_hinnant_small.jpg" alt="http://boost.sourceforge.net/photos/howard_hinnant.jpg (19817 bytes)" width="100" height="97"></a></td>
+ </tr>
+ <tr>
+ <td><a href="hubert_holin.html">Hubert Holin</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/hubert_holin.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/hubert_holin_small.jpg" alt="http://boost.sourceforge.net/photos/hubert_holin.jpg (xxx bytes)" width="100" height="120"></a></td>
+ </tr>
+ <tr>
+ <td><a href="http://www.josuttis.com">Nicolai Josuttis</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/nicolai_josuttis.jpg"> <img src="http://boost.sourceforge.net/photos/nicolai_josuttis_small.jpg" alt="http://boost.sourceforge.net/photos/nicolai_josuttis.jpg (40745 bytes)" border="0" width="100" height="133"></a></td>
+ </tr>
+ <tr>
+ <td><a href="jaakko_jarvi.htm">Jaakko Järvi</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/jaakko_jarvi.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/jaakko_jarvi_small.jpg" alt="http://boost.sourceforge.net/photos/jaakko_jarvi.jpg (25365 bytes)" width="100" height="82"></a></td>
+ </tr>
+ <tr>
+ <td><a href="hartmut_kaiser.htm">Hartmut Kaiser</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/hartmut_kaiser.jpg">
+ <img border="0" src="http://boost.sourceforge.net/photos/hartmut_kaiser_small.jpg" alt="http://boost.sourceforge.net/photos/hartmut_kaiser.jpg" width="100" height="144"></a></td>
+ </tr>
+ <tr>
+ <td><a href="vesa_karvonen.htm">Vesa Karvonen</a></td>
+ <td><img border="0" src="http://boost.sourceforge.net/photos/vesa_karvonen.jpg" width="100" height="133"></td>
+ </tr>
+ <tr>
+ <td><a href="william_kempf.htm">William Kempf</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/william_kempf.jpg"><img border="0" src="http://boost.sourceforge.net/photos/william_kempf_small.jpg" alt="http://boost.sourceforge.net/photos/william_kempf.jpg (10935 bytes)" width="100"></a></td>
+ </tr>
+ <tr>
+ <td><a href="samuel_krempp.htm">Samuel Krempp</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/samuel_krempp.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/samuel_krempp_small.jpg" alt="http://boost.sourceforge.net/photos/samuel_krempp.jpg" width="100" height="76"></a></td>
+ </tr>
+ <tr>
+ <td><a href="dietmar_kuehl.htm">Dietmar Kühl</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/dietmar_kuehl.jpg"> <img src="http://boost.sourceforge.net/photos/dietmar_kuehl_small.jpg" alt="http://boost.sourceforge.net/photos/dietmar_kuehl.jpg (57821 bytes)" border="0" width="100" height="133"></a></td>
+ </tr>
+ <tr>
+ <td><a href="liequan_lee.htm">Lie-Quan Lee</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/liequan_lee.jpg"><img border="0" src="http://boost.sourceforge.net/photos/liequan_lee_small.jpg" alt="http://boost.sourceforge.net/photos/liequan_lee.jpg (24165 bytes)" width="93" height="133"></a></td>
+ </tr>
+ <tr>
+ <td><a href="joaquin_lopez.htm">Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/joaquin_lopez.jpg"><img border="0" src="http://boost.sourceforge.net/photos/joaquin_lopez_small.jpg" alt="http://boost.sourceforge.net/photos/joaquin_lopez.jpg (30625 bytes)" width="100" height="135"></a></td>
+ </tr>
+ <tr>
+ <td><a href="john_maddock.htm">John Maddock</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/john_maddock.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/john_maddock_small.jpg" alt="http://boost.sourceforge.net/photos/john_maddock.jpg (14611 bytes)" width="100" height="132"></a></td>
+ </tr>
+ <tr>
+ <td><a href="mat_marcus.htm">Mat Marcus</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/mat_marcus.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/mat_marcus_small.jpg" alt="http://boost.sourceforge.net/photos/mat_marcus.jpg" width="95" height="133"></a></td>
+ </tr>
+ <tr>
+ <td><a href="jens_maurer.htm">Jens Maurer</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/jens_maurer.jpg"><img border="0" src="http://boost.sourceforge.net/photos/jens_maurer_small.jpg" width="100" height="124"></a></td>
+ </tr>
+ <tr>
+ <td><a href="paul_mensonides.htm">Paul Mensonides</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/paul_mensonides.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/paul_mensonides_small.jpg" alt="http://boost.sourceforge.net/photos/paul_mensonides.jpg (286309 bytes)" width="100" height="131"></a></td>
+ </tr>
+ <tr>
+ <td><a href="paul_moore.htm">Paul Moore</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/paul_moore.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/paul_moore_small.jpg" alt="http://boost.sourceforge.net/photos/paul_moore.jpg (12023 bytes)" width="100" height="81"></a></td>
+ </tr>
+ <tr>
+ <td><a href="mac_murrett.htm">Mac Murrett</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/mac_murrett.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/mac_murrett_small.jpg" alt="http://boost.sourceforge.net/photos/mac_murrett.jpg" width="100" height="141"></a></td>
+ </tr>
+ <tr>
+ <td><a href="thorsten_ottosen.html">Thorsten Ottosen</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/thorsten_ottosen.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/thorsten_ottosen_small.jpg" alt="http://boost.sourceforge.net/photos/thorsten_ottosen.jpg.jpg" width="100" > </a></td> </tr> <tr>
+ <td><a href="gary_powell.htm">Gary Powell</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/gary_powell.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/gary_powell_small.jpg" alt="http://boost.sourceforge.net/photos/gary_powell.jpg (13577 bytes)" width="100" height="133"></a></td>
+ </tr>
+ <tr>
+ <td><a href="vladimir_prus.htm">Vladimir Prus</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/vladimir_prus.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/vladimir_prus_small.jpg" alt="http://boost.sourceforge.net/photos/vladimir_prus.jpg (25247 bytes)" width="100" height="123"></a></td>
+ </tr>
+ <tr>
+ <td><a href="robert_ramey.htm">Robert Ramey</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/robert_ramey.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/robert_ramey_small.jpg" alt="http://boost.sourceforge.net/photos/robert_ramey.jpg (6508 bytes)" width="100"></a></td>
+ </tr>
+ <tr>
+ <td><a href="rene_rivera.htm">Rene Rivera</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/rene_rivera.jpg">
+ <img border="0" src="http://boost.sourceforge.net/photos/rene_rivera.jpg" alt="http://boost.sourceforge.net/photos/rene_rivera.jpg" width="100" height="105"></a></td>
+ </tr>
+ <tr>
+ <td><a href="mark_rodgers.htm">Mark Rodgers</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/mark_rodgers.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/mark_rodgers_small.jpg" alt="http://boost.sourceforge.net/photos/mark_rodgers.jpg (23035 bytes)" width="100" height="75"></a></td>
+ </tr>
+ <tr>
+ <td><a href="gennadiy_rozental.htm">Gennadiy Rozental</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/gennadiy_rozental.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/gennadiy_rozental_small.jpg" alt="http://boost.sourceforge.net/photos/gennadiy_rozental.jpg" width="100" height="75"></a></td>
+ </tr>
+ <tr>
+ <td><a href="jeremy_siek.htm">Jeremy Siek</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/jeremy_siek.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/jeremy_siek_small.jpg" alt="http://boost.sourceforge.net/photos/jeremy_siek.jpg (12867 bytes)" width="100" height="133"></a></td>
+ </tr>
+ <tr>
+ <td><a href="jonathan_turkanis.htm">Jonathan Turkanis</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/jonathan_turkanis.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/jonathan_turkanis_small.jpg" alt="http://boost.sourceforge.net/photos/jonathan_turkanis.jpg" width="100" height="133"></a></td>
+ </tr>
+ <tr>
+ <td><a href="daryle_walker.html">Daryle Walker</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/daryle_walker.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/daryle_walker.jpg" width="100" height="127"></td>
+ </tr>
+ <tr>
+ <td><a href="thomas_witt.html">Thomas Witt</a></td>
+ <td><a href="http://boost.sourceforge.net/photos/thomas_witt.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/thomas_witt_small.jpg" alt="http://boost.sourceforge.net/photos/thomas_witt.jpg" width="100" height="133"></a></td>
+ </tr>
+ </table>
+ <p>Revised
+ <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->2 August, 2005<!--webbot bot="Timestamp" endspan i-checksum="38677" -->
+ </p>
+ </body>
+</html>
diff --git a/people/peter_dimov.htm b/people/peter_dimov.htm
new file mode 100644
index 0000000000..012c477f29
--- /dev/null
+++ b/people/peter_dimov.htm
@@ -0,0 +1,26 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Peter Dimov</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/peter_dimov.jpg"><img border="0" src="http://boost.sourceforge.net/photos/peter_dimov_small.jpg" alt="peter_dimov.jpg (56340 bytes)" align="left" hspace="10" vspace="5" width="100" height="123"><br>
+ <br>
+ </a><a href="http://www.pdimov.com/">Peter Dimov</a> is a software
+ developer from Plovdiv, Bulgaria.</p>
+ <p>He likes C++. Not to the extent to donate a kidney for every proposed
+ extension, but close.</p>
+ </body>
+</html>
diff --git a/people/ralf_w_grosse_kunstleve.htm b/people/ralf_w_grosse_kunstleve.htm
new file mode 100644
index 0000000000..3958b7d736
--- /dev/null
+++ b/people/ralf_w_grosse_kunstleve.htm
@@ -0,0 +1,52 @@
+<html>
+ <head>
+ <title>Ralf W. Grosse-Kunstleve</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/ralf_w_grosse_kunstleve.jpg"><img src="http://boost.sourceforge.net/photos/ralf_w_grosse_kunstleve_sm.jpg" alt="ralf_w_grosse_kunstleve.jpg" border="0" align="left" hspace="10" vspace="5" width="100" height="134"></a>
+ Ralf is a crystallographer. He has a degree in Mineralogy (<a href="http://www.mineralogie.ruhr-uni-bochum.de/eng/index.html">Bochum,
+ Germany</a>), and a Ph.D. in Crystallography (<a href="http://www.crystal.mat.ethz.ch/Intro/lfkcry">ETH
+ Zurich</a>
+ , Switzerland). Real Mineralogists and Crystallographers run experiments with
+ x-rays and hardware that is not normally associated with C++ and Boost.
+ However, when Ralf kept breaking the expensive experimental equipment too
+ often, he decided that he would cause less damage as a computational
+ crystallographer.
+ <p>
+ Being a scientist, Ralf spent most of his life programming in Fortran, the
+ great grand-father of all good programming languages (if you know Backus-Naur
+ you know the name of the <a href="http://www-groups.dcs.st-and.ac.uk/~history/Mathematicians/Backus.html">
+ inventor of Fortran</a>). Ralf is a co-author of the <a href="http://cns.csb.yale.edu/">
+ CNS</a> Fortran program that is very popular in structural biology. When he
+ learned that a real programmer can write Fortran in any language, Ralf knew
+ that it was time for him to learn C++. Of course, absorbing four decades of
+ progress in the field of computer science all at once crashed his brain. To be
+ able to deal with the challenge, he spawned two child processes and named them
+ Lisa and Anna. To see Lisa, click on the picture and turn your monitor by 180
+ degrees around the view axis. (Other pictures of <a href="http://cci.lbl.gov/~rwgk/Lisa-Roza-Illes/">
+ Lisa</a> and <a href="http://cci.lbl.gov/~rwgk/Anna-Rhona-Illes/">Anna</a>
+ do not require gymnastics with the monitor.)
+ <p>
+ Right now, Ralf is working for the <a href="http://cci.lbl.gov/">Computational
+ Crystallography Initiative</a> at the <a href="http://www.lbl.gov/">Lawrence
+ Berkeley National Laboratory</a> in California. The goal of this initiative
+ is to write a software system for high-throughput protein crystal structure
+ determination, also known as <a href="http://www.nigms.nih.gov/news/announcements/psi.html">
+ Structural Genomics</a>. Surprisingly, the gestation period for such a system
+ turns out to be much longer than it was for Lisa and Anna. However, pre-natal
+ diagnosis already revealed that Python and C++ are the parents-to-be. For an
+ ultra-sound image of the new system at its early developmental stage <a href="http://cctbx.sourceforge.net/">
+ click here</a>
+ .
+ </body>
+</html>
diff --git a/people/rene_rivera.htm b/people/rene_rivera.htm
new file mode 100644
index 0000000000..1eea17cf4d
--- /dev/null
+++ b/people/rene_rivera.htm
@@ -0,0 +1,61 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<html>
+<head>
+ <meta name="generator" content=
+ "HTML Tidy for Linux/x86 (vers 1st September 2003), see www.w3.org">
+ <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+
+ <title>Rene Rivera</title>
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt=
+ "boost.png (6897 bytes)" width="277" height="86"></td>
+
+ <td><a href="../index.htm"><font face="Arial" color=
+ "#FFFFFF"><big>Home</big></font></a></td>
+
+ <td><a href="../libs/libraries.htm"><font face="Arial" color=
+ "#FFFFFF"><big>Libraries</big></font></a></td>
+
+ <td><a href="people.htm"><font face="Arial" color=
+ "#FFFFFF"><big>People</big></font></a></td>
+
+ <td><a href="../more/faq.htm"><font face="Arial" color=
+ "#FFFFFF"><big>FAQ</big></font></a></td>
+
+ <td><a href="../more/index.htm"><font face="Arial" color=
+ "#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+
+ <p><a href="http://boost.sourceforge.net/photos/rene_rivera.jpg"><img src=
+ "http://boost.sourceforge.net/photos/rene_rivera.jpg" alt=
+ "http://boost.sourceforge.net/photos/rene_rivera.jpg" border="0" align=
+ "left" hspace="10" vspace="5" height="133"></a> Rene has spent most of his
+ life programming in one language or another. From assembly, through BASIC,
+ and up to C++ and Lisp, he has managed to program on a variety of computers
+ and operating systems.</p>
+
+ <p>Currently he is running Redshift Software, Inc. (<a href=
+ "http://redshift-software.com">redshift-software.com</a>), a company he
+ founded with the help of some friends in 1997.</p>
+
+ <p>In the past he managed to get a concurrent MS and BS in Computer Science
+ from Loyola University at Chicago. Work for the Institute for the Learning
+ Sciences at Northwestern University building AI related systems. And worked
+ on game development at Jellyvision Inc. (<a href=
+ "http://jellyvision.com">jellyvision.com</a>). Where he lead the
+ programming of "You Don't Know Jack: The 5th Dementia", and of "That's a
+ Fact: Jack! Read.". Which where the basis for the development of the first
+ two versions of "Who Wants To Be a Millionaire".</p>
+
+ <p>His motto of "clean code, clean graphics, it can always stand
+ improvement" has repeatedly gotten him in trouble.</p>
+</body>
+</html>
diff --git a/people/robert_ramey.htm b/people/robert_ramey.htm
new file mode 100644
index 0000000000..7acb688172
--- /dev/null
+++ b/people/robert_ramey.htm
@@ -0,0 +1,35 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>Robert Ramey</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png
+ (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/robert_ramey.jpg">
+ <img src="http://boost.sourceforge.net/photos/robert_ramey_small.jpg"
+ alt="http://boost.sourceforge.net/photos/robert_ramey.jpg" border="0" align="left" hspace="10" vspace="5" width="100"></a>
+ <a href="http://www.rrsd.com">Robert Ramey</a> is a contract software developer living
+ in Santa Barbara, California. He has been involved in all aspects of the computer
+ industry for more than 30 years.
+ <p>
+ After graduating with an MS in Operations Research from U.C. Berkeley in 1971 and serving
+ 18 months in the miltary, he left on a trip to Ecuador. There he founded a data processing company
+ which is still in operation today. Returning to California in 1986, he focused on the more
+ technical aspects of software development. This has resulted in the completion of
+ projects such as the Postman's Sort and Boost serialization library - among others.
+ <p>
+ Other current interests include hanggliding, squash, hiking and bike riding.
+ </body>
+</html>
diff --git a/people/ronald_garcia.htm b/people/ronald_garcia.htm
new file mode 100644
index 0000000000..687a429b84
--- /dev/null
+++ b/people/ronald_garcia.htm
@@ -0,0 +1,31 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Language" content="en-us">
+ <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <title>Ronald Garcia</title>
+ </head>
+ <body bgcolor="#FFFFFF">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/ronald_garcia.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/ronald_garcia_small.jpg" align="left" hspace="10" vspace="5" xthumbnail-orig-image="ronald_garcia.jpg" width="100" height="144"></a>Ronald
+ Garcia is a Ph.D. student at Indiana University in Bloomington, Indiana. He is
+ the author of the Boost Multidimensional Array Library (<a href="../libs/multi_array/doc/index.html">MultiArray</a>).
+ His research interests include software engineering tools and techniques,
+ programming languages, generic and generative programming and high performance
+ scientific computing.
+ </p>
+ <p>When he's not in front of a computer, Ron's interests include playing ultimate
+ frisbee, bass guitar, drumset, and West African percussion.
+ </p>
+ </body>
+</html>
diff --git a/people/samuel_krempp.htm b/people/samuel_krempp.htm
new file mode 100644
index 0000000000..4c57d6d8fd
--- /dev/null
+++ b/people/samuel_krempp.htm
@@ -0,0 +1,31 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Language" content="en-us">
+ <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <title>Samuel Krempp</title>
+ </head>
+ <body bgcolor="#FFFFFF">
+ <table cellPadding="2" bgColor="#007f7f" border="1">
+ <tr>
+ <td bgColor="#ffffff">
+ <img alt="boost.png (6897 bytes)" src="../boost.png" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#ffffff"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#ffffff"><big> Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#ffffff"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#ffffff"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#ffffff"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/samuel_krempp.jpg"> <img border="0" src="http://boost.sourceforge.net/photos/samuel_krempp_small.jpg" xthumbnail-orig-image="samuel_krempp.jpg" align="left" hspace="10" vspace="5" width="100" height="65"></a>Samuel
+ Krempp is a PhD student in mathematics, at the CMLA in the 'Ecole Normale
+ Supérieure' de Cachan (France). He spends most of his time implementing
+ complicated image recognition algorithms, and thus had to get acquainted with
+ C++.</p>
+ <p>He enjoys many other things - one of them is diving in wonderful, warm, sunny
+ seas when he can afford it. And obviously, another is eating camembert and
+ bread, drinking wine... and other activities typical of a French guy :)</p>
+ <p>He's the author of the <a href="../libs/format/index.html">Boost Format library</a>.</p>
+ </body>
+</html>
diff --git a/people/thomas_witt.html b/people/thomas_witt.html
new file mode 100644
index 0000000000..fbc07a461c
--- /dev/null
+++ b/people/thomas_witt.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+
+<html>
+ <head>
+ <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <title>Thomas Witt</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a
+ href="http://boost.sourceforge.net/photos/thomas_witt.jpg"><img
+ src="http://boost.sourceforge.net/photos/thomas_witt_small.jpg"
+ alt="http://boost.sourceforge.net/photos/thomas_witt.jpg"
+ border="0" align="left" hspace="10" vspace="5" width="100"
+ height="133"></a>
+ <p>
+ Thomas Witt is a senior software developer
+ at <a href="http://www.styleadvisor.com">Zephyr Associates,
+ Inc.</a>. Being a mechanical engineer by training, he nowadays
+ spends most of his time developing applications and libraries in
+ C++. Twice a year he is allowed to leave his office to attend
+ C++ standards committee meetings.
+ </p>
+ <p>
+ Thomas is coauthor of the Boost.Iterator library and in a less
+ busy and distant past was acting as
+ <a href="http://boost.sourceforge.net/more/formal_review_process.htm">Boost Review Wizard</a>
+ </p>
+ <p>
+ In his spare time Thomas likes reading, running, swimming and
+ skiing. There is also rumor of him being a railroad enthusiast,
+ but Thomas refuses to comment on this. Thomas lives in
+ Stateline, Nevada enjoying the view of Lake Tahoe and the slopes
+ of the surrounding ski resorts.
+ </p>
+ </body>
+</html>
diff --git a/people/thorsten_ottosen.html b/people/thorsten_ottosen.html
new file mode 100755
index 0000000000..c0d33b7641
--- /dev/null
+++ b/people/thorsten_ottosen.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+ <title>Thorsten Ottosen </title>
+ <link rel="stylesheet" href="../boost.css" type="text/css">
+</head>
+
+ <body>
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p>
+ <a href="http://boost.sourceforge.net/photos/thorsten_ottosen.jpg"><img
+border="0"
+src="http://boost.sourceforge.net/photos/thorsten_ottosen_small.jpg"
+alt="http://boost.sourceforge.net/photos/thorsten_ottosen.jpg "
+align="left" height="110"></a>
+
+ <p>
+ <a href=mailto:nesotto@cs.auc.dk>Thorsten Ottosen</a> holds a Bsc in Computer
+ Science at Aalborg University, Denmark. After having studied mathematics at
+ University of Technology in Sydney, Australia, he has now returned to Denmark to
+ write a second thesis in the area of decision support systems. His first <a href=http://www.cs.auc.dk/~nesotto/pie/>thesis</a>
+ was in computer graphics since he used to dream about making computer games.
+ </p>
+
+ <p>
+ Thorsten is also a co-owner and part-time employee of <a href=http://www.dezide.com>Dezide</a>,
+ a company that specializes is trouble-shooting programs based on Bayesian-network
+ technology.
+ </p>
+
+ <p>
+ In his spare-time he codes/reads/hacks C++ and participates in ANSI/ISO C++
+ committee meetings. In his spare-time of his spare-time he enjoys jogging,
+ reading, and being with family and friends.
+ </p>
+
+ </body>
+</html>
+
diff --git a/people/vesa_karvonen.htm b/people/vesa_karvonen.htm
new file mode 100644
index 0000000000..5a222d50e8
--- /dev/null
+++ b/people/vesa_karvonen.htm
@@ -0,0 +1,65 @@
+<html>
+ <head>
+ <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <title>Vesa Karvonen</title>
+ </head>
+ <body bgcolor="#FFFFFF">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF">
+ <img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><img border="0" src="http://boost.sourceforge.net/photos/vesa_karvonen.jpg" align="left" hspace="10" vspace="5" width="100" height="133">If
+ we are to believe MBTI tests, Vesa is an <a href="http://en.wikipedia.org/wiki/INTJ">
+ INTJ</a>. He has been like that probably since late 1978-1979, because,
+ according to some sources, it takes 2-3 years to develop the basic temperament.
+ Previously he saw himself mostly as a &quot;builder of systems&quot; and
+ &quot;applier of theoretical models&quot;, but nowadays he is beginning to see
+ the &quot;mastermind&quot; aspect of his personality. As a
+ &quot;Free-Thinker&quot;, his mind hardly ever rests.</p>
+ <p>Vesa enjoys healthy and sustainable ways of life. He is a vegetarian and likes
+ cooking. Exercise is a daily part of his life - he needs to be in good shape in
+ order to sit all day in work. He likes going to the gym, swimming, spinning,
+ running, roller skating, etc... He also practices dancing.</p>
+ <p>For the past years, he has been working in a small <a hreF="http://www.housemarque.com">
+ company</a> that develops console games. His role is the development of
+ software technology, such as class libraries, frameworks and tools, for making
+ games. He doesn't see himself as a game or a graphics programmer, although he
+ has been involved in quite a few such projects. For the past few years, most of
+ his programming has been in C++, but recently he has also enjoyed writing some
+ Ocaml.</p>
+ <p>He likes buying technical books using the company credit card, but lately he
+ hasn't had the time to read as much as he would like (hopefully this changes
+ soon). He likes reading (a lot) computer science and software engineering, but
+ also psychology, philosophy and various self-help books, because he knows that
+ all the really hard problems are social - not technical. Fantasy is also close
+ to his heart.</p>
+ <p>Vesa is a bit ambivalent about his university studies. He is a self-educated
+ programmer and has experience ranging from bit twiddling to generative
+ programming and also leading of small teams. Like many of his close colleagues,
+ he sees that the depth of computer science education, at least in Finland, is,
+ frankly, insufficient. He'll probably complete his studies some day, because
+ sadly most people respect authority by rank, title or publication far more than
+ he does.</p>
+ <p>Vesa is an eXtreme Programmer. He has found out that in order for pair
+ programming to work, both pairs must share a similar level of experience and
+ must be both willing and able to externalize their thoughts. If he is sometimes
+ forced to stop refactoring, he'll probably quit his job. He thinks that
+ optimization, including improving readability and simplifying structure, is the
+ root of all fun in programming. He dislikes writing documentation and reports
+ that are never read.</p>
+ <p>One of his friends coerced him to use the image that you see on this page. The
+ image was scanned from a rather worn out picture taken by an ex-girlfriend and
+ is probably the only picture of Vesa having his natural smile. Vesa is neither
+ married nor engaged, but just recently he met a very nice girl... While
+ programming is interesting and fun, it is love that really makes him happy. ;)</p>
+ </body>
+</html>
diff --git a/people/vladimir_prus.htm b/people/vladimir_prus.htm
new file mode 100644
index 0000000000..b9e9c1d1a0
--- /dev/null
+++ b/people/vladimir_prus.htm
@@ -0,0 +1,33 @@
+<html>
+ <head>
+ <title>Vladimir Prus</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png
+ (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/vladimir_prus.jpg">
+ <img src="http://boost.sourceforge.net/photos/vladimir_prus_small.jpg"
+ alt="vladimir_prus.jpg (25247 bytes)" border="0" align="left" hspace="10" vspace="5" width="100" height="123"></a>
+ <a href="mailto:ghost@cs.msu.su">Vladimir Prus</a> is a PhD student at
+ Moscow State University. He's supposed to do some research about
+ program analysis, processors and graphs, but also has various other
+ interests, like software engineering tools and compilers.
+ </p>
+ <p>
+ Volodya would probably spend all his time staring at the monitor and
+ haunting MSU corridors, but luckily is married and hardly can be seen in
+ front of a computer on weekends. He's not into any extreme sports, and
+ spends spare time going to cinema or just walking with his wife Caroline
+ in quiet parts of Moscow.
+ </p>
+ </body>
+</html>
diff --git a/people/william_kempf.htm b/people/william_kempf.htm
new file mode 100644
index 0000000000..10f059ec69
--- /dev/null
+++ b/people/william_kempf.htm
@@ -0,0 +1,30 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <title>William Kempf</title>
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table border="1" bgcolor="#007F7F" cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
+ </tr>
+ </table>
+ <p><a href="http://boost.sourceforge.net/photos/william_kempf.jpg"><img border="0" src="http://boost.sourceforge.net/photos/william_kempf_small.jpg" alt="william_kempf.jpg (10935 bytes)" align="left" hspace="10" vspace="5" width="107" height="130"></a>
+ Bill Kempf lives in Omaha, NE with his wife Bonnie, his cat Dexter and his two
+ Chinchillas, Chimney and Minuet. He married on Oct. 30, 1999 where he and his
+ wife held a Halloween costume reception. If that doesn't give you an idea of
+ what kind of guy he is, nothing will.</p>
+ <p>Bill graduated from Doane, a small private college in Nebraska in 1992 with a
+ B.S. in Computer Science/Math. Being in the wrong place at the wrong time he
+ had to take a job as the only person in an IS shop for a local affiliate of the
+ Bunge Grain Company. In 1995 he moved on to a job as a software engineer for
+ First Data Resources where he worked on client/server financial applications.</p>
+ </body>
+</html>
diff --git a/project-root.jam b/project-root.jam
new file mode 100644
index 0000000000..f18f9b5f6c
--- /dev/null
+++ b/project-root.jam
@@ -0,0 +1,6 @@
+
+path-constant BOOST_ROOT : . ;
+
+using lex ;
+using bison ;
+using testing ;
diff --git a/regression/.htaccess b/regression/.htaccess
new file mode 100644
index 0000000000..c550d104c6
--- /dev/null
+++ b/regression/.htaccess
@@ -0,0 +1,6 @@
+RewriteEngine on
+
+#~ RewriteRule ^(.+)\.cpp$ http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/boost/boost/$1.cpp?rev=HEAD&content-type=text/vnd.viewcvs-markup [R,L]
+
+RewriteRule ^developement(/.*) http://engineering.meta-comm.com/boost-regression/CVS-HEAD$1 [R,L]
+RewriteRule ^release(/.*) http://engineering.meta-comm.com/boost-regression/1_33_0$1 [R,L]
diff --git a/rst.css b/rst.css
new file mode 100755
index 0000000000..41fcc4636e
--- /dev/null
+++ b/rst.css
@@ -0,0 +1,327 @@
+/*
+:Authors: David Goodger, David Abrahams
+:Contact: goodger@users.sourceforge.net, dave@boost-consulting.com
+:date: $Date$
+:version: $Revision$
+:copyright: This stylesheet has been placed in the public domain.
+
+This stylesheet is for the use of ReStructuredText in a Boost context.
+It is basically an agglomeration of boost.css and the default.css that
+comes from docutils.
+
+ */
+
+.first {
+ margin-top: 0 }
+
+.last {
+ margin-bottom: 0 }
+
+a.toc-backref {
+ text-decoration: none ;
+ color: black }
+
+dd {
+ margin-bottom: 0.5em }
+
+div.abstract {
+ margin: 2em 5em }
+
+div.abstract p.topic-title {
+ font-weight: bold ;
+ text-align: center }
+
+div.attention, div.caution, div.danger, div.error, div.hint,
+div.important, div.note, div.tip, div.warning, div.admonition {
+ margin: 2em ;
+ border: medium outset ;
+ padding: 1em }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title {
+ color: red ;
+ font-weight: bold ;
+ font-family: sans-serif }
+
+div.hint p.admonition-title, div.important p.admonition-title,
+div.note p.admonition-title, div.tip p.admonition-title,
+div.admonition p.admonition-title {
+ font-weight: bold ;
+ font-family: sans-serif }
+
+div.dedication {
+ margin: 2em 5em ;
+ text-align: center ;
+ font-style: italic }
+
+div.dedication p.topic-title {
+ font-weight: bold ;
+ font-style: normal }
+
+div.figure {
+ margin-left: 2em }
+
+div.footer, div.header {
+ font-size: smaller }
+
+div.line-block { display: block }
+div.line-block div.line-block { margin-left: 1.5em }
+
+div.sidebar {
+ margin-left: 1em ;
+ border: medium outset ;
+ padding: 0em 1em ;
+ background-color: #ffffee ;
+ width: 40% ;
+ float: right ;
+ clear: right }
+
+div.sidebar p.rubric {
+ font-family: sans-serif ;
+ font-size: medium }
+
+div.system-messages {
+ margin: 5em }
+
+div.system-messages h1 {
+ color: red }
+
+div.system-message {
+ border: medium outset ;
+ padding: 1em }
+
+div.system-message p.system-message-title {
+ color: red ;
+ font-weight: bold }
+
+div.topic {
+ margin: 2em }
+
+dt {
+ font-weight: bold
+}
+
+H1.title
+{
+ FONT-SIZE: 200%;
+ COLOR: #00008B;
+ text-align: center
+}
+H1
+{
+ FONT-SIZE: 150%;
+}
+H2
+{
+ FONT-SIZE: 125%;
+}
+h2.subtitle {
+ text-align: center }
+H3
+{
+ FONT-SIZE: 108%;
+}
+BODY
+{
+ FONT-SIZE: 100%;
+ BACKGROUND-COLOR: #ffffff;
+}
+PRE
+{
+ MARGIN-LEFT: 2em;
+ FONT-FAMILY: Courier;
+}
+CODE
+{
+ FONT-FAMILY: Courier;
+ white-space: pre;
+}
+.pre
+{
+ FONT-FAMILY: Courier;
+ white-space: pre;
+}
+.index
+{
+ TEXT-ALIGN: left;
+}
+.page-index
+{
+ TEXT-ALIGN: left;
+}
+.definition
+{
+ TEXT-ALIGN: left;
+}
+.footnote
+{
+ FONT-SIZE: 80%;
+ VERTICAL-ALIGN: super;
+ TEXT-DECORATION: none;
+}
+.function-semantics
+{
+ CLEAR: left;
+}
+
+hr {
+ width: 75% }
+
+ol.simple, ul.simple {
+ margin-bottom: 1em }
+
+ol.arabic {
+ list-style: decimal }
+
+ol.loweralpha {
+ list-style: lower-alpha }
+
+ol.upperalpha {
+ list-style: upper-alpha }
+
+ol.lowerroman {
+ list-style: lower-roman }
+
+ol.upperroman {
+ list-style: upper-roman }
+
+p.attribution {
+ text-align: right ;
+ margin-left: 50% }
+
+p.caption {
+ font-style: italic }
+
+p.credits {
+ font-style: italic ;
+ font-size: smaller }
+
+p.label {
+ white-space: nowrap }
+
+p.rubric {
+ font-weight: bold ;
+ font-size: larger ;
+ color: maroon ;
+ text-align: center }
+
+p.sidebar-title {
+ font-family: sans-serif ;
+ font-weight: bold ;
+ font-size: larger }
+
+p.sidebar-subtitle {
+ font-family: sans-serif ;
+ font-weight: bold }
+
+p.topic-title {
+ font-weight: bold }
+
+pre.address {
+ margin-bottom: 0 ;
+ margin-top: 0 ;
+ font-family: serif ;
+ font-size: 100% }
+
+pre.line-block {
+ font-family: serif ;
+ font-size: 100% }
+
+pre.literal-block, pre.doctest-block {
+ margin-left: 2em ;
+ margin-right: 2em ;
+ background-color: #eeeeee }
+
+span.class {
+ font-family: monospace;
+}
+
+span.classifier {
+ font-family: sans-serif ;
+ font-style: oblique }
+
+span.classifier-delimiter {
+ font-family: sans-serif ;
+ font-weight: bold }
+
+span.doublesize {
+ font-size: 200%
+}
+
+span.interpreted {
+ font-family: sans-serif }
+
+span.concept {
+ font-family: sans-serif }
+
+span.function {
+ font-family: monospace;
+}
+
+span.option {
+ white-space: nowrap }
+
+span.option-argument {
+ font-style: italic }
+
+span.pre {
+ white-space: pre }
+
+span.problematic {
+ color: red }
+
+/* Firefox, at least, seems to need some help lowering
+ subscripts. Without the following, subscripts seem not to drop
+ at all when in a preformatted block. -- DWA
+*/
+
+sub {
+ vertical-align: -20%
+}
+
+table {
+ margin-top: 0.5em ;
+ margin-bottom: 0.5em }
+
+table.citation {
+ border-left: solid thin gray ;
+ padding-left: 0.5ex }
+
+table.docinfo {
+ margin: 2em 4em }
+
+table.footnote {
+ border-left: solid thin black ;
+ padding-left: 0.5ex }
+
+td, th {
+ padding-left: 0.5em ;
+ padding-right: 0.5em ;
+ vertical-align: top }
+
+th.docinfo-name, th.field-name {
+ font-weight: bold ;
+ text-align: left ;
+ white-space: nowrap }
+
+/*
+ dwa 2003/7/29 -- commented out so that it wouldn't override earlier
+ styles from boost.css
+
+h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
+ font-size: 100% }
+*/
+
+ul.auto-toc {
+ list-style-type: none }
+
+img.boost-logo {
+ border: none;
+ vertical-align: middle
+}
+
+pre.literal-block span.concept {
+ font-style: italic;
+}
+
diff --git a/status/.cvsignore b/status/.cvsignore
new file mode 100644
index 0000000000..d265891d55
--- /dev/null
+++ b/status/.cvsignore
@@ -0,0 +1,5 @@
+*.log
+boosttmp.*
+regression
+rng.saved
+rng.tmp
diff --git a/status/Jamfile b/status/Jamfile
new file mode 100644
index 0000000000..bd74c39d72
--- /dev/null
+++ b/status/Jamfile
@@ -0,0 +1,184 @@
+# Boost regression-testing Jamfile
+# (C) Copyright David Abrahams 2002. Permission to copy, use, modify, sell and
+# distribute this software is granted provided this copyright notice appears in
+# all copies. This software is provided "as is" without express or implied
+# warranty, and with no claim as to its suitability for any purpose.
+
+subproject status ;
+
+# bring in the rules for testing
+import testing ;
+
+# Make tests run by default.
+DEPENDS all : test ;
+
+# Tests from Jamfiles in individual library test subdirectories
+# Please keep these in alphabetic order by test-suite name
+
+subinclude libs/any/test ; # test-suite any
+subinclude libs/algorithm/minmax/test ; # test-suite algorithm/minmax
+subinclude libs/algorithm/string/test ; # test-suite algorithm/string
+subinclude libs/assign/test ; # test-suite assign
+subinclude libs/bind/test ; # test-suite bind
+subinclude libs/conversion/test ; # test-suite conversion
+subinclude libs/concept_check ; # test-suite concept_check
+subinclude libs/date_time/test ; # test-suite date_time
+subinclude libs/dynamic_bitset ; # test suite dynamic_bitset
+subinclude libs/filesystem/test ; # test-suite filesystem
+subinclude libs/format/test ; # test-suite format
+subinclude libs/function/test ; # test-suite function
+subinclude libs/functional/hash/test ; # test-suite functional/hash
+subinclude libs/graph/test ; # test-suite graph
+subinclude libs/io/test ; # test-suite io
+subinclude libs/iostreams/test ; # test-suite iostreams
+subinclude libs/iterator/test ; # test-suite iterator
+subinclude libs/logic/test ; # test-suite logic
+subinclude libs/math/test ; # test-suite math
+subinclude libs/mpl/test ; # test-suite mpl
+subinclude libs/multi_array/test ; # test-suite multi_array
+subinclude libs/multi_index/test ; # test-suite multi_index
+subinclude libs/numeric/conversion/test ; # test-suite numeric/conversion
+subinclude libs/numeric/interval/test ; # test-suite numeric/interval
+subinclude libs/numeric/ublas/test ; # test-suite numeric/uBLAS
+subinclude libs/optional/test ; # test-suite optional
+subinclude libs/parameter/test ; # test-suite parameter
+subinclude libs/program_options/test ; # test-suite program_options
+subinclude libs/property_map/test ; # test-suite property_map
+subinclude libs/ptr_container/test ; # test-suite ptr_container
+subinclude libs/python/test ; # test-suite python
+subinclude libs/random/test ; # test-suite random
+subinclude libs/range/test ; # test-suite range
+subinclude libs/regex/test ; # test-suite regex
+subinclude libs/regex/example ; # test-suite regex-examples
+subinclude libs/serialization/test ; # test-suite serialization
+subinclude libs/signals/test ; # test-suite signals
+subinclude libs/smart_ptr/test ; # test-suite smart_ptr
+subinclude libs/spirit/test ; # test-suite spirit
+subinclude libs/static_assert ; # test-suite static_assert
+subinclude libs/thread/test ; # test-suite thread
+subinclude libs/type_traits/test ; # test-suite type_traits
+subinclude libs/utility/enable_if/test ; # test-suite utility/enable_if
+subinclude libs/utility/test ; # test-suite utility
+subinclude libs/variant/test ; # test-suite variant
+subinclude libs/wave/test/build ; # test-suite wave
+
+
+# Tests specified in this Jamfile
+{
+ # look in BOOST_ROOT for sources first, just in this Jamfile
+ local SEARCH_SOURCE = $(BOOST_ROOT) $(SEARCH_SOURCE) ;
+
+ test-suite config
+ : [ run libs/config/test/config_test.cpp
+ : #args
+ : #input-files
+ : #requirements
+ <threading>multi <no-warn>config_test.cpp
+ ]
+ [ run libs/config/test/config_info.cpp : : : <test-info>always_show_run_output ]
+ [ run libs/config/test/abi/abi_test.cpp libs/config/test/abi/main.cpp ]
+ [ run libs/config/test/limits_test.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
+ [ run libs/config/test/link/main.cpp <dll>../libs/config/test/link/link_test
+ : #args
+ : #input-files
+ : #requirements
+ <runtime-link>dynamic
+ <define>BOOST_DYN_LINK=1
+ <define>BOOST_CONFIG_NO_LIB=1
+ :
+ config_link_test
+ ]
+ [ compile-fail libs/config/test/threads/test_thread_fail1.cpp ]
+ [ compile-fail libs/config/test/threads/test_thread_fail2.cpp ]
+ ;
+
+ test-suite array
+ : [ run libs/array/array1.cpp ]
+ [ run libs/array/array2.cpp ]
+ [ run libs/array/array3.cpp ]
+ [ run libs/array/array4.cpp ]
+ [ run libs/array/array5.cpp ]
+ ;
+
+ run libs/crc/crc_test.cpp <lib>../libs/test/build/boost_test_exec_monitor ;
+
+
+ test-suite disjoint_sets
+ : [ run libs/disjoint_sets/disjoint_set_test.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
+ ;
+
+ run libs/functional/function_test.cpp ;
+
+ test-suite integer
+ : [ run libs/integer/cstdint_test.cpp ]
+ [ run libs/integer/integer_test.cpp ]
+ [ run libs/integer/integer_traits_test.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
+ ;
+
+ test-suite lambda
+ : [ run libs/lambda/test/algorithm_test.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
+ [ run libs/lambda/test/bind_tests_simple.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
+ [ run libs/lambda/test/bind_tests_advanced.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
+ [ run libs/lambda/test/bind_tests_simple_f_refs.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
+ [ run libs/lambda/test/bll_and_function.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
+ [ run libs/lambda/test/cast_test.cpp <lib>../libs/test/build/boost_test_exec_monitor : : : : lambda_cast_test ]
+ [ run libs/lambda/test/constructor_tests.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
+ [ run libs/lambda/test/control_structures.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
+ [ run libs/lambda/test/exception_test.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
+ [ run libs/lambda/test/extending_rt_traits.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
+ [ run libs/lambda/test/is_instance_of_test.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
+ [ run libs/lambda/test/member_pointer_test.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
+ [ run libs/lambda/test/operator_tests_simple.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
+ [ run libs/lambda/test/phoenix_control_structures.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
+ [ run libs/lambda/test/switch_construct.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
+ ;
+
+
+ run libs/pool/test/test_pool_alloc.cpp <lib>../libs/test/build/boost_test_exec_monitor ;
+
+ test-suite preprocessor
+ : [ compile libs/preprocessor/test/arithmetic.cpp ]
+ [ compile libs/preprocessor/test/array.cpp ]
+ [ compile libs/preprocessor/test/comparison.cpp ]
+ [ compile libs/preprocessor/test/control.cpp ]
+ [ compile libs/preprocessor/test/debug.cpp ]
+ [ compile libs/preprocessor/test/facilities.cpp ]
+ [ compile libs/preprocessor/test/iteration.cpp ]
+ [ compile libs/preprocessor/test/list.cpp ]
+ [ compile libs/preprocessor/test/logical.cpp ]
+ [ compile libs/preprocessor/test/repetition.cpp ]
+ [ compile libs/preprocessor/test/selection.cpp ]
+ [ compile libs/preprocessor/test/seq.cpp ]
+ [ compile libs/preprocessor/test/slot.cpp ]
+ [ compile libs/preprocessor/test/tuple.cpp ]
+ ;
+
+ test-suite rational
+ : [ run libs/rational/rational_example.cpp ]
+ [ run libs/rational/rational_test.cpp ]
+ ;
+
+ subinclude libs/test/test ;
+# subinclude libs/test/example ;
+# subinclude libs/test/example/cla ;
+# subinclude libs/test/example/cla/validation ;
+# subinclude libs/test/example/env ;
+# subinclude libs/test/example/env/validation ;
+
+ compile libs/timer/timer_test.cpp ;
+
+ test-suite tokenizer
+ : [ run libs/tokenizer/examples.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
+ [ run libs/tokenizer/simple_example_1.cpp ]
+ [ run libs/tokenizer/simple_example_2.cpp ]
+ [ run libs/tokenizer/simple_example_3.cpp ]
+ [ run libs/tokenizer/simple_example_4.cpp ]
+ [ run libs/tokenizer/simple_example_5.cpp ]
+ ;
+
+ test-suite tuple
+ : [ run libs/tuple/test/tuple_test_bench.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
+ [ run libs/tuple/test/io_test.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
+ ;
+}
+
diff --git a/status/Jamfile.v2 b/status/Jamfile.v2
new file mode 100644
index 0000000000..c0126ae337
--- /dev/null
+++ b/status/Jamfile.v2
@@ -0,0 +1,185 @@
+# Boost regression-testing Jamfile
+# (C) Copyright David Abrahams 2002. Permission to copy, use, modify, sell and
+# distribute this software is granted provided this copyright notice appears in
+# all copies. This software is provided "as is" without express or implied
+# warranty, and with no claim as to its suitability for any purpose.
+
+# Status:
+# - std::locale-support usage is commented out.
+# Two test suite have different names.
+# <no-warn> in config test is commented out.
+# One of the smart_ptr test is run only from invocation dir in V1, and not
+# run in V2 at all.
+
+
+project status
+ : source-location $(BOOST_ROOT)
+ : requirements <hardcode-dll-paths>true
+ ;
+
+import testing ;
+
+alias test_exec_monitor : ../libs/test/build//boost_test_exec_monitor/<link>static ;
+
+# Tests from Jamfiles in individual library test subdirectories
+# Please keep these in alphabetic order by test-suite name
+build-project ../libs/any/test ; # test-suite any
+build-project ../libs/bind/test ; # test-suite bind
+build-project ../libs/conversion/test ; # test-suite conversion
+build-project ../libs/date_time/test ; # test-suite date_time
+build-project ../libs/dynamic_bitset ; # test-suite dynamic_bitset
+build-project ../libs/filesystem/test ; # test-suite filesystem
+build-project ../libs/format/test ; # test-suite format
+build-project ../libs/function/test ; # test-suite function
+build-project ../libs/functional/hash/test ; # test-suite functional/hash
+build-project ../libs/graph/test ; # test-suite graph
+build-project ../libs/io/test ; # test-suite io
+build-project ../libs/iterator/test ; # test-suite iterator
+build-project ../libs/math/test ; # test-suite math
+build-project ../libs/numeric/interval/test ; # test-suite numeric/interval
+build-project ../libs/numeric/ublas/test ; # test-suite numeirc/uBLAS
+build-project ../libs/multi_array/test ; # test-suite multi_array
+build-project ../libs/multi_index/test ; # test-suite multi_index
+build-project ../libs/optional/test ; # test-suite optional
+build-project ../libs/program_options/test ; # test-suite program_options
+build-project ../libs/random/test ; # test-suite random
+build-project ../libs/regex/test ; # test-suite regex
+build-project ../libs/regex/example ; # test-suite regex-examples
+#build-project ../libs/serialization/test ; # test-suite serialization
+build-project ../libs/signals/test ; # test-suite signals
+build-project ../libs/smart_ptr/test ; # test-suite smart_ptr
+build-project ../libs/static_assert ; # test-suite static_assert
+build-project ../libs/algorithm/string/test ; # test-suite string_algo
+build-project ../libs/test/test ; # test-suite test
+build-project ../libs/thread/test ; # test-suite thread
+build-project ../libs/type_traits/test ; # test-suite type_traits
+build-project ../libs/utility/test ; # test-suite utility
+build-project ../libs/variant/test ; # test-suite variant
+
+# Tests specified in this Jamfile
+
+ test-suite config
+ : [ run libs/config/test/config_test.cpp test_exec_monitor
+ : #args
+ : #input-files
+ : #requirements
+ <threading>multi #!!!<no-warn>config_test.cpp
+ ]
+ [ run libs/config/test/config_info.cpp : : : <test-info>always_show_run_output ]
+ [ run libs/config/test/abi/abi_test.cpp libs/config/test/abi/main.cpp ]
+ [ run libs/config/test/limits_test.cpp test_exec_monitor ]
+ [ run libs/config/test/link/main.cpp ../libs/config/test/link//link_test
+ : #args
+ : #input-files
+ : #requirements
+ <runtime-link>shared
+ <define>BOOST_DYN_LINK=1
+ <define>BOOST_CONFIG_NO_LIB=1
+ :
+ config_link_test
+ ]
+ [ compile-fail libs/config/test/threads/test_thread_fail1.cpp ]
+ [ compile-fail libs/config/test/threads/test_thread_fail2.cpp ]
+ ;
+
+ test-suite array_suite # !!!
+ : [ run libs/array/array1.cpp ]
+ [ run libs/array/array2.cpp ]
+ [ run libs/array/array3.cpp ]
+ [ run libs/array/array4.cpp ]
+ [ run libs/array/array5.cpp ]
+ ;
+
+
+ test-suite concept_check
+ : [ compile libs/concept_check/concept_check_test.cpp ]
+ [ compile libs/concept_check/class_concept_check_test.cpp ]
+ [ compile-fail libs/concept_check/concept_check_fail_expected.cpp ]
+ [ compile-fail libs/concept_check/class_concept_fail_expected.cpp ]
+ ;
+
+
+ run libs/crc/crc_test.cpp test_exec_monitor ;
+
+
+ test-suite disjoint_sets
+ : [ run libs/disjoint_sets/disjoint_set_test.cpp test_exec_monitor ]
+ ;
+
+ run libs/functional/function_test.cpp ;
+
+
+ test-suite integer
+ : [ run libs/integer/cstdint_test.cpp ]
+ [ run libs/integer/integer_test.cpp ]
+ [ run libs/integer/integer_traits_test.cpp test_exec_monitor ]
+ ;
+
+ test-suite lambda
+ : [ run libs/lambda/test/algorithm_test.cpp test_exec_monitor ]
+ [ run libs/lambda/test/bind_tests_simple.cpp test_exec_monitor ]
+ [ run libs/lambda/test/bind_tests_advanced.cpp test_exec_monitor ]
+ [ run libs/lambda/test/bind_tests_simple_f_refs.cpp test_exec_monitor ]
+ [ run libs/lambda/test/bll_and_function.cpp test_exec_monitor ]
+ [ run libs/lambda/test/cast_test.cpp test_exec_monitor : : : : lambda_cast_test ]
+ [ run libs/lambda/test/constructor_tests.cpp test_exec_monitor ]
+ [ run libs/lambda/test/control_structures.cpp test_exec_monitor ]
+ [ run libs/lambda/test/exception_test.cpp test_exec_monitor ]
+ [ run libs/lambda/test/extending_rt_traits.cpp test_exec_monitor ]
+ [ run libs/lambda/test/is_instance_of_test.cpp test_exec_monitor ]
+ [ run libs/lambda/test/member_pointer_test.cpp test_exec_monitor ]
+ [ run libs/lambda/test/operator_tests_simple.cpp test_exec_monitor ]
+ [ run libs/lambda/test/phoenix_control_structures.cpp test_exec_monitor ]
+ [ run libs/lambda/test/switch_construct.cpp test_exec_monitor ]
+ ;
+
+
+ run libs/pool/test/test_pool_alloc.cpp test_exec_monitor ;
+
+ test-suite preprocessor
+ : [ compile libs/preprocessor/test/arithmetic.cpp ]
+ [ compile libs/preprocessor/test/array.cpp ]
+ [ compile libs/preprocessor/test/comparison.cpp ]
+ [ compile libs/preprocessor/test/control.cpp ]
+ [ compile libs/preprocessor/test/debug.cpp ]
+ [ compile libs/preprocessor/test/facilities.cpp ]
+ [ compile libs/preprocessor/test/iteration.cpp ]
+ [ compile libs/preprocessor/test/list.cpp ]
+ [ compile libs/preprocessor/test/logical.cpp ]
+ [ compile libs/preprocessor/test/repetition.cpp ]
+ [ compile libs/preprocessor/test/selection.cpp ]
+ [ compile libs/preprocessor/test/seq.cpp ]
+ [ compile libs/preprocessor/test/slot.cpp ]
+ [ compile libs/preprocessor/test/tuple.cpp ]
+ ;
+
+ test-suite property_map
+ : [ compile libs/property_map/property_map_cc.cpp ]
+ ;
+
+ test-suite rational
+ : [ run libs/rational/rational_example.cpp ]
+ [ run libs/rational/rational_test.cpp ]
+ ;
+
+
+
+ compile libs/timer/timer_test.cpp ;
+
+ test-suite tokenizer
+ : [ run libs/tokenizer/examples.cpp test_exec_monitor ]
+ [ run libs/tokenizer/simple_example_1.cpp ]
+ [ run libs/tokenizer/simple_example_2.cpp ]
+ [ run libs/tokenizer/simple_example_3.cpp ]
+ [ run libs/tokenizer/simple_example_4.cpp ]
+ [ run libs/tokenizer/simple_example_5.cpp ]
+ ;
+
+ test-suite tuple_suite # !!!
+ : [ run libs/tuple/test/tuple_test_bench.cpp test_exec_monitor ]
+ [ run libs/tuple/test/io_test.cpp test_exec_monitor ]
+ ;
+
+
+
+
diff --git a/status/borland_logo.gif b/status/borland_logo.gif
new file mode 100644
index 0000000000..0165fb44ef
--- /dev/null
+++ b/status/borland_logo.gif
Binary files differ
diff --git a/status/compiler_status.html b/status/compiler_status.html
new file mode 100644
index 0000000000..09ba3c3c3d
--- /dev/null
+++ b/status/compiler_status.html
@@ -0,0 +1,247 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Type"
+content="text/html; charset=iso-8859-1">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<title>Boost Compiler Status Report</title>
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+
+<table border="1" cellpadding="2" bgcolor="#007F7F">
+ <tr>
+ <td bgcolor="#FFFFFF"><img src="../boost.png"
+ alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font color="#FFFFFF" size="4"
+ face="Arial">Home</font></a></td>
+ <td><a href="../libs/libraries.htm"><font color="#FFFFFF"
+ size="4" face="Arial">Libraries</font></a></td>
+ <td><a href="../people/people.htm"><font color="#FFFFFF"
+ size="4" face="Arial">People</font></a></td>
+ <td><a href="../more/faq.htm"><font color="#FFFFFF"
+ size="4" face="Arial">FAQ</font></a></td>
+ <td><a href="../more/index.htm"><font color="#FFFFFF"
+ size="4" face="Arial">More</font></a></td>
+ </tr>
+</table>
+
+<h1>Compiler Status Tables</h1>
+
+<p><a href="http://boost.sourceforge.net/regression-logs/">Compiler Status
+Summary</a> (on SourceForge) of Boost regression test results.<br>
+<a href="#Introduction">Introduction</a><br>
+<a href="#Understanding">Understanding the Tables</a><br>
+<a href="#Acknowledgements">Acknowledgements</a></p>
+
+<h2><a name="Introduction">Introduction</a></h2>
+
+<p>Will all Boost libraries work with your compiler?&nbsp;
+Unfortunately, the answer is &quot;it depends&quot;. See the
+<a href="http://boost.sourceforge.net/regression-logs/">Compiler Status Summary</a>
+to see exactly what works and what doesn't.</p>
+
+<p>Boost libraries rely on modern C++ features such as templates
+and the C++ Standard Library.&nbsp; Most modern compilers support
+those major features fairly well. But even today, years after the
+adoption of the C++ Standard, some compilers still don't support
+important minor features like partial template specialization.</p>
+
+<p>Boost library authors often expend a great deal of effort
+trying to work around compiler deficiencies.&nbsp; Nevertheless,
+some libraries will not compile at all with certain compilers or
+may have crippled functionality.&nbsp; Even if the current
+release of a compiler supports a boost library, older versions of
+the compiler may not work properly.</p>
+
+<p>Boost releases are run through <a href="../more/regression.html">regression
+tests</a> which
+automatically generates Compiler Status Tables for various
+platforms. Unless otherwise indicated, the C++ Standard Library
+implementation is the one shipped with the compiler.</p>
+
+<p><b>Warnings:</b></p>
+
+<ul>
+ <li>These tables are not a good indication of a
+particular compiler's compliance with the C++ Standard.&nbsp; The
+Boost libraries often contain workarounds which mask compiler
+deficiencies.<br>
+&nbsp;</li>
+ <li>Some regression tests are run only occasionally, and so are relatively
+ out-of-date.&nbsp; Check the date for each table.</li>
+</ul>
+
+<p><a name="quick-reference"></a>The
+<a href="http://boost.sourceforge.net/regression-logs/">Compiler Status Summary</a>
+includes table summaries for specific releases, as well as table summaries for
+recent <a href="../more/getting_started.html#CVS">CVS</a> snapshots. Release
+tables are identified by the release number appended to the table name. CVS
+snapshot tables do not have a release number appended.</p>
+
+<p>The <a href="../more/getting_started.html#CVS">CVS</a>
+code is being updated several times a day, so it may contain bug fixes, compiler
+workarounds, new features, and even whole new libraries. It may be unstable,
+however.</p>
+
+<h2><a name="Understanding">Understanding</a> the Tables</h2>
+
+<p>A table might look like this:</p>
+
+<blockquote>
+ <p><b>Run Date:</b> 21 Sep 2001 15:31 GMT</p>
+ <p><b>System Configuration:</b> Microsoft Windows 32bit&nbsp; </p>
+ <table border="1" cellpadding="5" cellspacing="0">
+<tbody> <tr>
+ <td>Program</td>
+ <td>Test<br>
+ Type</td>
+ <td>BelchFire<br>
+ Rev 5280</td>
+ <td>WorkHorse<br>
+ 5.3</td>
+ </tr>
+ <tr>
+ <td>libs/foo/test/foo_test.cpp</td>
+ <td>compile</td>
+ <td>Pass</td>
+ <td>Pass</td>
+ </tr>
+ <tr>
+ <td>libs/bar/bar_test.cpp</td>
+ <td>run</td>
+ <td><u><font color="#FF0000">Fail</font></u></td>
+ <td>Pass</td>
+ </tr>
+</tbody> </table>
+</blockquote>
+
+<p>The <i>Run Date</i> is important because the regression tests
+which create the status tables are run asynchronously, and thus
+may not represent the most current Boost release.</p>
+
+<p>The <i>Program</i> column identifies the actual source file
+for the test.&nbsp; Each row in the table represents a different
+test.</p>
+
+<p>The <a name="test-type"><i>Test Type</i></a> column identifies
+the type of test performed:</p>
+
+<table border="1" cellpadding="5" cellspacing="0">
+ <tr>
+ <td><b>Test Type</b></td>
+ <td><b>Action</b></td>
+ <td><b>Required to </b><b><i>Pass</i></b></td>
+ <td><b>Description and Use</b></td>
+ </tr>
+ <tr>
+ <td>compile</td>
+ <td>compile only</td>
+ <td>Compiler returns 0.</td>
+ <td>Verify that a source file will compile correctly, but
+ without any attempt to link or execute.&nbsp; Used when
+ factors such as possible object library unavailability
+ make a run test impractical.</td>
+ </tr>
+ <tr>
+ <td>compile-fail</td>
+ <td>compile only</td>
+ <td>Compiler must return non-zero.</td>
+ <td>Verify that a source file fails to compile. Used to
+ verify that an expected compile-time error was detected.</td>
+ </tr>
+ <tr>
+ <td>link</td>
+ <td>compile, link</td>
+ <td>Both compiler &amp; linker return 0.</td>
+ <td>Verify that a source file will compile and link
+ correctly, but without any attempt to execute the result.&nbsp;
+ Used when factors such as possible data file
+ unavailability make a run test impractical.</td>
+ </tr>
+ <tr>
+ <td>link-fail</td>
+ <td>compile, link</td>
+ <td>Either the compiler or linker must return non-zero.</td>
+ <td>Verify that a source file fails to compile and link.
+ Used to verify that error detect which depends on
+ unresolved externals works correctly.</td>
+ </tr>
+ <tr>
+ <td>run</td>
+ <td>compile, link, execute</td>
+ <td>Compiler, linker, and executable must all return 0.</td>
+ <td>Verify that a source file compiles, links, and the
+ resulting program executes correctly (as indicated by a
+ zero return code.)&nbsp; This is the primary test type
+ for most uses.</td>
+ </tr>
+ <tr>
+ <td>run-fail</td>
+ <td>compile, link, execute</td>
+ <td>Both compiler and linker must return 0, and the
+ executable must return non-zero.</td>
+ <td>Verify that a source file compiles and links
+ correctly, and that execution of the resulting program
+ detects some error.&nbsp; Used to verify runtime error
+ detection code works properly.</td>
+ </tr>
+</table>
+
+<p>Each remaining column in the table represents the individual
+compiler indicated. Unless otherwise indicated, the C++ Standard
+Library implementation is the one shipped with the compiler. A <i>Pass</i>
+entry indicates success for the indicated <i>Test Type</i>, while
+a <font color="#FF0000"><i>Fail</i></font> entry indicates
+failure. See <i>Required to Pass</i> in the above table for specifics.</p>
+
+<p>When possible, <font color="#FF0000"><i>Fail</i></font> entries are linked to
+error messages indicating the reason for the failure. Note that the web page
+containing error messages may be as much as one megabyte in size.</p>
+
+<h2><a name="Acknowledgements">Acknowledgements</a></h2>
+
+<p>The compiler status tables have been prepared with resources
+donated by a number of individuals, educational institutions, and
+companies. Boost would like to thank them for their support. </p>
+
+<ul>
+ <li>
+ <img border="0" src="borland_logo.gif" align="center" width="70" height="28"><a href="http://www.borland.com/">Borland</a><br>
+&nbsp;</li>
+ <li><a href="http://www.intel.com/software/products"><img
+ src="intel_logo.gif" align="center" border="0" width="72"
+ height="36">Intel Corporation</a><br>
+&nbsp;</li>
+ <li>
+ <img border="0" src="kai_logo.gif" width="65" height="27" align="center"> <a href="http://www.kai.com/">KAI
+ Software</a><br>
+&nbsp;</li>
+ <li>
+ <img border="0" src="ms_logo.gif" align="center" width="113" height="35">
+ <a href="http://msdn.microsoft.com/visualc/">Microsoft</a> <br>
+ <br>
+ </li>
+ <li><a href="http://www.hp.com/">Hewlett-Packard Company</a><br>
+&nbsp;</li>
+ <li><a href="http://www.lbl.gov">Lawrence Berkeley National
+ Laboratory</a><br>
+&nbsp;</li>
+ <li><a href="http://www.osl.iu.edu/">Open Systems Laboratory, University of
+ Indiana</a></li>
+</ul>
+
+<p>Note, however, that Boost does not endorse any product or
+service, nor does Boost guarantee that some or all of its
+libraries work with any of the products or services mentioned
+above. </p>
+
+<hr>
+
+<p>Revised
+<!--webbot bot="Timestamp" s-type="EDITED"
+s-format="%d %B %Y" startspan -->22 January 2004<!--webbot bot="Timestamp" endspan i-checksum="32362" --></p>
+</body>
+</html>
+
diff --git a/status/explicit-failures-markup.xml b/status/explicit-failures-markup.xml
new file mode 100644
index 0000000000..892b1dd592
--- /dev/null
+++ b/status/explicit-failures-markup.xml
@@ -0,0 +1,3329 @@
+<explicit-failures-markup
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="explicit-failures.xsd"
+ >
+
+ <!--
+ PLEASE VALIDATE THE XML BEFORE COMMITTING YOUR CHANGES!
+
+ The following online services can be used to validate your changes to this file:
+
+ - http://apps.gotdotnet.com/xmltools/xsdvalidator/
+
+ When using the gotdotnet tool you need to provide both the explicit-failures-markup.xml
+ file as the XML document and the explicit-failures.xsd as the schema document. Use the
+ browse buttons to select them from your local hard drive.
+
+ - http://tools.decisionsoft.com/schemaValidate.html
+ -->
+
+ <!-- /////////////// Toolsets /////////////// -->
+ <mark-toolset name="borland-5_6_4" status="required"/>
+ <mark-toolset name="cw-9_4" status="required"/>
+ <mark-toolset name="cw-8_3" status="required"/>
+ <mark-toolset name="cw-9_5-darwin" status="required"/>
+ <mark-toolset name="msvc" status="required"/>
+ <mark-toolset name="msvc-stlport" status="required"/>
+ <mark-toolset name="vc7" status="required"/>
+ <mark-toolset name="vc-6_5" status="required"/>
+ <mark-toolset name="vc-6_5-stlport" status="required"/>
+ <mark-toolset name="vc-7_0" status="required"/>
+ <mark-toolset name="vc-7_1" status="required"/>
+ <mark-toolset name="vc-8_0" status="required"/>
+ <mark-toolset name="mingw-3_4_2" status="required"/>
+ <mark-toolset name="gcc-2.95.3-linux" status="required"/>
+ <mark-toolset name="gcc-2.95.3-stlport-4.5.3-linux" status="required"/>
+ <mark-toolset name="gcc-2.95.3-stlport-4.6.2-linux" status="required"/>
+ <mark-toolset name="gcc-3.2.3-linux" status="required"/>
+ <mark-toolset name="gcc-3.3.6-linux" status="required"/>
+ <mark-toolset name="gcc-3.4.4-linux" status="required"/>
+ <mark-toolset name="gcc-4.0.0-linux" status="required"/>
+ <mark-toolset name="gcc-4.0.1-linux" status="required"/>
+ <mark-toolset name="gcc-4.0.2-linux" status="required"/>
+ <mark-toolset name="gcc-3_3-darwin" status="required"/>
+ <mark-toolset name="gcc-4_0-darwin" status="required"/>
+ <mark-toolset name="gcc-3_4_3-sunos" status="required"/>
+ <mark-toolset name="intel-win32-8_1" status="required"/>
+ <mark-toolset name="intel-win32-9_0" status="required"/>
+ <mark-toolset name="intel-8.1-linux" status="required"/>
+ <mark-toolset name="intel-9.0-linux" status="required"/>
+ <mark-toolset name="tru64cxx71-006" status="required"/>
+
+ <!-- /////////////// Libraries /////////////// -->
+
+ <!-- minmax -->
+ <library name="algorithm/minmax">
+ <mark-unusable>
+ <toolset name="sunpro-5_3-sunos"/>
+ </mark-unusable>
+ </library>
+
+ <!-- string_algo -->
+ <library name="algorithm/string">
+ <mark-unusable>
+ <toolset name="borland"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="iw-7_1-vc6"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.5.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <toolset name="mipspro"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note author="P.Droba">
+ The compiler does not support features that are essential for the library.
+ </note>
+ </mark-unusable>
+ </library>
+
+ <!-- any -->
+ <library name="any">
+ <test name="any_to_ref_test">
+ <mark-failure>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <note author="Vladimir Prus">
+ The test fail with ICE, but the exact reason for ICE is not
+ known. A minimal example of casting any to reference type
+ seem to work. Anyone interested in using this functionality
+ with msvc is suggested to do additional testing.
+ </note>
+ </mark-failure>
+ </test>
+ </library>
+
+
+ <!-- array -->
+ <library name="array">
+ <test name="array3">
+ <mark-failure>
+ <toolset name="borland"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <note refid="3"/>
+ </mark-failure>
+ <mark-failure>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note refid="4"/>
+ </mark-failure>
+ </test>
+ <test name="array4">
+ <mark-failure>
+ <toolset name="borland"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <note refid="3"/>
+ </mark-failure>
+ </test>
+ </library>
+
+ <!-- assign -->
+ <library name="assign">
+ <mark-unusable>
+ <toolset name="dmc-8_43-stlport-4_5_3"/>
+ </mark-unusable>
+ <mark-expected-failures>
+ <test name="array"/>
+ <toolset name="msvc-stlport"/>
+ <toolset name="vc-6_5-stlport"/>
+ <toolset name="vc-7_0"/>
+ <note author="Thorsten Ottosen" >
+ The test would (most likely) compile and run properly if the workaround
+ syntax .to_container( c ) was applied to all list_of() expressions.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="email_example"/>
+ <toolset name="gcc-2.95.3*"/>
+ <note refid="27" author="Thorsten Ottosen"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="list_inserter"/>
+ <toolset name="vc-7_0"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <toolset name="tru64cxx65*"/>
+ <toolset name="intel-win32"/>
+ <note refid="6" author="Thorsten Ottosen"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="list_inserter"/>
+ <toolset name="gcc-2.95.3*"/>
+ <note author="Thorsten Ottosen">
+ This test could probably be made to work if somebody with knowledge
+ about the compilers would submit a patch.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="list_of"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <toolset name="tru64cxx65*"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <note author="Thorsten Ottosen" >
+ The test would (most likely) compile and run properly if the workaround
+ syntax .to_container( c ) was applied to all list_of() expressions.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="list_of"/>
+ <toolset name="intel-win32-8_1"/>
+ <toolset name="intel-win32-9_0"/>
+ <note author="Thorsten Ottosen">
+ The test would (most likely) compile and run properly if
+ the test did not use list_of() with boost::array.
+ I would be very happy to see an intel programmer
+ submit a patch. It is quite strange that it only happens on
+ intel's windows compilers.
+ </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="list_of_workaround"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note author="Thorsten Ottosen" >
+ The test could probably be made to work if somebody submitted a patch.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="multi_index_container"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <toolset name="tru64cxx65*"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="gcc-2.95.3*"/>
+ <note refid="27" author="Thorsten Ottosen"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="multi_index_container"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <toolset name="mipspro"/>
+ <toolset name="tru64cxx65"/>
+ <note author="Thorsten Ottosen" >
+ The test would (most likely) compile and run properly if the workaround
+ syntax .to_container( c ) was applied to all list_of() expressions.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="my_vector_example"/>
+ <toolset name="gcc-2.95.3*"/>
+ <note refid="27" author="Thorsten Ottosen"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="ptr_list_inserter"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <toolset name="tru64cxx65*"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="gcc-2.95.3*"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <toolset name="mipspro"/>
+ <note author="Thorsten Ottosen" >
+ The test depends on Boost.Pointer Container which probably does not work for
+ this compiler.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="ptr_list_of"/>
+ <toolset name="tru64cxx65*"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="gcc-2.95.3*"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="mipspro"/>
+ <note author="Thorsten Ottosen" >
+ The test depends on Boost.Pointer Container which probably does not work for
+ this compiler.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="std"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note author="Thorsten Ottosen" >
+ The test does not work for
+ this compiler.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="tuple_list_of"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <note author="Thorsten Ottosen" >
+ The test depends on Boost.Tuple which probably does not work for
+ this compiler.
+ </note>
+ </mark-expected-failures>
+ </library>
+
+ <!-- bind-->
+ <library name="bind">
+ <mark-expected-failures>
+ <test name="bind_cv_test"/>
+ <test name="bind_stateful_test"/>
+ <toolset name="intel-7.1-linux"/>
+ <toolset name="intel-7.1-stdlib-default-linux"/>
+ <note refid="2" author="Aleksey Gurtovoy"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="bind_dm2_test"/>
+ <test name="mem_fn_dm_test"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <toolset name="cw-8_3"/>
+ <note refid="31" author="Peter Dimov"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="bind_dm_test"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note refid="31" author="Peter Dimov"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="mem_fn_derived_test"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note refid="31" author="Peter Dimov"/>
+ </mark-expected-failures>
+ </library>
+
+
+ <!-- concept_check -->
+ <library name="concept_check">
+ <test name="stl_concept_covering">
+ <mark-failure>
+ <toolset name="*"/>
+ <note author="D. Gregor" refid="28"/>
+ </mark-failure>
+ </test>
+
+ <test name="class_concept_fail_expected">
+ <mark-failure>
+ <toolset name="cw-8_3*"/>
+ <note author="B. Dawes" refid="3"/>
+ </mark-failure>
+ </test>
+ </library>
+
+ <!-- config -->
+ <library name="config">
+ <test name="config_test">
+ <mark-failure>
+ <toolset name="intel-win32"/>
+ <note author="B. Dawes" refid="3"/>
+ </mark-failure>
+ </test>
+ <test name="config_link_test">
+ <mark-failure>
+ <toolset name="*como-4_3_3-vc7*"/>
+ <note author="J. Maddock" refid="3"/>
+ </mark-failure>
+ </test>
+ <test name="limits_test">
+ <mark-failure>
+ <toolset name="cw-8_3*"/>
+ <note author="B. Dawes" refid="3"/>
+ </mark-failure>
+ </test>
+
+ <test name="limits_test">
+ <mark-failure>
+ <toolset name="iw-7_1-vc6-stlp-4_5_3"/>
+ <note author="Aleksey Gurtovoy" refid="4"/>
+ </mark-failure>
+ </test>
+ <test name="test_thread_fail1">
+ <mark-failure>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note author="J. Maddock" refid="3"/>
+ </mark-failure>
+ </test>
+ <test name="test_thread_fail2">
+ <mark-failure>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note author="J. Maddock" refid="3"/>
+ </mark-failure>
+ </test>
+ </library>
+
+
+ <!-- conversion -->
+ <library name="conversion">
+ <test name="lexical_cast_test">
+ <mark-failure>
+ <toolset name="vc-8_0"/>
+ <note author="Aleksey Gurtovoy" refid="4"/>
+ </mark-failure>
+ <mark-failure>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note author="Douglas Gregor" refid="3"/>
+ </mark-failure>
+ </test>
+ </library>
+
+ <!-- crc -->
+ <library name="crc">
+ <test name="crc_test">
+ <mark-failure>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note author="Douglas Gregor" refid="3"/>
+ </mark-failure>
+ </test>
+ </library>
+
+ <!-- date_time -->
+ <library name="date_time">
+ <mark-unusable>
+ <toolset name="sunpro-5_3-sunos"/>
+ <toolset name="msvc-stlport"/>
+ <toolset name="vc-6_5-stlport"/>
+ <toolset name="iw-7_1-vc6-stlp-4_5_3"/>
+ <toolset name="iw-7_1-vc6"/>
+ </mark-unusable>
+
+ <test name="testgreg_serialize*">
+ <mark-failure>
+ <toolset name="gcc-2.*"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <note author="B. Garst">The serialization library does not support this compiler.
+ </note>
+ </mark-failure>
+ </test>
+
+ <test name="testgreg_serialize_xml">
+ <mark-failure>
+ <toolset name="vc-7_0"/>
+ <note author="J. Garland">XML serialization is not supported on this compiler.
+ </note>
+ </mark-failure>
+ </test>
+
+ <test name="testtime_serialize*">
+ <mark-failure>
+ <toolset name="gcc-2.*"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <note author="B. Garst">The serialization library does not support this compiler.
+ </note>
+ </mark-failure>
+ </test>
+
+ <test name="testtime_serialize_xml*">
+ <mark-failure>
+ <toolset name="vc-7_0"/>
+ <note author="J. Garland">XML serialization is not supported on this compiler.
+ </note>
+ </mark-failure>
+ </test>
+
+ <test name="testdate_iterator">
+ <mark-failure>
+ <toolset name="intel-7.1-stdlib-default-linux"/>
+ <toolset name="intel-7.1-linux"/>
+ <note author="J. Garland" refid="19,21"/>
+ </mark-failure>
+ </test>
+ <test name="testdate_iterator_dll">
+ <mark-failure>
+ <toolset name="intel-7.1-stdlib-default-linux"/>
+ <toolset name="intel-7.1-linux"/>
+ <note author="J. Garland" refid="19,21"/>
+ </mark-failure>
+ </test>
+
+
+ <test name="testgeneric_period">
+ <mark-failure>
+ <toolset name="intel-7.1-stdlib-default-linux"/>
+ <toolset name="intel-7.1-linux"/>
+ <note author="J. Garland">These are strange runtime failures for
+ which there is no obvious explanation. Later versions of the
+ Intel compiler (eg:8.0) seem to have resolved the issue.
+ </note>
+ </mark-failure>
+ </test>
+
+ <test name="testgreg_wstream">
+ <mark-failure>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <toolset name="cw-8_3*"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="mingw*"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-3.1-darwin"/>
+ <toolset name="*como-4_3_3*"/>
+ <note author="B. Garst" refid="19,21"/>
+ </mark-failure>
+ </test>
+
+ <test name="testdate_input_facet*">
+ <mark-failure>
+ <toolset name="cw-9_4"/>
+ <toolset name="cw-9_5*"/>
+ <note author="J. Garland">
+ For some reason Code Warrior has difficulty compiling some of the
+ input code. This may be related to limitations of locale handling,
+ but it's unclear at this time (2005-May-21).
+ </note>
+ </mark-failure>
+ </test>
+
+
+ <test name="testlocal_time_facet">
+ <mark-failure>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="*como-4_3_3*"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.5.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <note author="J. Garland">
+ Some older compilers are confused by the template code here.
+ These are new features to date-time in 1.33 and there is no
+ plan to backport to these non-compliant compilers.
+ </note>
+ </mark-failure>
+ </test>
+
+ <test name="testlocal_time">
+ <mark-failure>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="*como-4_3_3*"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.5.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <note author="J. Garland">
+ Some older compilers are confused by the template code here.
+ These are new features to date-time in 1.33 and there is no
+ plan to backport to these non-compliant compilers.
+ </note>
+ </mark-failure>
+ </test>
+
+ <test name="testclocks">
+ <mark-failure>
+ <toolset name="*como-4_3_3*"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <note author="J. Garland">
+ Some compilers are confused by the template code here.
+ These are new features to date-time in 1.33 and there is no
+ plan to backport to these non-compliant compilers.
+ </note>
+ </mark-failure>
+ </test>
+
+ <test name="testlocal_time_input_facet">
+ <mark-failure>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="*como-4_3_3*"/>
+ <toolset name="cw-8_3*"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.5.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <note author="J. Garland">
+ Some older compilers are confused by the template code here.
+ These are new features to date-time in 1.33 and there is no
+ plan to backport to these non-compliant compilers.
+ </note>
+ </mark-failure>
+ </test>
+
+
+ <test name="testtime_input_facet">
+ <mark-failure>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="*como-4_3_3*"/>
+ <toolset name="cw-8_3*"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.5.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <note author="J. Garland">
+ Some older compilers are confused by the template code here.
+ These are new features to date-time in 1.33 and there is no
+ plan to backport to these non-compliant compilers.
+ </note>
+ </mark-failure>
+ </test>
+
+ <test name="testcustom_time_zone">
+ <mark-failure>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="*como-4_3_3*"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <note author="J. Garland">
+ Some older compilers are confused by the template code here.
+ These are new features to date-time in 1.33 and there is no
+ plan to backport to these non-compliant compilers.
+ </note>
+ </mark-failure>
+ </test>
+
+ <test name="testposix_time_zone">
+ <mark-failure>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <note author="J. Garland">
+ Some older compilers are confused by the template code here.
+ These are new features to date-time in 1.33 and there is no
+ plan to backport to these non-compliant compilers.
+ </note>
+ </mark-failure>
+ </test>
+
+ <test name="testtz_database">
+ <mark-failure>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="*como-4_3_3*"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <note author="J. Garland">
+ Some compilers are confused by the template code here.
+ These are new features to date-time in 1.33 and there is no
+ plan to backport to these non-compliant compilers.
+ </note>
+ </mark-failure>
+ </test>
+
+ <test name="testtz_database">
+ <mark-failure>
+ <toolset name="intel-win32-8_1"/>
+ <note author="Stefan Slapeta" refid="31"/>
+ </mark-failure>
+ </test>
+
+ <test name="testtime_wstream">
+ <mark-failure>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-3.1-darwin"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="mingw*"/>
+ <toolset name="*como-4_3_3*"/>
+ <toolset name="tru64cxx65-042"/>
+ <note author="B. Garst" refid="19,21,22"/>
+ </mark-failure>
+ </test>
+
+ <test name="testtime_wstream_std_config">
+ <mark-failure>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-3.1-darwin"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="mingw*"/>
+ <toolset name="*como-4_3_3*"/>
+ <toolset name="tru64cxx65-042"/>
+ <note author="B. Garst" refid="19,21,22"/>
+ </mark-failure>
+ </test>
+ <test name="testdate_facet_new">
+ <mark-failure>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="cw-8_3*"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <note author="J. Garland">
+ These compilers are unfortunately able to correctly compile the
+ new format-based input-output code for date time. Suitable, but
+ less flexible, alternatives are available on these compilers.
+ </note>
+ </mark-failure>
+ </test>
+ <test name="testdate_facet_new_dll">
+ <mark-failure>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="cw-8_3*"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <note author="J. Garland">
+ These compilers are unfortunately able to correctly compile the
+ new format-based input-output code for date time. Suitable, but
+ less flexible, alternatives are available on these compilers.
+ </note>
+ </mark-failure>
+ </test>
+ <test name="testtime_facet">
+ <mark-failure>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="cw-8_3*"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <note author="J. Garland">
+ These compilers are unfortunately able to correctly compile the
+ new format-based input-output code for date time. Suitable, but
+ less flexible, alternatives are available on these compilers.
+ </note>
+ </mark-failure>
+ </test>
+
+ <test name="testfacet">
+ <mark-failure>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-3.1-darwin"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="mingw*"/>
+ <note author="B. Garst" refid="18,19"/>
+ </mark-failure>
+ </test>
+ <test name="testfacet_dll">
+ <mark-failure>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-3.1-darwin"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="mingw*"/>
+ <toolset name="*como-4_3_3*"/>
+ <note author="B. Garst" refid="18,19"/>
+ </mark-failure>
+ </test>
+ <test name="testgreg_year_dll">
+ <mark-failure>
+ <toolset name="*como-4_3_3*"/>
+ </mark-failure>
+ </test>
+ <test name="testparse_date">
+ <mark-failure>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <note author="B. Garst" refid="18,20"/>
+ </mark-failure>
+ </test>
+ <test name="testmicrosec_time_clock">
+ <mark-failure>
+ <toolset name="intel-7.1-stdlib-default-linux"/>
+ <toolset name="*como-4_3_3*"/>
+ <toolset name="intel-7.1-linux"/>
+ <note author="B. Garst" refid="22"/>
+ </mark-failure>
+ </test>
+ <test name="teststreams">
+ <mark-failure>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-3.1-darwin"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="mingw-3*"/>
+ <toolset name="mingw"/>
+ <toolset name="*como-4_3_3*"/>
+ <note author="B. Garst" refid="18,19,20"/>
+ </mark-failure>
+ </test>
+ <test name="testdate_dll">
+ <mark-failure>
+ <toolset name="*como-4_3_3*"/>
+ <note author="J. Garland" date="30 Jan 2004" id="24"/>
+ </mark-failure>
+ </test>
+ <test name="testgreg_day_dll">
+ <mark-failure>
+ <toolset name="*como-4_3_3*"/>
+ <note author="J. Garland" date="30 Jan 2004" id="24"/>
+ </mark-failure>
+ </test>
+ <test name="*_dll">
+ <mark-failure>
+ <toolset name="*como-4_3_3*"/>
+ <note author="J. Garland" date="30 Jan 2004" id="24"/>
+ </mark-failure>
+ </test>
+
+ <mark-expected-failures>
+ <test name="testdate_dll"/>
+ <test name="testdate_duration_dll"/>
+ <test name="testdate_input_facet_dll"/>
+ <test name="testdate_iterator_dll"/>
+ <test name="testfacet_dll"/>
+ <test name="testformatters_dll"/>
+ <test name="testgenerators_dll"/>
+ <test name="testgreg_durations_dll"/>
+ <test name="testperiod_dll"/>
+ <toolset name="cw-8_3*"/>
+ <note author="R. Rivera" refid="25"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="testlocal_time_input_facet"/>
+ <test name="testtime_input_facet"/>
+ <toolset name="cw-9_4"/>
+ <toolset name="cw-9_5*"/>
+ <note author="J. Garland">
+ Although these tests compile, the execution aborts for
+ an unknown reason. Note that sometimes the excution is
+ ok on cw-9_4. This may be fixable if someone
+ can track down the source of the problem.
+ </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="testlocal_time"/>
+ <test name="testlocal_time_input_facet"/>
+ <test name="testtime_input_facet"/>
+ <toolset name="vc-8_0"/>
+ <note author="J. Garland">
+ These tests are failing with the beta2 version of VC_8. At least
+ one of them is directly a result of the new VC_8 standard library
+ restricting the year value in a tm struct to be positive (that is
+ greater than year 1900). This is a change from VC7_1 and Microsoft
+ is considering removing this restriction.
+ </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="testfacet"/>
+ <test name="testfacet_dll"/>
+ <toolset name="tru64cxx*"/>
+ <note author="Markus Schoepflin">
+ The failure is caused by a standard library bug. It doesn't
+ support used defined facets which are not default
+ constructible. This has been reported to the compiler vendor.
+ </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="testgreg_wstream"/>
+ <test name="testparse_date"/>
+ <test name="teststreams"/>
+ <toolset name="tru64cxx*"/>
+ <note author="Markus Schoepflin">
+ The failure is caused by a standard library bug. The end-of-stream
+ istream iterator can only be constructed when the istream iterator
+ has been instantiated with char as the character type. This has
+ been reported to the compiler vendor.
+ </note>
+ </mark-expected-failures>
+
+ </library>
+
+
+ <!-- dynamic_bitset -->
+ <library name="dynamic_bitset">
+ <test name="dyn_bitset_unit_tests4">
+ <mark-failure>
+ <toolset name="cw-9_3"/>
+ <note author="Aleksey Gurtovoy" refid="2"/>
+ </mark-failure>
+ <mark-failure>
+ <toolset name="cw-9_3-darwin"/>
+ <note author="Douglas Gregor" refid="2"/>
+ </mark-failure>
+ <mark-failure>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note author="Douglas Gregor" refid="2"/>
+ </mark-failure>
+ </test>
+ </library>
+
+
+ <!-- filesystem -->
+ <library name="filesystem">
+ <mark-unusable>
+ <toolset name="intel-7.1-linux"/>
+ <toolset name="intel-7.1-stdlib-default-linux"/>
+ <note author="Aleksey Gurtovoy">
+ Due to to standard library bugs this configuration is not supported by
+ the most recent version of the library.
+ </note>
+ </mark-unusable>
+ <mark-expected-failures>
+ <test name="operations_test"/>
+ <test name="operations_test_dll"/>
+ <toolset name="gcc-*-osf1"/>
+ <toolset name="tru64*"/>
+ <note author="Markus Schoepflin">
+ The library is mostly working, the test failure observed might
+ be due to a bug in the C library of this platform.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="operations_test_dll"/>
+ <test name="path_test_dll"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="mingw-3_4_*"/>
+ <note author="Beman Dawes" refid="35"/>
+ </mark-expected-failures>
+ </library>
+
+ <!-- format -->
+ <library name="format">
+ <mark-unusable>
+ <toolset name="iw-7_1*"/>
+ <note author="Aleksey Gurtovoy">
+ The failure is caused by a standard library bug: the
+ iostream components fail to handle <code>ios::internal</code>
+ flag.
+ </note>
+ </mark-unusable>
+ <mark-unusable>
+ <toolset name="sunpro-5_3-sunos"/>
+ </mark-unusable>
+ <mark-expected-failures>
+ <test name="format_test2"/>
+ <test name="format_test3"/>
+ <toolset name="tru64cxx65*"/>
+ <note author="Markus Schoepflin" refid="33"/>
+ </mark-expected-failures>
+ </library>
+
+ <!-- functional/hash -->
+ <library name="functional/hash">
+ <mark-expected-failures>
+ <test name="hash_value_array_test"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <note author="Daniel James">
+ hash_value is not overloaded for arrays for older versions
+ of Visual C++. There is a work around so that
+ boost::hash&lt;T[N]&gt;, boost::hash_combine and boost::hash_range
+ work.
+ </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="hash_function_pointer_test"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <note refid="2" author="Daniel James"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="hash_float_test"/>
+ <toolset name="gcc-3_4_3-sunos"/>
+ <note author="Daniel James">
+ On this compiler the hash function is returning the same value
+ for <code>std::numeric_limits&lt;long double&gt;::max()</code>,
+ <code>std::numeric_limits&lt;long double&gt;::max() / 2</code> and
+ <code>std::numeric_limits&lt;long double&gt;::max() * 3 / 4</code>.
+ This suggests the hash function isn't taking into account the
+ full range of <code>long double</code> - it might be
+ converting it to a <code>double</code>. This won't cause
+ anything to break, but means that the hash function isn't
+ as good as it should be for <code>long double</code>s.
+ </note>
+ </mark-expected-failures>
+ </library>
+
+ <!-- graph -->
+ <library name="graph">
+ <mark-unusable>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ </mark-unusable>
+ <mark-expected-failures>
+ <test name="adj_matrix_cc"/>
+ <test name="biconnected_components_test"/>
+ <test name="bfs_cc"/>
+ <test name="bundled_properties"/>
+ <test name="dfs_cc"/>
+ <test name="dijkstra_cc"/>
+ <test name="floyd_warshall_test"/>
+ <test name="gursoy_atun_layout_test"/>
+ <test name="graphviz_test"/>
+ <test name="subgraph"/>
+ <test name="transitive_closure_test"/>
+ <test name="vector_graph_cc"/>
+ <toolset name="vc-7_0"/>
+ <note refid="3" author="D. Gregor"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="graphviz_test"/>
+ <toolset name="vc-8_0"/>
+ <note refid="1" author="D. Gregor"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="betweenness_centrality_test"/>
+ <toolset name="iw-7_1-vc6*"/>
+ <toolset name="vc-7_0"/>
+ <note refid="3" author="Aleksey Gurtovoy"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="graphviz_test"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.5.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <toolset name="como-4_3_3-vc7_1"/>
+ <toolset name="iw-7_1-vc6"/>
+ <toolset name="iw-7_1-vc6-stlp-4_5_3"/>
+ <note refid="3" author="Doug Gregor"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="graphviz_test"/>
+ <toolset name="cw-9_4"/>
+ <note refid="29" author="Rene Rivera"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="layout_test"/>
+ <toolset name="intel-win32-9_0"/>
+ </mark-expected-failures>
+ </library>
+
+
+ <!-- io-->
+ <library name="io">
+ <mark-expected-failures>
+ <test name="ios_state_unit_test"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="iw-7_1-vc6*"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <note refid="4" author="Aleksey Gurtovoy"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="ios_state_test"/>
+ <test name="ios_state_unit_test"/>
+ <toolset name="tru64cxx65*"/>
+ <note refid="34" author="Markus Schoepflin"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="ios_state_unit_test"/>
+ <toolset name="gcc-2.95.3-*"/>
+ <note refid="3" author="Doug Gregor"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="ios_state_unit_test"/>
+ <toolset name="intel-win32-8*"/>
+ <note refid="3" author="Stefan Slapeta"/>
+ </mark-expected-failures>
+ </library>
+
+ <!-- iostreams -->
+ <library name="iostreams">
+ <mark-unusable>
+ <toolset name="sunpro-5_3-sunos"/>
+ <toolset name="dmc-8_43-stlport-4_5_3"/>
+ <note author="Jonathan Turkanis" refid="17"/>
+ </mark-unusable>
+ <mark-expected-failures>
+ <test name="seekable_file_test"/>
+ <toolset name="gcc-2.95.3-stlport-4.5.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="iw-7_1-vc6-stlp-4_5_3"/>
+ <toolset name="msvc-stlport"/>
+ <toolset name="vc-6_5-stlport"/>
+ <toolset name="*como-4_3_3*"/>
+ <note author="Jonathan Turkanis" refid="4"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="code_converter_test"/>
+ <test name="wide_stream_test"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="*mingw*"/>
+ <toolset name="*cygwin*"/>
+ <toolset name="gcc-3.3.6-osf1"/>
+ <note author="Jonathan Turkanis" refid="19"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="bzip2_test"/>
+ <test name="file_descriptor_test"/>
+ <test name="mapped_file_test"/>
+ <toolset name="*como-4_3_3*"/>
+ <note author="Jonathan Turkanis">
+ compiler can't compile "windows.h" in strict mode
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="gzip_test"/>
+ <test name="zlib_test"/>
+ <toolset name="como-4_3_3-vc7_1"/>
+ <note author="Jonathan Turkanis">
+ The failure reflects a problem with the build system: the zlib
+ object files are generated in the wrong directory.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="stdio_filter_test"/>
+ <toolset name="*como-4_3_3*"/>
+ <note author="Jonathan Turkanis" refid="0"/>
+ </mark-expected-failures>
+ <mark-expected-failures reason="?">
+ <test name="direct_adapter_test"/>
+ <test name="gzip_test"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <note author="Jonathan Turkanis" refid="29"/>
+ </mark-expected-failures>
+ <mark-expected-failures reason="?">
+ <test name="file_descriptor_test"/>
+ <toolset name="gcc-3_4_4-cygwin"/>
+ <note author="Jonathan Turkanis" refid="29"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="finite_state_filter_test"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <toolset name="gcc-2.95.3*"/>
+ <note author="Jonathan Turkanis" refid="2"/>
+ </mark-expected-failures>
+ </library>
+
+ <!-- lambda -->
+ <library name="lambda">
+ <mark-unusable>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="borland"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="borland-5_5_1"/>
+ <toolset name="vc-7_0"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note refid="17">
+ </note>
+ </mark-unusable>
+ <mark-expected-failures>
+ <test name="bll_and_function"/>
+ <toolset name="vc-8_0"/>
+ <note author="Aleksey Gurtovoy" refid="6"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="member_pointer_test"/>
+ <toolset name="gcc-2.95.3-*"/>
+ <note author="Doug Gregor" refid="3"/>
+ </mark-expected-failures>
+ </library>
+
+ <!-- logic -->
+ <library name="logic">
+ <test name="tribool_io_test">
+ <mark-failure>
+ <toolset name="msvc-stlport"/>
+ <toolset name="vc-6_5-stlport"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <toolset name="tru64cxx65-042"/>
+ <note author="Douglas Gregor" refid="4"/>
+ </mark-failure>
+ </test>
+ </library>
+
+
+ <!-- MPL -->
+ <library name="mpl">
+
+ <mark-unusable>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note author="Aleksey Gurtovoy" date="10 Jul 2005">
+ The compiler is not supported by the library due to an
+ utterly broken templates support.
+ </note>
+ </mark-unusable>
+
+ <mark-expected-failures>
+ <test name="as_sequence"/>
+ <test name="is_sequence"/>
+ <test name="has_xxx"/>
+ <test name="no_has_xxx"/>
+ <test name="single_view"/>
+ <toolset name="cw-8_3*"/>
+ <note author="Aleksey Gurtovoy" date="17 Sep 2004">
+ This failure is caused by a deficient SFINAE implementation; the bug
+ was fixed in the next major compiler version (CodeWarrior 9.x).
+ </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="is_sequence"/>
+ <test name="as_sequence"/>
+ <test name="has_xxx"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="gcc-2.95.3*"/>
+ <note author="Aleksey Gurtovoy" date="17 Sep 2004">
+ This failure is caused by a deficient SFINAE implementation.
+ </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="apply"/>
+ <test name="for_each"/>
+ <test name="multiset"/>
+ <test name="zip_view"/>
+
+ <toolset name="borland-5_6_4"/>
+ <note author="Aleksey Gurtovoy" date="17 Sep 2004" refid="26"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="assert"/>
+ <test name="at"/>
+ <test name="back"/>
+ <test name="front"/>
+ <test name="has_xxx"/>
+ <test name="multiset"/>
+ <test name="no_has_xxx"/>
+ <test name="zip_view"/>
+
+ <toolset name="mipspro"/>
+ <note author="Aleksey Gurtovoy" date="17 Sep 2004" refid="26"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="quote"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="mipspro"/>
+ <note author="Aleksey Gurtovoy" date="17 Sep 2004">
+ This failure is caused by a lack of compiler support for template template
+ parameters.
+ </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="map"/>
+ <test name="set"/>
+ <test name="set_c"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="gcc-2.95.3*"/>
+ <toolset name="mipspro"/>
+ <note author="Aleksey Gurtovoy" date="17 Sep 2004">
+ This is an advanced functionality that hasn't been ported to the deficient
+ compilers (yet). Patches are welcome!
+ </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="map"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <note author="Aleksey Gurtovoy" date="17 Sep 2004">
+ This is an advanced functionality that hasn't been ported to the deficient
+ compilers (yet). Patches are welcome!
+ </note>
+ </mark-expected-failures>
+
+ </library>
+
+
+ <!-- multi_array -->
+ <library name="multi_array">
+ <mark-unusable>
+ <toolset name="borland"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="borland-5_5_1"/>
+ <note author="Alisdair Meredith" date="30 Jan 2004">
+ <p>
+ This library has never worked [on Borland 5.5.1 and 5.6.4], and the only tests
+ that 'pass' are compile-fail tests failing for the wrong reasons!
+ </p>
+ </note>
+ </mark-unusable>
+ <mark-unusable>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note author="Douglas Gregor" refid="3"/>
+ </mark-unusable>
+ <test name="constructors">
+ <mark-failure>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <note author="Ronald Garcia" date="13 Jul 2004">
+ Known error in MSVC. see
+<a href="http://boost-consulting.com/boost/libs/multi_index/doc/compiler_specifics.html#msvc_60">
+http://boost-consulting.com/boost/libs/multi_index/doc/compiler_specifics.html#msvc_60</a>
+for more information.
+ </note>
+ </mark-failure>
+ </test>
+ <mark-expected-failures>
+ <test name="assign_to_array"/>
+ <toolset name="gcc-2.95.3*"/>
+ <note author="Aleksey Gurtovoy" date="21 Sep 2004" refid="2"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="assign"/>
+ <test name="compare"/>
+ <test name="concept_checks"/>
+ <test name="constructors"/>
+ <test name="iterators"/>
+ <test name="resize"/>
+ <test name="stl_interaction"/>
+ <toolset name="gcc-2.95.3*"/>
+ <note author="Doug Gregor" date="23 Jun 2005" refid="3"/>
+ </mark-expected-failures>
+ </library>
+
+
+ <!-- multi_index -->
+ <library name="multi_index">
+ <mark-unusable>
+ <toolset name="borland-5_6_4"/>
+ <note author="J. L&#243;pez" date="05 Jul 2004" refid="17"/>
+ </mark-unusable>
+ <mark-unusable>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.5.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <note author="J. L&#243;pez" date="09 Jul 2004" refid="17"/>
+ </mark-unusable>
+ <mark-unusable>
+ <toolset name="*como-4_3_3-msvc"/>
+ <note author="J. L&#243;pez" date="30 Jul 2004">
+ The VC++ 6.0 backend runs out of internal resources while
+ trying to process the Comeau output for this library;
+ Comeau Computing has been asked about a solution.
+ On the other hand, Comeau 4.3.3 with VC++ 7.0 backend works
+ fine.
+ </note>
+ </mark-unusable>
+ <mark-unusable>
+ <toolset name="sunpro-5_3-sunos"/>
+ <toolset name="sunpro-5_8u1-sunos"/>
+ <note author="J. L&#243;pez" date="22 Apr 2005" refid="17"/>
+ </mark-unusable>
+ <mark-unusable>
+ <toolset name="dmc-8_43-stlport-4_5_3"/>
+ <toolset name="dmc-8_44b-stlport-4_5_3"/>
+ <note author="J. L&#243;pez" date="03 Jun 2005" refid="17"/>
+ </mark-unusable>
+ <mark-expected-failures>
+ <test name="test_serialization"/>
+ <toolset name="msvc-stlport"/>
+ <toolset name="vc-6_5-stlport"/>
+ <note author="J. L&#243;pez" date="10 Jan 2005">
+ This error shows when using the dynamic version of the STLport
+ library. The problem is reportedly fixed in STLport 5.0 (in beta
+ stage as of this writing.)
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="test_serialization"/>
+ <toolset name="vacpp"/>
+ <note author="J. L&#243;pez" date="07 Jul 2005">
+ Boost.Serialization is not supported on this platform.
+ </note>
+ </mark-expected-failures>
+ </library>
+
+
+ <!-- optional -->
+ <library name="optional">
+ <mark-expected-failures>
+ <test name="optional_test_ref"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <note author="Aleksey Gurtovoy" refid="3"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="optional_test_ref_fail1"/>
+ <toolset name="borland-5_6_4"/>
+ <note author="Fernando Cacciola" refid="2"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="optional_test_fail3a"/>
+ <toolset name="gcc-3_3-darwin"/>
+ <note author="Fernando Cacciola" refid="2"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="optional_test_inplace_fail2"/>
+ <toolset name="gcc-3_3-darwin"/>
+ <note author="Fernando Cacciola" refid="2"/>
+ </mark-expected-failures>
+ </library>
+
+ <library name="pool">
+ <mark-unusable>
+ <toolset name="gcc-2.95.3-*"/>
+ <note author="Doug Gregor" refid="2"/>
+ </mark-unusable>
+ </library>
+
+ <!-- preprocessor -->
+ <library name="preprocessor">
+ <mark-expected-failures>
+ <test name="seq"/>
+ <toolset name="cw-8_3"/>
+ <note author="Paul Mensonides" refid="2"/>
+ </mark-expected-failures>
+ </library>
+
+ <!-- serialization -->
+ <library name="serialization">
+ <mark-unusable>
+ <toolset name="vacpp*" />
+ <toolset name="mipspro*" />
+ <toolset name="dmc*" />
+ <toolset name="sunpro*" />
+ <note author="Robert Ramey" date="13 Jul 2004" refid="9,17,18"/>
+ </mark-unusable>
+ <mark-unusable>
+ <toolset name="gcc-2.95.3-linux"/>
+ <note author="Robert Ramey" date="12 Feb 05" refid="18,19"/>
+ </mark-unusable>
+
+ <mark-expected-failures>
+ <test name="*_warchive"/>
+ <test name="test_codecvt_null"/>
+ <test name="test_utf8_codecvt"/>
+ <toolset name="mingw*"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <note author="Robert Ramey" date="12 Feb 05" refid="19"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_void_cast*"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <note author="Robert Ramey" date="20 Sep 2004" refid="16,29"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="*_warchive"/>
+ <test name="test_codecvt_null"/>
+ <test name="test_utf8_codecvt"/>
+ <toolset name="*como-4_3_3*"/>
+ <note author="Robert Ramey" date="12 Feb 05" refid="5"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_demo_portable_archive_dll"/>
+ <toolset name="vc*"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="iw*"/>
+ <toolset name="intel-win32-*"/>
+ <note author="Robert Ramey" date="12 Feb 05" refid="2,29"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_reset_object_address*"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <note author="Robert Ramey" date="12 Feb 05" refid="6,29"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_array*"/>
+ <test name="test_demo_fast_archive"/>
+ <test name="test_demo_fast_archive_dll"/>
+ <toolset name="borland*"/>
+ <note author="Robert Ramey" date="12 Feb 05" refid="26">
+ Borland compilers don't handle templates with array type arguments properly.
+ </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_demo"/>
+ <test name="test_demo_dll"/>
+ <test name="test_demo_exception"/>
+ <test name="test_demo_exception_dll"/>
+ <test name="test_demo_shared_ptr"/>
+ <test name="test_demo_shared_ptr_dll"/>
+ <test name="test_demo_xml_save"/>
+ <test name="test_demo_xml_load"/>
+ <test name="test_demo_xml_save_dll"/>
+ <test name="test_demo_xml_load_dll"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <note author="Robert Ramey" refid="6"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_demo_fast_archive"/>
+ <test name="test_demo_fast_archive_dll"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <note author="Robert Ramey" refid="6"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_const"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <note author="Aleksey Gurtovoy" refid="29"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_demo_pimpl"/>
+ <test name="test_demo_pimpl_dll"/>
+ <test name="test_diamond*"/>
+ <test name="test_mult_archive_types"/>
+ <test name="test_mult_archive_types_dll"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <note author="Robert Ramey" refid="6">
+ msvc 6 compiler failure. The facility being tested conflicts the the
+ compiler in a fundamental way and cannnot be worked around.
+ </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_mi*"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <note author="Robert Ramey" refid="6">
+ msvc 6 compiler failure. The facility being tested conflicts the the
+ compiler in a fundamental way and cannnot be worked around.
+ </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="*_dll"/>
+ <toolset name="msvc-stlport"/>
+ <toolset name="vc-6_5-stlport"/>
+ <note author="Robert Ramey">
+ This failure appears when STLPort is built and used as a DLL with msvc 6.
+ STLPort suggests that the next version of STLPort(5.0) will include a workaround
+ for this problem.
+ </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="*"/>
+ <toolset name="gcc-2.95.3-stlport*"/>
+ <note author="Aleksey Gurtovoy">
+ The library is believed to work in this configuration <i>if compiled against
+ Spirit 1.6</i>. The latter is not provided by the particular testing
+ environment these tests have been run in.
+ </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_demo"/>
+ <test name="test_demo_dll"/>
+ <test name="test_demo_exception*"/>
+ <test name="test_demo_shared_ptr*"/>
+ <test name="test_demo_xml*"/>
+ <test name="test_exported*"/>
+ <test name="test_mi*"/>
+ <test name="test_mult_archive_types*"/>
+ <test name="test_no_rtti*"/>
+ <test name="test_non_default_ctor2*"/>
+ <test name="test_registered*"/>
+ <test name="test_shared_ptr*"/>
+ <test name="test_unregistered*"/>
+ <toolset name="cw*"/>
+ <note author="Robert Ramey" refid="29">
+ All tests that serialize derived pointers currently fail with Metrowerks compilers.
+ </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_no_rtti_*"/>
+ <test name="test_set_*"/>
+ <toolset name="borland-5_6_4"/>
+ <note author="Aleksey Gurtovoy" refid="29"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_array_binary_archive"/>
+ <test name="test_array_text_*"/>
+ <note author="Aleksey Gurtovoy" refid="29"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_smart_cast"/>
+ <toolset name="intel-7.1-linux"/>
+ <note author="Aleksey Gurtovoy" refid="29"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_array_text_archive_dll"/>
+ <test name="test_array_text_warchive_dll"/>
+ <test name="test_array_xml_archive_dll"/>
+ <test name="test_array_xml_warchive_dll"/>
+ <test name="test_binary_text_archive_dll"/>
+ <test name="test_binary_text_warchive_dll"/>
+ <test name="test_binary_xml_archive_dll"/>
+ <test name="test_binary_xml_warchive_dll"/>
+ <test name="test_class_info_save_text_archive_dll"/>
+ <test name="test_class_info_save_text_warchive_dll"/>
+ <test name="test_class_info_save_xml_warchive_dll"/>
+ <test name="test_contained_class_text_archive_dll"/>
+ <test name="test_contained_class_text_warchive_dll"/>
+ <test name="test_contained_class_xml_archive_dll"/>
+ <test name="test_contained_class_xml_warchive_dll"/>
+ <test name="test_cyclic_ptrs_text_archive_dll"/>
+ <test name="test_cyclic_ptrs_text_warchive_dll"/>
+ <test name="test_cyclic_ptrs_xml_archive_dll"/>
+ <test name="test_cyclic_ptrs_xml_warchive_dll"/>
+ <test name="test_delete_pointer_text_archive_dll"/>
+ <test name="test_delete_pointer_text_warchive_dll"/>
+ <test name="test_delete_pointer_xml_archive_dll"/>
+ <test name="test_delete_pointer_xml_warchive_dll"/>
+ <test name="test_demo_auto_ptr_dll"/>
+ <test name="test_demo_dll"/>
+ <test name="test_demo_exception_dll"/>
+ <test name="test_demo_pimpl_dll"/>
+ <test name="test_demo_polymorphic_dll"/>
+ <test name="test_deque_text_archive_dll"/>
+ <test name="test_deque_text_warchive_dll"/>
+ <test name="test_deque_xml_archive_dll"/>
+ <test name="test_deque_xml_warchive_dll"/>
+ <test name="test_derived_class_ptr_text_archive_dll"/>
+ <test name="test_derived_class_ptr_text_warchive_dll"/>
+ <test name="test_derived_class_ptr_xml_archive_dll"/>
+ <test name="test_derived_class_ptr_xml_warchive_dll"/>
+ <test name="test_derived_class_text_archive_dll"/>
+ <test name="test_derived_class_text_warchive_dll"/>
+ <test name="test_derived_class_xml_archive_dll"/>
+ <test name="test_derived_class_xml_warchive_dll"/>
+ <test name="test_derived_text_archive_dll"/>
+ <test name="test_derived_text_warchive_dll"/>
+ <test name="test_derived_xml_warchive_dll"/>
+ <test name="test_list_ptrs_text_archive_dll"/>
+ <test name="test_list_ptrs_text_warchive_dll"/>
+ <test name="test_list_ptrs_xml_archive_dll"/>
+ <test name="test_list_ptrs_xml_warchive_dll"/>
+ <test name="test_list_text_archive_dll"/>
+ <test name="test_list_text_warchive_dll"/>
+ <test name="test_list_xml_archive_dll"/>
+ <test name="test_list_xml_warchive_dll"/>
+ <test name="test_map_text_archive_dll"/>
+ <test name="test_map_text_warchive_dll"/>
+ <test name="test_map_xml_archive_dll"/>
+ <test name="test_map_xml_warchive_dll"/>
+ <test name="test_multiple_ptrs_text_archive_dll"/>
+ <test name="test_multiple_ptrs_text_warchive_dll"/>
+ <test name="test_multiple_ptrs_xml_archive_dll"/>
+ <test name="test_multiple_ptrs_xml_warchive_dll"/>
+ <test name="test_non_default_ctor_text_archive_dll"/>
+ <test name="test_non_default_ctor_text_warchive_dll"/>
+ <test name="test_non_default_ctor_xml_archive_dll"/>
+ <test name="test_non_default_ctor_xml_warchive_dll"/>
+ <test name="test_non_intrusive_ctor_text_archive_dll"/>
+ <test name="test_non_intrusive_ctor_text_warchive_dll"/>
+ <test name="test_non_intrusive_ctor_xml_archive_dll"/>
+ <test name="test_non_intrusive_ctor_xml_warchive_dll"/>
+ <test name="test_non_intrusive_text_archive_dll"/>
+ <test name="test_non_intrusive_text_warchive_dll"/>
+ <test name="test_non_intrusive_xml_archive_dll"/>
+ <test name="test_non_intrusive_xml_warchive_dll"/>
+ <test name="test_null_ptr_text_archive_dll"/>
+ <test name="test_null_ptr_text_warchive_dll"/>
+ <test name="test_null_ptr_xml_archive_dll"/>
+ <test name="test_null_ptr_xml_warchive_dll"/>
+ <test name="test_nvp_text_archive_dll"/>
+ <test name="test_nvp_text_warchive_dll"/>
+ <test name="test_nvp_xml_archive_dll"/>
+ <test name="test_nvp_xml_warchive_dll"/>
+ <test name="test_object_text_warchive_dll"/>
+ <test name="test_object_xml_warchive_dll"/>
+ <test name="test_optional_text_archive_dll"/>
+ <test name="test_optional_text_warchive_dll"/>
+ <test name="test_optional_xml_archive_dll"/>
+ <test name="test_optional_xml_warchive_dll"/>
+ <test name="test_polymorphic_text_archive_dll"/>
+ <test name="test_polymorphic_text_warchive_dll"/>
+ <test name="test_polymorphic_xml_archive_dll"/>
+ <test name="test_polymorphic_xml_warchive_dll"/>
+ <test name="test_primitive_text_warchive_dll"/>
+ <test name="test_primitive_xml_warchive_dll"/>
+ <test name="test_private_ctor_dll"/>
+ <test name="test_recursion_text_archive_dll"/>
+ <test name="test_recursion_text_warchive_dll"/>
+ <test name="test_recursion_xml_archive_dll"/>
+ <test name="test_recursion_xml_warchive_dll"/>
+ <test name="test_reset_object_address_dll"/>
+ <test name="test_set_text_archive_dll"/>
+ <test name="test_set_text_warchive_dll"/>
+ <test name="test_set_xml_archive_dll"/>
+ <test name="test_set_xml_warchive_dll"/>
+ <test name="test_simple_class_ptr_text_archive_dll"/>
+ <test name="test_simple_class_ptr_text_warchive_dll"/>
+ <test name="test_simple_class_ptr_xml_archive_dll"/>
+ <test name="test_simple_class_ptr_xml_warchive_dll"/>
+ <test name="test_simple_class_text_archive_dll"/>
+ <test name="test_simple_class_text_warchive_dll"/>
+ <test name="test_simple_class_xml_archive_dll"/>
+ <test name="test_simple_class_xml_warchive_dll"/>
+ <test name="test_split_text_archive_dll"/>
+ <test name="test_split_text_warchive_dll"/>
+ <test name="test_split_xml_warchive_dll"/>
+ <test name="test_tracking_text_archive_dll"/>
+ <test name="test_tracking_text_warchive_dll"/>
+ <test name="test_tracking_xml_warchive_dll"/>
+ <test name="test_variant_text_archive_dll"/>
+ <test name="test_variant_text_warchive_dll"/>
+ <test name="test_variant_xml_archive_dll"/>
+ <test name="test_variant_xml_warchive_dll"/>
+ <test name="test_vector_text_archive_dll"/>
+ <test name="test_vector_text_warchive_dll"/>
+ <test name="test_vector_xml_archive_dll"/>
+ <test name="test_vector_xml_warchive_dll"/>
+ <toolset name="cw-9_5-darwin"/>
+ <note author="Doug Gregor" refid="35"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_demo_fast_archive"/>
+ <toolset name="cw-8*"/>
+ <note author="Rene Rivera">
+ This is caused by a compiler bug in this particular version, but not present
+ in version thereafter. The compiler has some difficulties resolving operators
+ to methods in the archive classes. This can be worked around by calling the
+ operator directly, and such a work around is already present in library code.
+ This test demonstrates that this can happen in user code.
+ </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_diamond*"/>
+ <toolset name="cw-8*"/>
+ <toolset name="cw-9_5-darwin"/>
+ <note author="Rene Rivera">
+ The CW compilers have problems with the static construction idiom used to
+ implement the type registration in the Boost.Serialization library. In many
+ cases CW specific work arounds are implemented in the library but this one
+ is not immediately solvable. There is a user work around possible, please
+ contact the library developers on the Boost list for information on the
+ work around if needed.
+ </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_class_info_load_text*"/>
+ <test name="test_class_info_load_xml_warchive*"/>
+ <toolset name="cw-9_5-darwin"/>
+ <note author="Rene Rivera" refid="29"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_class_info_load_text_warchive_dll"/>
+ <toolset name="vc-6_5"/>
+ <note author="Doug Gregor" refid="29"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_const_load_fail1"/>
+ <test name="test_const_load_fail1_nvp"/>
+ <test name="test_const_load_fail2"/>
+ <test name="test_const_load_fail2_nvp"/>
+ <toolset name="borland-5_6_4"/>
+ <note author="Doug Gregor" refid="29"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_const_save_fail1"/>
+ <test name="test_const_save_fail2"/>
+ <test name="test_const_save_fail3"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-6_5-stlport"/>
+ <toolset name="vc-7_0"/>
+ <note author="Doug Gregor" refid="29"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_map_binary_archive_dll"/>
+ <test name="test_map_text_archive_dll"/>
+ <test name="test_map_text_warchive_dll"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <note author="Doug Gregor" refid="29"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_demo_xml_load"/>
+ <test name="test_demo_xml_load_dll"/>
+ <test name="test_shared_ptr_132_text_warchive"/>
+ <toolset name="intel-win32-8_1"/>
+ <note author="Stefan Slapeta" refid="29"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_variant_*"/>
+ <toolset name="tru64cxx65*"/>
+ <note author="Markus Schoepflin">
+ The variant library is not supported for this compiler version.
+ Therefore serialization of variants doesn't work.
+ </note>
+ </mark-expected-failures>
+ </library>
+
+
+ <!-- smart_ptr -->
+ <library name="smart_ptr">
+ <mark-expected-failures>
+ <test name="shared_ptr_assign_fail"/>
+ <toolset name="gcc-2.9*"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note refid="32" author="Peter Dimov"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="weak_ptr_test"/>
+ <toolset name="tru64cxx71-006"/>
+ <note author="Markus Schoepflin" refid="3"/>
+ </mark-expected-failures>
+ </library>
+
+
+ <!-- spirit -->
+ <library name="spirit">
+ <mark-unusable>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="borland-5_5_1"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="vc-7_0"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.5.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <toolset name="sunpro-5_3-sunos"/>
+
+ <note>
+ <p>
+ Historically, Spirit supported a lot of compilers, including (to some
+ extent) poorly conforming compilers such as VC6. Spirit v1.6.x will be
+ the last release that will support older poorly conforming compilers.
+ Starting from Spirit v1.8.0, ill conforming compilers will not be
+ supported. If you are still using one of these older compilers, you can
+ still use Spirit v1.6.x.
+ </p>
+ <p>
+ The reason why Spirit v1.6.x worked on old non-conforming compilers is
+ that the authors laboriously took the trouble of searching for
+ workarounds to make these compilers happy. The process takes a lot of
+ time and energy, especially when one encounters the dreaded ICE or
+ "Internal Compiler Error". Sometimes searching for a single workaround
+ takes days or even weeks. Sometimes, there are no known workarounds. This
+ stifles progress a lot. And, as the library gets more progressive and
+ takes on more advanced C++ techniques, the difficulty is escalated to
+ even new heights.
+ </p>
+ <p>
+ Spirit v1.6.x will still be supported. Maintenance and bug fixes will
+ still be applied. There will still be active development for the back-
+ porting of new features introduced in Spirit v1.8.0 (and Spirit 1.9.0)
+ to lesser able compilers; hopefully, fueled by contributions from the
+ community. For instance, there is already a working AST tree back-port
+ for VC6 and VC7 by Peder Holt.
+ </p>
+ </note>
+ </mark-unusable>
+ <mark-expected-failures>
+ <test name="action_tests*"/>
+ <toolset name="iw-7_1-vc6"/>
+ <note author="Aleksey Gurtovoy" refid="4"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="ast_calc_tests*"/>
+ <test name="closure_tests*"/>
+ <test name="multi_pass_compile_tests"/>
+ <test name="repeat_ast_tests*"/>
+ <toolset name="intel-8.0-linux"/>
+ <toolset name="intel-8.1-linux"/>
+ <note author="Aleksey Gurtovoy">
+ This failure is caused by a compiler bug that manifests itself in the
+ particular environment/hardware configuration the test has been run in.
+ You may or may not experience this issue in your local setup.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="escape_char_parser_tests*"/>
+ <toolset name="intel-7.1-linux"/>
+ <toolset name="intel-7.1-stdlib-default-linux"/>
+ <note author="Aleksey Gurtovoy" refid="19"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="escape_char_parser_tests*"/>
+ <toolset name="iw-7_1-vc6*"/>
+ <note author="Aleksey Gurtovoy" refid="28"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="chset_tests*"/>
+ <toolset name="iw-7_1-vc6-stlp-4_5_3"/>
+ <note author="Aleksey Gurtovoy" refid="28"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="traverse_tests*"/>
+ <toolset name="intel-win32-9_0"/>
+ <note author="S. Slapeta" refid="31"/>
+ </mark-expected-failures>
+ </library>
+
+ <!-- function -->
+ <library name="function">
+ <mark-unusable>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note author="Douglas Gregor" refid="3"/>
+ </mark-unusable>
+ <test name="allocator_test">
+ <mark-failure>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <note author="B. Dawes" refid="5"/>
+ </mark-failure>
+ </test>
+ <test name="contains_test">
+ <mark-failure>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <note refid="3" author="D. Gregor"/>
+ </mark-failure>
+ </test>
+ <test name="function_30">
+ <mark-failure>
+ <toolset name="vacpp"/>
+ <note refid="16" author="D. Gregor"/>
+ </mark-failure>
+ </test>
+ <test name="function_arith_cxx98">
+ <mark-failure>
+ <toolset name="borland"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <note author="B. Dawes" refid="3"/>
+ </mark-failure>
+ </test>
+ <test name="function_ref_cxx98">
+ <mark-failure>
+ <toolset name="borland"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <note author="B. Dawes" refid="3"/>
+ </mark-failure>
+ </test>
+ <test name="lambda_test">
+ <mark-failure>
+ <toolset name="borland"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <note author="B. Dawes" refid="3"/>
+ </mark-failure>
+ <mark-failure>
+ <toolset name="cw-8_3*"/>
+ <note author="B. Dawes" refid="2"/>
+ </mark-failure>
+ </test>
+ <test name="lib_function_test">
+ <mark-failure>
+ <toolset name="borland"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <note author="B. Dawes" refid="3"/>
+ </mark-failure>
+ <mark-failure>
+ <toolset name="cw-8_3*"/>
+ <note author="B. Dawes" refid="2"/>
+ </mark-failure>
+ </test>
+ <test name="mem_fun_cxx98">
+ <mark-failure>
+ <toolset name="borland"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <note author="B. Dawes" refid="3"/>
+ </mark-failure>
+ <mark-failure>
+ <toolset name="cw-8_3*"/>
+ <note author="B. Dawes" refid="2"/>
+ </mark-failure>
+ </test>
+ <test name="std_bind_cxx98">
+ <mark-failure>
+ <toolset name="borland"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <note author="B. Dawes" refid="3"/>
+ </mark-failure>
+ </test>
+ <test name="std_bind_portable">
+ <mark-failure>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <note author="B. Dawes" refid="5"/>
+ </mark-failure>
+ </test>
+ <test name="sum_avg_cxx98">
+ <mark-failure>
+ <toolset name="borland"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <note author="B. Dawes" refid="3"/>
+ </mark-failure>
+ </test>
+ </library>
+
+
+ <!-- iterator -->
+ <library name="iterator">
+ <test name="interoperable_fail" category="Corner-case tests">
+ <mark-failure>
+ <toolset name="gcc-3.3*"/>
+ <toolset name="gcc-3_3*"/>
+ <toolset name="gcc-3.2*"/>
+ <toolset name="gcc-2*"/>
+ <toolset name="gcc"/>
+ <toolset name="mingw"/>
+ <toolset name="borland*"/>
+ <toolset name="cw-8*"/>
+ <note author="D. Abrahams">
+ This failure is caused by a compiler bug. Templated operators
+ that combine different iterators built with iterator_facade or
+ iterator_adaptor may be present in an overload set even when those
+ iterators are not interoperable. The usual result is that error
+ messages generated by illegal use of these operators will be of
+ lower quality.
+ </note>
+ </mark-failure>
+ </test>
+
+ <test name="is_convertible_fail" category="Corner-case tests">
+ <mark-failure>
+ <toolset name="gcc-2*"/>
+ <toolset name="gcc"/>
+ <toolset name="mingw"/>
+ <toolset name="borland*"/>
+ <toolset name="cw-8*"/>
+ <toolset name="vc-6*"/>
+ <toolset name="vc-7_0*"/>
+ <toolset name="msvc"/>
+ <note author="D. Abrahams">
+ This failure is caused by a compiler bug.
+ <code>is_convertible&lt;T,U&gt;::value</code> may be true for unrelated
+ iterators <code>T</code> and <code>U</code>
+ (including many of the Boost specialized adaptors) which use
+ <code>enable_if_convertible</code> to restrict the applicability
+ of converting constructors, even when <code>T</code> is not
+ convertible to <code>U</code> because instantiating the
+ conversion will cause a compilation failure.
+ </note>
+ </mark-failure>
+ </test>
+
+ <test name="indirect_iter_member_types" category="Corner-case tests"/>
+
+ <mark-expected-failures>
+ <test name="indirect_iter_member_types"/>
+ <test name="pointee"/>
+ <toolset name="borland"/>
+ <toolset name="borland-5_6_4"/>
+ <note author="D. Abrahams">
+ This failure is caused by a compiler bug. The
+ compiler tends to drop const-ness and as a result
+ some indirect_iterators will have pointer and
+ reference members of <code>T*</code> and <code>T&amp;</code> that should
+ have been <code>T const*</code> and <code>T const&amp;</code>.
+ </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="zip_iterator_test"/>
+ <toolset name="borland"/>
+ <toolset name="borland-5_6_4"/>
+ <note author="Aleksey Gurtovoy" date="19 Sep 2004" refid="26"/>
+ </mark-expected-failures>
+
+ </library>
+
+
+ <!-- math -->
+ <library name="math">
+ <mark-unusable>
+ <toolset name="gcc-2.95.3-*"/>
+ <note author="Doug Gregor" refid="3"/>
+ </mark-unusable>
+ <test name="quaternion_mult_incl_test">
+ <mark-failure>
+ <toolset name="intel-win32"/>
+ <note author="B. Dawes" refid="3"/>
+ </mark-failure>
+ </test>
+ <mark-expected-failures>
+ <test name="octonion_test"/>
+ <test name="quaternion_test"/>
+ <toolset name="gcc-3_4_3-sunos"/>
+ <note author="Caleb Epstein">
+ There appears to be a bug in gcc's <code>std::exp (long
+ double)</code> on this platform.
+ </note>
+ </mark-expected-failures>
+ </library>
+
+ <!-- numeric/conversion -->
+ <library name="numeric/conversion">
+ <test name="udt_example_0">
+ <mark-failure>
+ <toolset name="vc-6_5-stlport"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <note author="Fernando Cacciola" refid="30"/>
+ </mark-failure>
+ </test>
+ <test name="udt_support_test">
+ <mark-failure>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <note author="Fernando Cacciola" refid="3"/>
+ </mark-failure>
+ </test>
+ </library>
+
+ <!-- numeric/interval -->
+ <library name="numeric/interval">
+ <mark-unusable>
+ <toolset name="borland"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ </mark-unusable>
+ <mark-unusable>
+ <toolset name="tru64cxx*"/>
+ <toolset name="gcc-*-osf1"/>
+ <note author="Markus Schoepflin">
+ The library has not (yet) been ported to this
+ compiler/platform combination.
+ </note>
+ </mark-unusable>
+ <test name="test_float">
+ <mark-failure>
+ <toolset name="borland-5_5_1"/>
+ <toolset name="iw-7_1-vc6"/>
+ <toolset name="iw-7_1-vc6-stlp-4_5_3"/>
+ <note author="G. Melquiond">
+ This test ensures the inclusion property of interval
+ arithmetic is available for built-in floating-point types
+ <code>float</code> and <code>double</code>. If the test
+ fails, <code>interval&lt;float&gt;</code> and
+ <code>interval&lt;double&gt;</code> should not be used
+ on this compiler/platform since there will be no
+ numerical guarantee.
+ </note>
+ </mark-failure>
+ </test>
+ <mark-expected-failures>
+ <test name="cmp_exn"/>
+ <test name="cmp_set"/>
+ <test name="cmp_tribool"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.5.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <note author="Aleksey Gurtovoy" refid="2"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="det"/>
+ <toolset name="cw-8_3*"/>
+ <note author="Aleksey Gurtovoy" refid="2"/>
+ </mark-expected-failures>
+ </library>
+
+
+ <!-- numeric/ublas -->
+ <library name="numeric/ublas">
+ <mark-unusable>
+ <toolset name="borland"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="gcc-3_3-darwin"/>
+ <note author="M.Stevens" refid="17"/>
+ </mark-unusable>
+ <mark-unusable>
+ <toolset name="cw-8_3"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <toolset name="iw-7_1-vc6"/>
+ <toolset name="gcc-2.95*"/>
+ <note author="M.Stevens" refid="30"/>
+ </mark-unusable>
+ </library>
+
+ <!-- program_options -->
+ <library name="program_options">
+
+ <!-- Mark unusable toolsets -->
+ <mark-unusable>
+ <toolset name="gcc-2.95.3-linux"/>
+ <note>
+ The failure is caused by standard library deficiencies
+ -- it lacks the basic_string class template and
+ the &lt;locale&gt; header.
+ </note>
+ </mark-unusable>
+
+ <mark-unusable>
+ <toolset name="gcc-2.95.3-stlport-4.5.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <note refid="2"/>
+ </mark-unusable>
+
+ <mark-unusable>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <note refid="17"/>
+ </mark-unusable>
+
+ <mark-unusable>
+ <toolset name="vc-7_0"/>
+ <note refid="29"/>
+ </mark-unusable>
+
+ <!-- Mark expected failures -->
+
+ <test name="unicode_test*">
+ <mark-failure>
+ <toolset name="iw-7_1-vc6"/>
+ <toolset name="iw-7_1-vc6-stlp-4_5_3"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <note>The failures are caused by problems
+ with std::locale implementation</note>
+ </mark-failure>
+ </test>
+
+ <test name="options_description_test_dll">
+ <mark-failure>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="iw-7_1-vc6"/>
+ <note refid="23"/>
+ </mark-failure>
+ </test>
+
+ <test name="variable_map_test_dll">
+ <mark-failure>
+ <toolset name="iw-7_1-vc6"/>
+ <note refid="23"/>
+ </mark-failure>
+ </test>
+
+ <test name="*dll">
+ <mark-failure>
+ <toolset name="cw-8_3*"/>
+ <note refid="18"/>
+ </mark-failure>
+ </test>
+
+ <test name="*dll">
+ <mark-failure>
+ <toolset name="*como-4_3_3*"/>
+ <note refid="24"/>
+ </mark-failure>
+ </test>
+
+ <mark-expected-failures>
+ <test name="variable_map_test"/>
+ <test name="variable_map_test_dll"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <note>
+ The failures are caused by compiler bug: it's not possible to
+ explicitly pass template arguments to member template function. The
+ failure is serious and makes one of the primary interfaces
+ unusable.
+ </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="cmdline_test_dll"/>
+ <test name="options_description_test_dll"/>
+ <test name="parsers_test_dll"/>
+ <test name="variable_map_test_dll"/>
+ <test name="positional_options_test_dll"/>
+ <toolset name="mingw-3*"/>
+ <note author="Aleksey Gurtovoy" refid="29"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="unicode_test*"/>
+ <toolset name="mingw-3*"/>
+ <note refid="19"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="unicode_test_dll"/>
+ <toolset name="*-darwin"/>
+ <note refid="35" author="Doug Gregor"/>
+ </mark-expected-failures>
+ </library>
+
+ <!-- pointer container -->
+ <library name="ptr_container">
+ <mark-unusable>
+ <toolset name="gcc-2.95.3*"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <toolset name="tru64cxx65-042"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <toolset name="dmc-8_43-stlport-4_5_3"/>
+ </mark-unusable>
+ <mark-expected-failures>
+ <test name="ptr_list"/>
+ <toolset name="gcc-4.0.*"/>
+ <note author="Thorsten Ottosen">
+ The error is due to problems in the standard library implementation.
+ It should be fixed in newer versions of the compiler.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="ptr_list"/>
+ <toolset name="gcc-4.0.0*"/>
+ <note author="Thorsten Ottosen">
+ The error is due to problems in the standard library implementation.
+ It should be fixed in newer versions of the compiler.
+ </note>
+ </mark-expected-failures>
+ </library>
+
+
+ <!-- python -->
+ <library name="python">
+ <mark-unusable>
+ <toolset name="borland"/>
+ <toolset name="borland-5_5_1"/>
+ <toolset name="borland-5_6_4"/>
+ <note refid="2"/>
+ <note refid="17"/>
+ </mark-unusable>
+ <mark-unusable>
+ <toolset name="tru64cxx65*"/>
+ <note author="Markus Schoepflin">
+ The library fails to compile because of an error in the C++
+ standard library implementation on this platform. It incorrectly
+ assumes that fpos_t is of an integral type, which is not always
+ the case. This is fixed in a later release.
+ </note>
+ </mark-unusable>
+ <mark-expected-failures>
+ <test name="args"/>
+ <test name="auto_ptr"/>
+ <test name="builtin_convertors"/>
+ <test name="callbacks"/>
+ <test name="crossmod_exception"/>
+ <test name="data_members"/>
+ <test name="enum"/>
+ <test name="exception_translator"/>
+ <test name="extract"/>
+ <test name="implicit"/>
+ <test name="iterator"/>
+ <test name="list"/>
+ <test name="map_indexing_suite"/>
+ <test name="object"/>
+ <test name="opaque"/>
+ <test name="pickle2"/>
+ <test name="polymorphism"/>
+ <test name="polymorphism2"/>
+ <test name="shared_ptr"/>
+ <test name="slice"/>
+ <test name="test_pointer_adoption"/>
+ <test name="try"/>
+ <test name="vector_indexing_suite"/>
+ <test name="virtual_functions"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.5.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <note author="D. Abrahams">
+ The problems with GCC 2.x only occur when C++ exceptions are thrown and
+ the framework catches them, which happens quite often in the tests.
+ So technically GCC 2.x is usable if you're careful.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="args"/>
+ <test name="auto_ptr"/>
+ <test name="back_reference"/>
+ <test name="ben_scott1"/>
+ <test name="bienstman1"/>
+ <test name="bienstman2"/>
+ <test name="bienstman3"/>
+ <test name="bienstman4"/>
+ <test name="bienstman5"/>
+ <test name="callbacks"/>
+ <test name="cltree"/>
+ <test name="const_argument"/>
+ <test name="crossmod_exception_a"/>
+ <test name="crossmod_exception_b"/>
+ <test name="data_members"/>
+ <test name="defaults"/>
+ <test name="dict"/>
+ <test name="docstring"/>
+ <test name="enum"/>
+ <test name="exception_translator"/>
+ <test name="extract"/>
+ <test name="implicit"/>
+ <test name="injected"/>
+ <test name="input_iterator"/>
+ <test name="int_map_indexing_suite"/>
+ <test name="iterator"/>
+ <test name="keywords"/>
+ <test name="list"/>
+ <test name="long"/>
+ <test name="m1"/>
+ <test name="m2"/>
+ <test name="map_indexing_suite"/>
+ <test name="minimal"/>
+ <test name="module_tail"/>
+ <test name="multi_arg_constructor"/>
+ <test name="nested"/>
+ <test name="object"/>
+ <test name="opaque"/>
+ <test name="operators"/>
+ <test name="pickle1"/>
+ <test name="pickle2"/>
+ <test name="pickle3"/>
+ <test name="pickle4"/>
+ <test name="polymorphism"/>
+ <test name="polymorphism2"/>
+ <test name="properties"/>
+ <test name="register_ptr"/>
+ <test name="return_arg"/>
+ <test name="shared_ptr"/>
+ <test name="slice"/>
+ <test name="staticmethod"/>
+ <test name="str"/>
+ <test name="test_builtin_converters"/>
+ <test name="test_pointer_adoption"/>
+ <test name="tuple"/>
+ <test name="vector_indexing_suite"/>
+ <test name="virtual_functions"/>
+ <toolset name="intel-7.1-linux"/>
+ <toolset name="intel-8.0-linux"/>
+ <note author="Aleksey Gurtovoy">
+ The library is <a href="http://article.gmane.org/gmane.comp.lib.boost.devel/110420">known to work</a>
+ in this configuration. The failures are due to configuration issues of
+ the particular testing environment these tests have been run in. The
+ regression runners and library developers are aware of the problem and
+ plan to fix it for the next release.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="builtin_converters"/>
+ <test name="extract"/>
+ <test name="list"/>
+ <test name="operators"/>
+ <test name="pickle1"/>
+ <test name="pickle2"/>
+ <test name="pickle3"/>
+ <test name="pickle4"/>
+ <toolset name="gcc-3.4.2-linux"/>
+ <note author="Aleksey Gurtovoy">
+ The test is <a href="http://article.gmane.org/gmane.comp.lib.boost.devel/110671">known to work</a>
+ in this configuration. The failures are due to configuration issues of
+ the particular testing environment these tests have been run in.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="pointer_vector"/>
+ <test name="polymorphism"/>
+ <toolset name="tru64cxx7*"/>
+ <note author="Markus Schoepflin" refid="29"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="map_indexing_suite"/>
+ <toolset name="vc-8_0"/>
+ <note author="Doug Gregor">
+ Test fails for unknown reasons within the testing harness,
+ but seems to work elsewhere.
+ </note>
+ </mark-expected-failures>
+ </library>
+
+ <!-- random -->
+ <library name="random">
+ <mark-unusable>
+ <toolset name="msvc"/>
+ <toolset name="vc-7_0"/>
+ <note author="B. Dawes" refid="10"/>
+ </mark-unusable>
+ <test name="random_test">
+ <mark-failure>
+ <toolset name="cw-8_3*"/>
+ <note author="B. Dawes" refid="3"/>
+ </mark-failure>
+ <mark-failure>
+ <toolset name="borland"/>
+ <toolset name="borland-5_6_4"/>
+ <note author="B. Dawes" refid="2"/>
+ </mark-failure>
+ <mark-failure>
+ <toolset name="intel-win32-*"/>
+ <note author="S. Slapeta" refid="1"/>
+ </mark-failure>
+ </test>
+ </library>
+
+ <!-- range -->
+ <library name="range">
+ <mark-unusable>
+ <toolset name="mipspro"/>
+ <toolset name="dmc-8_43-stlport-4_5_3"/>
+ <toolset name="gcc-2.95.3*"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ </mark-unusable>
+
+ <mark-expected-failures>
+ <test name="extension_mechanism"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0*"/>
+ <note author="Thorsten Ottosen">
+ The extension mechanism based on ADL does not work
+ on this compiler. Consider therefore to make your
+ container standard complient instead.
+ </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="array"/>
+ <toolset name="como-4_3_3*"/>
+ <toolset name="borland-5_6_4"/>
+ <note refid="27" author="Thorsten Ottosen"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="iterator_range"/>
+ <toolset name="msvc-stlport"/>
+ <toolset name="vc-6_5-stlport"/>
+ <toolset name="tru64cxx65"/>
+ <note author="Thorsten Ottosen">
+ For most compilers this is due to problems
+ with built-in arrays (notably char arrays) and operator==()
+ and operator!=() for iterator_range. Thus, not using built-in arrays
+ fixes the problem.
+
+ For other compilers it is simply a bug in the standard library.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="partial_workaround"/>
+ <toolset name="vc-7_1"/>
+ <toolset name="vc-8_0"/>
+ <toolset name="intel-win32-8_1"/>
+ <toolset name="intel-win32-9_0"/>
+ <note author="Thorsten Ottosen">
+ This failure is of no importance to this compiler.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="reversible_range"/>
+ <toolset name="tru64cxx65"/>
+ <note author="Thorsten Ottosen">
+ This test probably fails because it uses built-in arrays. So do expect these
+ functions to work in normal code.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="string"/>
+ <toolset name="tru64cxx65"/>
+ <toolset name="borland-5_6_4"/>
+ <note author="Thorsten Ottosen">
+ The string functionality is expected to work if
+ the user employs std::string and stays away from built-in
+ arrays.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="sub_range"/>
+ <toolset name="vc-8_0"/>
+ <toolset name="iw-7_1-vc6-stlp-4_5_3"/>
+ <toolset name="msvc-stlport"/>
+ <toolset name="vc-6_5-stlport"/>
+ <toolset name="vc-7_0"/>
+ <toolset name="tru64cxx65"/>
+ <note refid="6" author="Thorsten Ottosen">
+ For most compilers this is due to problems
+ with built-in arrays (notably char arrays) and operator==()
+ and operator!=() for iterator_range. Thus, not using built-in arrays
+ fixes the problem.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="sub_range"/>
+ <toolset name="cw-9_5-darwin"/>
+ <note author="Thorsten Ottosen">
+ At the time of release I couldn't figure out why this was failing.
+ Anyway, the failure is not very important; also, the well-definedness of
+ "singularity" of an iterator range is likely to change.
+ </note>
+ </mark-expected-failures>
+ </library>
+
+ <!-- regex -->
+ <library name="regex">
+ <test name="regex_token_iterator_eg_2">
+ <mark-failure>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <note author="J. Maddock"/>
+ </mark-failure>
+ </test>
+ <test name="posix_api_check">
+ <mark-failure>
+ <toolset name="como-4_3_3-vc7*"/>
+ <note author="J. Maddock"/>
+ </mark-failure>
+ </test>
+ <test name="*_dll">
+ <mark-failure>
+ <toolset name="*como-4_3_3*"/>
+ <note author="J. Maddock">
+ This test requires features that are unsupported by Como:
+ use and building of dll's mainly.
+ </note>
+ </mark-failure>
+ </test>
+ <mark-expected-failures>
+ <test name="static_mutex_test"/>
+ <test name="grep"/>
+ <toolset name="*como-4_3_3*"/>
+ <note author="J. Maddock">
+ This test requires features that are unsupported by Como:
+ use and building of dll's mainly.
+ </note>
+ </mark-expected-failures>
+ <test name="concept_check">
+ <mark-failure>
+ <toolset name="vc-8_0"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note author="John Maddock" refid="2"/>
+ </mark-failure>
+ <mark-failure>
+ <toolset name="tru64cxx*"/>
+ <note author="Markus Schoepflin" refid="3"/>
+ </mark-failure>
+ </test>
+ <test name="grep">
+ <mark-failure>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <note author="John Maddock">
+ This test fails because a dependency (Boost.Program Options) doesn't build with this compiler.
+ </note>
+ </mark-failure>
+ </test>
+ <mark-expected-failures>
+ <test name="regex_regress"/>
+ <test name="regex_regress_dll"/>
+ <toolset name="iw-7_1-vc6-stlp-4_5_3"/>
+ <note author="John Maddock" refid="29"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="unicode_iterator_test"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="gcc-2.95.3-stlport-4.5.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <note author="John Maddock" refid="6"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="regex_timer"/>
+ <toolset name="vc-6_5-stlport"/>
+ <note author="John Maddock">
+ Test fails due to unresilved externals from STLport: appears to be
+ an STLport bug. </note>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="regex_grep_example_2"/>
+ <toolset name="vc-8_0"/>
+ <note author="Doug Gregor">
+ Test occassionally fails due to linking problems. This
+ appears to be an intermittent linker bug.
+ </note>
+ </mark-expected-failures>
+ </library>
+
+ <!-- signals -->
+ <library name="signals">
+ <mark-unusable>
+ <toolset name="sunpro-5_3-sunos"/>
+ </mark-unusable>
+ <mark-expected-failures>
+ <test name="dead_slot_test"/>
+ <test name="trackable_test"/>
+ <toolset name="*como-4_3_3*"/>
+ <toolset name="tru64cxx*"/>
+ <note author="Markus Schoepflin" refid="2"/>
+ </mark-expected-failures>
+ <test name="signal_test">
+ <mark-failure>
+ <toolset name="cw-8_3*"/>
+ <note author="B. Dawes" refid="2"/>
+ </mark-failure>
+ <mark-failure>
+ <toolset name="borland"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="msvc"/>
+ <toolset name="vc-6_5"/>
+ <toolset name="vc-7_0"/>
+ <note author="B. Dawes" refid="3"/>
+ </mark-failure>
+ </test>
+ </library>
+
+ <!-- static_assert -->
+ <library name="static_assert">
+ <test name="static_assert_example_2">
+ <mark-failure>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note author="J. Maddock" refid="4"/>
+ </mark-failure>
+ </test>
+ </library>
+
+ <!-- test -->
+ <library name="test">
+ <mark-expected-failures>
+ <test name="ifstream_line_iterator_test"/>
+ <toolset name="sunpro*"/>
+ <note author="Gennadiy Rozental" refid="2"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="custom_exception_test"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <note author="Gennadiy Rozental" refid="2"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="errors_handling_test"/>
+ <toolset name="*como-4_3_3*"/>
+ <note author="B. Dawes" refid="3"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="token_iterator_test"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="iw-7_1-vc6"/>
+ <toolset name="vc-7_0"/>
+ <toolset name="vc-7_0-stlport"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.5.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <toolset name="tru64cxx65-042"/>
+ <toolset name="sunpro*"/>
+ <toolset name="borland*"/>
+ <note author="Gennadiy Rozental" refid="3"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_fp_comparisons"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <toolset name="vc-7_0-stlport"/>
+ <toolset name="borland-5_6_4"/>
+ <note author="Gennadiy Rozental" refid="3"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures reason="?">
+ <test name="basic_cstring_test"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <note refid="29"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="errors_handling_test"/>
+ <test name="test_tools_test"/>
+ <toolset name="cw-9_5-darwin"/>
+ <note refid="29" author="Doug Gregor"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="errors_handling_test"/>
+ <toolset name="vc-8_0"/>
+ <note refid="29" author="Doug Gregor"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="errors_handling_test"/>
+ <test name="test_tools_test"/>
+ <toolset name="cw-9_4"/>
+ <note refid="29" author="Doug Gregor"/>
+ </mark-expected-failures>
+ </library>
+
+
+ <!-- thread -->
+ <library name="thread">
+ <mark-unusable>
+ <toolset name="*como-4_3_3*"/>
+ <note author="B. Dawes" refid="10"/>
+ </mark-unusable>
+ <test name="test_mutex">
+ <mark-failure>
+ <toolset name="vc-7_0"/>
+ <note author="B. Dawes" refid="0"/>
+ <note author="B. Dawes" refid="6"/>
+ </mark-failure>
+ </test>
+ <test name="test_tss_lib">
+ <mark-failure>
+ <toolset name="mingw*"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="cw-*"/>
+ <toolset name="vc-7_0"/>
+ <note author="Aleksey Gurtovoy" date="19 Sep 2004">
+ This functionality has not been implemented yet. The library
+ developers plan to implement it for the next release.
+ </note>
+ </mark-failure>
+ </test>
+ <mark-expected-failures>
+ <test name="*_lib"/>
+ <toolset name="intel-8.0-linux*"/>
+ <note author="Aleksey Gurtovoy">
+ This failure is caused by a conflict between the compiler
+ and the testing environment: the tests are run on a platform with
+ <i>too recent</i> version of glibc, which is not currently
+ supported by the compiler vendor (Intel).
+
+ If you are having the same problem and <i>really</i> want to make
+ things work, renaming <code>strol</code> symbol in the
+ compiler's static runtime library (<code>libcprts.a</code>) to
+ something else is known to resolve the issue.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="test_barrier_lib"/>
+ <toolset name="vc-8_0"/>
+ <note author="Aleksey Gurtovoy" refid="6"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="test_thread"/>
+ <toolset name="vc-7_1"/>
+ <note author="Aleksey Gurtovoy" refid="6"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures reason="?">
+ <test name="*_lib"/>
+ <toolset name="gcc-2.95.3-stlport-4.5.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <note author="Aleksey Gurtovoy" refid="29"/>
+ </mark-expected-failures>
+ </library>
+
+
+ <!-- tuple -->
+ <library name="tuple">
+ <mark-unusable>
+ <toolset name="sunpro-5_3-sunos"/>
+ </mark-unusable>
+ <test name="io_test">
+ <toolset name="intel-win32"/>
+ <note author="B. Dawes" refid="3"/>
+ </test>
+ </library>
+
+ <!-- type_traits -->
+ <library name="type_traits">
+ <mark-expected-failures>
+ <test name="function_traits_test"/>
+ <test name="remove_bounds_test"/>
+ <test name="remove_const_test"/>
+ <test name="remove_cv_test"/>
+ <test name="remove_pointer_test"/>
+ <test name="remove_reference_test"/>
+ <test name="remove_volatile_test"/>
+ <test name="decay_test"/>
+ <test name="extent_test"/>
+ <test name="remove_extent_test"/>
+ <test name="remove_all_extents_test"/>
+ <test name="rank_test"/>
+ <test name="is_unsigned_test"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <note author="Aleksey Gurtovoy">
+ This failure is caused by the lack of compiler support for class template
+ partial specialization. A limited subset of the tested functionality is
+ available on the compiler through a user-side workaround (see
+ <a href="http://www.boost.org/libs/type_traits/index.html#transformations">
+ http://www.boost.org/libs/type_traits/index.html#transformations</a> for
+ details).
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="tricky_incomplete_type_test"/>
+ <test name="decay_test"/>
+ <test name="extent_test"/>
+ <test name="is_base_of_test"/>
+ <test name="rank_test"/>
+ <test name="remove_all_extents_test"/>
+ <test name="remove_extent_test"/>
+ <test name="tricky_function_type_test"/>
+ <toolset name="borland-5_6_4"/>
+ <note author="John Maddock" refid="2"/>
+ </mark-expected-failures>
+ <test name="tricky_is_enum_test">
+ <mark-failure>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="gcc-2.95.3-*"/>
+ </mark-failure>
+ </test>
+ <test name="tricky_incomplete_type_test">
+ <mark-failure>
+ <toolset name="iw-7_1*"/>
+ <note author="John Maddock" refid="2"/>
+ </mark-failure>
+ </test>
+ <test name="is_abstract_test">
+ <mark-failure>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="cw-8_3*"/>
+ <toolset name="cw-9_3*"/>
+ <toolset name="cw-9_4*"/>
+ <toolset name="cw-9_5*"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <toolset name="mingw-3_3*"/>
+ <toolset name="gcc-2*"/>
+ <toolset name="gcc-3.2*"/>
+ <toolset name="gcc-3.3*"/>
+ <toolset name="gcc-3_3*"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <toolset name="tru64cxx65-042"/>
+ <toolset name="darwin"/>
+ <toolset name="mingw"/>
+ <note author="Aleksey Gurtovoy">
+ This functionality is available only on compilers that implement C++ Core Language
+ <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#337">Defect Report 337</a>.
+ </note>
+ </mark-failure>
+ </test>
+
+ <mark-expected-failures>
+ <test name="is_polymorphic_test"/>
+ <toolset name="gcc-2.95.3-stlport-*"/>
+ <note author="Doug Gregor" refid="3"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="decay_test"/>
+ <test name="extent_test"/>
+ <test name="has_nothrow_assign_test"/>
+ <test name="has_nothrow_constr_test"/>
+ <test name="has_nothrow_copy_test"/>
+ <test name="has_trivial_assign_test"/>
+ <test name="has_trivial_constr_test"/>
+ <test name="has_trivial_copy_test"/>
+ <test name="has_trivial_destructor_test"/>
+ <test name="is_array_test"/>
+ <test name="is_base_and_derived_test"/>
+ <test name="is_base_of_test"/>
+ <test name="is_class_test"/>
+ <test name="is_convertible_test"/>
+ <test name="is_object_test"/>
+ <test name="is_pod_test"/>
+ <test name="is_polymorphic_test"/>
+ <test name="rank_test"/>
+ <test name="remove_all_extents_test"/>
+ <test name="remove_bounds_test"/>
+ <test name="remove_extent_test"/>
+ <toolset name="sunpro-5_3-sunos"/>
+
+ <note author="John Maddock">
+ The Type Traits library is broken when used with Sunpro-5.3 and the
+ argument to the template is an array or function type. Most other argument types
+ do work as expected: in other words the functionality is limited
+ with this compiler, but not so much as to render the library unuseable.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="is_empty_test"/>
+ <test name="is_function_test"/>
+ <test name="is_member_func_test"/>
+ <test name="is_member_obj_test"/>
+ <test name="is_reference_test"/>
+ <test name="tricky_function_type_test"/>
+ <test name="tricky_incomplete_type_test"/>
+ <test name="tricky_is_enum_test"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note author="John Maddock" refid="2"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="tricky_function_type_test"/>
+ <test name="is_convertible_test"/>
+ <toolset name="gcc-2.95.3-stlport-4.5.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <note author="John Maddock" refid="2"/>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="aligned_storage_test"/>
+ <toolset name="cw-8_3"/>
+ <note author="John Maddock">
+ Older versions of MWCW incorrectly align pointers to member functions
+ (they use 12-byte boundaries, rather than a power-of-2 boundary),
+ leading to alignment_of / aligned_storage
+ to fail with these types on this compiler.
+ </note>
+ </mark-expected-failures>
+ </library>
+
+
+ <!-- utility/enable_if -->
+ <library name="utility/enable_if">
+ <mark-unusable>
+ <toolset name="borland"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="cw-8_3*"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <toolset name="gcc-2.95.3-*"/>
+ <note refid="3"/>
+ </mark-unusable>
+
+ <mark-expected-failures>
+ <test name="no_disambiguation"/>
+ <toolset name="gcc-3.2.*"/>
+ <note refid="3"/>
+ </mark-expected-failures>
+ </library>
+
+
+ <!-- utility -->
+ <library name="utility">
+ <test name="addressof_test">
+ <mark-failure>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note author="D. Gregor" refid="3"/>
+ </mark-failure>
+ </test>
+ <test name="fun_out_iter_example">
+ <mark-failure>
+ <toolset name="como-win32"/>
+ <note author="B. Dawes" refid="4"/>
+ </mark-failure>
+ </test>
+ <test name="result_of_test">
+ <mark-failure>
+ <toolset name="borland-5*"/>
+ <toolset name="cw-8_3*"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <toolset name="gcc-2.95.3*"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <note refid="3" author="D. Gregor"/>
+ </mark-failure>
+ </test>
+ <mark-expected-failures>
+ <test name="value_init_test"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <note author="Aleksey Gurtovoy">
+ This failure is caused by a compiler bug (default-constructed scalar
+ types are not zero-initialized) that has been fixed in the latest
+ versions of the compiler (VC 7.1 and greater).
+ </note>
+ </mark-expected-failures>
+ </library>
+
+
+ <!-- variant -->
+ <library name="variant">
+ <mark-unusable>
+ <toolset name="mipspro"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <toolset name="tru64cxx65*"/>
+ <note refid="2"/>
+ </mark-unusable>
+ <test name="recursive_variant_test">
+ <mark-failure>
+ <toolset name="como-win32"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <note refid="3"/>
+ </mark-failure>
+ </test>
+ <mark-expected-failures>
+ <test name="recursive_variant_test"/>
+ <test name="variant_test1"/>
+ <test name="variant_test5"/>
+ <test name="variant_visit_test"/>
+ <toolset name="borland"/>
+ <toolset name="borland-5_6_4"/>
+ <note author="Aleksey Gurtovoy" refid="3"/>
+ </mark-expected-failures>
+ <test name="variant_reference_test">
+ <mark-failure>
+ <toolset name="cw-8_3*"/>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="vc-7_0"/>
+ <note refid="3"/>
+ </mark-failure>
+ <mark-failure>
+ <toolset name="intel-win32"/>
+ <toolset name="iw-7_1*"/>
+ <toolset name="intel-7.1*"/>
+ <note refid="2"/>
+ </mark-failure>
+ </test>
+ </library>
+
+ <!-- wave -->
+ <library name="wave">
+ <mark-unusable>
+ <toolset name="msvc*"/>
+ <toolset name="vc-6_5*"/>
+ <toolset name="sunpro-5_3-sunos"/>
+ <toolset name="borland-5_5_1"/>
+ <toolset name="borland-5_6_4"/>
+ <toolset name="gcc-2.95.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.5.3-linux"/>
+ <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
+ <toolset name="tru64cxx*"/>
+ <toolset name="cw-9_4"/>
+ <note refid="29"/>
+ </mark-unusable>
+ <mark-unusable>
+ <toolset name="vc-7_0"/>
+ <note>
+ This toolset isn't supported because of the used Spirit V1.8.x, which in turn is
+ not usable with this toolset.
+ </note>
+ </mark-unusable>
+
+ <mark-expected-failures>
+ <test name="testwave"/>
+ <toolset name="cw-9_5-darwin"/>
+ <toolset name="cw-8*"/>
+ <note author="Rene Rivera" refid="29"/>
+ </mark-expected-failures>
+
+ <mark-expected-failures>
+ <test name="testwave"/>
+ <toolset name="gcc-3.2.3-linux"/>
+ <toolset name="gcc-3.3.6-linux"/>
+ <note author="Hartmut Kaiser" refid="29"/>
+ </mark-expected-failures>
+
+ </library>
+
+ <!-- /////////////// Standard note definitions /////////////// -->
+
+ <note id="0">
+ This test fails only intermittently.
+ </note>
+
+ <note id="1">
+ The failure is caused by a problem in Boost code. The Boost developers is aware of
+ the problem and plan to fix it.
+ </note>
+
+ <note id="2">
+ The failure is caused by a compiler bug.
+ </note>
+
+ <note id="3">
+ The failure is caused by a compiler bug, which has been reported to the compiler
+ supplier (or is already known to them).
+ </note>
+
+ <note id="4">
+ The failure is caused by a standard library bug.
+ </note>
+
+ <note id="5">
+ The failure is caused by a standard library bug, which has been reported to the
+ standard library supplier (or is already known to them).
+ </note>
+
+ <note id="6">
+ The failure is probably caused by the test code, harness, or configuration. Thus
+ it may not affect users of the library.
+ </note>
+
+ <note id="9">
+ The failure is serious and likely to prevent all use of this Boost library with this compiler.
+ </note>
+
+ <note id="10">
+ The failure is serious and likely to prevent all use of this Boost library with this
+ compiler. The failure is caused by a compiler bug, which has been reported to the compiler
+ supplier (or is already known to them).
+ </note>
+
+ <note id="14">
+ The failure is caused by a platform API bug.
+ </note>
+
+ <note id="15">
+ The failure is caused by a platform API bug, which has been reported to the platform API
+ supplier (or is already known to them).
+ </note>
+
+ <note id="16">
+ The failure is not serious and will not affect most users. The library degrades gracefully.
+ </note>
+
+ <note id="17">
+ This compiler's bugs are not supported by the library.
+ </note>
+
+ <note id="18">
+ Locales missing or adequately supported by this compiler.
+ </note>
+
+ <note id="19">
+ Missing or inadequate wchar/wstring/wstream support for this compiler.
+ </note>
+
+ <note id="20">
+ No std iterator traits for this compiler.
+ </note>
+
+ <note id="21">
+ Library has limited input/output support due to compiler inadequacies.
+ </note>
+
+ <note id="22">
+ No high precision clock for this platform.
+ </note>
+
+ <note id="23">
+ A bug in standard library prevents passing std::set from DLL to
+ application. A fixed &lt;tree&gt; header is available from
+ http://www.dinkumware.com/vc_fixes.html.
+ </note>
+
+ <note id="24">
+ Although the documentation from the Comeau website would make it appear
+ that windows DLL's are supported using the --windows option, after some
+ experimentation we have been unsuccessful in making dll configurations
+ work correctly.
+ </note>
+
+ <note id="25">
+ The failure is caused by a runtime limitation. Locale support is only
+ available with the static linked variant of the runtime. Generally
+ the dynamic linked variant is required when building dynamic modules,
+ DLL, <code>so</code>, etc.
+ </note>
+
+ <note id="26">
+ This failure is caused by a compiler bug with no known workaround.
+ Patches are welcome!
+ </note>
+
+ <note id="27" >
+ This failure is caused by bugs in the standard library implementation and/or
+ bugs in the compiler.
+ </note>
+
+ <note id="28">
+ Unresearched failure, please contact library developers for more
+ information about possible causes.
+ </note>
+
+ <note id="29">
+ The test fails due to unresearched issues. The library
+ developers are aware of this failure, but need help with
+ investigating/addressing it for future releases.
+ </note>
+
+ <note id="30">
+ The support for this deficient compiler will be dropped starting
+ from Boost 1.33.0 release. Please use one of the previous Boost
+ releases if you need the library to work on this compiler.
+ </note>
+
+ <note id="31">
+ This failure is caused by compiler bugs or limitations. Some advanced
+ or esoteric library features may be unavailable or only partially available.
+ This does not impact most common uses of the library.
+ </note>
+
+ <note id="32">
+ This failure is caused by a compiler bug. Certain code constructs that should
+ fail compilation are accepted by the compiler. This can mask some programming
+ errors, but does not impact the usability of the library.
+ </note>
+
+ <note id="33">
+ The failures are caused by the wrong handling of the
+ <code>std::internal</code> flag in the iostreams implementation of the
+ standard library used on that compiler/platform combo. Apart from that,
+ the format library works as expected.
+ </note>
+
+ <note id="34">
+ The failures are caused by the fact that the iword and pword arrays seem
+ to share the same memory area in the iostreams implementation of the
+ standard library used on that compiler/platform combo. As long as you
+ stay clear of iword and pword, the library should work ok.
+ </note>
+
+ <note id="35">
+ This failure occurs only when using shared libraries for this
+ compiler and platform, although the same programs should work
+ properly when using static libraries. This problem has not
+ been researched.
+ </note>
+</explicit-failures-markup>
diff --git a/status/explicit-failures.xsd b/status/explicit-failures.xsd
new file mode 100644
index 0000000000..89639aa801
--- /dev/null
+++ b/status/explicit-failures.xsd
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+
+ <xs:element name="explicit-failures-markup">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="mark-toolset" maxOccurs="unbounded"/>
+ <xs:element ref="library" maxOccurs="unbounded"/>
+ <xs:element ref="note" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="mark-toolset">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="title" type="xs:string" minOccurs="0"/>
+ <xs:element name="description" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="status" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="library">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="mark-unusable" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="test"/>
+ <xs:element ref="mark-expected-failures"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="mark-unusable">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="toolset" maxOccurs="unbounded"/>
+ <xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="test">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="mark-failure" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="toolset" minOccurs="0"/>
+ <xs:element ref="note" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="category" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="mark-expected-failures">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="test" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="toolset" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="note" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="reason" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="mark-failure">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="toolset" maxOccurs="unbounded"/>
+ <xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="note">
+ <xs:complexType mixed="true">
+ <xs:sequence>
+ <xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="refid" type="xs:string"/>
+ <xs:attribute name="author" type="xs:string"/>
+ <xs:attribute name="date" type="xs:string"/>
+ <xs:attribute name="id" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="toolset">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+</xs:schema>
diff --git a/status/index.html b/status/index.html
new file mode 100644
index 0000000000..ef88d3195f
--- /dev/null
+++ b/status/index.html
@@ -0,0 +1,9 @@
+<html>
+<head>
+<meta http-equiv="refresh" content="0; URL=compiler_status.html#quick-reference">
+</head>
+<body>
+Automatic redirection failed, please go to
+<a href="compiler_status.html">compiler_status.html</a>.
+</body>
+</html> \ No newline at end of file
diff --git a/status/intel_logo.gif b/status/intel_logo.gif
new file mode 100644
index 0000000000..47f9ded887
--- /dev/null
+++ b/status/intel_logo.gif
Binary files differ
diff --git a/status/kai_logo.gif b/status/kai_logo.gif
new file mode 100644
index 0000000000..42defced07
--- /dev/null
+++ b/status/kai_logo.gif
Binary files differ
diff --git a/status/ms_logo.gif b/status/ms_logo.gif
new file mode 100644
index 0000000000..09dca73b9f
--- /dev/null
+++ b/status/ms_logo.gif
Binary files differ
diff --git a/status/notes.html b/status/notes.html
new file mode 100644
index 0000000000..3ac028830b
--- /dev/null
+++ b/status/notes.html
@@ -0,0 +1,54 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Win32 Regression Testing Notes</title>
+</head>
+
+<body>
+
+<h2>Regression Testing Notes</h2>
+<h3>Note <a name="0">0</a></h3>
+<p>This test fails only intermittently.</p>
+<h3>Note <a name="1">1</a></h3>
+<p>The failure is caused by a problem in Boost code. The Boost developer is
+aware of the problem and plans to fix it.</p>
+<h3>Note <a name="2">2</a></h3>
+<p>The failure is caused by a compiler bug.</p>
+<h3>Note <a name="3">3</a></h3>
+<p>The failure is caused by a compiler bug, which has been reported to the
+compiler supplier (or is already known to them).</p>
+<h3>Note <a name="4">4</a></h3>
+<p>The failure is caused by a standard library bug.</p>
+<h3>Note <a name="5">5</a></h3>
+<p>The failure is caused by a standard library bug, which has been reported to
+the standard library supplier (or is already known to them).</p>
+<h3>Note <a name="6">6</a></h3>
+<p>The failure is probably caused by the test code, harness, or configuration.
+Thus it may not affect users of the library.</p>
+<h3>Note <a name="9">9</a></h3>
+<p>The failure is serious and likely to prevent all use of this Boost library
+with this compiler.</p>
+<h3>Note <a name="10">10</a></h3>
+<p>The failure is serious and likely to prevent all use of this Boost library
+with this compiler. The failure is caused by a compiler bug, which has been reported to the
+compiler supplier (or is already known to them).</p>
+<h3>Note <a name="14">14</a></h3>
+<p>The failure is caused by a platform API bug.</p>
+<h3>Note <a name="15">15</a></h3>
+<p>The failure is caused by a platform API bug, which has been reported to
+the platform API supplier (or is already known to them).</p>
+<h3>Note <a name="16">16</a></h3>
+<p>The failure is not serious and will not affect most users. The library degrades gracefully.</p>
+<h3>Note <a name="17">17</a></h3>
+<p>This compiler's bugs are not supported by the library.</p>
+<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" height="1200">
+ <tr><td width="100%" height="1200">&nbsp;</td></tr>
+</table>
+
+</body>
+
+</html>
diff --git a/status/win32-notes-map.txt b/status/win32-notes-map.txt
new file mode 100644
index 0000000000..7fcc7be412
--- /dev/null
+++ b/status/win32-notes-map.txt
@@ -0,0 +1,187 @@
+// Notes map format:
+//
+// toolset/library-name/test-name,note#
+// */library-name/test-name,note#
+// toolset/library-name/*,note#
+// */library-name/*,note#
+//
+// The * can only be used to indicate "all" - it can't select portions
+// of a toolset or test name.
+//
+// Multiple notes can apply to the same test or library. For example:
+//
+// borland/random/random_test,2
+// borland/random/random_test,10
+//
+// Note superscripts normally only appear if a test fails. If the note#
+// is preceded by a minus sign, the note superscript will appear regardless
+// of success or failure of the test.
+
+// All
+
+*/iterator/interoperable_fail,16
+*/iterator/is_convertible_fail,16
+
+// Borland
+
+borland/array/array3,3
+borland/array/array4,3
+borland/concept_check/class_concept_fail_expected,3
+borland/random/random_test,2
+borland/function/function_arith_cxx98,3
+borland/function/function_ref_cxx98,3
+borland/function/lambda_test,3
+borland/function/lib_function_test,3
+borland/function/mem_fun_cxx98,3
+borland/function/std_bind_cxx98,3
+borland/function/sum_avg_cxx98,3
+borland/graph/*,3
+borland/iterator/interoperable_fail,2
+borland/iterator/is_convertible_fail,2
+borland/lambda/*,3
+borland/signals/signal_test,3
+borland/python/*,2
+borland/python/*,17
+borland/utility/enable_if_constructors,3
+borland/utility/enable_if_dummy_arg_disambiguation,3
+borland/utility/enable_if_lazy,3
+borland/utility/enable_if_lazy_test,3
+borland/utility/enable_if_member_templates,3
+borland/utility/enable_if_namespace_disambiguation,3
+borland/utility/enable_if_no_disambiguation,3
+borland/utility/enable_if_partial_specializations,3
+borland/variant/recursive_variant_test,3
+borland/variant/variant_test1,2
+borland/variant/variant_test5,0
+borland/variant/variant_test5,2
+
+// GCC
+
+gcc/date_time/testmicrosec_time_clock,14
+gcc/iterator/interoperable_fail,3
+gcc/thread/*,6
+
+// Codewarrior 8.3
+
+cwpro8/concept_check/class_concept_fail_expected,3
+cwpro8/config/limits_test,3
+cwpro8/static_assert/static_assert_test_fail_8,3
+cwpro8/random/random_test,3
+cwpro8/function/lib_function_test,2
+cwpro8/function/lambda_test,2
+cwpro8/function/mem_fun_cxx98,2
+cwpro8/signals/signal_test,2
+cwpro8/utility/enable_if_constructors,3
+cwpro8/utility/enable_if_dummy_arg_disambiguation,3
+cwpro8/utility/enable_if_lazy,3
+cwpro8/utility/enable_if_lazy_test,3
+cwpro8/utility/enable_if_member_templates,3
+cwpro8/utility/enable_if_namespace_disambiguation,3
+cwpro8/utility/enable_if_no_disambiguation,3
+cwpro8/utility/enable_if_partial_specializations,3
+cwpro8/variant/variant_reference_test,3
+
+// Comeau
+
+como-win32/test/errors_handling_test,3
+como-win32/utility/fun_out_iter_example,4
+como-win32/random/random_test,3
+como-win32/thread/*,10
+como-win32/variant/recursive_variant_test,3
+
+// Intel 8.0
+
+intel-win32/math/octonion_test,3
+intel-win32/math/quaternion_test,3
+intel-win32/ublas/concepts,3
+intel-win32/ublas/test2,3
+intel-win32/variant/variant_reference_test,3
+
+// VC++ 6.0
+
+msvc/array/array3,3
+msvc/array/array4,3
+msvc/concept_check/class_concept_fail_expected,3
+msvc/random/*,10
+msvc/function/allocator_test,5
+msvc/function/function_arith_cxx98,3
+msvc/function/function_ref_cxx98,3
+msvc/function/mem_fun_cxx98,3
+msvc/function/std_bind_cxx98,3
+msvc/function/sum_avg_cxx98,3
+msvc/function/lib_function_test,3
+msvc/function/lambda_test,3
+msvc/function/std_bind_portable,5
+msvc/graph/*,3
+msvc/io/*,3
+msvc/iterator/interoperable_fail,2
+msvc/iterator/is_convertible_fail,2
+msvc/lambda/*,3
+msvc/math/octonion_test,3
+msvc/math/quaternion_test,3
+msvc/math/special_functions_test,3
+msvc/signals/signal_test,3
+msvc/type_traits/function_traits_test,3
+msvc/type_traits/remove_bounds_test,3
+msvc/type_traits/remove_const_test,3
+msvc/type_traits/remove_cv_test,3
+msvc/type_traits/remove_pointer_test,3
+msvc/type_traits/remove_reference_test,3
+msvc/type_traits/remove_volatile_test,3
+msvc/utility/enable_if_constructors,3
+msvc/utility/enable_if_dummy_arg_disambiguation,3
+msvc/utility/enable_if_lazy,3
+msvc/utility/enable_if_lazy_test,3
+msvc/utility/enable_if_member_templates,3
+msvc/utility/enable_if_namespace_disambiguation,3
+msvc/utility/enable_if_no_disambiguation,3
+msvc/utility/enable_if_partial_specializations,3
+msvc/variant/recursive_variant_test,3
+msvc/variant/variant_reference_test,3
+
+// VC++ 7.0
+
+vc7/array/array3,3
+vc7/array/array4,3
+vc7/concept_check/class_concept_fail_expected,3
+vc7/random/*,10
+vc7/thread/test_mutex,0
+vc7/thread/test_mutex,6
+vc7/function/allocator_test,5
+vc7/function/function_arith_cxx98,3
+vc7/function/function_ref_cxx98,3
+vc7/function/mem_fun_cxx98,3
+vc7/function/std_bind_cxx98,3
+vc7/function/sum_avg_cxx98,3
+vc7/function/lib_function_test,3
+vc7/function/lambda_test,3
+vc7/graph/adj_matrix_cc,3
+vc7/graph/edge_list_cc,3
+vc7/graph/subgraph,3
+vc7/graph/transitive_closure_test,3
+vc7/graph/vector_graph_cc,3
+vc7/iterator/interoperable_fail,2
+vc7/iterator/is_convertible_fail,2
+vc7/lambda/*,3
+vc7/math/octonion_test,3
+vc7/math/quaternion_test,3
+vc7/math/special_functions_test,3
+vc7/signals/signal_test,3
+vc7/type_traits/function_traits_test,3
+vc7/type_traits/function_traits_test,3
+vc7/type_traits/remove_bounds_test,3
+vc7/type_traits/remove_const_test,3
+vc7/type_traits/remove_cv_test,3
+vc7/type_traits/remove_pointer_test,3
+vc7/type_traits/remove_reference_test,3
+vc7/type_traits/remove_volatile_test,3
+vc7/utility/enable_if_constructors,3
+vc7/utility/enable_if_dummy_arg_disambiguation,3
+vc7/utility/enable_if_lazy,3
+vc7/utility/enable_if_lazy_test,3
+vc7/utility/enable_if_member_templates,3
+vc7/utility/enable_if_namespace_disambiguation,3
+vc7/utility/enable_if_no_disambiguation,3
+vc7/utility/enable_if_partial_specializations,3
+vc7/variant/recursive_variant_test,3
+vc7/variant/variant_reference_test,3
diff --git a/tools/Jamfile.v2 b/tools/Jamfile.v2
new file mode 100644
index 0000000000..806e875422
--- /dev/null
+++ b/tools/Jamfile.v2
@@ -0,0 +1,49 @@
+
+# Jamfile which builds all the tools.
+
+project
+ :
+ requirements
+ <link>static
+ <runtime-link>static
+ <threading>single
+ ;
+
+TOOLS =
+ bcp//bcp
+ inspect/build//inspect
+ quickbook//quickbook
+ regression/build//compiler_status
+ regression/build//process_jam_log
+ wave/build//wave
+ ;
+
+install dist-bin
+ :
+ $(TOOLS)
+ :
+ <install-type>EXE
+ <location>../dist/bin
+ :
+ release
+ ;
+
+install dist-lib
+ :
+ $(TOOLS)
+ :
+ <install-type>LIB
+ <location>../dist/lib
+ :
+ release
+ ;
+
+local patterns = *.dtd *.xml *.xsl LICENSE ;
+local dirs = boostbook/dtd boostbook/xsl ;
+install dist-share-boostbook
+ :
+ [ glob $(dirs)/$(patterns) $(dirs)/*/$(patterns) $(dirs)/*/*/$(patterns) ]
+ :
+ <location>../dist/share
+ <install-source-root>.
+ ;
diff --git a/tools/bcp b/tools/bcp
new file mode 160000
+Subproject a64136e567d88986ba26245f7fe2eadff3b720a
diff --git a/tools/boostbook b/tools/boostbook
new file mode 160000
+Subproject f44d8f35c03807867d6ae41442d91b2485b50de
diff --git a/tools/build b/tools/build
new file mode 160000
+Subproject 2e399876e22ec699d0797549aa851bae0e23bda
diff --git a/tools/index.html b/tools/index.html
new file mode 100644
index 0000000000..32b0bf2d16
--- /dev/null
+++ b/tools/index.html
@@ -0,0 +1,69 @@
+<html>
+ <head>
+ <title>Boost Tools</title>
+ <meta http-equiv="Content-Language" content="en-us">
+ <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+ <meta name="ProgId" content="FrontPage.Editor.Document">
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+ </head>
+ <body bgcolor="#ffffff">
+ <table border="1" cellpadding="2" bgcolor="#007f7f">
+ <tr>
+ <td bgcolor="#ffffff">
+ <img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
+ <td><a href="../index.htm"><font color="#ffffff" size="4" face="Arial">Home</font></a></td>
+ <td><a href="../libs/libraries.htm"><font color="#ffffff" size="4" face="Arial">Libraries</font></a></td>
+ <td><a href="../people/people.htm"><font color="#ffffff" size="4" face="Arial">People</font></a></td>
+ <td><a href="../more/faq.htm"><font color="#ffffff" size="4" face="Arial">FAQ</font></a></td>
+ <td><a href="../more/index.htm"><font color="#ffffff" size="4" face="Arial">More</font></a></td>
+ </tr>
+ </table>
+ <h1>Boost Tools</h1>
+ <p>Boost developers, testers, and maintainers have developed various programs to
+ help with the administration of the Boost Libraries. Like everything else about
+ Boost, these tools are available in source form, and are part of the regular
+ Boost distribution.</p>
+ <p>Users may find these tools useful when porting Boost libraries to a new
+ platform, or for use with their own applications.</p>
+ <ul>
+ <li>
+ <a href="build/index.html">Boost.Build</a> - The Boost build system, including
+ the full Boost version of the jam sources.<br>
+ &nbsp;
+ <li>
+ <a href="regression/index.htm">Regression</a> - The Boost regression testing
+ system reporting sources.<br>
+ &nbsp;
+ <li>
+ <a href="inspect/index.html">Inspect </a>- The inspection tool used to detect
+ errors in the Boost directory hierarchy.<br>
+ &nbsp;
+ <li>
+ <a href="../doc/html/boostbook.html">BoostBook</a> - A Boost documentation
+ system, based on <a href="http://www.docbook.org/">DocBook</a> and the <a href="http://www.w3.org/Style/XSL/">
+ Extensible Stylesheet Language (XSL)</a>, used by some Boost libraries.<br>
+ &nbsp;
+ <li>
+ <a href="bcp/bcp.html">bcp</a> - A utility to extract subsets of Boost; to
+ determine which parts of Boost your code is using; and to print reports on
+ Boost usage (including Licence information).<br>
+ &nbsp;
+ <li>
+ <a href="quickbook/index.html">QuickBook</a> - QuickBook is a WikiWiki style
+ documentation tool geared towards C++ documentation using simple rules and markup
+ for simple formatting tasks. QuickBook generates <a href="../doc/html/boostbook.html">
+ BoostBook</a> XML.<br>
+ &nbsp;
+ <li>
+ <a href="../libs/wave/doc/wave_driver.html">Wave</a> - A Standards conformant C/C++
+ preprocessor usable on top of any other compiler. Usable for instance for the debugging
+ of the expansion of macros in your code or as a replacement for your build in
+ preprocessor. <br>
+ </li>
+ </ul>
+ <hr>
+ <p>Revised
+ <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
+ 19 February, 2005</p>
+ </body>
+</html>
diff --git a/tools/inspect b/tools/inspect
new file mode 160000
+Subproject f23f5ff7c07231fcc87aeaecbf0f654351f1f2d
diff --git a/tools/make-cputime-page.pl b/tools/make-cputime-page.pl
new file mode 100644
index 0000000000..87ddc4a01b
--- /dev/null
+++ b/tools/make-cputime-page.pl
@@ -0,0 +1,49 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+my $filename;
+my $compiler;
+my $time = 0;
+my $ct = 0;
+my $first = 2;
+
+print "<html>\n<head>\n<title>\nCompile Times</title>\n</head>\n\n";
+print "<body bgcolor=\"#ffffff\" text=\"#000000\">\n";
+print "<img border=\"0\" src=\"boost.png\" width=\"277\" height=\"86\">";
+print "<p>\n";
+print "Compile time for each successful regression test in seconds.\n";
+print "<p>\n";
+
+print "<table border=\"1\">\n";
+print "<tr><td>Test</td>\n";
+
+while(<>) {
+ if(/^\*\*\* (.*) \*\*\*$/) {
+ $filename = $1;
+ $first = ($first == 0 ? 0 : $first-1);
+ if($first == 0) {
+ print "</tr>\n\n<tr align=right>\n<td align=left><a href=\"http://www.boost.org/$filename\">$filename</a></td>\n";
+ }
+ } elsif(/^\*\* (.*)/) {
+ $compiler = $1;
+ if($first) {
+ print "<td>$compiler</td>\n";
+ } else {
+ $ct = 1;
+ }
+ } elsif($ct && /^CPU time: ([.0-9]*) s user, ([.0-9]*) s system/) {
+ $time = $1 + $2;
+ } elsif($ct && /^Pass$/) {
+ printf "<td>%.02f</td>\n", $time;
+ $ct = 0;
+ } elsif($ct && /^Fail$/) {
+ print "<td>-</td>\n";
+ $ct = 0;
+ }
+}
+
+print "</tr>\n";
+print "</table>\n";
+print "</body>\n</html>\n";
+
diff --git a/tools/quickbook b/tools/quickbook
new file mode 160000
+Subproject 329f4a94971bcc34fc993e60f7b5e366ed1f815
diff --git a/tools/regression/build/Jamfile b/tools/regression/build/Jamfile
new file mode 100644
index 0000000000..3fa1382388
--- /dev/null
+++ b/tools/regression/build/Jamfile
@@ -0,0 +1,35 @@
+# Regression test status reporting tools build Jamfile
+
+subproject tools/regression/build ;
+
+exe process_jam_log
+ :
+ ../process_jam_log.cpp ../detail/tiny_xml.cpp
+ <lib>../../../libs/filesystem/build/boost_filesystem
+ :
+ <sysinclude>$(BOOST_ROOT)
+ <define>BOOST_ALL_NO_LIB=1
+ :
+ release
+ ;
+
+exe compiler_status
+ :
+ ../compiler_status.cpp ../detail/tiny_xml.cpp
+ <lib>../../../libs/filesystem/build/boost_filesystem
+ :
+ <sysinclude>$(BOOST_ROOT)
+ <define>BOOST_ALL_NO_LIB=1
+ :
+ release
+ ;
+
+stage run
+ :
+ <exe>process_jam_log
+ <exe>compiler_status
+ :
+ :
+ release
+ <suppress>true
+ ;
diff --git a/tools/regression/build/Jamfile.v2 b/tools/regression/build/Jamfile.v2
new file mode 100644
index 0000000000..cbf97e71c1
--- /dev/null
+++ b/tools/regression/build/Jamfile.v2
@@ -0,0 +1,41 @@
+# Regression test status reporting tools build Jamfile
+
+exe process_jam_log
+ :
+ ../process_jam_log.cpp ../detail/tiny_xml.cpp
+ /boost/filesystem//boost_filesystem
+ :
+ :
+ release
+ ;
+
+exe compiler_status
+ :
+ ../compiler_status.cpp ../detail/tiny_xml.cpp
+ /boost/filesystem//boost_filesystem
+ :
+ :
+ release
+ ;
+
+install dist-bin
+ :
+ process_jam_log
+ compiler_status
+ :
+ <install-type>EXE
+ <location>../../../dist/bin
+ :
+ release
+ ;
+
+install dist-lib
+ :
+ process_jam_log
+ compiler_status
+ :
+ <install-type>LIB
+ <location>../../../dist/lib
+ :
+ release
+ ;
diff --git a/tools/regression/build/vcide/process_jam_log.sln b/tools/regression/build/vcide/process_jam_log.sln
new file mode 100644
index 0000000000..29833cc0e1
--- /dev/null
+++ b/tools/regression/build/vcide/process_jam_log.sln
@@ -0,0 +1,21 @@
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "process_jam_log", "process_jam_log.vcproj", "{9A751791-929F-496A-8DE7-B61020619BFA}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Release = Release
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {9A751791-929F-496A-8DE7-B61020619BFA}.Debug.ActiveCfg = Debug|Win32
+ {9A751791-929F-496A-8DE7-B61020619BFA}.Debug.Build.0 = Debug|Win32
+ {9A751791-929F-496A-8DE7-B61020619BFA}.Release.ActiveCfg = Release|Win32
+ {9A751791-929F-496A-8DE7-B61020619BFA}.Release.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
diff --git a/tools/regression/build/vcide/process_jam_log.vcproj b/tools/regression/build/vcide/process_jam_log.vcproj
new file mode 100644
index 0000000000..3b3def2891
--- /dev/null
+++ b/tools/regression/build/vcide/process_jam_log.vcproj
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="windows-1251"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="process_jam_log"
+ ProjectGUID="{9A751791-929F-496A-8DE7-B61020619BFA}"
+ Keyword="MakeFileProj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="0">
+ <Tool
+ Name="VCNMakeTool"
+ BuildCommandLine="cd ..\..\..\..\tools\regression\build
+..\..\build\jam_src\bin.ntx86\bjam.exe -sBUILD=debug
+"
+ ReBuildCommandLine="cd ..\..\..\..\tools\regression\build
+..\..\build\jam_src\bin.ntx86\bjam.exe -a -sBUILD=debug
+
+"
+ Output="process_jam_log.exe"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="0">
+ <Tool
+ Name="VCNMakeTool"
+ BuildCommandLine="cd C:\users\misha\Stuff\boost\boost\tools\regression\build"
+ ReBuildCommandLine="cd C:\users\misha\Stuff\boost\boost\tools\regression\build"
+ Output="process_jam_log.exe"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
+ </Filter>
+ <File
+ RelativePath=".\readme.txt">
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/tools/regression/compiler_status.cpp b/tools/regression/compiler_status.cpp
new file mode 100644
index 0000000000..894aedfcc3
--- /dev/null
+++ b/tools/regression/compiler_status.cpp
@@ -0,0 +1,966 @@
+// Generate Compiler Status HTML from jam regression test output -----------//
+
+// Copyright Beman Dawes 2002. 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)
+
+// See http://www.boost.org/tools/regression for documentation.
+
+/*******************************************************************************
+
+ This program was designed to work unchanged on all platforms and
+ configurations. All output which is platform or configuration dependent
+ is obtained from external sources such as the .xml file from
+ process_jam_log execution, the tools/build/xxx-tools.jam files, or the
+ output of the config_info tests.
+
+ Please avoid adding platform or configuration dependencies during
+ program maintenance.
+
+*******************************************************************************/
+
+#include "boost/filesystem/operations.hpp"
+#include "boost/filesystem/fstream.hpp"
+#include "detail/tiny_xml.hpp"
+namespace fs = boost::filesystem;
+namespace xml = boost::tiny_xml;
+
+#include <cstdlib> // for abort, exit
+#include <string>
+#include <vector>
+#include <set>
+#include <map>
+#include <algorithm>
+#include <iostream>
+#include <fstream>
+#include <ctime>
+#include <stdexcept>
+#include <cassert>
+
+using std::string;
+
+const string pass_msg( "Pass" );
+const string warn_msg( "<i>Warn</i>" );
+const string fail_msg( "<font color=\"#FF0000\"><i>Fail</i></font>" );
+const string note_msg( "<sup>*</sup>" );
+const string missing_residue_msg( "<i>Missing</i>" );
+
+const std::size_t max_compile_msg_size = 10000;
+
+namespace
+{
+ fs::path boost_root; // boost-root complete path
+ fs::path locate_root; // locate-root (AKA ALL_LOCATE_TARGET) complete path
+
+ bool ignore_pass;
+ bool no_warn;
+ bool no_links;
+ bool boost_build_v2;
+
+ fs::path jamfile_path;
+
+ fs::directory_iterator end_itr;
+
+ // It's immportant for reliability that we find the same compilers for each
+ // test, and that they match the column header. So save the names at the
+ // time column headings are generated.
+ std::vector<string> toolsets;
+
+ fs::ifstream jamfile;
+ fs::ofstream report;
+ fs::ofstream links_file;
+ string links_name;
+
+ fs::path notes_path;
+ string notes_html;
+
+ fs::path notes_map_path;
+ typedef std::multimap< string, string > notes_map; // key is test_name-toolset,
+ // value is note bookmark
+ notes_map notes;
+
+ string specific_compiler; // if running on one toolset only
+
+ const string empty_string;
+
+ // prefix for library and test hyperlink prefix
+ string url_prefix_dir_view( "http://cvs.sourceforge.net/viewcvs.py/boost/boost" );
+ string url_prefix_checkout_view( "http://cvs.sourceforge.net/viewcvs.py/*checkout*/boost/boost" );
+ string url_suffix_text_view( "?view=markup&rev=HEAD" );
+
+// build notes_bookmarks from notes HTML -----------------------------------//
+
+ void build_notes_bookmarks()
+ {
+ if ( notes_map_path.empty() ) return;
+ fs::ifstream notes_map_file( notes_map_path );
+ if ( !notes_map_file )
+ {
+ std::cerr << "Could not open --notes-map input file: " << notes_map_path.string() << std::endl;
+ std::exit( 1 );
+ }
+ string line;
+ while( std::getline( notes_map_file, line ) )
+ {
+ string::size_type pos = 0;
+ if ( (pos = line.find( ',', pos )) == string::npos ) continue;
+ string key(line.substr( 0, pos ) );
+ string bookmark( line.substr( pos+1 ) );
+
+// std::cout << "inserting \"" << key << "\",\"" << bookmark << "\"\n";
+ notes.insert( notes_map::value_type( key, bookmark ) );
+ }
+ }
+
+// load_notes_html ---------------------------------------------------------//
+
+ bool load_notes_html()
+ {
+ if ( notes_path.empty() ) return false;
+ fs::ifstream notes_file( notes_path );
+ if ( !notes_file )
+ {
+ std::cerr << "Could not open --notes input file: " << notes_path.string() << std::endl;
+ std::exit( 1 );
+ }
+ string line;
+ bool in_body( false );
+ while( std::getline( notes_file, line ) )
+ {
+ if ( in_body && line.find( "</body>" ) != string::npos ) in_body = false;
+ if ( in_body ) notes_html += line;
+ else if ( line.find( "<body>" ) ) in_body = true;
+ }
+ return true;
+ }
+
+// relative path between two paths -----------------------------------------//
+
+ void relative_path( const fs::path & from, const fs::path & to,
+ fs::path & target )
+ {
+ if ( from.string().size() <= to.string().size() ) return;
+ target /= "..";
+ relative_path( from.branch_path(), to, target );
+ return;
+ }
+
+// extract object library name from target directory string ----------------//
+
+ string extract_object_library_name( const string & s )
+ {
+ string t( s );
+ string::size_type pos = t.find( "/build/" );
+ if ( pos != string::npos ) pos += 7;
+ else if ( (pos = t.find( "/test/" )) != string::npos ) pos += 6;
+ else return "";
+ return t.substr( pos, t.find( "/", pos ) - pos );
+ }
+
+// find_file ---------------------------------------------------------------//
+// given a directory to recursively search
+
+ bool find_file( const fs::path & dir_path, const string & name,
+ fs::path & path_found, const string & ignore_dir_named="" )
+ {
+ if ( !fs::exists( dir_path ) ) return false;
+ for ( fs::directory_iterator itr( dir_path ); itr != end_itr; ++itr )
+ if ( fs::is_directory( *itr )
+ && itr->leaf() != ignore_dir_named )
+ {
+ if ( find_file( *itr, name, path_found ) ) return true;
+ }
+ else if ( itr->leaf() == name )
+ {
+ path_found = *itr;
+ return true;
+ }
+ return false;
+ }
+
+// platform_desc -----------------------------------------------------------//
+// from locate_root/status/bin/config_info.test/xxx/.../config_info.output
+
+ string platform_desc()
+ {
+ string result;
+ fs::path dot_output_path;
+
+ // the gcc config_info "Detected Platform" sometimes reports "cygwin", so
+ // prefer any of the other compilers.
+ if ( find_file( locate_root / "bin/boost/status/config_info.test",
+ "config_info.output", dot_output_path, "gcc" )
+ || find_file( locate_root / "bin/boost/status/config_info.test",
+ "config_info.output", dot_output_path )
+ || find_file( locate_root / "status/bin/config_info.test",
+ "config_info.output", dot_output_path, "gcc" )
+ || find_file( locate_root / "status/bin/config_info.test",
+ "config_info.output", dot_output_path ) )
+ {
+ fs::ifstream file( dot_output_path );
+ if ( file )
+ {
+ while( std::getline( file, result ) )
+ {
+ if ( result.find( "Detected Platform: " ) == 0 )
+ {
+ result.erase( 0, 19 );
+ return result;
+ }
+ }
+ result.clear();
+ }
+ }
+ return result;
+ }
+
+// version_desc ------------------------------------------------------------//
+// from locate-root/status/bin/config_info.test/xxx/.../config_info.output
+
+ string version_desc( const string & compiler_name )
+ {
+ string result;
+ fs::path dot_output_path;
+ if ( find_file( locate_root / "bin/boost/status/config_info.test"
+ / compiler_name, "config_info.output", dot_output_path )
+ || find_file( locate_root / "status/bin/config_info.test"
+ / compiler_name, "config_info.output", dot_output_path ) )
+ {
+ fs::ifstream file( dot_output_path );
+ if ( file )
+ {
+ if( std::getline( file, result ) )
+ {
+ string::size_type pos = result.find( "version " );
+ if ( pos != string::npos )
+ {
+ result.erase( 0, pos+8 );
+ }
+ else result.clear();
+ }
+ }
+ }
+ return result;
+ }
+
+// compiler_desc -----------------------------------------------------------//
+// from boost-root/tools/build/xxx-tools.jam
+
+ string compiler_desc( const string & compiler_name )
+ {
+ string result;
+ fs::path tools_path( boost_root / "tools/build/v1" / (compiler_name
+ + "-tools.jam") );
+ if ( !fs::exists( tools_path ) )
+ tools_path = boost_root / "tools/build" / (compiler_name + "-tools.jam");
+ fs::ifstream file( tools_path );
+ if ( file )
+ {
+ while( std::getline( file, result ) )
+ {
+ if ( result.substr( 0, 3 ) == "#//" )
+ {
+ result.erase( 0, 3 );
+ return result;
+ }
+ }
+ result.clear();
+ }
+ return result;
+ }
+
+// target_directory --------------------------------------------------------//
+// this amounts to a request to find a unique leaf directory
+
+ fs::path target_directory( const fs::path & root )
+ {
+ if ( !fs::exists( root ) ) return fs::path("no-such-path");
+ fs::path child;
+ for ( fs::directory_iterator itr( root ); itr != end_itr; ++itr )
+ {
+ if ( fs::is_directory( *itr ) )
+ {
+ // SunCC creates an internal subdirectory everywhere it writes
+ // object files. This confuses the target_directory() algorithm.
+ // This patch ignores the SunCC internal directory. Jens Maurer
+ if ( (*itr).leaf() == "SunWS_cache" ) continue;
+ // SGI does something similar for template instantiations. Jens Maurer
+ if( (*itr).leaf() == "ii_files" ) continue;
+
+ if ( child.empty() ) child = *itr;
+ else
+ {
+ std::cout << "Warning: only first of two target possibilities will be reported for: \n "
+ << root.string() << ": " << child.leaf()
+ << " and " << (*itr).leaf() << "\n";
+ }
+ }
+ }
+ if ( child.empty() ) return root; // this dir has no children
+ return target_directory( child );
+ }
+
+// element_content ---------------------------------------------------------//
+
+ const string & element_content(
+ const xml::element & root, const string & name )
+ {
+ static string empty_string;
+ xml::element_list::const_iterator itr;
+ for ( itr = root.elements.begin();
+ itr != root.elements.end() && (*itr)->name != name;
+ ++itr ) {}
+ return itr != root.elements.end() ? (*itr)->content : empty_string;
+ }
+
+// find_element ------------------------------------------------------------//
+
+ const xml::element empty_element;
+
+ const xml::element & find_element(
+ const xml::element & root, const string & name )
+ {
+ xml::element_list::const_iterator itr;
+ for ( itr = root.elements.begin();
+ itr != root.elements.end() && (*itr)->name != name;
+ ++itr ) {}
+ return itr != root.elements.end() ? *((*itr).get()) : empty_element;
+ }
+
+// attribute_value ----------------------------------------------------------//
+
+const string & attribute_value( const xml::element & element,
+ const string & attribute_name )
+{
+ static const string empty_string;
+ xml::attribute_list::const_iterator atr;
+ for ( atr = element.attributes.begin();
+ atr != element.attributes.end() && atr->name != attribute_name;
+ ++atr ) {}
+ return atr == element.attributes.end() ? empty_string : atr->value;
+}
+
+// find_bin_path -----------------------------------------------------------//
+
+// Takes a relative path from boost root to a Jamfile.
+// Returns the directory where the build targets from
+// that Jamfile are located. If not found, emits a warning
+// and returns empty path.
+const fs::path find_bin_path(const string& relative)
+{
+ fs::path bin_path;
+ if (boost_build_v2)
+ {
+ bin_path = locate_root / "bin.v2" / relative;
+ if (!fs::exists(bin_path))
+ {
+ std::cerr << "warning: could not find build results for '"
+ << relative << "'.\n";
+ std::cerr << "warning: tried directory "
+ << bin_path.native_directory_string() << "\n";
+ bin_path = "";
+ }
+ }
+ else
+ {
+ bin_path = locate_root / "bin/boost" / relative;
+ if (!fs::exists(bin_path))
+ {
+ bin_path = locate_root / "bin" / relative / "bin";
+ if (!fs::exists(bin_path))
+ {
+ bin_path = fs::path( locate_root / relative / "bin" );
+ if (!fs::exists(bin_path))
+ {
+ bin_path = fs::path( locate_root / "bin/boost/libs" /
+ relative.substr( relative.find( '/' )+1 ) );
+ }
+ }
+ }
+ if (!fs::exists(bin_path))
+ {
+ std::cerr << "warning: could not find build results for '"
+ << relative << "'.\n";
+ bin_path = "";
+ }
+ }
+ return bin_path;
+}
+
+
+// generate_report ---------------------------------------------------------//
+
+ // return 0 if nothing generated, 1 otherwise, except 2 if compiler msgs
+ int generate_report( const xml::element & db,
+ const string & source_library_name,
+ const string & test_type,
+ const string & test_name, // possibly object library name
+ const string & toolset,
+ bool pass,
+ bool always_show_run_output = false )
+ {
+ // compile msgs sometimes modified, so make a local copy
+ string compile( (pass && no_warn)
+ ? empty_string : element_content( db, "compile" ) );
+
+ const string & link( pass ? empty_string : element_content( db, "link" ) );
+ const string & run( (pass && !always_show_run_output)
+ ? empty_string : element_content( db, "run" ) );
+ string lib( pass ? empty_string : element_content( db, "lib" ) );
+
+ // some compilers output the filename even if there are no errors or
+ // warnings; detect this if one line of output and it contains no space.
+ string::size_type pos = compile.find( '\n', 1 );
+ if ( pos != string::npos && compile.size()-pos <= 2
+ && compile.find( ' ' ) == string::npos ) compile.clear();
+
+ if ( lib.empty()
+ && (compile.empty() || test_type == "compile_fail")
+ && link.empty() && run.empty() ) return 0;
+
+ int result = 1; // some kind of msg for sure
+
+ // limit compile message length
+ if ( compile.size() > max_compile_msg_size )
+ {
+ compile.erase( max_compile_msg_size );
+ compile += "...\n (remainder deleted because of excessive size)\n";
+ }
+
+ links_file << "<h2><a name=\""
+ << source_library_name << "-" << test_name << "-" << toolset << "\">"
+ << source_library_name << " - " << test_name << " - " << toolset << "</a></h2>\n";
+
+ if ( !compile.empty() )
+ {
+ ++result;
+ links_file << "<h3>Compiler output:</h3><pre>"
+ << compile << "</pre>\n";
+ }
+ if ( !link.empty() )
+ links_file << "<h3>Linker output:</h3><pre>" << link << "</pre>\n";
+ if ( !run.empty() )
+ links_file << "<h3>Run output:</h3><pre>" << run << "</pre>\n";
+
+ // for an object library failure, generate a reference to the object
+ // library failure message, and (once only) generate the object
+ // library failure message itself
+ static std::set< string > failed_lib_target_dirs; // only generate once
+ if ( !lib.empty() )
+ {
+ if ( lib[0] == '\n' ) lib.erase( 0, 1 );
+ string object_library_name( extract_object_library_name( lib ) );
+
+ // changing the target directory naming scheme breaks
+ // extract_object_library_name()
+ assert( !object_library_name.empty() );
+ if ( object_library_name.empty() )
+ std::cerr << "Failed to extract object library name from " << lib << "\n";
+
+ links_file << "<h3>Library build failure: </h3>\n"
+ "See <a href=\"#"
+ << source_library_name << "-"
+ << object_library_name << "-" << toolset << "\">"
+ << source_library_name << " - "
+ << object_library_name << " - " << toolset << "</a>";
+
+ if ( failed_lib_target_dirs.find( lib ) == failed_lib_target_dirs.end() )
+ {
+ failed_lib_target_dirs.insert( lib );
+ fs::path pth( locate_root / lib / "test_log.xml" );
+ fs::ifstream file( pth );
+ if ( file )
+ {
+ xml::element_ptr db = xml::parse( file, pth.string() );
+ generate_report( *db, source_library_name, test_type, object_library_name, toolset, false );
+ }
+ else
+ {
+ links_file << "<h2><a name=\""
+ << object_library_name << "-" << toolset << "\">"
+ << object_library_name << " - " << toolset << "</a></h2>\n"
+ "test_log.xml not found\n";
+ }
+ }
+ }
+ return result;
+ }
+
+ // add_notes --------------------------------------------------------------//
+
+ void add_notes( const string & key, bool fail, string & sep, string & target )
+ {
+ notes_map::const_iterator itr = notes.lower_bound( key );
+ if ( itr != notes.end() && itr->first == key )
+ {
+ for ( ; itr != notes.end() && itr->first == key; ++itr )
+ {
+ string note_desc( itr->second[0] == '-'
+ ? itr->second.substr( 1 ) : itr->second );
+ if ( fail || itr->second[0] == '-' )
+ {
+ target += sep;
+ sep = ",";
+ target += "<a href=\"";
+ target += "#";
+ target += note_desc;
+ target += "\">";
+ target += note_desc;
+ target += "</a>";
+ }
+ }
+ }
+ }
+
+ // get_notes -------------------------------------------------------------//
+
+ string get_notes( const string & toolset,
+ const string & library, const string & test, bool fail )
+ {
+ string sep;
+ string target( "<sup>" );
+ add_notes( toolset + "/" + library + "/" + test, fail, sep, target );
+ add_notes( "*/" + library + "/" + test, fail, sep, target );
+ add_notes( toolset + "/" + library + "/*", fail, sep, target );
+ add_notes( "*/" + library + "/*", fail, sep, target );
+ if ( target == "<sup>" ) target.clear();
+ else target += "</sup>";
+ return target;
+ }
+
+ // do_cell ---------------------------------------------------------------//
+
+ bool do_cell( const string & lib_name,
+ const fs::path & test_dir,
+ const string & test_type,
+ const string & test_name,
+ const string & toolset,
+ string & target,
+ bool always_show_run_output )
+ // return true if any results except pass_msg
+ {
+ fs::path target_dir( target_directory( test_dir / toolset ) );
+ bool pass = false;
+
+ if ( !fs::exists( target_dir / "test_log.xml" ) )
+ {
+ std::cerr << "Missing jam_log.xml in target:\n "
+ << target_dir.string() << "\n";
+ target += "<td>" + missing_residue_msg + "</td>";
+ return true;
+ }
+
+ int anything_generated = 0;
+ bool note = false;
+
+ fs::path pth( target_dir / "test_log.xml" );
+ fs::ifstream file( pth );
+ if ( !file ) // could not open jam_log.xml
+ {
+ std::cerr << "Can't open jam_log.xml in target:\n "
+ << target_dir.string() << "\n";
+ target += "<td>" + missing_residue_msg + "</td>";
+ return false;
+ }
+
+ xml::element_ptr dbp = xml::parse( file, pth.string() );
+ const xml::element & db( *dbp );
+
+ std::string test_type_base( test_type );
+ if ( test_type_base.size() > 5 )
+ {
+ const string::size_type trailer = test_type_base.size() - 5;
+ if ( test_type_base.substr( trailer ) == "_fail" )
+ {
+ test_type_base.erase( trailer );
+ }
+ }
+ const xml::element & test_type_element( find_element( db, test_type_base ) );
+
+ pass = !test_type_element.name.empty()
+ && attribute_value( test_type_element, "result" ) != "fail";
+
+ if ( !no_links )
+ {
+ note = attribute_value( test_type_element, "result" ) == "note";
+
+ // generate bookmarked report of results, and link to it
+ anything_generated
+ = generate_report( db, lib_name, test_type, test_name, toolset, pass,
+ always_show_run_output || note );
+ }
+
+ // generate the status table cell pass/warn/fail HTML
+ target += "<td>";
+ if ( anything_generated != 0 )
+ {
+ target += "<a href=\"";
+ target += links_name;
+ target += "#";
+ target += lib_name;
+ target += "-";
+ target += test_name;
+ target += "-";
+ target += toolset;
+ target += "\">";
+ target += pass
+ ? (anything_generated < 2 ? pass_msg : warn_msg)
+ : fail_msg;
+ target += "</a>";
+ if ( pass && note ) target += note_msg;
+ }
+ else target += pass ? pass_msg : fail_msg;
+
+ // if notes, generate the superscript HTML
+ if ( !notes.empty() )
+ target += get_notes( toolset, lib_name, test_name, !pass );
+
+ target += "</td>";
+ return (anything_generated != 0) || !pass;
+ }
+
+// do_row ------------------------------------------------------------------//
+
+ void do_row(
+ const fs::path & test_dir, // locate_root / "status/bin/any_test.test"
+ const string & test_name, // "any_test"
+ string & target )
+ {
+ // get library name, test-type, test-program path, etc., from the .xml file
+ string lib_name;
+ string test_path( test_name ); // test_name is default if missing .test
+ string test_type( "unknown" );
+ bool always_show_run_output( false );
+ fs::path xml_file_path;
+ if ( find_file( test_dir, "test_log.xml", xml_file_path ) )
+ {
+ fs::ifstream file( xml_file_path );
+ if ( file )
+ {
+ xml::element_ptr dbp = xml::parse( file, xml_file_path.string() );
+ const xml::element & db( *dbp );
+ test_path = attribute_value( db, "test-program" );
+ lib_name = attribute_value( db, "library" );
+ test_type = attribute_value( db, "test-type" );
+ always_show_run_output
+ = attribute_value( db, "show-run-output" ) == "true";
+ }
+ }
+
+ // generate the library name, test name, and test type table data
+ string::size_type row_start_pos = target.size();
+ target += "<tr><td><a href=\"" + url_prefix_dir_view + "/libs/" + lib_name
+ + "\">" + lib_name + "</a></td>";
+ target += "<td><a href=\"" + url_prefix_checkout_view + "/" + test_path
+ + url_suffix_text_view + "\">" + test_name + "</a></td>";
+ target += "<td>" + test_type + "</td>";
+
+ bool no_warn_save = no_warn;
+ //if ( test_type.find( "fail" ) != string::npos ) no_warn = true;
+
+ // for each compiler, generate <td>...</td> html
+ bool anything_to_report = false;
+ for ( std::vector<string>::const_iterator itr=toolsets.begin();
+ itr != toolsets.end(); ++itr )
+ {
+ anything_to_report |= do_cell( lib_name, test_dir, test_type, test_name, *itr, target,
+ always_show_run_output );
+ }
+
+ target += "</tr>";
+ if ( ignore_pass && !anything_to_report ) target.erase( row_start_pos );
+ no_warn = no_warn_save;
+ }
+
+// do_rows_for_sub_tree ----------------------------------------------------//
+
+ void do_rows_for_sub_tree(
+ const fs::path & bin_dir, std::vector<string> & results )
+ {
+ for ( fs::directory_iterator itr( bin_dir ); itr != end_itr; ++itr )
+ {
+ if ( fs::is_directory( *itr )
+ && itr->string().find( ".test" ) == (itr->string().size()-5) )
+ {
+ results.push_back( std::string() );
+ do_row( *itr,
+ itr->leaf().substr( 0, itr->leaf().size()-5 ),
+ results[results.size()-1] );
+ }
+ }
+ }
+
+// do_table_body -----------------------------------------------------------//
+
+ void do_table_body( const fs::path & bin_dir )
+ {
+ // rows are held in a vector so they can be sorted, if desired.
+ std::vector<string> results;
+
+ // do primary bin directory
+ do_rows_for_sub_tree( bin_dir, results );
+
+ // do subinclude bin directories
+ jamfile.clear();
+ jamfile.seekg(0);
+ string line;
+ while( std::getline( jamfile, line ) )
+ {
+ bool v2(false);
+ string::size_type pos( line.find( "subinclude" ) );
+ if ( pos == string::npos ) {
+ pos = line.find( "build-project" );
+ v2 = true;
+ }
+ if ( pos != string::npos
+ && line.find( '#' ) > pos )
+ {
+ if (v2)
+ pos = line.find_first_not_of( " \t./", pos+13 );
+ else
+ pos = line.find_first_not_of( " \t./", pos+10 );
+
+ if ( pos == string::npos ) continue;
+ string subinclude_bin_dir(
+ line.substr( pos, line.find_first_of( " \t", pos )-pos ) );
+
+ fs::path bin_path = find_bin_path(subinclude_bin_dir);
+ if (!bin_path.empty())
+ do_rows_for_sub_tree( bin_path, results );
+ }
+ }
+
+
+ std::sort( results.begin(), results.end() );
+
+ for ( std::vector<string>::iterator v(results.begin());
+ v != results.end(); ++v )
+ { report << *v << "\n"; }
+ }
+
+// do_table ----------------------------------------------------------------//
+
+ void do_table()
+ {
+ // Find test result locations, trying:
+ // - Boost.Build V1 location with ALL_LOCATE_TARGET
+ // - Boost.Build V2 location with top-lelve "build-dir"
+ // - Boost.Build V1 location without ALL_LOCATE_TARGET
+ string relative( fs::initial_path().string() );
+ relative.erase( 0, boost_root.string().size()+1 );
+ fs::path bin_path = find_bin_path(relative);
+
+ report << "<table border=\"1\" cellspacing=\"0\" cellpadding=\"5\">\n";
+
+ // generate the column headings
+
+ report << "<tr><td>Library</td><td>Test Name</td>\n"
+ "<td><a href=\"compiler_status.html#test-type\">Test Type</a></td>\n";
+
+ fs::directory_iterator itr( bin_path );
+ while ( itr != end_itr
+ && ((itr->string().find( ".test" ) != (itr->string().size()-5))
+ || !fs::is_directory( *itr )))
+ ++itr; // bypass chaff
+ if ( itr != end_itr )
+ {
+ fs::directory_iterator compiler_itr( *itr );
+ if ( specific_compiler.empty() )
+ std::clog << "Using " << itr->string() << " to determine compilers\n";
+ for (; compiler_itr != end_itr; ++compiler_itr )
+ {
+ if ( fs::is_directory( *compiler_itr ) // check just to be sure
+ && compiler_itr->leaf() != "test" ) // avoid strange directory (Jamfile bug?)
+ {
+ if ( specific_compiler.size() != 0
+ && specific_compiler != compiler_itr->leaf() ) continue;
+ toolsets.push_back( compiler_itr->leaf() );
+ string desc( compiler_desc( compiler_itr->leaf() ) );
+ string vers( version_desc( compiler_itr->leaf() ) );
+ report << "<td>"
+ << (desc.size() ? desc : compiler_itr->leaf())
+ << (vers.size() ? (string( "<br>" ) + vers ) : string( "" ))
+ << "</td>\n";
+ }
+ }
+ }
+
+ report << "</tr>\n";
+
+ // now the rest of the table body
+
+ do_table_body( bin_path );
+
+ report << "</table>\n";
+ }
+
+} // unnamed namespace
+
+// main --------------------------------------------------------------------//
+
+#define BOOST_NO_CPP_MAIN_SUCCESS_MESSAGE
+#include <boost/test/included/prg_exec_monitor.hpp>
+
+int cpp_main( int argc, char * argv[] ) // note name!
+{
+ fs::path comment_path;
+ while ( argc > 1 && *argv[1] == '-' )
+ {
+ if ( argc > 2 && std::strcmp( argv[1], "--compiler" ) == 0 )
+ { specific_compiler = argv[2]; --argc; ++argv; }
+ else if ( argc > 2 && std::strcmp( argv[1], "--locate-root" ) == 0 )
+ { locate_root = fs::path( argv[2], fs::native ); --argc; ++argv; }
+ else if ( argc > 2 && std::strcmp( argv[1], "--comment" ) == 0 )
+ { comment_path = fs::path( argv[2], fs::native ); --argc; ++argv; }
+ else if ( argc > 2 && std::strcmp( argv[1], "--notes" ) == 0 )
+ { notes_path = fs::path( argv[2], fs::native ); --argc; ++argv; }
+ else if ( argc > 2 && std::strcmp( argv[1], "--notes-map" ) == 0 )
+ { notes_map_path = fs::path( argv[2], fs::native ); --argc; ++argv; }
+ else if ( std::strcmp( argv[1], "--ignore-pass" ) == 0 ) ignore_pass = true;
+ else if ( std::strcmp( argv[1], "--no-warn" ) == 0 ) no_warn = true;
+ else if ( std::strcmp( argv[1], "--v2" ) == 0 ) boost_build_v2 = true;
+ else if ( argc > 2 && std::strcmp( argv[1], "--jamfile" ) == 0)
+ { jamfile_path = fs::path( argv[2], fs::native ); --argc; ++argv; }
+ else { std::cerr << "Unknown option: " << argv[1] << "\n"; argc = 1; }
+ --argc;
+ ++argv;
+ }
+
+ if ( argc != 3 && argc != 4 )
+ {
+ std::cerr <<
+ "Usage: compiler_status [options...] boost-root status-file [links-file]\n"
+ " boost-root is the path to the boost tree root directory.\n"
+ " status-file and links-file are paths to the output files.\n"
+ "Must be run from directory containing Jamfile\n"
+ " options: --compiler name Run for named compiler only\n"
+ " --ignore-pass Do not report tests which pass all compilers\n"
+ " --no-warn Warnings not reported if test passes\n"
+ " --locate-root path Path to ALL_LOCATE_TARGET for bjam;\n"
+ " default boost-root.\n"
+ " --comment path Path to file containing HTML\n"
+ " to be copied into status-file.\n"
+ " --notes path Path to file containing HTML\n"
+ " to be copied into status-file.\n"
+ " --notes-map path Path to file of toolset/test,n lines, where\n"
+ " n is number of note bookmark in --notes file.\n"
+ " --jamfile path Path to Jamfile. By default \"Jamfile\".\n"
+ "Example: compiler_status --compiler gcc /boost-root cs.html cs-links.html\n"
+ "Note: Only the leaf of the links-file path and --notes file string are\n"
+ "used in status-file HTML links. Thus for browsing, status-file,\n"
+ "links-file, and --notes file must all be in the same directory.\n"
+ ;
+ return 1;
+ }
+
+ boost_root = fs::path( argv[1], fs::native );
+ if ( locate_root.empty() ) locate_root = boost_root;
+
+ if (jamfile_path.empty())
+ if (boost_build_v2)
+ jamfile_path = "Jamfile.v2";
+ else
+ jamfile_path = "Jamfile";
+ jamfile_path = fs::complete( jamfile_path, fs::initial_path() );
+ jamfile.open( jamfile_path );
+ if ( !jamfile )
+ {
+ std::cerr << "Could not open Jamfile: " << jamfile_path.native_file_string() << std::endl;
+ return 1;
+ }
+
+ report.open( fs::path( argv[2], fs::native ) );
+ if ( !report )
+ {
+ std::cerr << "Could not open report output file: " << argv[2] << std::endl;
+ return 1;
+ }
+
+ if ( argc == 4 )
+ {
+ fs::path links_path( argv[3], fs::native );
+ links_name = links_path.leaf();
+ links_file.open( links_path );
+ if ( !links_file )
+ {
+ std::cerr << "Could not open links output file: " << argv[3] << std::endl;
+ return 1;
+ }
+ }
+ else no_links = true;
+
+ build_notes_bookmarks();
+
+ char run_date[128];
+ std::time_t tod;
+ std::time( &tod );
+ std::strftime( run_date, sizeof(run_date),
+ "%X UTC, %A %d %B %Y", std::gmtime( &tod ) );
+
+ report << "<html>\n"
+ "<head>\n"
+ "<title>Boost Compiler Status Automatic Test</title>\n"
+ "</head>\n"
+ "<body bgcolor=\"#ffffff\" text=\"#000000\">\n"
+ "<table border=\"0\">\n"
+ "<tr>\n"
+ "<td><img border=\"0\" src=\"../boost.png\" width=\"277\" "
+ "height=\"86\"></td>\n"
+ "<td>\n"
+ "<h1>Compiler Status: " + platform_desc() + "</h1>\n"
+ "<b>Run Date:</b> "
+ << run_date
+ << "\n"
+ ;
+
+ if ( !comment_path.empty() )
+ {
+ fs::ifstream comment_file( comment_path );
+ if ( !comment_file )
+ {
+ std::cerr << "Could not open \"--comment\" input file: " << comment_path.string() << std::endl;
+ return 1;
+ }
+ char c;
+ while ( comment_file.get( c ) ) { report.put( c ); }
+ }
+
+ report << "</td>\n</table>\n<br>\n";
+
+ if ( !no_links )
+ {
+ links_file
+ << "<html>\n"
+ "<head>\n"
+ "<title>Boost Compiler Status Error Log</title>\n"
+ "</head>\n"
+ "<body bgcolor=\"#ffffff\" text=\"#000000\">\n"
+ "<table border=\"0\">\n"
+ "<tr>\n"
+ "<td><img border=\"0\" src=\"../boost.png\" width=\"277\" "
+ "height=\"86\"></td>\n"
+ "<td>\n"
+ "<h1>Compiler Status: " + platform_desc() + "</h1>\n"
+ "<b>Run Date:</b> "
+ << run_date
+ << "\n</td>\n</table>\n<br>\n"
+ ;
+ }
+
+ do_table();
+
+ if ( load_notes_html() ) report << notes_html << "\n";
+
+ report << "</body>\n"
+ "</html>\n"
+ ;
+
+ if ( !no_links )
+ {
+ links_file
+ << "</body>\n"
+ "</html>\n"
+ ;
+ }
+ return 0;
+}
diff --git a/tools/regression/detail/tiny_xml.cpp b/tools/regression/detail/tiny_xml.cpp
new file mode 100644
index 0000000000..682c04ff7b
--- /dev/null
+++ b/tools/regression/detail/tiny_xml.cpp
@@ -0,0 +1,167 @@
+// tiny XML sub-set tools implementation -----------------------------------//
+
+// (C) Copyright Beman Dawes 2002. 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 "tiny_xml.hpp"
+#include <cassert>
+#include <cstring>
+
+namespace
+{
+
+ void eat_whitespace( char & c, std::istream & in )
+ {
+ while ( c == ' ' || c == '\r' || c == '\n' || c == '\t' )
+ in.get( c );
+ }
+
+ std::string get_name( char & c, std::istream & in )
+ {
+ std::string result;
+ eat_whitespace( c, in );
+ while ( std::strchr(
+ "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-.", c )
+ != 0 )
+ {
+ result += c;
+ if(!in.get( c ))
+ throw std::string("xml: unexpected eof");
+ }
+ return result;
+ }
+
+ void eat_delim( char & c, std::istream & in,
+ char delim, const std::string & msg )
+ {
+ eat_whitespace( c, in );
+ if ( c != delim )
+ throw std::string("xml syntax error, expected ") + delim
+ + " (" + msg + ")";
+ in.get( c );
+ }
+
+ std::string get_value( char & c, std::istream & in )
+ {
+ std::string result;
+ while ( c != '\"' )
+ {
+ result += c;
+ in.get( c );
+ }
+ in.get( c );
+ return result;
+ }
+
+}
+
+namespace boost
+{
+ namespace tiny_xml
+ {
+
+ // parse -----------------------------------------------------------------//
+
+ element_ptr parse( std::istream & in, const std::string & msg )
+ {
+ char c = 0; // current character
+ element_ptr e( new element );
+
+ if(!in.get( c ))
+ throw std::string("xml: unexpected eof");
+ if ( c == '<' )
+ if(!in.get( c ))
+ throw std::string("xml: unexpected eof");
+
+ e->name = get_name( c, in );
+ eat_whitespace( c, in );
+
+ // attributes
+ while ( c != '>' )
+ {
+ attribute a;
+ a.name = get_name( c, in );
+
+ eat_delim( c, in, '=', msg );
+ eat_delim( c, in, '\"', msg );
+
+ a.value = get_value( c, in );
+
+ e->attributes.push_back( a );
+ eat_whitespace( c, in );
+ }
+ if(!in.get( c )) // next after '>'
+ throw std::string("xml: unexpected eof");
+
+ eat_whitespace( c, in );
+
+ // sub-elements
+ while ( c == '<' )
+ {
+ if ( in.peek() == '/' ) break;
+ e->elements.push_back( parse( in, msg ) );
+ in.get( c ); // next after '>'
+ eat_whitespace( c, in );
+ }
+
+ // content
+ if ( c != '<' )
+ {
+ e->content += '\n';
+ while ( c != '<' )
+ {
+ e->content += c;
+ if(!in.get( c ))
+ throw std::string("xml: unexpected eof");
+ }
+ }
+
+ assert( c == '<' );
+ if(!in.get( c )) // next after '<'
+ throw std::string("xml: unexpected eof");
+
+ eat_delim( c, in, '/', msg );
+ std::string end_name( get_name( c, in ) );
+ if ( e->name != end_name )
+ throw std::string("xml syntax error: beginning name ")
+ + e->name + " did not match end name " + end_name
+ + " (" + msg + ")";
+
+ eat_delim( c, in, '>', msg );
+ return e;
+ }
+
+ // write ---------------------------------------------------------------//
+
+ void write( const element & e, std::ostream & out )
+ {
+ out << "<" << e.name;
+ if ( !e.attributes.empty() )
+ {
+ for( attribute_list::const_iterator itr = e.attributes.begin();
+ itr != e.attributes.end(); ++itr )
+ {
+ out << " " << itr->name << "=\"" << itr->value << "\"";
+ }
+ }
+ out << ">";
+ if ( !e.elements.empty() )
+ {
+ out << "\n";
+ for( element_list::const_iterator itr = e.elements.begin();
+ itr != e.elements.end(); ++itr )
+ {
+ write( **itr, out );
+ }
+ }
+ if ( !e.content.empty() )
+ {
+ out << e.content;
+ }
+ out << "</" << e.name << ">\n";
+ }
+
+ } // namespace tiny_xml
+} // namespace boost
+
diff --git a/tools/regression/detail/tiny_xml.hpp b/tools/regression/detail/tiny_xml.hpp
new file mode 100644
index 0000000000..f9d91d2652
--- /dev/null
+++ b/tools/regression/detail/tiny_xml.hpp
@@ -0,0 +1,70 @@
+// tiny XML sub-set tools --------------------------------------------------//
+
+// (C) Copyright Beman Dawes 2002. 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)
+
+// Provides self-contained tools for this XML sub-set:
+//
+// element ::= { "<" name { name "=" "\"" value "\"" } ">"
+// {element} [contents] "</" name ">" }
+//
+// The point of "self-contained" is to minimize tool-chain dependencies.
+
+#ifndef BOOST_TINY_XML_H
+#define BOOST_TINY_XML_H
+
+#include "boost/smart_ptr.hpp" // for shared_ptr
+#include "boost/utility.hpp" // for noncopyable
+#include <list>
+#include <iostream>
+#include <string>
+
+namespace boost
+{
+ namespace tiny_xml
+ {
+ class element;
+ struct attribute
+ {
+ std::string name;
+ std::string value;
+
+ attribute(){}
+ attribute( const std::string & name, const std::string & value )
+ : name(name), value(value) {}
+ };
+ typedef boost::shared_ptr< element > element_ptr;
+ typedef std::list< element_ptr > element_list;
+ typedef std::list< attribute > attribute_list;
+
+ class element
+ : private boost::noncopyable // because deep copy sematics would be required
+ {
+ public:
+ std::string name;
+ attribute_list attributes;
+ element_list elements;
+ std::string content;
+
+ element() {}
+ explicit element( const std::string & name ) : name(name) {}
+ };
+
+ element_ptr parse( std::istream & in, const std::string & msg );
+ // Precondition: stream positioned at either the initial "<"
+ // or the first character after the initial "<".
+ // Postcondition: stream positioned at the first character after final
+ // ">" (or eof).
+ // Returns: an element_ptr to an element representing the parsed stream.
+ // Throws: std::string on syntax error. msg appended to what() string.
+
+ void write( const element & e, std::ostream & out );
+
+ }
+}
+
+#endif // BOOST_TINY_XML_H
+
+
+
diff --git a/tools/regression/detail/tiny_xml_test.cpp b/tools/regression/detail/tiny_xml_test.cpp
new file mode 100644
index 0000000000..b5c0542ba4
--- /dev/null
+++ b/tools/regression/detail/tiny_xml_test.cpp
@@ -0,0 +1,17 @@
+// tiny XML test program ---------------------------------------------------//
+
+// Copyright Beman Dawes 2002. 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 "tiny_xml.hpp"
+
+#include <iostream>
+
+int main()
+{
+ boost::tiny_xml::element_ptr tree( boost::tiny_xml::parse( std::cin ) );
+ boost::tiny_xml::write( *tree, std::cout );
+ return 0;
+}
+
diff --git a/tools/regression/detail/tiny_xml_test.txt b/tools/regression/detail/tiny_xml_test.txt
new file mode 100644
index 0000000000..25bc531e0b
--- /dev/null
+++ b/tools/regression/detail/tiny_xml_test.txt
@@ -0,0 +1,12 @@
+<root>
+<element-1 at-1="abcd" at-2 = "defg" >
+<element-1a>
+It's Howdy Doody time!
+</element-1a>
+<element-1b>It's not Howdy Doody time!</element-1b>
+</element-1>
+<element-2>
+It's
+Eastern Standard time!
+</element-2>
+</root>
diff --git a/tools/regression/index.htm b/tools/regression/index.htm
new file mode 100644
index 0000000000..47c71cc014
--- /dev/null
+++ b/tools/regression/index.htm
@@ -0,0 +1,45 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type"
+content="text/html; charset=iso-8859-1">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
+<title>Regression Test Reporting Tools</title>
+</head>
+
+<body bgcolor="#FFFFFF">
+
+<h1><img src="../../boost.png" alt="boost.png (6897 bytes)"
+align="center" width="277" height="86"> Regression Test Reporting
+Tools</h1>
+
+<p>Boost regression testing uses <a href="../build/index.html">Boost.Build</a>
+to run the actual builds and tests. A separate set of tools is
+used to generate the actual status reports.</p>
+
+<ul>
+ <li>Regression test <a href="../../more/regression.html">user
+ documentation</a>.</li>
+ <li><a href="process_jam_log.cpp">process_jam_log.cpp</a> -
+ Processes the bjam outputs, creating a file named
+ test_log.xml for each test encountered.</li>
+ <li><a href="compiler_status.cpp">compiler_status.cpp</a> -
+ Generates HTML status tables from test_log.xml and other
+ files.</li>
+ <li><a href="build/Jamfile">Jamfile</a> - Builds
+ process_jam_log and compiler_status executables.</li>
+ <li><a
+ href="xsl_reports/runner/instructions.html">Instructions</a>
+ for running regression tests and reporting results back to
+ Boost.</li>
+</ul>
+
+<hr>
+
+<p>Revised <!--webbot bot="Timestamp" startspan s-type="EDITED"
+s-format="%d %B, %Y" -->09 January, 2003<!--webbot bot="Timestamp"
+i-checksum="38582" endspan --></p>
+</body>
+</html>
diff --git a/tools/regression/index.shtml b/tools/regression/index.shtml
new file mode 100644
index 0000000000..918036ff4a
--- /dev/null
+++ b/tools/regression/index.shtml
@@ -0,0 +1,45 @@
+<!--
+Copyright Rene Rivera 2003-2004.
+
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+
+This is the page wrapper for the summary table of regression tests.
+This calls the script "regression-logs.pl" to generate the summary
+table. This file should be place at:
+ http://boost.sourceforge.net/regression-logs/index.shtml
+Which is at this location in the shell SourceForge services:
+ /home/groups/b/bo/boost/htdocs/regression-logs/index.shtml
+
+The regression-logs.pl script handles individual placement
+of the calling shtml file, so this file can be placed anywhere
+one wants a regression summary page, and has regression files
+in it.
+-->
+<html>
+<head>
+<title>Boost Regression Tests</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+<table border="0">
+<tr>
+<td><img border="0" src="../../boost.png" width="277" height="86"></td>
+<td><h1>Boost Regression Tests</h1></td>
+</tr>
+</table>
+
+<h3>Boost-wide reports</h3>
+<ul type="square">
+<li><a href="http://www.boost.org/regression-logs/developer">Developer report</a></li>
+<li><a href="http://www.boost.org/regression-logs/user">User report</a></li>
+<li><a href="http://www.boost.org/regression-logs/inspection_report.html">Inspection report</a></li>
+<li><a href="http://www.boost.org/regression-logs/license_report.html">License report</a></li>
+</ul>
+
+<h3>Reports by platform</h3>
+<!--#exec cmd="/usr/bin/perl /home/groups/b/bo/boost/cgi-bin/regression-logs.pl" -->
+
+</body>
+</html>
diff --git a/tools/regression/process_jam_log.cpp b/tools/regression/process_jam_log.cpp
new file mode 100644
index 0000000000..cb71537450
--- /dev/null
+++ b/tools/regression/process_jam_log.cpp
@@ -0,0 +1,726 @@
+// process jam regression test output into XML -----------------------------//
+
+// Copyright Beman Dawes 2002. 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)
+
+// See http://www.boost.org/tools/regression for documentation.
+
+#include "detail/tiny_xml.hpp"
+#include "boost/filesystem/operations.hpp"
+#include "boost/filesystem/fstream.hpp"
+#include "boost/filesystem/exception.hpp"
+#include "boost/filesystem/convenience.hpp"
+
+#include <iostream>
+#include <string>
+#include <cstring>
+#include <map>
+#include <utility> // for make_pair
+#include <ctime>
+#include <cctype> // for tolower
+
+using std::string;
+namespace xml = boost::tiny_xml;
+namespace fs = boost::filesystem;
+
+#define BOOST_NO_CPP_MAIN_SUCCESS_MESSAGE
+#include <boost/test/included/prg_exec_monitor.hpp>
+
+// options
+
+static bool echo = false;
+static bool create_dirs = false;
+static bool boost_build_v2 = false;
+
+namespace
+{
+ struct test_info
+ {
+ string file_path; // relative boost-root
+ string type;
+ bool always_show_run_output;
+ };
+ typedef std::map< string, test_info > test2info_map; // key is test-name
+ test2info_map test2info;
+
+ fs::path boost_root;
+ fs::path locate_root; // ALL_LOCATE_TARGET (or boost_root if none)
+
+// append_html -------------------------------------------------------------//
+
+ void append_html( const string & src, string & target )
+ {
+ // there are a few lines we want to ignore
+ if ( src.find( "th target..." ) != string::npos
+ || src.find( "cc1plus.exe: warning: changing search order for system directory" ) != string::npos
+ || src.find( "cc1plus.exe: warning: as it has already been specified as a non-system directory" ) != string::npos
+ ) return;
+
+ // on some platforms (e.g. tru64cxx) the following line is a real performance boost
+ target.reserve(src.size() * 2 + target.size());
+
+ for ( string::size_type pos = 0; pos < src.size(); ++pos )
+ {
+ if ( src[pos] == '<' ) target += "&lt;";
+ else if ( src[pos] == '>' ) target += "&gt;";
+ else if ( src[pos] == '&' ) target += "&amp;";
+ else target += src[pos];
+ }
+ }
+
+ // timestamp ---------------------------------------------------------------//
+
+ string timestamp()
+ {
+ char run_date[128];
+ std::time_t tod;
+ std::time( &tod );
+ std::strftime( run_date, sizeof(run_date),
+ "%Y-%m-%d %X UTC", std::gmtime( &tod ) );
+ return string( run_date );
+ }
+
+// convert path separators to forward slashes ------------------------------//
+
+ void convert_path_separators( string & s )
+ {
+ for ( string::iterator itr = s.begin(); itr != s.end(); ++itr )
+ if ( *itr == '\\' || *itr == '!' ) *itr = '/';
+ }
+
+// extract a target directory path from a jam target string ----------------//
+// s may be relative to the initial_path:
+// ..\..\..\libs\foo\build\bin\libfoo.lib\vc7\debug\runtime-link-dynamic\boo.obj
+// s may be absolute:
+// d:\myboost\libs\foo\build\bin\libfoo.lib\vc7\debug\runtime-link-dynamic\boo.obj
+// return path is always relative to the boost directory tree:
+// libs/foo/build/bin/libfs.lib/vc7/debug/runtime-link-dynamic
+
+ string target_directory( const string & s )
+ {
+ string temp( s );
+ convert_path_separators( temp );
+ temp.erase( temp.find_last_of( "/" ) ); // remove leaf
+ string::size_type pos = temp.find_last_of( " " ); // remove leading spaces
+ if ( pos != string::npos ) temp.erase( 0, pos+1 );
+ if ( temp[0] == '.' ) temp.erase( 0, temp.find_first_not_of( "./" ) );
+ else temp.erase( 0, locate_root.string().size()+1 );
+//std::cout << "\"" << s << "\", \"" << temp << "\"" << std::endl;
+ return temp;
+ }
+
+ string::size_type target_name_end( const string & s )
+ {
+ string::size_type pos = s.find( ".test/" );
+ if ( pos == string::npos ) pos = s.find( ".dll/" );
+ if ( pos == string::npos ) pos = s.find( ".so/" );
+ if ( pos == string::npos ) pos = s.find( ".lib/" );
+ if ( pos == string::npos ) pos = s.find( ".pyd/" );
+ if ( pos == string::npos ) pos = s.find( ".a/" );
+ return pos;
+ }
+
+ string toolset( const string & s )
+ {
+ string::size_type pos = target_name_end( s );
+ if ( pos == string::npos ) return "";
+ pos = s.find( "/", pos ) + 1;
+ return s.substr( pos, s.find( "/", pos ) - pos );
+ }
+
+ string test_name( const string & s )
+ {
+ string::size_type pos = target_name_end( s );
+ if ( pos == string::npos ) return "";
+ string::size_type pos_start = s.rfind( '/', pos ) + 1;
+ return s.substr( pos_start,
+ (s.find( ".test/" ) != string::npos
+ ? pos : s.find( "/", pos )) - pos_start );
+ }
+
+ // Take a path to a target directory of test, and
+ // returns library name corresponding to that path.
+ string test_path_to_library_name( string const& path )
+ {
+ std::string result;
+ string::size_type start_pos( path.find( "libs/" ) );
+ if ( start_pos != string::npos )
+ {
+ // The path format is ...libs/functional/hash/test/something.test/....
+ // So, the part between "libs" and "test/something.test" can be considered
+ // as library name. But, for some libraries tests are located too deep,
+ // say numeric/ublas/test/test1 directory, and some libraries have tests
+ // in several subdirectories (regex/example and regex/test). So, nested
+ // directory may belong to several libraries.
+
+ // To disambituate, it's possible to place a 'sublibs' file in
+ // a directory. It means that child directories are separate libraries.
+ // It's still possible to have tests in the directory that has 'sublibs'
+ // file.
+
+ std::string interesting;
+ start_pos += 5;
+ string::size_type end_pos( path.find( ".test/", start_pos ) );
+ end_pos = path.rfind('/', end_pos);
+ if (path.substr(end_pos - 5, 5) == "/test")
+ interesting = path.substr( start_pos, end_pos - 5 - start_pos );
+ else
+ interesting = path.substr( start_pos, end_pos - start_pos );
+
+ // Take slash separate elements until we have corresponding 'sublibs'.
+ end_pos = 0;
+ for(;;)
+ {
+ end_pos = interesting.find('/', end_pos);
+ if (end_pos == string::npos) {
+ result = interesting;
+ break;
+ }
+ result = interesting.substr(0, end_pos);
+
+ if ( fs::exists( ( boost_root / "libs" ) / result / "sublibs" ) )
+ {
+ end_pos = end_pos + 1;
+ }
+ else
+ break;
+ }
+ }
+
+ return result;
+ }
+
+ // Tries to find target name in the string 'msg', starting from
+ // position start.
+ // If found, extract the directory name from the target name and
+ // stores it in 'dir', and return the position after the target name.
+ // Otherwise, returns string::npos.
+ string::size_type parse_skipped_msg_aux(const string& msg,
+ string::size_type start,
+ string& dir)
+ {
+ dir.clear();
+ string::size_type start_pos = msg.find( '<', start );
+ if ( start_pos == string::npos ) return string::npos;
+ ++start_pos;
+ string::size_type end_pos = msg.find( '>', start_pos );
+ dir += msg.substr( start_pos, end_pos - start_pos );
+ if ( boost_build_v2 )
+ {
+ // The first letter is a magic value indicating
+ // the type of grist.
+ convert_path_separators( dir );
+ dir.erase( 0, 1 );
+ // We need path from root, not from 'status' dir.
+ if (dir.find("../") == 0)
+ dir.erase(0,3);
+ }
+ else
+ {
+ if ( dir[0] == '@' )
+ {
+ // new style build path, rooted build tree
+ convert_path_separators( dir );
+ dir.replace( 0, 1, "bin/" );
+ }
+ else
+ {
+ // old style build path, integrated build tree
+ start_pos = dir.rfind( '!' );
+ convert_path_separators( dir );
+ dir.insert( dir.find( '/', start_pos + 1), "/bin" );
+ }
+ }
+ return end_pos;
+ }
+
+ // the format of paths is really kinky, so convert to normal form
+ // first path is missing the leading "..\".
+ // first path is missing "\bin" after "status".
+ // second path is missing the leading "..\".
+ // second path is missing "\bin" after "build".
+ // second path uses "!" for some separators.
+ void parse_skipped_msg( const string & msg,
+ string & first_dir, string & second_dir )
+ {
+ string::size_type pos = parse_skipped_msg_aux(msg, 0, first_dir);
+ if (pos == string::npos)
+ return;
+ parse_skipped_msg_aux(msg, pos, second_dir);
+ }
+
+// test_log hides database details -----------------------------------------//
+
+ class test_log
+ : boost::noncopyable
+ {
+ const string & m_target_directory;
+ xml::element_ptr m_root;
+ public:
+ test_log( const string & target_directory,
+ const string & test_name,
+ const string & toolset,
+ bool force_new_file )
+ : m_target_directory( target_directory )
+ {
+ if ( !force_new_file )
+ {
+ fs::path pth( locate_root / target_directory / "test_log.xml" );
+ fs::ifstream file( pth );
+ if ( file ) // existing file
+ {
+ try
+ {
+ m_root = xml::parse( file, pth.string() );
+ return;
+ }
+ catch(...)
+ {
+ // unable to parse existing XML file, fall through
+ }
+ }
+ }
+
+ string library_name( test_path_to_library_name( target_directory ) );
+
+ test_info info;
+ test2info_map::iterator itr( test2info.find( library_name + "/" + test_name ) );
+ if ( itr != test2info.end() )
+ info = itr->second;
+
+ if ( !info.file_path.empty() )
+ library_name = test_path_to_library_name( info.file_path );
+
+ if ( info.type.empty() )
+ {
+ if ( target_directory.find( ".lib/" ) != string::npos
+ || target_directory.find( ".dll/" ) != string::npos
+ || target_directory.find( ".so/" ) != string::npos
+ || target_directory.find( ".dylib/" ) != string::npos
+ )
+ {
+ info.type = "lib";
+ }
+ else if ( target_directory.find( ".pyd/" ) != string::npos )
+ info.type = "pyd";
+ }
+
+ m_root.reset( new xml::element( "test-log" ) );
+ m_root->attributes.push_back(
+ xml::attribute( "library", library_name ) );
+ m_root->attributes.push_back(
+ xml::attribute( "test-name", test_name ) );
+ m_root->attributes.push_back(
+ xml::attribute( "test-type", info.type ) );
+ m_root->attributes.push_back(
+ xml::attribute( "test-program", info.file_path ) );
+ m_root->attributes.push_back(
+ xml::attribute( "target-directory", target_directory ) );
+ m_root->attributes.push_back(
+ xml::attribute( "toolset", toolset ) );
+ m_root->attributes.push_back(
+ xml::attribute( "show-run-output",
+ info.always_show_run_output ? "true" : "false" ) );
+ }
+
+ ~test_log()
+ {
+ fs::path pth( locate_root / m_target_directory / "test_log.xml" );
+ if ( create_dirs && !fs::exists( pth.branch_path() ) )
+ fs::create_directories( pth.branch_path() );
+ fs::ofstream file( pth );
+ if ( !file )
+ {
+ std::cout << "*****Warning - can't open output file: "
+ << pth.string() << "\n";
+ }
+ else xml::write( *m_root, file );
+ }
+
+ const string & target_directory() const { return m_target_directory; }
+
+ void remove_action( const string & action_name )
+ // no effect if action_name not found
+ {
+ xml::element_list::iterator itr;
+ for ( itr = m_root->elements.begin();
+ itr != m_root->elements.end() && (*itr)->name != action_name;
+ ++itr ) {}
+ if ( itr != m_root->elements.end() ) m_root->elements.erase( itr );
+ }
+
+ void add_action( const string & action_name,
+ const string & result,
+ const string & timestamp,
+ const string & content )
+ {
+ remove_action( action_name );
+ xml::element_ptr action( new xml::element(action_name) );
+ m_root->elements.push_back( action );
+ action->attributes.push_back( xml::attribute( "result", result ) );
+ action->attributes.push_back( xml::attribute( "timestamp", timestamp ) );
+ action->content = content;
+ }
+ };
+
+// message_manager maps input messages into test_log actions ---------------//
+
+ class message_manager
+ : boost::noncopyable
+ {
+ string m_action_name; // !empty() implies action pending
+ // IOW, a start_message awaits stop_message
+ string m_target_directory;
+ string m_test_name;
+ string m_toolset;
+
+ bool m_note; // if true, run result set to "note"
+ // set false by start_message()
+
+ // data needed to stop further compile action after a compile failure
+ // detected in the same target directory
+ string m_previous_target_directory;
+ bool m_compile_failed;
+
+ public:
+ message_manager() : m_note(false) {}
+ ~message_manager() { /*assert( m_action_name.empty() );*/ }
+
+ bool note() const { return m_note; }
+ void note( bool value ) { m_note = value; }
+
+ void start_message( const string & action_name,
+ const string & target_directory,
+ const string & test_name,
+ const string & toolset,
+ const string & prior_content )
+ {
+ if ( !m_action_name.empty() ) stop_message( prior_content );
+ m_action_name = action_name;
+ m_target_directory = target_directory;
+ m_test_name = test_name;
+ m_toolset = toolset;
+ m_note = false;
+ if ( m_previous_target_directory != target_directory )
+ {
+ m_previous_target_directory = target_directory;
+ m_compile_failed = false;
+ }
+ }
+
+ void stop_message( const string & content )
+ {
+ if ( m_action_name.empty() ) return;
+ stop_message( m_action_name, m_target_directory,
+ "succeed", timestamp(), content );
+ }
+
+ void stop_message( const string & action_name,
+ const string & target_directory,
+ const string & result,
+ const string & timestamp,
+ const string & content )
+ // the only valid action_names are "compile", "link", "run", "lib"
+ {
+ // My understanding of the jam output is that there should never be
+ // a stop_message that was not preceeded by a matching start_message.
+ // That understanding is built into message_manager code.
+ assert( m_action_name == action_name );
+ assert( m_target_directory == target_directory );
+ assert( result == "succeed" || result == "fail" );
+
+ // if test_log.xml entry needed
+ if ( !m_compile_failed
+ || action_name != "compile"
+ || m_previous_target_directory != target_directory )
+ {
+ if ( action_name == "compile"
+ && result == "fail" ) m_compile_failed = true;
+
+ test_log tl( target_directory,
+ m_test_name, m_toolset, action_name == "compile" );
+ tl.remove_action( "lib" ); // always clear out lib residue
+
+ // dependency removal
+ if ( action_name == "lib" )
+ {
+ tl.remove_action( "compile" );
+ tl.remove_action( "link" );
+ tl.remove_action( "run" );
+ }
+ else if ( action_name == "compile" )
+ {
+ tl.remove_action( "link" );
+ tl.remove_action( "run" );
+ if ( result == "fail" ) m_compile_failed = true;
+ }
+ else if ( action_name == "link" ) { tl.remove_action( "run" ); }
+
+ // dependency removal won't work right with random names, so assert
+ else { assert( action_name == "run" ); }
+
+ // add the "run" stop_message action
+ tl.add_action( action_name,
+ result == "succeed" && note() ? "note" : result,
+ timestamp, content );
+ }
+
+ m_action_name = ""; // signal no pending action
+ m_previous_target_directory = target_directory;
+ }
+ };
+}
+
+
+// main --------------------------------------------------------------------//
+
+
+int cpp_main( int argc, char ** argv )
+{
+ // Turn off synchronization with corresponding C standard library files. This
+ // gives a significant speed improvement on platforms where the standard C++
+ // streams are implemented using standard C files.
+ std::ios::sync_with_stdio(false);
+
+ if ( argc <= 1 )
+ std::cout << "Usage: bjam [bjam-args] | process_jam_log [--echo] [--create-directories] [--v2] [locate-root]\n"
+ "locate-root - the same as the bjam ALL_LOCATE_TARGET\n"
+ " parameter, if any. Default is boost-root.\n"
+ "create-directories - if the directory for xml file doesn't exists - creates it.\n"
+ " usually used for processing logfile on different machine\n";
+
+ boost_root = fs::initial_path();
+
+ while ( !boost_root.empty()
+ && !fs::exists( boost_root / "libs" ) )
+ {
+ boost_root /= "..";
+ }
+
+ if ( boost_root.empty() )
+ {
+ std::cout << "must be run from within the boost-root directory tree\n";
+ return 1;
+ }
+
+
+ if ( argc > 1 && std::strcmp( argv[1], "--echo" ) == 0 )
+ {
+ echo = true;
+ --argc; ++argv;
+ }
+
+
+ if (argc > 1 && std::strcmp( argv[1], "--create-directories" ) == 0 )
+ {
+ create_dirs = true;
+ --argc; ++argv;
+ }
+
+ if ( argc > 1 && std::strcmp( argv[1], "--v2" ) == 0 )
+ {
+ boost_build_v2 = true;
+ --argc; ++argv;
+ }
+
+
+ if (argc > 1)
+ {
+ locate_root = fs::path( argv[1], fs::native );
+ --argc; ++argv;
+ }
+ else
+ {
+ locate_root = boost_root;
+ }
+
+ std::cout << "boost_root: " << boost_root.string() << '\n'
+ << "locate_root: " << locate_root.string() << '\n';
+
+ message_manager mgr;
+
+ string line;
+ string content;
+ bool capture_lines = false;
+
+ std::istream* input;
+ if (argc > 1)
+ {
+ input = new std::ifstream(argv[1]);
+ }
+ else
+ {
+ input = &std::cin;
+ }
+
+ // This loop looks at lines for certain signatures, and accordingly:
+ // * Calls start_message() to start capturing lines. (start_message() will
+ // automatically call stop_message() if needed.)
+ // * Calls stop_message() to stop capturing lines.
+ // * Capture lines if line capture on.
+
+ while ( std::getline( *input, line ) )
+ {
+ if ( echo ) std::cout << line << "\n";
+
+ // create map of test-name to test-info
+ if ( line.find( "boost-test(" ) == 0 )
+ {
+ string::size_type pos = line.find( '"' );
+ string test_name( line.substr( pos+1, line.find( '"', pos+1)-pos-1 ) );
+ test_info info;
+ info.always_show_run_output
+ = line.find( "\"always_show_run_output\"" ) != string::npos;
+ info.type = line.substr( 11, line.find( ')' )-11 );
+ for (unsigned int i = 0; i!=info.type.size(); ++i )
+ { info.type[i] = std::tolower( info.type[i] ); }
+ pos = line.find( ':' );
+ // the rest of line is missing if bjam didn't know how to make target
+ if ( pos + 1 != line.size() )
+ {
+ info.file_path = line.substr( pos+3,
+ line.find( "\"", pos+3 )-pos-3 );
+ convert_path_separators( info.file_path );
+ if ( info.file_path.find( "libs/libs/" ) == 0 ) info.file_path.erase( 0, 5 );
+ if ( test_name.find( "/" ) == string::npos )
+ test_name = "/" + test_name;
+ test2info.insert( std::make_pair( test_name, info ) );
+ // std::cout << test_name << ", " << info.type << ", " << info.file_path << "\n";
+ }
+ else
+ {
+ std::cout << "*****Warning - missing test path: " << line << "\n"
+ << " (Usually occurs when bjam doesn't know how to make a target)\n";
+ }
+ continue;
+ }
+
+ // these actions represent both the start of a new action
+ // and the end of a failed action
+ else if ( line.find( "C++-action " ) != string::npos
+ || line.find( "vc-C++ " ) != string::npos
+ || line.find( "C-action " ) != string::npos
+ || line.find( "Cc-action " ) != string::npos
+ || line.find( "vc-Cc " ) != string::npos
+ || line.find( "Link-action " ) != string::npos
+ // archive can fail too
+ || line.find( "Archive-action " ) != string::npos
+ || line.find( "vc-Link " ) != string::npos
+ || line.find( ".compile.") != string::npos
+ || ( line.find( ".link") != string::npos &&
+ // .linkonce is present in gcc linker messages about
+ // unresolved symbols. We don't have to parse those
+ line.find( ".linkonce" ) == string::npos )
+ )
+ {
+ string action( ( line.find( "Link-action " ) != string::npos
+ || line.find( "vc-Link " ) != string::npos
+ || line.find( ".link") != string::npos
+ || line.find( "Archive-action ") != string::npos )
+ ? "link" : "compile" );
+ if ( line.find( "...failed " ) != string::npos )
+ mgr.stop_message( action, target_directory( line ),
+ "fail", timestamp(), content );
+ else
+ {
+ string target_dir( target_directory( line ) );
+ mgr.start_message( action, target_dir,
+ test_name( target_dir ), toolset( target_dir ), content );
+ }
+ content = "\n";
+ capture_lines = true;
+ }
+
+ // these actions are only used to stop the previous action
+ else if ( line.find( "-Archive" ) != string::npos
+ || line.find( "MkDir" ) == 0 )
+ {
+ mgr.stop_message( content );
+ content.clear();
+ capture_lines = false;
+ }
+
+ else if ( line.find( "execute-test" ) != string::npos
+ || line.find( "capture-output" ) != string::npos )
+ {
+ if ( line.find( "...failed " ) != string::npos )
+ {
+ mgr.stop_message( "run", target_directory( line ),
+ "fail", timestamp(), content );
+ content = "\n";
+ capture_lines = true;
+ }
+ else
+ {
+ string target_dir( target_directory( line ) );
+ mgr.start_message( "run", target_dir,
+ test_name( target_dir ), toolset( target_dir ), content );
+
+ // contents of .output file for content
+ capture_lines = false;
+ content = "\n";
+ fs::ifstream file( locate_root / target_dir
+ / (test_name(target_dir) + ".output") );
+ if ( file )
+ {
+ string ln;
+ while ( std::getline( file, ln ) )
+ {
+ if ( ln.find( "<note>" ) != string::npos ) mgr.note( true );
+ append_html( ln, content );
+ content += "\n";
+ }
+ }
+ }
+ }
+
+ // bjam indicates some prior dependency failed by a "...skipped" message
+ else if ( line.find( "...skipped <" ) != string::npos && line.find( "<directory-grist>" ) == string::npos)
+ {
+ mgr.stop_message( content );
+ content.clear();
+ capture_lines = false;
+
+ if ( line.find( " for lack of " ) != string::npos )
+ {
+ capture_lines = ( line.find( ".run for lack of " ) == string::npos );
+
+ string target_dir;
+ string lib_dir;
+
+ parse_skipped_msg( line, target_dir, lib_dir );
+
+ if ( target_dir != lib_dir ) // it's a lib problem
+ {
+ mgr.start_message( "lib", target_dir,
+ test_name( target_dir ), toolset( target_dir ), content );
+ content = lib_dir;
+ mgr.stop_message( "lib", target_dir, "fail", timestamp(), content );
+ content = "\n";
+ }
+ }
+
+ }
+
+ else if ( line.find( "**passed**" ) != string::npos
+ || line.find( "failed-test-file " ) != string::npos
+ || line.find( "command-file-dump" ) != string::npos )
+ {
+ mgr.stop_message( content );
+ content = "\n";
+ capture_lines = true;
+ }
+
+ else if ( capture_lines ) // hang onto lines for possible later use
+ {
+ append_html( line, content );;
+ content += "\n";
+ }
+ }
+
+ mgr.stop_message( content );
+ if (input != &std::cin)
+ delete input;
+ return 0;
+}
diff --git a/tools/regression/regression-logs.pl b/tools/regression/regression-logs.pl
new file mode 100644
index 0000000000..97cd4e9acd
--- /dev/null
+++ b/tools/regression/regression-logs.pl
@@ -0,0 +1,197 @@
+#!/usr/bin/perl
+
+#~ Copyright 2003, Rene Rivera.
+#~ Use, modification and distribution are subject to the Boost Software
+#~ License Version 1.0. (See accompanying file LICENSE_1_0.txt or
+#~ http://www.boost.org/LICENSE_1_0.txt)
+
+use FileHandle;
+use Time::Local;
+
+# Get the whle percent value
+#
+sub percent_value
+{
+ my ($count,$total) = @_;
+ my $percent = int (($count/$total)*100+0.5);
+ if ($count > 0 && $percent == 0) { $percent = 1; }
+ if ($count < $total && $percent == 100) { $percent = 99; }
+ return $percent;
+}
+
+# Generate item html for the pass column.
+#
+sub result_info_pass
+{
+ my ($color,$pass,$warn,$fail,$missing) = @_;
+ my $percent = 100-percent_value($fail+$missing,$pass+$warn+$fail+$missing);
+ return "<font color=\"$color\"><font size=\"+1\">$percent%</font><br>($warn&nbsp;warnings)</font>";
+}
+
+# Generate item html for the fail column.
+#
+sub result_info_fail
+{
+ my ($color,$pass,$warn,$fail,$missing) = @_;
+ my $percent = percent_value($fail+$missing,$pass+$warn+$fail+$missing);
+ return "<font color=\"$color\"><font size=\"+1\">$percent%</font><br>($fail)</font>";
+}
+
+# Generate an age highlighted run date string.
+# Use as: data_info(run-date-html)
+#
+sub date_info
+{
+ my %m = ('January',0,'February',1,'March',2,'April',3,'May',4,'June',5,
+ 'July',6,'August',7,'September',8,'October',9,'November',10,'December',11);
+ my @d = split(/ |:/,$_[0]);
+ my ($hour,$min,$sec,$day,$month,$year) = ($d[0],$d[1],$d[2],$d[4],$m{$d[5]},$d[6]);
+ #print "<!-- $hour.$min.$sec.$day.$month.$year -->\n";
+ my $test_t = timegm($sec,$min,$hour,$day,$month,$year);
+ my $age = time-$test_t;
+ my $age_days = $age/(60*60*24);
+ #print "<!-- $age_days days old -->\n";
+ my $age_html = "<font>";
+ if ($age_days <= 2) { }
+ elsif ($age_days <= 14) { $age_html = "<font color=\"#FF9900\">"; }
+ else { $age_html = "<font color=\"#FF0000\">"; }
+ return $age_html.$_[0]."</font>";
+}
+
+# Generate an age string based on the run date.
+# Use as: age_info(run-date-html)
+#
+sub age_info
+{
+ my %m = ('January',0,'February',1,'March',2,'April',3,'May',4,'June',5,
+ 'July',6,'August',7,'September',8,'October',9,'November',10,'December',11);
+ my @d = split(/ |:/,$_[0]);
+ my ($hour,$min,$sec,$day,$month,$year) = ($d[0],$d[1],$d[2],$d[4],$m{$d[5]},$d[6]);
+ #print "<!-- $hour.$min.$sec.$day.$month.$year -->\n";
+ my $test_t = timegm($sec,$min,$hour,$day,$month,$year);
+ my $age = time-$test_t;
+ my $age_days = $age/(60*60*24);
+ #print "<!-- $age_days days old -->\n";
+ my $age_html = "<font>";
+ if ($age_days <= 2) { }
+ elsif ($age_days <= 14) { $age_html = "<font color=\"#FF9900\">"; }
+ else { $age_html = "<font color=\"#FF0000\">"; }
+ if ($age_days <= 1) { $age_html = $age_html."today"; }
+ elsif ($age_days <= 2) { $age_html = $age_html."yesterday"; }
+ elsif ($age_days < 14) { my $days = int $age_days; $age_html = $age_html.$days." days"; }
+ elsif ($age_days < 7*8) { my $weeks = int $age_days/7; $age_html = $age_html.$weeks." weeks"; }
+ else { my $months = int $age_days/28; $age_html = $age_html.$months." months"; }
+ return $age_html."</font>";
+}
+
+#~ foreach my $k (sort keys %ENV)
+#~ {
+ #~ print "<!-- $k = $ENV{$k} -->\n";
+#~ }
+my $logdir = "$ENV{PWD}";
+#~ my $logdir = "C:\\CVSROOTs\\Boost\\boost\\status";
+opendir LOGS, "$logdir";
+my @logs = grep /.*links[^.]*\.html$/, readdir LOGS;
+closedir LOGS;
+my @bgcolor = ( "bgcolor=\"#EEEEFF\"", "" );
+my $row = 0;
+print "<table>\n";
+print "<tr>\n",
+ "<th align=\"left\" bgcolor=\"#DDDDDD\">Platform</th>\n",
+ "<th align=\"left\" bgcolor=\"#DDDDDD\">Run Date</th>\n",
+ "<th align=\"left\" bgcolor=\"#DDDDDD\">Age</th>\n",
+ "<th align=\"left\" bgcolor=\"#DDDDDD\">Compilers</th>\n",
+ "<th align=\"left\" bgcolor=\"#DDDDDD\">Pass</th>\n",
+ "<th align=\"left\" bgcolor=\"#DDDDDD\">Fail</th>\n",
+ "</tr>\n";
+foreach $l (sort { lc($a) cmp lc($b) } @logs)
+{
+ my $log = $l;
+ $log =~ s/-links//s;
+ my ($spec) = ($log =~ /cs-([^\.]+)/);
+ my $fh = new FileHandle;
+ if ($fh->open("<$logdir/$log"))
+ {
+ my $content = join('',$fh->getlines());
+ $fh->close;
+ my ($status) = ($content =~ /(<h1>Compiler(.(?!<\/td>))+.)/si);
+ my ($platform) = ($status =~ /Status: ([^<]+)/si);
+ my ($run_date) = ($status =~ /Date:<\/b> ([^<]+)/si);
+ $run_date =~ s/, /<br>/g;
+ my ($compilers) = ($content =~ /Test Type<\/a><\/t[dh]>((.(?!<\/tr>))+.)/si);
+ if ($compilers eq "") { next; }
+ $compilers =~ s/-<br>//g;
+ $compilers =~ s/<\/td>//g;
+ my @compiler = ($compilers =~ /<td>(.*)$/gim);
+ my $count = @compiler;
+ my @results = ($content =~ /(>Pass<|>Warn<|>Fail<|>Missing<)/gi);
+ my $test_count = (scalar @results)/$count;
+ my @pass = map { 0 } (1..$count);
+ my @warn = map { 0 } (1..$count);
+ my @fail = map { 0 } (1..$count);
+ my @missing = map { 0 } (1..$count);
+ my @total = map { 0 } (1..$count);
+ #~ print "<!-- ",
+ #~ "pass = ",join(',',@pass)," ",
+ #~ "warn = ",join(',',@warn)," ",
+ #~ "fail = ",join(',',@fail)," ",
+ #~ "missing = ",join(',',@missing)," ",
+ #~ "total = ",join(',',@total)," ",
+ #~ " -->\n";
+ for my $t (1..$test_count)
+ {
+ my $r0 = (($t-1)*$count);
+ my $r1 = (($t-1)*$count+$count-1);
+ my @r = @results[(($t-1)*$count)..(($t-1)*$count+$count-1)];
+ #~ print "<!-- ",
+ #~ "result = ",join(',',@r)," ",
+ #~ "range = ",$r0,"..",$r1," (",(scalar @results),")",
+ #~ " -->\n";
+ for my $c (1..$count)
+ {
+ if ($r[$c-1] =~ /Pass/i) { ++$pass[$c-1]; }
+ elsif ($r[$c-1] =~ /Warn/i) { ++$warn[$c-1]; }
+ elsif ($r[$c-1] =~ /Fail/i) { ++$fail[$c-1]; }
+ elsif ($r[$c-1] =~ /Missing/i) { ++$missing[$c-1]; }
+ ++$total[$c-1];
+ }
+ }
+ #~ print "<!-- ",
+ #~ "pass = ",join(',',@pass)," ",
+ #~ "warn = ",join(',',@warn)," ",
+ #~ "fail = ",join(',',@fail)," ",
+ #~ "missing = ",join(',',@missing)," ",
+ #~ "total = ",join(',',@total)," ",
+ #~ " -->\n";
+ for my $comp (1..(scalar @compiler))
+ {
+ my @lines = split(/<br>/,$compiler[$comp-1]);
+ if (@lines > 2) { $compiler[$comp-1] = join(' ',@lines[0..(scalar @lines)-2])."<br>".$lines[(scalar @lines)-1]; }
+ }
+ print
+ "<tr>\n",
+ "<td rowspan=\"$count\" valign=\"top\"><font size=\"+1\">$platform</font><br>(<a href=\"./$log\">$spec</a>)</td>\n",
+ "<td rowspan=\"$count\" valign=\"top\">",$run_date,"</td>\n",
+ "<td rowspan=\"$count\" valign=\"top\">",age_info($run_date),"</td>\n",
+ "<td valign=\"top\" ",$bgcolor[$row],">",$compiler[0],"</td>\n",
+ "<td valign=\"top\" ",$bgcolor[$row],">",result_info_pass("#000000",$pass[0],$warn[0],$fail[0],$missing[0]),"</td>\n",
+ "<td valign=\"top\" ",$bgcolor[$row],">",result_info_fail("#FF0000",$pass[0],$warn[0],$fail[0],$missing[0]),"</td>\n",
+ "</tr>\n";
+ $row = ($row+1)%2;
+ foreach my $c (1..($count-1))
+ {
+ print
+ "<tr>\n",
+ "<td valign=\"top\" ",$bgcolor[$row],">",$compiler[$c],"</td>\n",
+ "<td valign=\"top\" ",$bgcolor[$row],">",result_info_pass("#000000",$pass[$c],$warn[$c],$fail[$c],$missing[$c]),"</td>\n",
+ "<td valign=\"top\" ",$bgcolor[$row],">",result_info_fail("#FF0000",$pass[$c],$warn[$c],$fail[$c],$missing[$c]),"</td>\n",
+ "</tr>\n";
+ $row = ($row+1)%2;
+ }
+ print
+ "<tr>\n",
+ "<td colspan=\"7\"><hr size=\"1\" noshade></td>\n",
+ "</tr>\n";
+ }
+}
+print "</table>\n";
diff --git a/tools/regression/run_tests.sh b/tools/regression/run_tests.sh
new file mode 100644
index 0000000000..796769826f
--- /dev/null
+++ b/tools/regression/run_tests.sh
@@ -0,0 +1,182 @@
+#!/bin/sh
+#
+# shell script for running the boost regression test suite and generating
+# a html table of results.
+
+# Set the following variables to configure the operation. Variables you
+# should set, i.e. usually required are listed first. Optional variables
+# have reasonable defaults for most situations.
+
+
+### THESE SHOULD BE CHANGED!
+
+#
+# "boost_root" points to the root of you boost installation:
+# This can be either a non-exitent directory or an already complete Boost
+# source tree.
+#
+boost_root="$HOME/CVSROOTs/Boost/boost_regression"
+
+#
+# Wether to fetch the most current Boost code from CVS (yes/no):
+# There are two contexts to use this script in: on an active Boost CVS
+# tree, and on a fresh Boost CVS tree. If "yes" is specified here an attempt
+# to fetch the latest CVS Boost files is made. For an active Boost CVS
+# the CVS connection information is used. If an empty tree is detected
+# the code is fetched with the anonymous read only information.
+#
+cvs_update=no
+
+#
+# "test_tools" are the Boost.Build toolsets to use for building and running the
+# regression tests. Specify a space separated list, of the Boost.Build toolsets.
+# Each will be built and tested in sequence.
+#
+test_tools=gcc
+
+#
+# "toolset" is the Boost.Build toolset to use for building the helper programs.
+# This is usually different than the toolsets one is testing. And this is
+# normally a toolset that corresponds to the compiler built into your platform.
+#
+toolset=gcc
+
+#
+# "comment_path" is the path to an html-file describing the test environment.
+# The content of this file will be embedded in the status pages being produced.
+#
+comment_path="$boost_root/../regression_comment.html"
+
+
+### DEFAULTS ARE OK FOR THESE.
+
+#
+# "exe_suffix" the suffix used by exectable files:
+# In case your platform requires use of a special suffix for executables specify
+# it here, including the "." if needed. This should not be needed even in Windows
+# like platforms as they will execute without the suffix anyway.
+#
+exe_suffix=
+
+#
+# "bjam" points to your built bjam executable:
+# The location of the binary for running bjam. The default should work
+# under most circumstances.
+#
+bjam="$boost_root/tools/build/jam_src/bin/bjam$exe_suffix"
+
+#
+# "process_jam_log", and "compiler_status" paths to built helper programs:
+# The location of the executables of the regression help programs. These
+# are built locally so the default should work in most situations.
+#
+process_jam_log="$boost_root/tools/regression/build/run/process_jam_log$exe_suffix"
+compiler_status="$boost_root/tools/regression/build/run/compiler_status$exe_suffix"
+
+#
+# "boost_build_path" can point to additional locations to find toolset files.
+#
+boost_build_path="$HOME/.boost-build"
+
+
+### NO MORE CONFIGURABLE PARTS.
+
+#
+# Some setup.
+#
+boost_dir=`basename "$boost_root"`
+if test -n "${BOOST_BUILD_PATH}" ; then
+ export BOOST_BUILD_PATH="$boost_build_path:$BOOST_BUILD_PATH"
+else
+ export BOOST_BUILD_PATH="$boost_build_path"
+fi
+
+#
+# STEP 0:
+#
+# Get the source code:
+#
+if test ! -d "$boost_root" ; then
+ mkdir -p "$boost_root"
+ if test $? -ne 0 ; then
+ echo "creation of $boost_root directory failed."
+ exit 256
+ fi
+fi
+if test $cvs_update = yes ; then
+ echo fetching Boost:
+ echo "/1 :pserver:anonymous@cvs.sourceforge.net:2401/cvsroot/boost A" >> "$HOME/.cvspass"
+ cat "$HOME/.cvspass" | sort | uniq > "$HOME/.cvspass"
+ cd `dirname "$boost_root"`
+ if test -f boost/CVS/Root ; then
+ cvs -z3 -d `cat "$boost_dir/CVS/Root"` co -d "$boost_dir" boost
+ else
+ cvs -z3 -d :pserver:anonymous@cvs.sourceforge.net:2401/cvsroot/boost co -d "$boost_dir" boost
+ fi
+fi
+
+#
+# STEP 1:
+# rebuild bjam if required:
+#
+echo building bjam:
+cd "$boost_root/tools/build/jam_src" && \
+LOCATE_TARGET=bin sh ./build.sh
+if test $? != 0 ; then
+ echo "bjam build failed."
+ exit 256
+fi
+
+#
+# STEP 2:
+# rebuild the regression test helper programs if required:
+#
+echo building regression test helper programs:
+cd "$boost_root/tools/regression/build" && \
+"$bjam" -sTOOLS=$toolset -sBUILD=release run
+if test $? != 0 ; then
+ echo "helper program build failed."
+ exit 256
+fi
+
+#
+# STEP 5:
+# repeat steps 3 and 4 for each additional toolset:
+#
+for tool in $test_tools ; do
+
+#
+# STEP 3:
+# run the regression tests:
+#
+echo running the $tool regression tests:
+cd "$boost_root/status"
+"$bjam" -sTOOLS=$tool --dump-tests test 2>&1 | tee regress.log
+
+#
+# STEP 4:
+# post process the results:
+#
+echo processing the regression test results for $tool:
+cat regress.log | "$process_jam_log"
+if test $? != 0 ; then
+ echo "Failed regression log post processing."
+ exit 256
+fi
+
+done
+
+#
+# STEP 6:
+# create the html table:
+#
+uname=`uname`
+echo generating html tables:
+"$compiler_status" --comment "$comment_path" "$boost_root" cs-$uname.html cs-$uname-links.html
+if test $? != 0 ; then
+ echo "Failed HTML result table generation."
+ exit 256
+fi
+
+echo "done!"
+
diff --git a/tools/regression/test/Jamfile b/tools/regression/test/Jamfile
new file mode 100644
index 0000000000..9ab483f95b
--- /dev/null
+++ b/tools/regression/test/Jamfile
@@ -0,0 +1,46 @@
+# Boost Regression Reporting test Jamfile
+
+# (C) Copyright Beman Dawes 2003. Permission to copy, use, modify, sell and
+# distribute this software is granted provided this copyright notice appears in
+# all copies. This software is provided "as is" without express or implied
+# warranty, and with no claim as to its suitability for any purpose.
+
+subproject libs/regression/test ;
+
+# bring in rules for testing
+import testing ;
+
+# Make tests run by default.
+DEPENDS all : test ;
+
+{
+ # look in BOOST_ROOT for sources first, just in this Jamfile
+ local SEARCH_SOURCE = $(BOOST_ROOT) $(SEARCH_SOURCE) ;
+
+
+# Test naming convention: the portion of the name before the tilde ("~")
+# identifies the bjam test type. The portion after the tilde
+# identifies the correct result to be reported by compiler_status.
+
+ compile compile~fail.cpp ;
+ compile compile~pass.cpp ;
+ compile compile~warn.cpp ;
+
+ compile-fail compile-fail~fail.cpp ;
+ compile-fail compile-fail~pass.cpp ;
+
+ run run~compile-fail.cpp ;
+ run run~fail.cpp ;
+ run run~fail-note.cpp ;
+ run run~fail-warn.cpp ;
+ run run~note.cpp ;
+ run run~pass.cpp ;
+ run run~warn.cpp ;
+ run run~warn-note.cpp ;
+
+ run-fail run-fail~compile-fail.cpp ;
+ run-fail run-fail~fail.cpp ;
+ run-fail run-fail~fail-warn.cpp ;
+ run-fail run-fail~pass.cpp ;
+ run-fail run-fail~warn.cpp ;
+}
diff --git a/tools/regression/test/compile-fail~fail.cpp b/tools/regression/test/compile-fail~fail.cpp
new file mode 100644
index 0000000000..76fc53b9d7
--- /dev/null
+++ b/tools/regression/test/compile-fail~fail.cpp
@@ -0,0 +1,10 @@
+// (C) Copyright Beman Dawes 2003. 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)
+
+// Test naming convention: the portion of the name before the tilde ("~")
+// identifies the bjam test type. The portion after the tilde
+// identifies the correct result to be reported by compiler_status.
+
+int main() { return 0; }
+
diff --git a/tools/regression/test/compile-fail~pass.cpp b/tools/regression/test/compile-fail~pass.cpp
new file mode 100644
index 0000000000..cacb17d133
--- /dev/null
+++ b/tools/regression/test/compile-fail~pass.cpp
@@ -0,0 +1,9 @@
+// (C) Copyright Beman Dawes 2003. 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)
+
+// Test naming convention: the portion of the name before the tilde ("~")
+// identifies the bjam test type. The portion after the tilde
+// identifies the correct result to be reported by compiler_status.
+
+#error example of a compile failure
diff --git a/tools/regression/test/compile~fail.cpp b/tools/regression/test/compile~fail.cpp
new file mode 100644
index 0000000000..cacb17d133
--- /dev/null
+++ b/tools/regression/test/compile~fail.cpp
@@ -0,0 +1,9 @@
+// (C) Copyright Beman Dawes 2003. 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)
+
+// Test naming convention: the portion of the name before the tilde ("~")
+// identifies the bjam test type. The portion after the tilde
+// identifies the correct result to be reported by compiler_status.
+
+#error example of a compile failure
diff --git a/tools/regression/test/compile~pass.cpp b/tools/regression/test/compile~pass.cpp
new file mode 100644
index 0000000000..384b51fa4a
--- /dev/null
+++ b/tools/regression/test/compile~pass.cpp
@@ -0,0 +1,9 @@
+// (C) Copyright Beman Dawes 2003. 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)
+
+// Test naming convention: the portion of the name before the tilde ("~")
+// identifies the bjam test type. The portion after the tilde
+// identifies the correct result to be reported by compiler_status.
+
+int main() { return 0; }
diff --git a/tools/regression/test/compile~warn.cpp b/tools/regression/test/compile~warn.cpp
new file mode 100644
index 0000000000..7895a229e7
--- /dev/null
+++ b/tools/regression/test/compile~warn.cpp
@@ -0,0 +1,18 @@
+// (C) Copyright Beman Dawes 2003. 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)
+
+// Test naming convention: the portion of the name before the tilde ("~")
+// identifies the bjam test type. The portion after the tilde
+// identifies the correct result to be reported by compiler_status.
+
+// provoke one or more compiler warnings
+
+int main(int argc, char * argv[] )
+{
+ short s;
+ unsigned long ul;
+ s = s & ul; // warning from many compilers
+ if ( s == ul ) {} // warning from GCC
+ return 0;
+}
diff --git a/tools/regression/test/run-fail~compile-fail.cpp b/tools/regression/test/run-fail~compile-fail.cpp
new file mode 100644
index 0000000000..cacb17d133
--- /dev/null
+++ b/tools/regression/test/run-fail~compile-fail.cpp
@@ -0,0 +1,9 @@
+// (C) Copyright Beman Dawes 2003. 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)
+
+// Test naming convention: the portion of the name before the tilde ("~")
+// identifies the bjam test type. The portion after the tilde
+// identifies the correct result to be reported by compiler_status.
+
+#error example of a compile failure
diff --git a/tools/regression/test/run-fail~fail-warn.cpp b/tools/regression/test/run-fail~fail-warn.cpp
new file mode 100644
index 0000000000..577d2bb890
--- /dev/null
+++ b/tools/regression/test/run-fail~fail-warn.cpp
@@ -0,0 +1,16 @@
+// (C) Copyright Beman Dawes 2003. 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)
+
+// Test naming convention: the portion of the name before the tilde ("~")
+// identifies the bjam test type. The portion after the tilde
+// identifies the correct result to be reported by compiler_status.
+
+int main()
+{
+ short s;
+ unsigned long ul;
+ s = s & ul; // warning from many compilers
+ if ( s == ul ) {} // warning from GCC
+ return 0;
+}
diff --git a/tools/regression/test/run-fail~fail.cpp b/tools/regression/test/run-fail~fail.cpp
new file mode 100644
index 0000000000..865b8eb3dd
--- /dev/null
+++ b/tools/regression/test/run-fail~fail.cpp
@@ -0,0 +1,12 @@
+// (C) Copyright Beman Dawes 2003. 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)
+
+// Test naming convention: the portion of the name before the tilde ("~")
+// identifies the bjam test type. The portion after the tilde
+// identifies the correct result to be reported by compiler_status.
+
+int main()
+{
+ return 0;
+}
diff --git a/tools/regression/test/run-fail~pass.cpp b/tools/regression/test/run-fail~pass.cpp
new file mode 100644
index 0000000000..3e3ab13973
--- /dev/null
+++ b/tools/regression/test/run-fail~pass.cpp
@@ -0,0 +1,15 @@
+// (C) Copyright Beman Dawes 2003. 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)
+
+// Test naming convention: the portion of the name before the tilde ("~")
+// identifies the bjam test type. The portion after the tilde
+// identifies the correct result to be reported by compiler_status.
+
+#include <iostream>
+
+int main()
+{
+ std::cout << "example of output from a run-time failure\n";
+ return 1;
+}
diff --git a/tools/regression/test/run-fail~warn.cpp b/tools/regression/test/run-fail~warn.cpp
new file mode 100644
index 0000000000..8cc21a110a
--- /dev/null
+++ b/tools/regression/test/run-fail~warn.cpp
@@ -0,0 +1,20 @@
+// (C) Copyright Beman Dawes 2003. 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)
+
+// Test naming convention: the portion of the name before the tilde ("~")
+// identifies the bjam test type. The portion after the tilde
+// identifies the correct result to be reported by compiler_status.
+
+#include <iostream>
+
+int main()
+{
+ short s;
+ unsigned long ul;
+ s = s & ul; // warning from many compilers
+ if ( s == ul ) {} // warning from GCC
+
+ std::cout << "example of output from a run-time failure\n";
+ return 1;
+}
diff --git a/tools/regression/test/run~compile-fail.cpp b/tools/regression/test/run~compile-fail.cpp
new file mode 100644
index 0000000000..cacb17d133
--- /dev/null
+++ b/tools/regression/test/run~compile-fail.cpp
@@ -0,0 +1,9 @@
+// (C) Copyright Beman Dawes 2003. 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)
+
+// Test naming convention: the portion of the name before the tilde ("~")
+// identifies the bjam test type. The portion after the tilde
+// identifies the correct result to be reported by compiler_status.
+
+#error example of a compile failure
diff --git a/tools/regression/test/run~fail-note.cpp b/tools/regression/test/run~fail-note.cpp
new file mode 100644
index 0000000000..b514da0938
--- /dev/null
+++ b/tools/regression/test/run~fail-note.cpp
@@ -0,0 +1,17 @@
+// (C) Copyright Beman Dawes 2003. 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)
+
+// Test naming convention: the portion of the name before the tilde ("~")
+// identifies the bjam test type. The portion after the tilde
+// identifies the correct result to be reported by compiler_status.
+
+#include <iostream>
+
+int main()
+{
+ std::cout << "example of output before a <note> line\n";
+ std::cout << "<note>\n";
+ std::cout << "example of output after a <note> line\n";
+ return 1;
+}
diff --git a/tools/regression/test/run~fail-warn.cpp b/tools/regression/test/run~fail-warn.cpp
new file mode 100644
index 0000000000..8cc21a110a
--- /dev/null
+++ b/tools/regression/test/run~fail-warn.cpp
@@ -0,0 +1,20 @@
+// (C) Copyright Beman Dawes 2003. 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)
+
+// Test naming convention: the portion of the name before the tilde ("~")
+// identifies the bjam test type. The portion after the tilde
+// identifies the correct result to be reported by compiler_status.
+
+#include <iostream>
+
+int main()
+{
+ short s;
+ unsigned long ul;
+ s = s & ul; // warning from many compilers
+ if ( s == ul ) {} // warning from GCC
+
+ std::cout << "example of output from a run-time failure\n";
+ return 1;
+}
diff --git a/tools/regression/test/run~fail.cpp b/tools/regression/test/run~fail.cpp
new file mode 100644
index 0000000000..d6b8ffacf9
--- /dev/null
+++ b/tools/regression/test/run~fail.cpp
@@ -0,0 +1,14 @@
+// (C) Copyright Beman Dawes 2003. 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)
+
+// Test naming convention: the portion of the name before the tilde ("~")
+// identifies the bjam test type. The portion after the tilde
+// identifies the correct result to be reported by compiler_status.
+
+#include <iostream>
+
+int main()
+{
+ return 1;
+}
diff --git a/tools/regression/test/run~note.cpp b/tools/regression/test/run~note.cpp
new file mode 100644
index 0000000000..2841618522
--- /dev/null
+++ b/tools/regression/test/run~note.cpp
@@ -0,0 +1,17 @@
+// (C) Copyright Beman Dawes 2003. 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)
+
+// Test naming convention: the portion of the name before the tilde ("~")
+// identifies the bjam test type. The portion after the tilde
+// identifies the correct result to be reported by compiler_status.
+
+#include <iostream>
+
+int main()
+{
+ std::cout << "example of output before a <note> line\n";
+ std::cout << "<note>\n";
+ std::cout << "example of output after a <note> line\n";
+ return 0;
+}
diff --git a/tools/regression/test/run~pass.cpp b/tools/regression/test/run~pass.cpp
new file mode 100644
index 0000000000..865b8eb3dd
--- /dev/null
+++ b/tools/regression/test/run~pass.cpp
@@ -0,0 +1,12 @@
+// (C) Copyright Beman Dawes 2003. 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)
+
+// Test naming convention: the portion of the name before the tilde ("~")
+// identifies the bjam test type. The portion after the tilde
+// identifies the correct result to be reported by compiler_status.
+
+int main()
+{
+ return 0;
+}
diff --git a/tools/regression/test/run~warn-note.cpp b/tools/regression/test/run~warn-note.cpp
new file mode 100644
index 0000000000..36e1c5faf3
--- /dev/null
+++ b/tools/regression/test/run~warn-note.cpp
@@ -0,0 +1,24 @@
+// (C) Copyright Beman Dawes 2003. 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)
+
+// Test naming convention: the portion of the name before the tilde ("~")
+// identifies the bjam test type. The portion after the tilde
+// identifies the correct result to be reported by compiler_status.
+
+#include <iostream>
+
+int main()
+{
+ std::cout << "example of output before a <note> line\n";
+ std::cout << "<note>\n";
+ std::cout << "example of output after a <note> line\n";
+
+ // provoke a compiler warning to make sure <note> takes priority over
+ // a warning, but neither is lost from status reporting links HTML.
+ short s;
+ unsigned long ul;
+ s = s & ul; // warning from many compilers
+ if ( s == ul ) {} // warning from GCC
+ return 0;
+}
diff --git a/tools/regression/test/run~warn.cpp b/tools/regression/test/run~warn.cpp
new file mode 100644
index 0000000000..7895a229e7
--- /dev/null
+++ b/tools/regression/test/run~warn.cpp
@@ -0,0 +1,18 @@
+// (C) Copyright Beman Dawes 2003. 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)
+
+// Test naming convention: the portion of the name before the tilde ("~")
+// identifies the bjam test type. The portion after the tilde
+// identifies the correct result to be reported by compiler_status.
+
+// provoke one or more compiler warnings
+
+int main(int argc, char * argv[] )
+{
+ short s;
+ unsigned long ul;
+ s = s & ul; // warning from many compilers
+ if ( s == ul ) {} // warning from GCC
+ return 0;
+}
diff --git a/tools/regression/test/test.bat b/tools/regression/test/test.bat
new file mode 100644
index 0000000000..200c716cba
--- /dev/null
+++ b/tools/regression/test/test.bat
@@ -0,0 +1,10 @@
+set TEST_LOCATE_ROOT=d:\temp
+
+echo Begin test processing...
+bjam --dump-tests "-sALL_LOCATE_TARGET=%TEST_LOCATE_ROOT%" %* >bjam.log 2>&1
+echo Begin log processing...
+process_jam_log %TEST_LOCATE_ROOT% <bjam.log
+start bjam.log
+echo Begin compiler status processing...
+compiler_status --locate-root %TEST_LOCATE_ROOT% %BOOST_ROOT% test_status.html test_links.html
+start test_status.html
diff --git a/tools/regression/test/test.py b/tools/regression/test/test.py
new file mode 100644
index 0000000000..36cd84eb65
--- /dev/null
+++ b/tools/regression/test/test.py
@@ -0,0 +1,131 @@
+# Copyright (c) MetaCommunications, Inc. 2003-2005
+#
+# 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)
+
+import difflib
+import os
+import re
+import shutil
+import string
+import sys
+
+
+
+def scan_for_test_cases():
+ return [ os.path.join( "test-cases", x ) for x in os.listdir( "test-cases" ) if x != "CVS" ]
+
+def clean_dir( dir ):
+ if os.path.exists( dir ):
+ shutil.rmtree( dir )
+ os.makedirs( dir )
+
+def system( commands ):
+ if sys.platform == 'win32':
+ f = open( 'tmp.cmd', 'w' )
+ f.write( string.join( commands, '\n' ) )
+ f.close()
+ rc = os.system( 'tmp.cmd' )
+ os.unlink( 'tmp.cmd' )
+ return rc
+ else:
+ rc = os.system( '&&'.join( commands ) )
+ return rc
+
+def checked_system( commands, valid_return_codes = [ 0 ] ):
+ rc = system( commands )
+ if rc not in [ 0 ] + valid_return_codes:
+ raise Exception( 'Command sequence "%s" failed with return code %d' % ( commands, rc ) )
+ return rc
+
+def list_recursively( dir ):
+ r = []
+ for root, dirs, files in os.walk( dir, topdown=False ):
+ root = root[ len( dir ) + 1 : ]
+ r.extend( [ os.path.join( root, x ) for x in dirs ] )
+ r.extend( [ os.path.join( root, x ) for x in files ] )
+
+ return r
+
+def find_process_jam_log():
+ root = "../../../"
+
+ for root, dirs, files in os.walk( os.path.join( root, "bin" ), topdown=False ):
+ if "process_jam_log.exe" in files:
+ return os.path.abspath( os.path.normpath( os.path.join( root, "process_jam_log.exe" ) ) )
+ if "process_jam_log" in files:
+ return os.path.abspath( os.path.normpath( os.path.join( root, "process_jam_log" ) ) )
+ return None
+
+def process_jam_log( executable, file, locate_root, results_dir ):
+ args = []
+ args.append( executable )
+ args.append( "--results-dir" )
+ args.append( results_dir )
+ args.append( locate_root )
+ args.append( file )
+
+ cmd = " ".join( args )
+ print "Running process_jam_log (%s)" % cmd
+ checked_system( [ cmd ] )
+
+
+def read_file( file_path ):
+ f = open( file_path )
+ try:
+ return f.read()
+ finally:
+ f.close()
+
+def remove_timestamps( log_lines ):
+ return [ re.sub( "timestamp=\"[^\"]+\"", "timestamp=\"\"", x ) for x in log_lines ]
+
+def run_test_cases( test_cases ):
+ process_jam_log_executable = find_process_jam_log()
+ for test_case in test_cases:
+ print 'Running test case "%s"' % test_case
+ os.chdir( test_case )
+ if os.path.exists( "expected" ):
+ actual_results_dir = os.path.join( test_case, "actual" )
+ f = open( "locate_root.txt" )
+ try:
+ locate_root = f.read().splitlines()[0]
+ finally:
+ f.close()
+
+ clean_dir( "actual" )
+ os.chdir( "actual" )
+ process_jam_log( executable = process_jam_log_executable
+ , results_dir = "."
+ , locate_root = locate_root
+ , file="..\\bjam.log" )
+ os.chdir( ".." )
+
+ actual_content = list_recursively( "actual" )
+ actual_content.sort()
+
+ expected_content = list_recursively( "expected" )
+ expected_content.sort()
+
+ structure_diffs = list( difflib.unified_diff( actual_content, expected_content ) )
+ if ( len( structure_diffs ) > 0 ):
+ raise "Actual results are different from expected \n %s" % "\n".join( structure_diffs )
+ else:
+ for i in range( 0, len( actual_content ) ):
+ expected_file = os.path.join( "expected", expected_content[ i ] )
+ actual_file = os.path.join( "actual", actual_content[ i ] )
+
+ print "Comparing %s to %s" % ( expected_file, actual_file )
+ if ( not os.path.isdir( expected_file ) and not os.path.isdir( actual_file ) ):
+ expected = remove_timestamps( read_file( expected_file ).splitlines() )
+ actual = remove_timestamps( read_file( actual_file ).splitlines() )
+ content_diff = list( difflib.unified_diff( expected, actual ) )
+ if ( len( content_diff ) > 0 ):
+ raise "difference \n%s" % "\n".join( content_diff )
+
+ else:
+ raise ' Test case "%s" doesn\'t contain the expected results directory ("expected" )' % ( test_case )
+
+run_test_cases( scan_for_test_cases() )
+# print find_process_jam_log()
diff --git a/tools/regression/xsl_reports/boost_wide_report.py b/tools/regression/xsl_reports/boost_wide_report.py
new file mode 100644
index 0000000000..420027f9eb
--- /dev/null
+++ b/tools/regression/xsl_reports/boost_wide_report.py
@@ -0,0 +1,749 @@
+
+# Copyright (c) MetaCommunications, Inc. 2003-2005
+#
+# 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)
+
+import shutil
+import codecs
+import xml.sax.handler
+import glob
+import os.path
+import os
+import string
+import time
+import sys
+import ftplib
+
+import utils
+import runner
+
+
+report_types = [ 'us', 'ds', 'ud', 'dd', 'l', 'p', 'i', 'n', 'ddr', 'dsr', 'udr', 'usr' ]
+
+if __name__ == '__main__':
+ run_dir = os.path.abspath( os.path.dirname( sys.argv[ 0 ] ) )
+else:
+ run_dir = os.path.abspath( os.path.dirname( sys.modules[ __name__ ].__file__ ) )
+
+
+def map_path( path ):
+ return os.path.join( run_dir, path )
+
+
+def xsl_path( xsl_file_name ):
+ return map_path( os.path.join( 'xsl/v2', xsl_file_name ) )
+
+class file_info:
+ def __init__( self, file_name, file_size, file_date ):
+ self.name = file_name
+ self.size = file_size
+ self.date = file_date
+
+ def __repr__( self ):
+ return "name: %s, size: %s, date %s" % ( self.name, self.size, self.date )
+
+#
+# Find the mod time from unix format directory listing line
+#
+
+def get_date( words ):
+ date = words[ 5: -1 ]
+ t = time.localtime()
+
+ month_names = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ]
+
+ year = time.localtime()[0] # If year is not secified is it the current year
+ month = month_names.index( date[0] ) + 1
+ day = int( date[1] )
+ hours = 0
+ minutes = 0
+
+ if date[2].find( ":" ) != -1:
+ ( hours, minutes ) = [ int(x) for x in date[2].split( ":" ) ]
+ else:
+ # there is no way to get seconds for not current year dates
+ year = int( date[2] )
+
+ return ( year, month, day, hours, minutes, 0, 0, 0, 0 )
+
+def list_ftp( f ):
+ # f is an ftp object
+ utils.log( "listing source content" )
+ lines = []
+
+ # 1. get all lines
+ f.dir( lambda x: lines.append( x ) )
+
+ # 2. split lines into words
+ word_lines = [ x.split( None, 8 ) for x in lines ]
+
+ # we don't need directories
+ result = [ file_info( l[-1], None, get_date( l ) ) for l in word_lines if l[0][0] != "d" ]
+ for f in result:
+ utils.log( " %s" % f )
+ return result
+
+def list_dir( dir ):
+ utils.log( "listing destination content %s" % dir )
+ result = []
+ for file_path in glob.glob( os.path.join( dir, "*.zip" ) ):
+ if os.path.isfile( file_path ):
+ mod_time = time.localtime( os.path.getmtime( file_path ) )
+ mod_time = ( mod_time[0], mod_time[1], mod_time[2], mod_time[3], mod_time[4], mod_time[5], 0, 0, mod_time[8] )
+ # no size (for now)
+ result.append( file_info( os.path.basename( file_path ), None, mod_time ) )
+ for fi in result:
+ utils.log( " %s" % fi )
+ return result
+
+def find_by_name( d, name ):
+ for dd in d:
+ if dd.name == name:
+ return dd
+ return None
+
+def diff( source_dir_content, destination_dir_content ):
+ utils.log( "Finding updated files" )
+ result = ( [], [] ) # ( changed_files, obsolete_files )
+ for source_file in source_dir_content:
+ found = find_by_name( destination_dir_content, source_file.name )
+ if found is None: result[0].append( source_file.name )
+ elif time.mktime( found.date ) != time.mktime( source_file.date ): result[0].append( source_file.name )
+ else:
+ pass
+ for destination_file in destination_dir_content:
+ found = find_by_name( source_dir_content, destination_file.name )
+ if found is None: result[1].append( destination_file.name )
+ utils.log( " Updated files:" )
+ for f in result[0]:
+ utils.log( " %s" % f )
+ utils.log( " Obsolete files:" )
+ for f in result[1]:
+ utils.log( " %s" % f )
+ return result
+
+def _modtime_timestamp( file ):
+ return os.stat( file ).st_mtime
+
+
+root_paths = []
+
+def shorten( file_path ):
+ root_paths.sort( lambda x, y: cmp( len(y ), len( x ) ) )
+ for root in root_paths:
+ if file_path.lower().startswith( root.lower() ):
+ return file_path[ len( root ): ].replace( "\\", "/" )
+ return file_path.replace( "\\", "/" )
+
+class action:
+ def __init__( self, file_path ):
+ self.file_path_ = file_path
+ self.relevant_paths_ = [ self.file_path_ ]
+ self.boost_paths_ = []
+ self.dependencies_ = []
+ self.other_results_ = []
+
+ def run( self ):
+ utils.log( "%s: run" % shorten( self.file_path_ ) )
+ __log__ = 2
+
+ for dependency in self.dependencies_:
+ if not os.path.exists( dependency ):
+ utils.log( "%s doesn't exists, removing target" % shorten( dependency ) )
+ self.clean()
+ return
+
+ if not os.path.exists( self.file_path_ ):
+ utils.log( "target doesn't exists, building" )
+ self.update()
+ return
+
+ dst_timestamp = _modtime_timestamp( self.file_path_ )
+ utils.log( " target: %s [%s]" % ( shorten( self.file_path_ ), dst_timestamp ) )
+ needs_updating = 0
+ utils.log( " dependencies:" )
+ for dependency in self.dependencies_:
+ dm = _modtime_timestamp( dependency )
+ update_mark = ""
+ if dm > dst_timestamp:
+ needs_updating = 1
+ utils.log( ' %s [%s] %s' % ( shorten( dependency ), dm, update_mark ) )
+
+ if needs_updating:
+ utils.log( "target needs updating, rebuilding" )
+ self.update()
+ return
+ else:
+ utils.log( "target is up-to-date" )
+
+
+ def clean( self ):
+ to_unlink = self.other_results_ + [ self.file_path_ ]
+ for result in to_unlink:
+ utils.log( ' Deleting obsolete "%s"' % shorten( result ) )
+ if os.path.exists( result ):
+ os.unlink( result )
+
+class merge_xml_action( action ):
+ def __init__( self, source, destination, expected_results_file, failures_markup_file ):
+ action.__init__( self, destination )
+ self.source_ = source
+ self.destination_ = destination
+
+ self.expected_results_file_ = expected_results_file
+ self.failures_markup_file_ = failures_markup_file
+
+ self.dependencies_.extend( [
+ self.source_
+ , self.expected_results_file_
+ , self.failures_markup_file_
+ ]
+ )
+
+ self.relevant_paths_.extend( [ self.source_ ] )
+ self.boost_paths_.extend( [ self.expected_results_file_, self.failures_markup_file_ ] )
+
+ def update( self ):
+ utils.log( 'Merging "%s" with expected results...' % shorten( self.source_ ) )
+ utils.libxslt(
+ utils.log
+ , self.source_
+ , xsl_path( 'add_expected_results.xsl' )
+ , os.path.join( self.file_path_ )
+ , {
+ "expected_results_file" : self.expected_results_file_
+ , "failures_markup_file": self.failures_markup_file_
+ }
+ )
+
+ def _xml_timestamp( xml_path ):
+
+ class timestamp_reader( xml.sax.handler.ContentHandler ):
+ def startElement( self, name, attrs ):
+ if name == 'test-run':
+ self.timestamp = attrs.getValue( 'timestamp' )
+ raise self
+
+ try:
+ xml.sax.parse( xml_path, timestamp_reader() )
+ raise 'Cannot extract timestamp from "%s". Invalid XML file format?' % xml_path
+ except timestamp_reader, x:
+ return x.timestamp
+
+
+class make_links_action( action ):
+ def __init__( self, source, destination, output_dir, tag, run_date, comment_file, failures_markup_file ):
+ action.__init__( self, destination )
+ self.dependencies_.append( source )
+ self.source_ = source
+ self.output_dir_ = output_dir
+ self.tag_ = tag
+ self.run_date_ = run_date
+ self.comment_file_ = comment_file
+ self.failures_markup_file_ = failures_markup_file
+ self.links_file_path_ = os.path.join( output_dir, 'links.html' )
+
+ def update( self ):
+ utils.makedirs( os.path.join( os.path.dirname( self.links_file_path_ ), "output" ) )
+ utils.makedirs( os.path.join( os.path.dirname( self.links_file_path_ ), "developer", "output" ) )
+ utils.makedirs( os.path.join( os.path.dirname( self.links_file_path_ ), "user", "output" ) )
+ utils.log( ' Making test output files...' )
+ utils.libxslt(
+ utils.log
+ , self.source_
+ , xsl_path( 'links_page.xsl' )
+ , self.links_file_path_
+ , {
+ 'source': self.tag_
+ , 'run_date': self.run_date_
+ , 'comment_file': self.comment_file_
+ , 'explicit_markup_file': self.failures_markup_file_
+ }
+ )
+
+ open( self.file_path_, "w" ).close()
+
+class unzip_action( action ):
+ def __init__( self, source, destination, unzip_func ):
+ action.__init__( self, destination )
+ self.dependencies_.append( source )
+ self.source_ = source
+ self.unzip_func_ = unzip_func
+
+ def update( self ):
+ try:
+ utils.log( ' Unzipping "%s" ... into "%s"' % ( shorten( self.source_ ), os.path.dirname( self.file_path_ ) ) )
+ self.unzip_func_( self.source_, os.path.dirname( self.file_path_ ) )
+ except Exception, msg:
+ utils.log( ' Skipping "%s" due to errors (%s)' % ( self.source_, msg ) )
+
+def ftp_task( site, site_path , destination ):
+ __log__ = 1
+ utils.log( '' )
+ utils.log( 'ftp_task: "ftp://%s/%s" -> %s' % ( site, site_path, destination ) )
+
+ utils.log( ' logging on ftp site %s' % site )
+ f = ftplib.FTP( site )
+ f.login()
+ utils.log( ' cwd to "%s"' % site_path )
+ f.cwd( site_path )
+
+ source_content = list_ftp( f )
+ destination_content = list_dir( destination )
+ d = diff( source_content, destination_content )
+
+ def synchronize():
+ for source in d[0]:
+ utils.log( 'Copying "%s"' % source )
+ result = open( os.path.join( destination, source ), 'wb' )
+ f.retrbinary( 'RETR %s' % source, result.write )
+ result.close()
+ mod_date = find_by_name( source_content, source ).date
+ m = time.mktime( mod_date )
+ os.utime( os.path.join( destination, source ), ( m, m ) )
+
+ for obsolete in d[1]:
+ utils.log( 'Deleting "%s"' % obsolete )
+ os.unlink( os.path.join( destination, obsolete ) )
+
+ utils.log( " Synchronizing..." )
+ __log__ = 2
+ synchronize()
+
+ f.quit()
+
+def unzip_archives_task( source_dir, processed_dir, unzip_func ):
+ utils.log( '' )
+ utils.log( 'unzip_archives_task: unpacking updated archives in "%s" into "%s"...' % ( source_dir, processed_dir ) )
+ __log__ = 1
+
+ target_files = [ os.path.join( processed_dir, os.path.basename( x.replace( ".zip", ".xml" ) ) ) for x in glob.glob( os.path.join( source_dir, "*.zip" ) ) ] + glob.glob( os.path.join( processed_dir, "*.xml" ) )
+ actions = [ unzip_action( os.path.join( source_dir, os.path.basename( x.replace( ".xml", ".zip" ) ) ), x, unzip_func ) for x in target_files ]
+ for a in actions:
+ a.run()
+
+def merge_xmls_task( source_dir, processed_dir, merged_dir, expected_results_file, failures_markup_file ):
+ utils.log( '' )
+ utils.log( 'merge_xmls_task: merging updated XMLs in "%s"...' % source_dir )
+ __log__ = 1
+
+ utils.makedirs( merged_dir )
+ target_files = [ os.path.join( merged_dir, os.path.basename( x ) ) for x in glob.glob( os.path.join( processed_dir, "*.xml" ) ) ] + glob.glob( os.path.join( merged_dir, "*.xml" ) )
+ actions = [ merge_xml_action( os.path.join( processed_dir, os.path.basename( x ) )
+ , x
+ , expected_results_file
+ , failures_markup_file ) for x in target_files ]
+
+ for a in actions:
+ a.run()
+
+
+def make_links_task( input_dir, output_dir, tag, run_date, comment_file, extended_test_results, failures_markup_file ):
+ utils.log( '' )
+ utils.log( 'make_links_task: make output files for test results in "%s"...' % input_dir )
+ __log__ = 1
+
+ target_files = [ x + ".links" for x in glob.glob( os.path.join( input_dir, "*.xml" ) ) ] + glob.glob( os.path.join( input_dir, "*.links" ) )
+ actions = [ make_links_action( x.replace( ".links", "" )
+ , x
+ , output_dir
+ , tag
+ , run_date
+ , comment_file
+ , failures_markup_file
+ ) for x in target_files ]
+
+ for a in actions:
+ a.run()
+
+class xmlgen( xml.sax.saxutils.XMLGenerator ):
+ document_started = 0
+
+ def startDocument(self):
+ if not self.document_started:
+ xml.sax.saxutils.XMLGenerator.startDocument( self )
+ self.document_started = 1
+
+
+def merge_processed_test_runs( test_runs_dir, tag, writer ):
+ utils.log( '' )
+ utils.log( 'merge_processed_test_runs: merging processed test runs into a single XML... %s' % test_runs_dir )
+ __log__ = 1
+
+ all_runs_xml = xmlgen( writer )
+ all_runs_xml.startDocument()
+ all_runs_xml.startElement( 'all-test-runs', {} )
+
+ files = glob.glob( os.path.join( test_runs_dir, '*.xml' ) )
+ for test_run in files:
+ try:
+ utils.log( ' Writing "%s" into the resulting XML...' % test_run )
+ xml.sax.parse( test_run, all_runs_xml )
+ except Exception, msg:
+ utils.log( ' Skipping "%s" due to errors (%s)' % ( test_run, msg ) )
+
+ all_runs_xml.endElement( 'all-test-runs' )
+ all_runs_xml.endDocument()
+
+def execute_tasks(
+ tag
+ , user
+ , run_date
+ , comment_file
+ , results_dir
+ , output_dir
+ , reports
+ , warnings
+ , extended_test_results
+ , dont_collect_logs
+ , expected_results_file
+ , failures_markup_file
+ ):
+
+
+ # results_xml_path = os.path.join( results_dir, results_xml )
+ # utils.log( 'Merging test runs into "%s"...' % results_xml_path )
+
+
+ incoming_dir = os.path.join( results_dir, 'incoming', tag )
+ processed_dir = os.path.join( incoming_dir, 'processed' )
+ merged_dir = os.path.join( processed_dir, 'merged' )
+ if not os.path.exists( incoming_dir ):
+ os.makedirs( incoming_dir )
+ if not os.path.exists( processed_dir ):
+ os.makedirs( processed_dir )
+ if not os.path.exists( merged_dir ):
+ os.makedirs( merged_dir )
+
+ if not dont_collect_logs:
+ ftp_site = 'fx.meta-comm.com'
+ site_path = '/boost-regression/%s' % tag
+
+ ftp_task( ftp_site, site_path, incoming_dir )
+
+ unzip_archives_task( incoming_dir, processed_dir, utils.unzip )
+ merge_xmls_task( incoming_dir, processed_dir, merged_dir, expected_results_file, failures_markup_file )
+ make_links_task( merged_dir
+ , output_dir
+ , tag
+ , run_date
+ , comment_file
+ , extended_test_results
+ , failures_markup_file )
+
+
+ results_xml_path = os.path.join( output_dir, "extended_test_results.xml" )
+ writer = codecs.open( results_xml_path, 'w', "utf-8" )
+ merge_processed_test_runs( merged_dir, tag, writer )
+ writer.close()
+
+
+ make_result_pages(
+ extended_test_results
+ , expected_results_file
+ , failures_markup_file
+ , tag
+ , run_date
+ , comment_file
+ , output_dir
+ , reports
+ , warnings
+ )
+
+
+def make_result_pages(
+ extended_test_results
+ , expected_results_file
+ , failures_markup_file
+ , tag
+ , run_date
+ , comment_file
+ , output_dir
+ , reports
+ , warnings
+ ):
+
+ utils.log( 'Producing the reports...' )
+ __log__ = 1
+
+ warnings_text = '+'.join( warnings )
+
+ if comment_file != '':
+ comment_file = os.path.abspath( comment_file )
+
+ links = os.path.join( output_dir, 'links.html' )
+
+ utils.makedirs( os.path.join( output_dir, 'output' ) )
+ for mode in ( 'developer', 'user' ):
+ utils.makedirs( os.path.join( output_dir, mode , 'output' ) )
+
+ issues = os.path.join( output_dir, 'developer', 'issues.html' )
+ if 'i' in reports:
+ utils.log( ' Making issues list...' )
+ utils.libxslt(
+ utils.log
+ , extended_test_results
+ , xsl_path( 'issues_page.xsl' )
+ , issues
+ , {
+ 'source': tag
+ , 'run_date': run_date
+ , 'warnings': warnings_text
+ , 'comment_file': comment_file
+ , 'expected_results_file': expected_results_file
+ , 'explicit_markup_file': failures_markup_file
+ , 'release': "yes"
+ }
+ )
+
+ for mode in ( 'developer', 'user' ):
+ if mode[0] + 'd' in reports:
+ utils.log( ' Making detailed %s report...' % mode )
+ utils.libxslt(
+ utils.log
+ , extended_test_results
+ , xsl_path( 'result_page.xsl' )
+ , os.path.join( output_dir, mode, 'index.html' )
+ , {
+ 'links_file': 'links.html'
+ , 'mode': mode
+ , 'source': tag
+ , 'run_date': run_date
+ , 'warnings': warnings_text
+ , 'comment_file': comment_file
+ , 'expected_results_file': expected_results_file
+ , 'explicit_markup_file' : failures_markup_file
+ }
+ )
+
+ for mode in ( 'developer', 'user' ):
+ if mode[0] + 's' in reports:
+ utils.log( ' Making summary %s report...' % mode )
+ utils.libxslt(
+ utils.log
+ , extended_test_results
+ , xsl_path( 'summary_page.xsl' )
+ , os.path.join( output_dir, mode, 'summary.html' )
+ , {
+ 'mode' : mode
+ , 'source': tag
+ , 'run_date': run_date
+ , 'warnings': warnings_text
+ , 'comment_file': comment_file
+ , 'explicit_markup_file' : failures_markup_file
+ }
+ )
+
+ for mode in ( 'developer', 'user' ):
+ if mode[0] + 'dr' in reports:
+ utils.log( ' Making detailed %s release report...' % mode )
+ utils.libxslt(
+ utils.log
+ , extended_test_results
+ , xsl_path( 'result_page.xsl' )
+ , os.path.join( output_dir, mode, 'index_release.html' )
+ , {
+ 'links_file': 'links.html'
+ , 'mode': mode
+ , 'source': tag
+ , 'run_date': run_date
+ , 'warnings': warnings_text
+ , 'comment_file': comment_file
+ , 'expected_results_file': expected_results_file
+ , 'explicit_markup_file' : failures_markup_file
+ , 'release': "yes"
+ }
+ )
+
+ for mode in ( 'developer', 'user' ):
+ if mode[0] + 'sr' in reports:
+ utils.log( ' Making summary %s release report...' % mode )
+ utils.libxslt(
+ utils.log
+ , extended_test_results
+ , xsl_path( 'summary_page.xsl' )
+ , os.path.join( output_dir, mode, 'summary_release.html' )
+ , {
+ 'mode' : mode
+ , 'source': tag
+ , 'run_date': run_date
+ , 'warnings': warnings_text
+ , 'comment_file': comment_file
+ , 'explicit_markup_file' : failures_markup_file
+ , 'release': 'yes'
+ }
+ )
+
+ if 'e' in reports:
+ utils.log( ' Generating expected_results ...' )
+ utils.libxslt(
+ utils.log
+ , extended_test_results
+ , xsl_path( 'produce_expected_results.xsl' )
+ , os.path.join( output_dir, 'expected_results.xml' )
+ )
+
+ if 'n' in reports:
+ utils.log( ' Making runner comment files...' )
+ utils.libxslt(
+ utils.log
+ , extended_test_results
+ , xsl_path( 'runners.xsl' )
+ , os.path.join( output_dir, 'runners.html' )
+ )
+
+ shutil.copyfile(
+ xsl_path( 'html/master.css' )
+ , os.path.join( output_dir, 'master.css' )
+ )
+
+
+def build_xsl_reports(
+ locate_root_dir
+ , tag
+ , expected_results_file
+ , failures_markup_file
+ , comment_file
+ , results_dir
+ , result_file_prefix
+ , dont_collect_logs = 0
+ , reports = report_types
+ , warnings = []
+ , user = None
+ , upload = False
+ ):
+
+ ( run_date ) = time.strftime( '%Y-%m-%dT%H:%M:%SZ', time.gmtime() )
+
+ root_paths.append( locate_root_dir )
+ root_paths.append( results_dir )
+
+ bin_boost_dir = os.path.join( locate_root_dir, 'bin', 'boost' )
+
+ output_dir = os.path.join( results_dir, result_file_prefix )
+ utils.makedirs( output_dir )
+
+ if expected_results_file != '':
+ expected_results_file = os.path.abspath( expected_results_file )
+ else:
+ expected_results_file = os.path.abspath( map_path( 'empty_expected_results.xml' ) )
+
+
+ extended_test_results = os.path.join( output_dir, 'extended_test_results.xml' )
+
+ execute_tasks(
+ tag
+ , user
+ , run_date
+ , comment_file
+ , results_dir
+ , output_dir
+ , reports
+ , warnings
+ , extended_test_results
+ , dont_collect_logs
+ , expected_results_file
+ , failures_markup_file
+ )
+
+ if upload:
+ upload_dir = 'regression-logs/'
+ utils.log( 'Uploading results into "%s" [connecting as %s]...' % ( upload_dir, user ) )
+
+ archive_name = '%s.tar.gz' % result_file_prefix
+ utils.tar(
+ os.path.join( results_dir, result_file_prefix )
+ , archive_name
+ )
+
+ utils.sourceforge.upload( os.path.join( results_dir, archive_name ), upload_dir, user )
+ utils.sourceforge.untar( os.path.join( upload_dir, archive_name ), user, background = True )
+
+
+def accept_args( args ):
+ args_spec = [
+ 'locate-root='
+ , 'tag='
+ , 'expected-results='
+ , 'failures-markup='
+ , 'comment='
+ , 'results-dir='
+ , 'results-prefix='
+ , 'dont-collect-logs'
+ , 'reports='
+ , 'user='
+ , 'upload'
+ , 'help'
+ ]
+
+ options = {
+ '--comment': ''
+ , '--expected-results': ''
+ , '--failures-markup': ''
+ , '--reports': string.join( report_types, ',' )
+ , '--tag': None
+ , '--user': None
+ , 'upload': False
+ }
+
+ utils.accept_args( args_spec, args, options, usage )
+ if not options.has_key( '--results-dir' ):
+ options[ '--results-dir' ] = options[ '--locate-root' ]
+
+ if not options.has_key( '--results-prefix' ):
+ options[ '--results-prefix' ] = 'all'
+
+ return (
+ options[ '--locate-root' ]
+ , options[ '--tag' ]
+ , options[ '--expected-results' ]
+ , options[ '--failures-markup' ]
+ , options[ '--comment' ]
+ , options[ '--results-dir' ]
+ , options[ '--results-prefix' ]
+ , options.has_key( '--dont-collect-logs' )
+ , options[ '--reports' ].split( ',' )
+ , options[ '--user' ]
+ , options.has_key( '--upload' )
+ )
+
+
+def usage():
+ print 'Usage: %s [options]' % os.path.basename( sys.argv[0] )
+ print '''
+\t--locate-root the same as --locate-root in compiler_status
+\t--tag the tag for the results (i.e. 'CVS-HEAD')
+\t--expected-results the file with the results to be compared with
+\t the current run
+\t--failures-markup the file with the failures markup
+\t--comment an html comment file (will be inserted in the reports)
+\t--results-dir the directory containing -links.html, -fail.html
+\t files produced by compiler_status (by default the
+\t same as specified in --locate-root)
+\t--results-prefix the prefix of -links.html, -fail.html
+\t files produced by compiler_status
+\t--user SourceForge user name for a shell account
+\t--upload upload reports to SourceForge
+
+The following options are useful in debugging:
+
+\t--dont-collect-logs dont collect the test logs
+\t--reports produce only the specified reports
+\t us - user summary
+\t ds - developer summary
+\t ud - user detailed
+\t dd - developer detailed
+\t l - links
+\t p - patches
+\t x - extended results file
+\t i - issues
+\t n - runner comment files
+'''
+
+def main():
+ build_xsl_reports( *accept_args( sys.argv[ 1 : ] ) )
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/regression/xsl_reports/email_maintainers.py b/tools/regression/xsl_reports/email_maintainers.py
new file mode 100644
index 0000000000..7d44f84b57
--- /dev/null
+++ b/tools/regression/xsl_reports/email_maintainers.py
@@ -0,0 +1,219 @@
+#
+# Copyright (C) 2005 The Trustees of Indiana University
+# Author: Douglas Gregor
+#
+# 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)
+#
+import re
+import smtplib
+import os
+import time
+import string
+import datetime
+import sys
+
+# Retrieve the issues email from MetaComm, trying a few times in case
+# something wonky is happening.
+# Returns the list of failing libraries
+def get_issues_email():
+ got_issues = False
+ print 'Retrieving issues email...'
+ for x in range(30):
+ if not ('--no-get' in sys.argv):
+ # Update issues-email.txt
+ os.system('curl -O http://engineering.meta-comm.com/boost-regression/CVS-HEAD/developer/issues-email.txt')
+
+ # Determine the set of libraries that have unresolved failures
+ failing_libraries = {}
+ library_regex = re.compile('\|(.*)\|')
+
+ for line in file('issues-email.txt', 'r'):
+ if line.count('Report time') > 0:
+ got_issues = True
+
+ m = library_regex.match(line)
+ if m:
+ failing_libraries[m.group(1)] = ""
+
+ if got_issues:
+ break
+
+ time.sleep (30)
+
+ return failing_libraries
+
+# Parses the file $BOOST_ROOT/libs/maintainers.txt to create a hash
+# mapping from the library name to the list of maintainers.
+def get_library_maintainers():
+ maintainers = {}
+ lib_maintainer_regex = re.compile('(\S+)\s*(.*)')
+ name_email_regex = re.compile('\s*(\w*(\s*\w+)+)\s*<\s*(\S*(\s*\S+)+)\S*>')
+ at_regex = re.compile('\s*-\s*at\s*-\s*')
+ for line in file('../../../libs/maintainers.txt', 'r'):
+ m = lib_maintainer_regex.match (line)
+ if m:
+ lib = m.group(1)
+ maintainers[lib] = list()
+ for person in re.split('\s*,\s*', m.group(2)):
+ nmm = name_email_regex.match(person)
+ if nmm:
+ name = nmm.group(1)
+ email = nmm.group(3)
+ email = at_regex.sub('@', email)
+ maintainers[lib].append((name, email))
+ return maintainers
+
+# Send a message to "person" (a maintainer of a library that is
+# failing).
+# maintainers is the result of get_library_maintainers()
+def send_individualized_message (person, maintainers):
+
+ print ('Message for ' + person[0] + ' <' + person[1] + '>' + ' contains:')
+
+ # Build the message header
+ message = """From: Douglas Gregor <dgregor@cs.indiana.edu>
+To: """
+ message += person[0] + ' <' + person[1] + '>'
+ message += """
+Reply-To: boost@lists.boost.org
+Subject: Regressions in your Boost libraries as of """
+ message += str(datetime.date.today())
+ message += """
+
+You are receiving this report because one or more of the libraries you
+maintain has regression test failures that are not accounted for.
+A full version of the report is sent to the Boost developer's mailing
+list.
+
+Detailed report:
+"""
+ # There are several states we could be in:
+ # 0 Initial state. Eat everything up to the "NNN failures in MMM
+ # libraries" line
+ # 1 Suppress output within this library
+ # 2 Forward output within this library
+ state = 0
+
+ failures_in_lib_regex = re.compile('\d+ failur.*\d+ librar')
+ lib_failures_regex = re.compile(' (\S+) \((\d+)\)')
+ lib_start_regex = re.compile('\|(\S+)\|')
+ general_pass_regex = re.compile(' http://')
+ for line in file('issues-email.txt', 'r'):
+ if state == 0:
+ lfm = lib_failures_regex.match(line)
+ if lfm:
+ # Pass the line through if the current person is a
+ # maintainer of this library
+ if person in maintainers[lfm.group(1)]:
+ message += line
+ print line,
+
+ elif failures_in_lib_regex.match(line):
+ message += "\nThere are failures in these libraries you maintain:\n"
+ elif general_pass_regex.match(line):
+ message += line
+
+ lib_start = lib_start_regex.match(line)
+ if lib_start:
+ if state == 0:
+ message += '\n'
+
+ if person in maintainers[lib_start.group(1)]:
+ message += line
+ state = 2
+ else:
+ state = 1
+ else:
+ if state == 1:
+ pass
+ elif state == 2:
+ message += line
+
+ if '--debug' in sys.argv:
+ print '-----------------Message text----------------'
+ print message
+ else:
+ print
+
+ if '--send' in sys.argv:
+ print "Sending..."
+ smtp = smtplib.SMTP('milliways.osl.iu.edu')
+ smtp.sendmail(from_addr = 'Douglas Gregor <dgregor@cs.indiana.edu>',
+ to_addrs = person[1],
+ msg = message)
+ print "Done."
+
+
+# Send a message to the developer's list
+def send_boost_developers_message(maintainers, failing_libraries):
+ to_line = 'boost@lists.boost.org'
+ from_line = 'Douglas Gregor <dgregor@cs.indiana.edu>'
+
+ message = """From: Douglas Gregor <dgregor@cs.indiana.edu>
+To: boost@lists.boost.org
+Reply-To: boost@lists.boost.org
+Subject: Boost regression notification ("""
+
+ message += str(datetime.date.today())
+ message += ")"
+
+ message += """
+
+"""
+
+ for line in file('issues-email.txt', 'r'):
+ # Right before the detailed report, put out a warning message if
+ # any libraries with failures to not have maintainers listed.
+ if line.startswith('Detailed report:'):
+ missing_maintainers = False
+ for lib in failing_libraries:
+ if maintainers[lib] == list():
+ missing_maintainers = True
+
+ if missing_maintainers:
+ message += """WARNING: The following libraries have failing regression tests but do
+not have a maintainer on file. Once a maintainer is found, add an
+entry to libs/maintainers.txt to eliminate this message.
+"""
+
+ for lib in failing_libraries:
+ if maintainers[lib] == list():
+ message += ' ' + lib + '\n'
+ message += '\n'
+
+ message += line
+
+ if '--send' in sys.argv:
+ print 'Sending notification email...'
+ smtp = smtplib.SMTP('milliways.osl.iu.edu')
+ smtp.sendmail(from_addr = from_line, to_addrs = to_line, msg = message)
+ print 'Done.'
+
+ if '--debug' in sys.argv:
+ print "----------Boost developer's message text----------"
+ print message
+
+###############################################################################
+# Main program #
+###############################################################################
+
+maintainers = get_library_maintainers()
+failing_libraries = get_issues_email()
+
+# Compute the set of maintainers that should receive notification
+cc_list = {}
+for lib in failing_libraries:
+ for maintainer in maintainers[lib]:
+ cc_list[maintainer] = {}
+
+# Send out individualized e-mail for each maintainer
+for maintainer in cc_list:
+ send_individualized_message(maintainer, maintainers)
+
+send_boost_developers_message(maintainers, failing_libraries)
+
+if not ('--send' in sys.argv):
+ print 'Chickening out and not sending any e-mail.'
+ print 'Use --send to actually send e-mail.'
diff --git a/tools/regression/xsl_reports/empty_expected_results.xml b/tools/regression/xsl_reports/empty_expected_results.xml
new file mode 100644
index 0000000000..43e72ca406
--- /dev/null
+++ b/tools/regression/xsl_reports/empty_expected_results.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+<expected-failures>
+</expected-failures>
+</root> \ No newline at end of file
diff --git a/tools/regression/xsl_reports/make_snapshot.py b/tools/regression/xsl_reports/make_snapshot.py
new file mode 100644
index 0000000000..80e1b29255
--- /dev/null
+++ b/tools/regression/xsl_reports/make_snapshot.py
@@ -0,0 +1,165 @@
+
+# Copyright (c) MetaCommunications, Inc. 2003-2005
+#
+# 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)
+
+import tarfile
+import shutil
+import time
+import os.path
+import string
+import sys
+import traceback
+
+
+def retry( f, args, max_attempts=5, sleep_secs=10 ):
+ for attempts in range( max_attempts, -1, -1 ):
+ try:
+ return f( *args )
+ except Exception, msg:
+ utils.log( '%s failed with message "%s"' % ( f.__name__, msg ) )
+ if attempts == 0:
+ utils.log( 'Giving up.' )
+ raise
+
+ utils.log( 'Retrying (%d more attempts).' % attempts )
+ time.sleep( sleep_secs )
+
+
+def rmtree( path ):
+ if os.path.exists( path ):
+ if sys.platform == 'win32':
+ os.system( 'del /f /s /q "%s" >nul 2>&1' % path )
+ shutil.rmtree( path )
+ else:
+ os.system( 'rm -f -r "%s"' % path )
+
+
+def cvs_command( user, command ):
+ cmd = 'cvs -d:ext:%(user)s@cvs.sourceforge.net:/cvsroot/boost -z9 %(command)s' \
+ % { 'user': user, 'command': command }
+
+ utils.log( 'Executing CVS command "%s"' % cmd )
+ rc = os.system( cmd )
+ if rc != 0:
+ raise Exception( 'CVS command "%s" failed with code %d' % ( cmd, rc ) )
+
+
+
+def cvs_export( working_dir, user, tag ):
+ if tag != 'CVS-HEAD':
+ command = 'export -r %s boost' % tag
+ else:
+ command = 'export -r HEAD boost'
+
+ os.chdir( working_dir )
+ retry(
+ cvs_command
+ , ( user, command )
+ )
+
+
+def make_tarball(
+ working_dir
+ , tag
+ , user
+ , site_dir
+ ):
+
+ sources_dir = os.path.join( working_dir, 'boost' )
+ if os.path.exists( sources_dir ):
+ utils.log( 'Directory "%s" already exists, cleaning it up...' % sources_dir )
+ rmtree( sources_dir )
+
+ try:
+ os.mkdir( sources_dir )
+ utils.log( 'Exporting files from CVS...' )
+ cvs_export( working_dir, user, tag )
+ except:
+ utils.log( 'Cleaning up...' )
+ rmtree( sources_dir )
+ raise
+
+ timestamp = time.time()
+ timestamped_dir_name = 'boost-%s-%s' % ( tag, time.strftime( '%y-%m-%d-%H%M', time.gmtime( timestamp ) ) )
+ timestamped_dir = os.path.join( working_dir, timestamped_dir_name )
+
+ utils.log( 'Renaming "%s" to "%s"...' % ( sources_dir, timestamped_dir ) )
+ os.rename( sources_dir, timestamped_dir )
+
+ tarball_name = 'boost-%s.tar.bz2' % tag
+ tarball_path = os.path.join( working_dir, tarball_name )
+
+ utils.log( 'Archiving "%s" to "%s"...' % ( timestamped_dir, tarball_path ) )
+ tar = tarfile.open( tarball_path, 'w|bz2' )
+ tar.posix = False # see http://tinyurl.com/4ebd8
+
+ tar.add( timestamped_dir, timestamped_dir_name )
+ tar.close()
+
+ tarball_timestamp_path = os.path.join( working_dir, 'boost-%s.timestamp' % tag )
+ timestamp_file = open( tarball_timestamp_path, 'w' )
+ timestamp_file.write( '%f' % timestamp )
+ timestamp_file.close()
+
+ if site_dir is not None:
+ utils.log( 'Moving "%s" to the site location "%s"...' % ( tarball_name, site_dir ) )
+ temp_site_dir = os.path.join( site_dir, 'temp' )
+ if not os.path.exists( temp_site_dir ):
+ os.mkdir( temp_site_dir )
+
+ shutil.move( tarball_path, temp_site_dir )
+ shutil.move( os.path.join( temp_site_dir, tarball_name ), site_dir )
+ shutil.move( tarball_timestamp_path, site_dir )
+ utils.log( 'Removing "%s"...' % timestamped_dir )
+ rmtree( timestamped_dir )
+
+
+def accept_args( args ):
+ args_spec = [
+ 'working-dir='
+ , 'tag='
+ , 'user='
+ , 'site-dir='
+ , 'mail='
+ , 'help'
+ ]
+
+ options = {
+ '--tag': 'CVS-HEAD'
+ , '--site-dir': None
+ }
+
+ utils.accept_args( args_spec, args, options, usage )
+
+ return (
+ options[ '--working-dir' ]
+ , options[ '--tag' ]
+ , options[ '--user' ]
+ , options[ '--site-dir' ]
+ )
+
+
+def usage():
+ print 'Usage: %s [options]' % os.path.basename( sys.argv[0] )
+ print '''
+\t--working-dir working directory
+\t--tag snapshot tag (i.e. 'CVS-HEAD')
+\t--user SourceForge user name for a CVS account
+\t--site-dir site directory to copy the snapshot to (optional)
+'''
+
+def main():
+ make_tarball( *accept_args( sys.argv[ 1: ] ) )
+
+if __name__ != '__main__': import utils
+else:
+ # in absense of relative import...
+ xsl_path = os.path.abspath( os.path.dirname( sys.argv[ 0 ] ) )
+ while os.path.basename( xsl_path ) != 'xsl_reports': xsl_path = os.path.dirname( xsl_path )
+ sys.path.append( xsl_path )
+
+ import utils
+ main()
diff --git a/tools/regression/xsl_reports/report.py b/tools/regression/xsl_reports/report.py
new file mode 100644
index 0000000000..3a262195d6
--- /dev/null
+++ b/tools/regression/xsl_reports/report.py
@@ -0,0 +1,369 @@
+
+# Copyright (c) MetaCommunications, Inc. 2003-2004
+#
+# 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)
+
+import shutil
+import os.path
+import os
+import string
+import time
+import sys
+
+import utils
+import runner
+
+
+report_types = [ 'us', 'ds', 'ud', 'dd', 'l', 'p', 'x', 'i', 'n', 'ddr', 'dsr' ]
+
+if __name__ == '__main__':
+ run_dir = os.path.abspath( os.path.dirname( sys.argv[ 0 ] ) )
+else:
+ run_dir = os.path.abspath( os.path.dirname( sys.modules[ __name__ ].__file__ ) )
+
+
+def map_path( path ):
+ return os.path.join( run_dir, path )
+
+
+def xsl_path( xsl_file_name, v2 = 0 ):
+ if v2:
+ return map_path( os.path.join( 'xsl/v2', xsl_file_name ) )
+ else:
+ return map_path( os.path.join( 'xsl', xsl_file_name ) )
+
+
+def make_result_pages(
+ test_results_file
+ , expected_results_file
+ , failures_markup_file
+ , tag
+ , run_date
+ , comment_file
+ , results_dir
+ , result_prefix
+ , reports
+ , v2
+ ):
+
+ utils.log( 'Producing the reports...' )
+ __log__ = 1
+
+ output_dir = os.path.join( results_dir, result_prefix )
+ utils.makedirs( output_dir )
+
+ if comment_file != '':
+ comment_file = os.path.abspath( comment_file )
+
+ if expected_results_file != '':
+ expected_results_file = os.path.abspath( expected_results_file )
+ else:
+ expected_results_file = os.path.abspath( map_path( 'empty_expected_results.xml' ) )
+
+
+ extended_test_results = os.path.join( output_dir, 'extended_test_results.xml' )
+ if 'x' in reports:
+ utils.log( ' Merging with expected results...' )
+ utils.libxslt(
+ utils.log
+ , test_results_file
+ , xsl_path( 'add_expected_results.xsl', v2 )
+ , extended_test_results
+ , { 'expected_results_file': expected_results_file, 'failures_markup_file' : failures_markup_file }
+ )
+
+ links = os.path.join( output_dir, 'links.html' )
+
+ utils.makedirs( os.path.join( output_dir, 'output' ) )
+ for mode in ( 'developer', 'user' ):
+ utils.makedirs( os.path.join( output_dir, mode , 'output' ) )
+
+ if 'l' in reports:
+ utils.log( ' Making test output files...' )
+ utils.libxslt(
+ utils.log
+ , extended_test_results
+ , xsl_path( 'links_page.xsl', v2 )
+ , links
+ , {
+ 'source': tag
+ , 'run_date': run_date
+ , 'comment_file': comment_file
+ , 'explicit_markup_file': failures_markup_file
+ }
+ )
+
+
+ issues = os.path.join( output_dir, 'developer', 'issues.html' )
+ if 'i' in reports:
+ utils.log( ' Making issues list...' )
+ utils.libxslt(
+ utils.log
+ , extended_test_results
+ , xsl_path( 'issues_page.xsl', v2 )
+ , issues
+ , {
+ 'source': tag
+ , 'run_date': run_date
+ , 'comment_file': comment_file
+ , 'explicit_markup_file': failures_markup_file
+ }
+ )
+
+ for mode in ( 'developer', 'user' ):
+ if mode[0] + 'd' in reports:
+ utils.log( ' Making detailed %s report...' % mode )
+ utils.libxslt(
+ utils.log
+ , extended_test_results
+ , xsl_path( 'result_page.xsl', v2 )
+ , os.path.join( output_dir, mode, 'index.html' )
+ , {
+ 'links_file': 'links.html'
+ , 'mode': mode
+ , 'source': tag
+ , 'run_date': run_date
+ , 'comment_file': comment_file
+ , 'expected_results_file': expected_results_file
+ , 'explicit_markup_file' : failures_markup_file
+ }
+ )
+
+ for mode in ( 'developer', 'user' ):
+ if mode[0] + 's' in reports:
+ utils.log( ' Making summary %s report...' % mode )
+ utils.libxslt(
+ utils.log
+ , extended_test_results
+ , xsl_path( 'summary_page.xsl', v2 )
+ , os.path.join( output_dir, mode, 'summary.html' )
+ , {
+ 'mode' : mode
+ , 'source': tag
+ , 'run_date': run_date
+ , 'comment_file': comment_file
+ , 'explicit_markup_file' : failures_markup_file
+ }
+ )
+
+ if v2 and "ddr" in reports:
+ utils.log( ' Making detailed %s release report...' % mode )
+ utils.libxslt(
+ utils.log
+ , extended_test_results
+ , xsl_path( 'result_page.xsl', v2 )
+ , os.path.join( output_dir, "developer", 'index_release.html' )
+ , {
+ 'links_file': 'links.html'
+ , 'mode': "developer"
+ , 'source': tag
+ , 'run_date': run_date
+ , 'comment_file': comment_file
+ , 'expected_results_file': expected_results_file
+ , 'explicit_markup_file' : failures_markup_file
+ , 'release': "yes"
+ }
+ )
+
+ if v2 and "dsr" in reports:
+ utils.log( ' Making summary %s release report...' % mode )
+ utils.libxslt(
+ utils.log
+ , extended_test_results
+ , xsl_path( 'summary_page.xsl', v2 )
+ , os.path.join( output_dir, "developer", 'summary_release.html' )
+ , {
+ 'mode' : "developer"
+ , 'source': tag
+ , 'run_date': run_date
+ , 'comment_file': comment_file
+ , 'explicit_markup_file' : failures_markup_file
+ , 'release': 'yes'
+ }
+ )
+
+ if 'e' in reports:
+ utils.log( ' Generating expected_results ...' )
+ utils.libxslt(
+ utils.log
+ , extended_test_results
+ , xsl_path( 'produce_expected_results.xsl', v2 )
+ , os.path.join( output_dir, 'expected_results.xml' )
+ )
+
+ if v2 and 'n' in reports:
+ utils.log( ' Making runner comment files...' )
+ utils.libxslt(
+ utils.log
+ , extended_test_results
+ , xsl_path( 'runners.xsl', v2 )
+ , os.path.join( output_dir, 'runners.html' )
+ )
+
+ shutil.copyfile(
+ xsl_path( 'html/master.css', v2 )
+ , os.path.join( output_dir, 'master.css' )
+ )
+
+
+def build_xsl_reports(
+ locate_root_dir
+ , tag
+ , expected_results_file
+ , failures_markup_file
+ , comment_file
+ , results_dir
+ , result_file_prefix
+ , dont_collect_logs = 0
+ , reports = report_types
+ , v2 = 0
+ , user = None
+ , upload = False
+ ):
+
+ ( run_date ) = time.strftime( '%Y-%m-%dT%H:%M:%SZ', time.gmtime() )
+
+ test_results_file = os.path.join( results_dir, 'test_results.xml' )
+ bin_boost_dir = os.path.join( locate_root_dir, 'bin', 'boost' )
+
+ if v2:
+ import merger
+ merger.merge_logs(
+ tag
+ , user
+ , results_dir
+ , test_results_file
+ , dont_collect_logs
+ )
+ else:
+ utils.log( ' dont_collect_logs: %s' % dont_collect_logs )
+ if not dont_collect_logs:
+ f = open( test_results_file, 'w+' )
+ f.write( '<tests>\n' )
+ runner.collect_test_logs( [ bin_boost_dir ], f )
+ f.write( '</tests>\n' )
+ f.close()
+
+ make_result_pages(
+ test_results_file
+ , expected_results_file
+ , failures_markup_file
+ , tag
+ , run_date
+ , comment_file
+ , results_dir
+ , result_file_prefix
+ , reports
+ , v2
+ )
+
+ if v2 and upload:
+ upload_dir = 'regression-logs/'
+ utils.log( 'Uploading v2 results into "%s" [connecting as %s]...' % ( upload_dir, user ) )
+
+ archive_name = '%s.tar.gz' % result_file_prefix
+ utils.tar(
+ os.path.join( results_dir, result_file_prefix )
+ , archive_name
+ )
+
+ utils.sourceforge.upload( os.path.join( results_dir, archive_name ), upload_dir, user )
+ utils.sourceforge.untar( os.path.join( upload_dir, archive_name ), user, background = True )
+
+
+def accept_args( args ):
+ args_spec = [
+ 'locate-root='
+ , 'tag='
+ , 'expected-results='
+ , 'failures-markup='
+ , 'comment='
+ , 'results-dir='
+ , 'results-prefix='
+ , 'dont-collect-logs'
+ , 'reports='
+ , 'v2'
+ , 'user='
+ , 'upload'
+ , 'help'
+ ]
+
+ options = {
+ '--comment': ''
+ , '--expected-results': ''
+ , '--failures-markup': ''
+ , '--reports': string.join( report_types, ',' )
+ , '--tag': None
+ , '--user': None
+ , 'upload': False
+ }
+
+ utils.accept_args( args_spec, args, options, usage )
+ if not options.has_key( '--results-dir' ):
+ options[ '--results-dir' ] = options[ '--locate-root' ]
+
+ if not options.has_key( '--results-prefix' ):
+ if options.has_key( '--v2' ):
+ options[ '--results-prefix' ] = 'all'
+ else:
+ options[ '--results-prefix' ] = ''
+
+ return (
+ options[ '--locate-root' ]
+ , options[ '--tag' ]
+ , options[ '--expected-results' ]
+ , options[ '--failures-markup' ]
+ , options[ '--comment' ]
+ , options[ '--results-dir' ]
+ , options[ '--results-prefix' ]
+ , options.has_key( '--dont-collect-logs' )
+ , options[ '--reports' ].split( ',' )
+ , options.has_key( '--v2' )
+ , options[ '--user' ]
+ , options.has_key( '--upload' )
+ )
+
+
+def usage():
+ print 'Usage: %s [options]' % os.path.basename( sys.argv[0] )
+ print '''
+\t--locate-root the same as --locate-root in compiler_status
+\t--tag the tag for the results (i.e. 'CVS-HEAD')
+\t--expected-results the file with the results to be compared with
+\t the current run
+\t--failures-markup the file with the failures markup
+\t--comment an html comment file (will be inserted in the reports)
+\t--results-dir the directory containing -links.html, -fail.html
+\t files produced by compiler_status (by default the
+\t same as specified in --locate-root)
+\t--results-prefix the prefix of -links.html, -fail.html
+\t files produced by compiler_status
+\t--v2 v2 reports (combine multiple runners results into a
+\t single set of reports)
+
+The following options are valid only for v2 reports:
+
+\t--user SourceForge user name for a shell account
+\t--upload upload v2 reports to SourceForge
+
+The following options are useful in debugging:
+
+\t--dont-collect-logs dont collect the test logs
+\t--reports produce only the specified reports
+\t us - user summary
+\t ds - developer summary
+\t ud - user detailed
+\t dd - developer detailed
+\t l - links
+\t p - patches
+\t x - extended results file
+\t i - issues
+'''
+
+def main():
+ build_xsl_reports( *accept_args( sys.argv[ 1 : ] ) )
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/regression/xsl_reports/runner/__init__.py b/tools/regression/xsl_reports/runner/__init__.py
new file mode 100644
index 0000000000..4018536558
--- /dev/null
+++ b/tools/regression/xsl_reports/runner/__init__.py
@@ -0,0 +1,2 @@
+
+from collect_and_upload_logs import *
diff --git a/tools/regression/xsl_reports/runner/collect_and_upload_logs.py b/tools/regression/xsl_reports/runner/collect_and_upload_logs.py
new file mode 100644
index 0000000000..df6bf9a4b5
--- /dev/null
+++ b/tools/regression/xsl_reports/runner/collect_and_upload_logs.py
@@ -0,0 +1,299 @@
+
+# Copyright (c) MetaCommunications, Inc. 2003-2004
+#
+# 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)
+
+import xml.sax.saxutils
+import zipfile
+import ftplib
+import time
+import stat
+
+import os.path
+import string
+import sys
+
+
+def process_xml_file( input_file, output_file ):
+ utils.log( 'Processing test log "%s"' % input_file )
+
+ f = open( input_file, 'r' )
+ xml = f.readlines()
+ f.close()
+
+ for i in range( 0, len(xml)):
+ xml[i] = string.translate( xml[i], utils.char_translation_table )
+
+ output_file.writelines( xml )
+
+
+def process_test_log_files( output_file, dir, names ):
+ for file in names:
+ if os.path.basename( file ) == 'test_log.xml':
+ process_xml_file( os.path.join( dir, file ), output_file )
+
+
+def collect_test_logs( input_dirs, test_results_writer ):
+ __log__ = 1
+ utils.log( 'Collecting test logs ...' )
+ for input_dir in input_dirs:
+ utils.log( 'Walking directory "%s" ...' % input_dir )
+ os.path.walk( input_dir, process_test_log_files, test_results_writer )
+
+
+def upload_to_ftp( tag, results_file, ftp_proxy, debug_level ):
+ ftp_site = 'fx.meta-comm.com'
+ site_path = '/boost-regression'
+ utils.log( 'Uploading log archive "%s" to ftp://%s%s/%s' % ( results_file, ftp_site, site_path, tag ) )
+
+ if not ftp_proxy:
+ ftp = ftplib.FTP( ftp_site )
+ ftp.set_debuglevel( debug_level )
+ ftp.login()
+ else:
+ utils.log( ' Connecting through FTP proxy server "%s"' % ftp_proxy )
+ ftp = ftplib.FTP( ftp_proxy )
+ ftp.set_debuglevel( debug_level )
+ ftp.set_pasv (0) # turn off PASV mode
+ ftp.login( 'anonymous@%s' % ftp_site, 'anonymous@' )
+
+ ftp.cwd( site_path )
+ try:
+ ftp.cwd( tag )
+ except ftplib.error_perm:
+ ftp.mkd( tag )
+ ftp.cwd( tag )
+
+ f = open( results_file, 'rb' )
+ ftp.storbinary( 'STOR %s' % os.path.basename( results_file ), f )
+ ftp.quit()
+
+
+def copy_comments( results_xml, comment_file ):
+ results_xml.startElement( 'comment', {} )
+
+ if os.path.exists( comment_file ):
+ utils.log( 'Reading comments file "%s"...' % comment_file )
+ f = open( comment_file, 'r' )
+ try:
+ results_xml.characters( f.read() )
+ finally:
+ f.close()
+ else:
+ utils.log( 'Warning: comment file "%s" is not found.' % comment_file )
+
+ results_xml.endElement( 'comment' )
+
+
+def collect_logs(
+ results_dir
+ , runner_id
+ , tag
+ , platform
+ , comment_file
+ , timestamp
+ , user
+ , source
+ , run_type
+ , **unused
+ ):
+
+ results_file = os.path.join( results_dir, '%s.xml' % runner_id )
+ results_writer = open( results_file, 'w' )
+ utils.log( 'Collecting test logs into "%s"...' % results_file )
+
+ if not os.path.exists( timestamp ):
+ t = time.gmtime()
+ utils.log( 'Warning: timestamp file "%s" does not exist'% timestamp )
+ utils.log( 'Using current UTC time (%s)' % t )
+ else:
+ t = time.gmtime( os.stat( timestamp ).st_mtime )
+
+ results_xml = xml.sax.saxutils.XMLGenerator( results_writer )
+ results_xml.startDocument()
+ results_xml.startElement(
+ 'test-run'
+ , {
+ 'tag': tag
+ , 'platform': platform
+ , 'runner': runner_id
+ , 'timestamp': time.strftime( '%Y-%m-%dT%H:%M:%SZ', t )
+ , 'source': source
+ , 'run-type': run_type
+ }
+ )
+
+ copy_comments( results_xml, comment_file )
+ collect_test_logs( [ results_dir ], results_writer )
+
+ results_xml.endElement( "test-run" )
+ results_xml.endDocument()
+ results_writer.close()
+ utils.log( 'Done writing "%s".' % results_file )
+
+ utils.log( 'Compressing "%s"...' % results_file )
+ archive_path = os.path.join( results_dir,'%s.zip' % runner_id )
+
+ try:
+ z = zipfile.ZipFile( archive_path, 'w', zipfile.ZIP_DEFLATED )
+ z.write( results_file, os.path.basename( results_file ) )
+ z.close()
+ utils.log( 'Done writing "%s".'% archive_path )
+ except Exception, msg:
+ utils.log( 'Warning: Compressing falied (%s)' % msg )
+ utils.log( ' Trying to compress using a platform-specific tool...' )
+ try: import zip_cmd
+ except ImportError:
+ script_dir = os.path.dirname( os.path.abspath( sys.argv[0] ) )
+ utils.log( 'Could not find \'zip_cmd\' module in the script directory (%s).' % script_dir )
+ raise Exception( 'Compressing failed!' )
+ else:
+ if os.path.exists( archive_path ):
+ os.unlink( archive_path )
+ utils.log( 'Removing stale "%s".' % archive_path )
+
+ zip_cmd.main( results_file, archive_path )
+ utils.log( 'Done compressing "%s".' % archive_path )
+
+
+def upload_logs(
+ results_dir
+ , runner_id
+ , tag
+ , user
+ , ftp_proxy
+ , debug_level
+ , **unused
+ ):
+
+ logs_archive = os.path.join( results_dir, '%s.zip' % runner_id )
+ upload_to_ftp( tag, logs_archive, ftp_proxy, debug_level )
+
+
+def collect_and_upload_logs(
+ results_dir
+ , runner_id
+ , tag
+ , platform
+ , comment_file
+ , timestamp
+ , user
+ , source
+ , run_type
+ , ftp_proxy = None
+ , debug_level = 0
+ , **unused
+ ):
+
+ collect_logs(
+ results_dir
+ , runner_id
+ , tag
+ , platform
+ , comment_file
+ , timestamp
+ , user
+ , source
+ , run_type
+ )
+
+ upload_logs( results_dir, runner_id, tag, user, ftp_proxy, debug_level )
+
+
+def accept_args( args ):
+ args_spec = [
+ 'locate-root='
+ , 'runner='
+ , 'tag='
+ , 'platform='
+ , 'comment='
+ , 'timestamp='
+ , 'source='
+ , 'run-type='
+ , 'user='
+ , 'ftp-proxy='
+ , 'debug-level='
+ , 'help'
+ ]
+
+ options = {
+ '--tag' : 'CVS-HEAD'
+ , '--platform' : sys.platform
+ , '--comment' : 'comment.html'
+ , '--timestamp' : 'timestamp'
+ , '--user' : None
+ , '--source' : 'CVS'
+ , '--run-type' : 'full'
+ , '--debug-level' : 0
+ , '--ftp-proxy' : None
+ }
+
+ utils.accept_args( args_spec, args, options, usage )
+
+ return {
+ 'results_dir' : options[ '--locate-root' ]
+ , 'runner_id' : options[ '--runner' ]
+ , 'tag' : options[ '--tag' ]
+ , 'platform' : options[ '--platform']
+ , 'comment_file' : options[ '--comment' ]
+ , 'timestamp' : options[ '--timestamp' ]
+ , 'user' : options[ '--user' ]
+ , 'source' : options[ '--source' ]
+ , 'run_type' : options[ '--run-type' ]
+ , 'ftp_proxy' : options[ '--ftp-proxy' ]
+ , 'debug_level' : int(options[ '--debug-level' ])
+ }
+
+
+commands = {
+ 'collect-and-upload' : collect_and_upload_logs
+ , 'collect-logs' : collect_logs
+ , 'upload-logs' : upload_logs
+ }
+
+def usage():
+ print 'Usage: %s [command] [options]' % os.path.basename( sys.argv[0] )
+ print '''
+Commands:
+\t%s
+
+Options:
+\t--locate-root directory to to scan for "test_log.xml" files
+\t--runner runner ID (e.g. "Metacomm")
+\t--timestamp path to a file which modification time will be used
+\t as a timestamp of the run ("timestamp" by default)
+\t--comment an HTML comment file to be inserted in the reports
+\t ("comment.html" by default)
+\t--tag the tag for the results ("CVS-HEAD" by default)
+\t--user SourceForge user name for a shell account (optional)
+\t--source where Boost sources came from (e.g. "CVS", "tarball",
+\t "anonymous CVS"; "CVS" by default)
+\t--run-type "incremental" or "full" ("full" by default)
+\t--ftp-proxy FTP proxy server (e.g. 'ftpproxy', optional)
+\t--debug-level debugging level; controls the amount of debugging
+\t output printed; 0 by default (no debug output)
+''' % '\n\t'.join( commands.keys() )
+
+
+def main():
+ if len(sys.argv) > 1 and sys.argv[1] in commands:
+ command = sys.argv[1]
+ args = sys.argv[ 2: ]
+ else:
+ command = 'collect-and-upload'
+ args = sys.argv[ 1: ]
+
+ commands[ command ]( **accept_args( args ) )
+
+
+if __name__ != '__main__': import utils
+else:
+ # in absense of relative import...
+ xsl_path = os.path.abspath( os.path.dirname( sys.argv[ 0 ] ) )
+ while os.path.basename( xsl_path ) != 'xsl_reports': xsl_path = os.path.dirname( xsl_path )
+ sys.path.append( xsl_path )
+
+ import utils
+ main()
diff --git a/tools/regression/xsl_reports/runner/default.css b/tools/regression/xsl_reports/runner/default.css
new file mode 100644
index 0000000000..e713c4a3b2
--- /dev/null
+++ b/tools/regression/xsl_reports/runner/default.css
@@ -0,0 +1,235 @@
+/*
+:Author: David Goodger
+:Contact: goodger@users.sourceforge.net
+:date: $Date$
+:version: $Revision$
+:copyright: This stylesheet has been placed in the public domain.
+
+Default cascading style sheet for the HTML output of Docutils.
+*/
+
+body {
+ background-color: #fffff5;
+}
+
+h2 {
+ text-decoration: underline;
+}
+
+.first {
+ margin-top: 0 }
+
+.last {
+ margin-bottom: 0 }
+
+a.toc-backref {
+ text-decoration: none ;
+ color: black }
+
+blockquote.epigraph {
+ margin: 2em 5em ; }
+
+dd {
+ margin-bottom: 0.5em }
+
+div.abstract {
+ margin: 2em 5em }
+
+div.abstract p.topic-title {
+ font-weight: bold ;
+ text-align: center }
+
+div.attention, div.caution, div.danger, div.error, div.hint,
+div.important, div.note, div.tip, div.warning, div.admonition {
+ margin: 2em ;
+ border: medium outset ;
+ padding: 1em }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title {
+ color: red ;
+ font-weight: bold ;
+ font-family: sans-serif }
+
+div.hint p.admonition-title, div.important p.admonition-title,
+div.note p.admonition-title, div.tip p.admonition-title,
+div.admonition p.admonition-title {
+ font-weight: bold ;
+ font-family: sans-serif }
+
+div.dedication {
+ margin: 2em 5em ;
+ text-align: center ;
+ font-style: italic }
+
+div.dedication p.topic-title {
+ font-weight: bold ;
+ font-style: normal }
+
+div.figure {
+ margin-left: 2em }
+
+div.footer, div.header {
+ font-size: smaller }
+
+div.sidebar {
+ margin-left: 1em ;
+ border: medium outset ;
+ padding: 0em 1em ;
+ background-color: #ffffee ;
+ width: 40% ;
+ float: right ;
+ clear: right }
+
+div.sidebar p.rubric {
+ font-family: sans-serif ;
+ font-size: medium }
+
+div.system-messages {
+ margin: 5em }
+
+div.system-messages h1 {
+ color: red }
+
+div.system-message {
+ border: medium outset ;
+ padding: 1em }
+
+div.system-message p.system-message-title {
+ color: red ;
+ font-weight: bold }
+
+div.topic {
+ margin: 2em }
+
+h1.title {
+ text-align: center }
+
+h2.subtitle {
+ text-align: center }
+
+hr {
+ width: 75% }
+
+ol.simple, ul.simple {
+ margin-bottom: 1em }
+
+ol.arabic {
+ list-style: decimal }
+
+ol.loweralpha {
+ list-style: lower-alpha }
+
+ol.upperalpha {
+ list-style: upper-alpha }
+
+ol.lowerroman {
+ list-style: lower-roman }
+
+ol.upperroman {
+ list-style: upper-roman }
+
+p.attribution {
+ text-align: right ;
+ margin-left: 50% }
+
+p.caption {
+ font-style: italic }
+
+p.credits {
+ font-style: italic ;
+ font-size: smaller }
+
+p.label {
+ white-space: nowrap }
+
+p.rubric {
+ font-weight: bold ;
+ font-size: larger ;
+ color: maroon ;
+ text-align: center }
+
+p.sidebar-title {
+ font-family: sans-serif ;
+ font-weight: bold ;
+ font-size: larger }
+
+p.sidebar-subtitle {
+ font-family: sans-serif ;
+ font-weight: bold }
+
+p.topic-title {
+ font-weight: bold }
+
+pre.address {
+ margin-bottom: 0 ;
+ margin-top: 0 ;
+ font-family: serif ;
+ font-size: 100% }
+
+pre.line-block {
+ font-family: serif ;
+ font-size: 100% }
+
+pre.literal-block, pre.doctest-block {
+ margin-left: 2em ;
+ margin-right: 2em ;
+ background-color: #eeeeee }
+
+span.classifier {
+ font-family: sans-serif ;
+ font-style: oblique }
+
+span.classifier-delimiter {
+ font-family: sans-serif ;
+ font-weight: bold }
+
+span.interpreted {
+ font-family: sans-serif }
+
+span.option {
+ white-space: nowrap }
+
+span.option-argument {
+ font-style: italic }
+
+span.pre {
+ white-space: pre }
+
+span.problematic {
+ color: red }
+
+table {
+ margin-top: 0.5em ;
+ margin-bottom: 0.5em }
+
+table.citation {
+ border-left: solid thin gray ;
+ padding-left: 0.5ex }
+
+table.docinfo {
+ margin: 2em 4em }
+
+table.footnote {
+ border-left: solid thin black ;
+ padding-left: 0.5ex }
+
+td, th {
+ padding-left: 0.5em ;
+ padding-right: 0.5em ;
+ vertical-align: top }
+
+th.docinfo-name, th.field-name {
+ font-weight: bold ;
+ text-align: left ;
+ white-space: nowrap }
+
+h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
+ font-size: 100% }
+
+tt {
+ background-color: #eeeeee }
+
+ul.auto-toc {
+ list-style-type: none }
diff --git a/tools/regression/xsl_reports/runner/instructions.html b/tools/regression/xsl_reports/runner/instructions.html
new file mode 100644
index 0000000000..0ddb1ec0d4
--- /dev/null
+++ b/tools/regression/xsl_reports/runner/instructions.html
@@ -0,0 +1,471 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Docutils 0.3.6: http://docutils.sourceforge.net/" />
+<title>Running Boost Regression Tests</title>
+<style type="text/css">
+
+/*
+:Author: David Goodger
+:Contact: goodger@users.sourceforge.net
+:date: $Date$
+:version: $Revision$
+:copyright: This stylesheet has been placed in the public domain.
+
+Default cascading style sheet for the HTML output of Docutils.
+*/
+
+body {
+ background-color: #fffff5;
+}
+
+h2 {
+ text-decoration: underline;
+}
+
+.first {
+ margin-top: 0 }
+
+.last {
+ margin-bottom: 0 }
+
+a.toc-backref {
+ text-decoration: none ;
+ color: black }
+
+blockquote.epigraph {
+ margin: 2em 5em ; }
+
+dd {
+ margin-bottom: 0.5em }
+
+div.abstract {
+ margin: 2em 5em }
+
+div.abstract p.topic-title {
+ font-weight: bold ;
+ text-align: center }
+
+div.attention, div.caution, div.danger, div.error, div.hint,
+div.important, div.note, div.tip, div.warning, div.admonition {
+ margin: 2em ;
+ border: medium outset ;
+ padding: 1em }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title {
+ color: red ;
+ font-weight: bold ;
+ font-family: sans-serif }
+
+div.hint p.admonition-title, div.important p.admonition-title,
+div.note p.admonition-title, div.tip p.admonition-title,
+div.admonition p.admonition-title {
+ font-weight: bold ;
+ font-family: sans-serif }
+
+div.dedication {
+ margin: 2em 5em ;
+ text-align: center ;
+ font-style: italic }
+
+div.dedication p.topic-title {
+ font-weight: bold ;
+ font-style: normal }
+
+div.figure {
+ margin-left: 2em }
+
+div.footer, div.header {
+ font-size: smaller }
+
+div.sidebar {
+ margin-left: 1em ;
+ border: medium outset ;
+ padding: 0em 1em ;
+ background-color: #ffffee ;
+ width: 40% ;
+ float: right ;
+ clear: right }
+
+div.sidebar p.rubric {
+ font-family: sans-serif ;
+ font-size: medium }
+
+div.system-messages {
+ margin: 5em }
+
+div.system-messages h1 {
+ color: red }
+
+div.system-message {
+ border: medium outset ;
+ padding: 1em }
+
+div.system-message p.system-message-title {
+ color: red ;
+ font-weight: bold }
+
+div.topic {
+ margin: 2em }
+
+h1.title {
+ text-align: center }
+
+h2.subtitle {
+ text-align: center }
+
+hr {
+ width: 75% }
+
+ol.simple, ul.simple {
+ margin-bottom: 1em }
+
+ol.arabic {
+ list-style: decimal }
+
+ol.loweralpha {
+ list-style: lower-alpha }
+
+ol.upperalpha {
+ list-style: upper-alpha }
+
+ol.lowerroman {
+ list-style: lower-roman }
+
+ol.upperroman {
+ list-style: upper-roman }
+
+p.attribution {
+ text-align: right ;
+ margin-left: 50% }
+
+p.caption {
+ font-style: italic }
+
+p.credits {
+ font-style: italic ;
+ font-size: smaller }
+
+p.label {
+ white-space: nowrap }
+
+p.rubric {
+ font-weight: bold ;
+ font-size: larger ;
+ color: maroon ;
+ text-align: center }
+
+p.sidebar-title {
+ font-family: sans-serif ;
+ font-weight: bold ;
+ font-size: larger }
+
+p.sidebar-subtitle {
+ font-family: sans-serif ;
+ font-weight: bold }
+
+p.topic-title {
+ font-weight: bold }
+
+pre.address {
+ margin-bottom: 0 ;
+ margin-top: 0 ;
+ font-family: serif ;
+ font-size: 100% }
+
+pre.line-block {
+ font-family: serif ;
+ font-size: 100% }
+
+pre.literal-block, pre.doctest-block {
+ margin-left: 2em ;
+ margin-right: 2em ;
+ background-color: #eeeeee }
+
+span.classifier {
+ font-family: sans-serif ;
+ font-style: oblique }
+
+span.classifier-delimiter {
+ font-family: sans-serif ;
+ font-weight: bold }
+
+span.interpreted {
+ font-family: sans-serif }
+
+span.option {
+ white-space: nowrap }
+
+span.option-argument {
+ font-style: italic }
+
+span.pre {
+ white-space: pre }
+
+span.problematic {
+ color: red }
+
+table {
+ margin-top: 0.5em ;
+ margin-bottom: 0.5em }
+
+table.citation {
+ border-left: solid thin gray ;
+ padding-left: 0.5ex }
+
+table.docinfo {
+ margin: 2em 4em }
+
+table.footnote {
+ border-left: solid thin black ;
+ padding-left: 0.5ex }
+
+td, th {
+ padding-left: 0.5em ;
+ padding-right: 0.5em ;
+ vertical-align: top }
+
+th.docinfo-name, th.field-name {
+ font-weight: bold ;
+ text-align: left ;
+ white-space: nowrap }
+
+h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
+ font-size: 100% }
+
+tt {
+ background-color: #eeeeee }
+
+ul.auto-toc {
+ list-style-type: none }
+
+</style>
+</head>
+<body>
+<h1 class="title">Running Boost Regression Tests</h1>
+<div class="document" id="running-boost-regression">
+<div class="section" id="requirements">
+<h2><a name="requirements">Requirements</a></h2>
+<ul class="simple">
+<li>Python 2.3</li>
+</ul>
+<p>That's it! You don't even need a CVS client installed.</p>
+</div>
+<div class="section" id="installation">
+<h2><a name="installation">Installation</a></h2>
+<ul class="simple">
+<li>Download regression driver <tt class="docutils literal"><span class="pre">regression.py</span></tt> from <a class="reference" href="http://cvs.sourceforge.net/viewcvs.py/*checkout*/boost/boost/tools/regression/xsl_reports/runner/regression.py">here</a> (<a class="reference" href="http://tinyurl.com/4fp4g">http://tinyurl.com/4fp4g</a>)
+and put it in the directory where you want all the regression
+test files to be placed.</li>
+</ul>
+<ul>
+<li><p class="first"><strong>Optional</strong>: If you already have <tt class="docutils literal"><span class="pre">bjam</span></tt> and/or <tt class="docutils literal"><span class="pre">process_jam_log</span></tt> executables
+you'd like to use, just put them in the same directory with <tt class="docutils literal"><span class="pre">regression.py</span></tt>, e.g.:</p>
+<pre class="literal-block">
+my_boost_regressions/
+ regression.py
+ bjam<em>[.exe]</em>
+</pre>
+</li>
+</ul>
+</div>
+<div class="section" id="running-tests">
+<h2><a name="running-tests">Running tests</a></h2>
+<p>To start a regression run, simply run <tt class="docutils literal"><span class="pre">regression.py</span></tt> providing it with the following
+two arguments:</p>
+<ul class="simple">
+<li>runner id (something unique of your choice that will identify your
+results in the reports <a class="footnote-reference" href="#runnerid1" id="id2" name="id2">[1]</a>, <a class="footnote-reference" href="#runnerid2" id="id3" name="id3">[2]</a>)</li>
+<li>a particular set of toolsets you want to test with <a class="footnote-reference" href="#toolsets" id="id4" name="id4">[3]</a>.</li>
+</ul>
+<p>For example:</p>
+<pre class="literal-block">
+python regression.py --runner=Metacomm --toolsets=gcc,vc7
+</pre>
+<p>If you are interested in seeing all available options, run <tt class="docutils literal"><span class="pre">python</span> <span class="pre">regression.py</span></tt>
+or <tt class="docutils literal"><span class="pre">python</span> <span class="pre">regression.py</span> <span class="pre">--help</span></tt>. See also the <a class="reference" href="#advanced-use">Advanced use</a> section below.</p>
+<p><strong>Note</strong>: If you are behind a firewall/proxy server, everything should still &quot;just work&quot;.
+In the rare cases when it doesn't, you can explicitly specify the proxy server
+parameters through the <tt class="docutils literal"><span class="pre">--proxy</span></tt> option, e.g.:</p>
+<pre class="literal-block">
+python regression.py ... <strong>--proxy=http://www.someproxy.com:3128</strong>
+</pre>
+</div>
+<div class="section" id="details">
+<h2><a name="details">Details</a></h2>
+<p>The regression run procedure will:</p>
+<ul class="simple">
+<li>Download the most recent tarball from <a class="reference" href="http://www.meta-comm.com/engineering/boost/snapshot/">http://www.meta-comm.com/engineering/boost/snapshot/</a>,
+unpack it in the subdirectory <tt class="docutils literal"><span class="pre">boost</span></tt>.</li>
+<li>Build <tt class="docutils literal"><span class="pre">bjam</span></tt> and <tt class="docutils literal"><span class="pre">process_jam_log</span></tt> if needed. (<tt class="docutils literal"><span class="pre">process_jam_log</span></tt> is an
+utility, which extracts the test results from the log file produced by
+Boost.Build).</li>
+<li>Run regression tests, process and collect the results.</li>
+<li>Upload the results to <a class="reference" href="ftp://fx.meta-comm.com/boost-regression">ftp://fx.meta-comm.com/boost-regression</a>.</li>
+</ul>
+<p>The report merger process running continuously on MetaCommunications site will
+merge all submitted test runs and publish them at
+<a class="reference" href="http://boost.sourceforge.net/regression-logs/developer">http://boost.sourceforge.net/regression-logs/developer</a>.</p>
+</div>
+<div class="section" id="advanced-use">
+<h2><a name="advanced-use">Advanced use</a></h2>
+<div class="section" id="providing-detailed">
+<h3><a name="providing-detailed">Providing detailed information about your environment</a></h3>
+<p>Once you have your regression results displayed in the Boost-wide
+reports, you may consider providing a bit more information about
+yourself and your test environment. This additional information will
+be presented in the reports on a page associated with your runner ID.</p>
+<p>By default, the page's content is just a single line coming from the
+<tt class="docutils literal"><span class="pre">comment.html</span></tt> file in your <tt class="docutils literal"><span class="pre">regression.py</span></tt> directory, specifying
+the tested platform. You can put online a more detailed description of
+your environment, such as your hardware configuration, compiler builds,
+and test schedule, by simply altering the file's content. Also, please
+consider providing your name and email address for cases where Boost
+developers have questions specific to your particular set of results.</p>
+</div>
+<div class="section" id="incremental-runs">
+<h3><a name="incremental-runs">Incremental runs</a></h3>
+<p>You can run <tt class="docutils literal"><span class="pre">regression.py</span></tt> in incremental mode <a class="footnote-reference" href="#incremental" id="id5" name="id5">[4]</a> by simply passing
+it an identically named command-line flag:</p>
+<pre class="literal-block">
+python regression.py ... <strong>--incremental</strong>
+</pre>
+</div>
+<div class="section" id="dealing-with-misbehaved">
+<h3><a name="dealing-with-misbehaved">Dealing with misbehaved tests/compilers</a></h3>
+<p>Depending on the environment/C++ runtime support library the test is compiled with,
+a test failure/termination may cause an appearance of a dialog window, requiring
+human intervention to proceed. Moreover, the test (or even of the compiler itself)
+can fall into infinite loop, or simply run for too long. To allow <tt class="docutils literal"><span class="pre">regression.py</span></tt>
+to take care of these obstacles, add the <tt class="docutils literal"><span class="pre">--monitored</span></tt> flag to the script
+invocation:</p>
+<pre class="literal-block">
+python regression.py ... <strong>--monitored</strong>
+</pre>
+<p>That's it. Knowing your intentions, the script will be able to automatically deal
+with the listed issues <a class="footnote-reference" href="#monitored" id="id6" name="id6">[5]</a>.</p>
+</div>
+<div class="section" id="getting-sources-from-cvs">
+<h3><a name="getting-sources-from-cvs">Getting sources from CVS</a></h3>
+<p>If you already have a CVS client installed and configured, you might prefer to get
+the sources directly from the Boost CVS repository. To communicate this to the
+script, you just need to pass it your SourceForge user ID using the <tt class="docutils literal"><span class="pre">--user</span></tt>
+option; for instance:</p>
+<pre class="literal-block">
+python regression.py ... <strong>--user=agurtovoy</strong>
+</pre>
+<p>You can also specify the user as <tt class="docutils literal"><span class="pre">anonymous</span></tt>, requesting anonymous CVS access.
+Note, though, that the files obtained this way tend to lag behind the actual CVS
+state by several hours, sometimes up to twelve. By contrast, the tarball the script
+downloads by default is at most one hour behind.</p>
+</div>
+<div class="section" id="integration-with-a-custom">
+<h3><a name="integration-with-a-custom">Integration with a custom driver script</a></h3>
+<p>Even if you've already been using a custom driver script, and for some
+reason you don't want <tt class="docutils literal"><span class="pre">regression.py</span></tt> to take over of the entire test cycle,
+getting your regression results into <a class="reference" href="http://www.boost.org/regression-logs/developer/">Boost-wide reports</a> is still easy!</p>
+<p>In fact, it's just a matter of modifying your script to perform two straightforward
+operations:</p>
+<ol class="arabic">
+<li><p class="first"><em>Timestamp file creation</em> needs to be done before the CVS update/checkout.
+The file's location doesn't matter (nor does the content), as long as you know how
+to access it later. Making your script to do something as simple as
+<tt class="docutils literal"><span class="pre">echo</span> <span class="pre">&gt;timestamp</span></tt> would work just fine.</p>
+</li>
+<li><p class="first"><em>Collecting and uploading logs</em> can be done any time after <tt class="docutils literal"><span class="pre">process_jam_log</span></tt>' s
+run, and is as simple as an invocation of the local copy of
+<tt class="docutils literal"><span class="pre">$BOOST_ROOT/tools/regression/xsl_reports/runner/collect_and_upload_logs.py</span></tt>
+script that was just obtained from the CVS with the rest of the sources.
+You'd need to provide <tt class="docutils literal"><span class="pre">collect_and_upload_logs.py</span></tt> with the following three
+arguments:</p>
+<pre class="literal-block">
+--locate-root directory to to scan for &quot;test_log.xml&quot; files
+--runner runner ID (e.g. &quot;Metacomm&quot;)
+--timestamp path to a file which modification time will be used
+ as a timestamp of the run (&quot;timestamp&quot; by default)
+</pre>
+<p>For example, assuming that the run's resulting binaries are in the
+<tt class="docutils literal"><span class="pre">$BOOST_ROOT/bin</span></tt> directory (the default Boost.Build setup), the
+<tt class="docutils literal"><span class="pre">collect_and_upload_logs.py</span></tt> invocation might look like this:</p>
+<pre class="literal-block">
+python $BOOST_ROOT/tools/regression/xsl_reports/runner/collect_and_upload_logs.py
+ --locate-root=$BOOST_ROOT/bin
+ --runner=Metacomm
+ --timestamp=timestamp
+</pre>
+</li>
+</ol>
+</div>
+</div>
+<div class="section" id="feedback">
+<h2><a name="feedback">Feedback</a></h2>
+<p>Please send all comments/suggestions regarding this document and the testing procedure
+itself to the <a class="reference" href="http://lists.boost.org/mailman/listinfo.cgi/boost-testing">Boost Testing list</a>.</p>
+</div>
+<div class="section" id="notes">
+<h2><a name="notes">Notes</a></h2>
+<table class="docutils footnote" frame="void" id="runnerid1" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id2" name="runnerid1">[1]</a></td><td>If you are running regressions interlacingly with a different
+set of compilers (e.g. for Intel in the morning and GCC at the end of the day), you need
+to provide a <em>different</em> runner id for each of these runs, e.g. <tt class="docutils literal"><span class="pre">your_name-intel</span></tt>, and
+<tt class="docutils literal"><span class="pre">your_name-gcc</span></tt>.</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="runnerid2" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id3" name="runnerid2">[2]</a></td><td>The limitations of the reports' format/medium impose a direct dependency
+between the number of compilers you are testing with and the amount of space available
+for your runner id. If you are running regressions for a single compiler, please make
+sure to choose a short enough id that does not significantly disturb the reports' layout.</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="toolsets" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id4" name="toolsets">[3]</a></td><td>If <tt class="docutils literal"><span class="pre">--toolsets</span></tt> option is not provided, the script will try to use the
+platform's default toolset (<tt class="docutils literal"><span class="pre">gcc</span></tt> for most Unix-based systems).</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="incremental" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id5" name="incremental">[4]</a></td><td><p class="first">By default, the script runs in what is known as <em>full mode</em>: on
+each <tt class="docutils literal"><span class="pre">regression.py</span></tt> invocation all the files that were left in place by the
+previous run -- including the binaries for the successfully built tests and libraries
+-- are deleted, and everything is rebuilt once again from scratch. By contrast, in
+<em>incremental mode</em> the already existing binaries are left intact, and only the
+tests and libraries which source files has changed since the previous run are
+re-built and re-tested.</p>
+<p>The main advantage of incremental runs is a significantly shorter turnaround time,
+but unfortunately they don't always produce reliable results. Some type of changes
+to the codebase (changes to the bjam testing subsystem in particular)
+often require switching to a full mode for one cycle in order to produce
+trustworthy reports.</p>
+<p class="last">As a general guideline, if you can afford it, testing in full mode is preferable.</p>
+</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="monitored" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id6" name="monitored">[5]</a></td><td>Note that at the moment this functionality is available only if you
+are running on a Windows platform. Contributions are welcome!</td></tr>
+</tbody>
+</table>
+</div>
+</div>
+<hr class="docutils footer" />
+<div class="footer">
+<a class="reference" href="instructions.rst">View document source</a>.
+Generated on: 2005-07-18 22:33 UTC.
+Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
+</div>
+</body>
+</html>
diff --git a/tools/regression/xsl_reports/runner/instructions.rst b/tools/regression/xsl_reports/runner/instructions.rst
new file mode 100644
index 0000000000..b0ec37d616
--- /dev/null
+++ b/tools/regression/xsl_reports/runner/instructions.rst
@@ -0,0 +1,233 @@
+Running Boost Regression Tests
+==============================
+
+
+Requirements
+------------
+
+* Python 2.3
+
+That's it! You don't even need a CVS client installed.
+
+Installation
+------------
+
+* Download regression driver ``regression.py`` from here__ (http://tinyurl.com/4fp4g)
+ and put it in the directory where you want all the regression
+ test files to be placed.
+
+__ http://cvs.sourceforge.net/viewcvs.py/*checkout*/boost/boost/tools/regression/xsl_reports/runner/regression.py
+
+
+* **Optional**: If you already have ``bjam`` and/or ``process_jam_log`` executables
+ you'd like to use, just put them in the same directory with ``regression.py``, e.g.:
+
+ .. parsed-literal::
+
+ my_boost_regressions/
+ regression.py
+ bjam\ *[.exe]*
+
+
+Running tests
+-------------
+
+To start a regression run, simply run ``regression.py`` providing it with the following
+two arguments:
+
+- runner id (something unique of your choice that will identify your
+ results in the reports [#runnerid1]_, [#runnerid2]_)
+
+- a particular set of toolsets you want to test with [#toolsets]_.
+
+For example::
+
+ python regression.py --runner=Metacomm --toolsets=gcc,vc7
+
+
+If you are interested in seeing all available options, run ``python regression.py``
+or ``python regression.py --help``. See also the `Advanced use`_ section below.
+
+**Note**: If you are behind a firewall/proxy server, everything should still "just work".
+In the rare cases when it doesn't, you can explicitly specify the proxy server
+parameters through the ``--proxy`` option, e.g.:
+
+.. parsed-literal::
+
+ python regression.py ... **--proxy=http://www.someproxy.com:3128**
+
+
+Details
+-------
+
+The regression run procedure will:
+
+* Download the most recent tarball from http://www.meta-comm.com/engineering/boost/snapshot/,
+ unpack it in the subdirectory ``boost``.
+
+* Build ``bjam`` and ``process_jam_log`` if needed. (``process_jam_log`` is an
+ utility, which extracts the test results from the log file produced by
+ Boost.Build).
+
+* Run regression tests, process and collect the results.
+
+* Upload the results to ftp://fx.meta-comm.com/boost-regression.
+
+
+The report merger process running continuously on MetaCommunications site will
+merge all submitted test runs and publish them at
+http://boost.sourceforge.net/regression-logs/developer.
+
+
+Advanced use
+------------
+
+Providing detailed information about your environment
+.....................................................
+
+Once you have your regression results displayed in the Boost-wide
+reports, you may consider providing a bit more information about
+yourself and your test environment. This additional information will
+be presented in the reports on a page associated with your runner ID.
+
+By default, the page's content is just a single line coming from the
+``comment.html`` file in your ``regression.py`` directory, specifying
+the tested platform. You can put online a more detailed description of
+your environment, such as your hardware configuration, compiler builds,
+and test schedule, by simply altering the file's content. Also, please
+consider providing your name and email address for cases where Boost
+developers have questions specific to your particular set of results.
+
+
+Incremental runs
+................
+
+You can run ``regression.py`` in incremental mode [#incremental]_ by simply passing
+it an identically named command-line flag:
+
+.. parsed-literal::
+
+ python regression.py ... **--incremental**
+
+
+Dealing with misbehaved tests/compilers
+.......................................
+
+Depending on the environment/C++ runtime support library the test is compiled with,
+a test failure/termination may cause an appearance of a dialog window, requiring
+human intervention to proceed. Moreover, the test (or even of the compiler itself)
+can fall into infinite loop, or simply run for too long. To allow ``regression.py``
+to take care of these obstacles, add the ``--monitored`` flag to the script
+invocation:
+
+.. parsed-literal::
+
+ python regression.py ... **--monitored**
+
+
+That's it. Knowing your intentions, the script will be able to automatically deal
+with the listed issues [#monitored]_.
+
+
+Getting sources from CVS
+........................
+
+If you already have a CVS client installed and configured, you might prefer to get
+the sources directly from the Boost CVS repository. To communicate this to the
+script, you just need to pass it your SourceForge user ID using the ``--user``
+option; for instance:
+
+.. parsed-literal::
+
+ python regression.py ... **--user=agurtovoy**
+
+You can also specify the user as ``anonymous``, requesting anonymous CVS access.
+Note, though, that the files obtained this way tend to lag behind the actual CVS
+state by several hours, sometimes up to twelve. By contrast, the tarball the script
+downloads by default is at most one hour behind.
+
+
+Integration with a custom driver script
+.......................................
+
+Even if you've already been using a custom driver script, and for some
+reason you don't want ``regression.py`` to take over of the entire test cycle,
+getting your regression results into `Boost-wide reports`__ is still easy!
+
+In fact, it's just a matter of modifying your script to perform two straightforward
+operations:
+
+1. *Timestamp file creation* needs to be done before the CVS update/checkout.
+ The file's location doesn't matter (nor does the content), as long as you know how
+ to access it later. Making your script to do something as simple as
+ ``echo >timestamp`` would work just fine.
+
+2. *Collecting and uploading logs* can be done any time after ``process_jam_log``' s
+ run, and is as simple as an invocation of the local copy of
+ ``$BOOST_ROOT/tools/regression/xsl_reports/runner/collect_and_upload_logs.py``
+ script that was just obtained from the CVS with the rest of the sources.
+ You'd need to provide ``collect_and_upload_logs.py`` with the following three
+ arguments::
+
+ --locate-root directory to to scan for "test_log.xml" files
+ --runner runner ID (e.g. "Metacomm")
+ --timestamp path to a file which modification time will be used
+ as a timestamp of the run ("timestamp" by default)
+
+ For example, assuming that the run's resulting binaries are in the
+ ``$BOOST_ROOT/bin`` directory (the default Boost.Build setup), the
+ ``collect_and_upload_logs.py`` invocation might look like this::
+
+ python $BOOST_ROOT/tools/regression/xsl_reports/runner/collect_and_upload_logs.py
+ --locate-root=$BOOST_ROOT/bin
+ --runner=Metacomm
+ --timestamp=timestamp
+
+
+__ http://www.boost.org/regression-logs/developer/
+
+
+Feedback
+--------
+
+Please send all comments/suggestions regarding this document and the testing procedure
+itself to the `Boost Testing list`__.
+
+__ http://lists.boost.org/mailman/listinfo.cgi/boost-testing
+
+
+Notes
+-----
+
+.. [#runnerid1] If you are running regressions interlacingly with a different
+ set of compilers (e.g. for Intel in the morning and GCC at the end of the day), you need
+ to provide a *different* runner id for each of these runs, e.g. ``your_name-intel``, and
+ ``your_name-gcc``.
+
+.. [#runnerid2] The limitations of the reports' format/medium impose a direct dependency
+ between the number of compilers you are testing with and the amount of space available
+ for your runner id. If you are running regressions for a single compiler, please make
+ sure to choose a short enough id that does not significantly disturb the reports' layout.
+
+.. [#toolsets] If ``--toolsets`` option is not provided, the script will try to use the
+ platform's default toolset (``gcc`` for most Unix-based systems).
+
+.. [#incremental] By default, the script runs in what is known as *full mode*: on
+ each ``regression.py`` invocation all the files that were left in place by the
+ previous run -- including the binaries for the successfully built tests and libraries
+ -- are deleted, and everything is rebuilt once again from scratch. By contrast, in
+ *incremental mode* the already existing binaries are left intact, and only the
+ tests and libraries which source files has changed since the previous run are
+ re-built and re-tested.
+
+ The main advantage of incremental runs is a significantly shorter turnaround time,
+ but unfortunately they don't always produce reliable results. Some type of changes
+ to the codebase (changes to the bjam testing subsystem in particular)
+ often require switching to a full mode for one cycle in order to produce
+ trustworthy reports.
+
+ As a general guideline, if you can afford it, testing in full mode is preferable.
+
+.. [#monitored] Note that at the moment this functionality is available only if you
+ are running on a Windows platform. Contributions are welcome!
+
diff --git a/tools/regression/xsl_reports/runner/regression.py b/tools/regression/xsl_reports/runner/regression.py
new file mode 100644
index 0000000000..ca6417eddb
--- /dev/null
+++ b/tools/regression/xsl_reports/runner/regression.py
@@ -0,0 +1,882 @@
+
+# Copyright (c) MetaCommunications, Inc. 2003-2005
+#
+# 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)
+
+import urllib
+import tarfile
+import socket
+import time
+import getopt
+import glob
+import shutil
+import stat
+import os.path
+import os
+import platform
+import traceback
+import string
+import sys
+
+regression_root = os.path.abspath( os.path.dirname( sys.argv[0] ) )
+regression_results = os.path.join( regression_root, 'results' )
+regression_log = os.path.join( regression_results, 'bjam.log' )
+install_log = os.path.join( regression_results, 'bjam_install.log' )
+
+boost_root = os.path.join( regression_root, 'boost' )
+xsl_reports_dir = os.path.join( boost_root, 'tools', 'regression', 'xsl_reports' )
+timestamp_path = os.path.join( regression_root, 'timestamp' )
+
+cvs_command_line = 'cvs -z9 %(command)s'
+cvs_ext_command_line = 'cvs -d:ext:%(user)s@cvs.sourceforge.net:/cvsroot/boost -z9 %(command)s'
+cvs_pserver_command_line = 'cvs -d:pserver:%(user)s@cvs.sourceforge.net:/cvsroot/boost -z9 %(command)s'
+
+bjam = {}
+process_jam_log = {}
+
+if sys.platform == 'win32':
+ bjam[ 'name' ] = 'bjam.exe'
+ bjam[ 'build_cmd' ] = lambda toolset: 'build.bat %s' % toolset
+ bjam[ 'is_supported_toolset' ] = lambda x: x in [ 'borland', 'como', 'gcc', 'gcc-nocygwin' \
+ , 'intel-win32', 'metrowerks', 'mingw' \
+ , 'msvc', 'vc7' \
+ ]
+ process_jam_log[ 'name' ] = 'process_jam_log.exe'
+ process_jam_log[ 'default_toolset' ] = 'vc-7_1'
+ patch_boost_name = 'patch_boost.bat'
+else:
+ bjam[ 'name' ] = 'bjam'
+ bjam[ 'build_cmd' ] = lambda toolset:'./build.sh %s' % toolset
+ bjam[ 'is_supported_toolset' ] = lambda x: x in [ 'acc', 'como', 'darwin', 'gcc' \
+ , 'intel-linux', 'kcc', 'kylix' \
+ , 'mipspro', 'sunpro', 'tru64cxx' \
+ , 'vacpp'\
+ ]
+ process_jam_log[ 'name' ] = 'process_jam_log'
+ process_jam_log[ 'default_toolset' ] = 'gcc'
+ patch_boost_name = './patch_boost'
+
+bjam[ 'default_toolset' ] = ''
+bjam[ 'path' ] = os.path.join( regression_root, bjam[ 'name' ] )
+bjam[ 'source_dir' ] = os.path.join( boost_root, 'tools', 'build', 'jam_src' )
+bjam[ 'build_path_root' ] = bjam[ 'source_dir' ]
+
+process_jam_log[ 'path' ] = os.path.join( regression_root, process_jam_log[ 'name' ] )
+process_jam_log[ 'source_dir' ] = os.path.join( boost_root, 'tools', 'regression', 'build' )
+process_jam_log[ 'build_path_root' ] = os.path.join(
+ boost_root, 'bin', 'boost', 'tools', 'regression', 'build'
+ , process_jam_log[ 'name' ]
+ )
+
+process_jam_log[ 'build_cmd' ] = lambda toolset: bjam_command( toolset )
+process_jam_log[ 'is_supported_toolset' ] = lambda x : True
+
+build_monitor_url = 'http://www.meta-comm.com/engineering/resources/build_monitor.zip'
+pskill_url = 'http://www.sysinternals.com/files/pskill.zip'
+
+utils = None
+
+
+def log( message ):
+ sys.stderr.write( '# %s\n' % message )
+ sys.stderr.flush()
+
+
+def platform_name():
+ # See http://article.gmane.org/gmane.comp.lib.boost.testing/933
+ if sys.platform == 'win32':
+ return 'Windows'
+
+ return platform.system()
+
+
+def rmtree( path ):
+ if os.path.exists( path ):
+ if sys.platform == 'win32':
+ os.system( 'del /f /s /q "%s" >nul 2>&1' % path )
+ shutil.rmtree( path )
+ else:
+ os.system( 'rm -f -r "%s"' % path )
+
+
+def retry( f, args, max_attempts=5, sleep_secs=10 ):
+ for attempts in range( max_attempts, -1, -1 ):
+ try:
+ return f( *args )
+ except Exception, msg:
+ log( '%s failed with message "%s"' % ( f.__name__, msg ) )
+ if attempts == 0:
+ log( 'Giving up.' )
+ raise
+
+ log( 'Retrying (%d more attempts).' % attempts )
+ time.sleep( sleep_secs )
+
+
+def cleanup( args, **unused ):
+ if args == []: args = [ 'source', 'bin' ]
+
+ if 'source' in args:
+ log( 'Cleaning up "%s" directory ...' % boost_root )
+ rmtree( boost_root )
+
+ if 'bin' in args:
+ boost_bin_dir = os.path.join( boost_root, 'bin' )
+ log( 'Cleaning up "%s" directory ...' % boost_bin_dir )
+ rmtree( boost_bin_dir )
+
+ log( 'Cleaning up "%s" directory ...' % regression_results )
+ rmtree( regression_results )
+
+
+def http_get( source_url, destination, proxy ):
+ if proxy is None: proxies = None
+ else: proxies = { 'http' : proxy }
+
+ src = urllib.urlopen( source_url, proxies = proxies )
+
+ f = open( destination, 'wb' )
+ while True:
+ data = src.read( 16*1024 )
+ if len( data ) == 0: break
+ f.write( data )
+
+ f.close()
+ src.close()
+
+
+def tarball_name_for_tag( tag, timestamp = False ):
+ if not timestamp: return 'boost-%s.tar.bz2' % tag
+ else: return 'boost-%s.timestamp' % tag
+
+
+def download_boost_tarball( destination, tag, proxy, timestamp_only = False ):
+ tarball_name = tarball_name_for_tag( tag, timestamp_only )
+ tarball_path = os.path.join( destination, tarball_name )
+ tarball_url = 'http://www.meta-comm.com/engineering/boost/snapshot/%s' % tarball_name
+
+ log( 'Downloading "%s" to "%s"...' % ( tarball_url, os.path.dirname( tarball_path ) ) )
+ if os.path.exists( tarball_path ):
+ os.unlink( tarball_path )
+
+ http_get(
+ tarball_url
+ , tarball_path
+ , proxy
+ )
+
+ return tarball_path
+
+
+def find_boost_dirs( path ):
+ return [ x for x in glob.glob( os.path.join( path, 'boost[-_]*' ) )
+ if os.path.isdir( x ) ]
+
+
+def unpack_tarball( tarball_path, destination ):
+ log( 'Looking for old unpacked archives...' )
+ old_boost_dirs = find_boost_dirs( destination )
+
+ for old_boost_dir in old_boost_dirs:
+ if old_boost_dir != tarball_path:
+ log( 'Deleting old directory %s.' % old_boost_dir )
+ rmtree( old_boost_dir )
+
+ log( 'Unpacking boost tarball ("%s")...' % tarball_path )
+
+ tarball_name = os.path.basename( tarball_path )
+ extension = tarball_name[ tarball_name.find( '.' ) : ]
+
+ if extension in ( ".tar.gz", ".tar.bz2" ):
+ mode = os.path.splitext( extension )[1][1:]
+ tar = tarfile.open( tarball_path, 'r:%s' % mode )
+ for tarinfo in tar:
+ tar.extract( tarinfo, destination )
+ if sys.platform == 'win32' and not tarinfo.isdir():
+ # workaround what appears to be a Win32-specific bug in 'tarfile'
+ # (modification times for extracted files are not set properly)
+ f = os.path.join( destination, tarinfo.name )
+ os.chmod( f, stat.S_IWRITE )
+ os.utime( f, ( tarinfo.mtime, tarinfo.mtime ) )
+ tar.close()
+ elif extension in ( ".zip" ):
+ import zipfile
+
+ z = zipfile.ZipFile( tarball_path, 'r', zipfile.ZIP_DEFLATED )
+ for f in z.infolist():
+ destination_file_path = os.path.join( destination, f.filename )
+ if destination_file_path[-1] == "/": # directory
+ if not os.path.exists( destination_file_path ):
+ os.makedirs( destination_file_path )
+ else: # file
+ result = open( destination_file_path, 'wb' )
+ result.write( z.read( f.filename ) )
+ result.close()
+ z.close()
+ else:
+ raise 'Do not know how to unpack archives with extension \"%s\"' % extension
+
+ boost_dir = find_boost_dirs( destination )[0]
+ log( ' Unpacked into directory "%s"' % boost_dir )
+
+ if os.path.exists( boost_root ):
+ log( 'Deleting "%s" directory...' % boost_root )
+ rmtree( boost_root )
+
+ log( 'Renaming "%s" into "%s"' % ( boost_dir, boost_root ) )
+ os.rename( boost_dir, boost_root )
+
+
+def cvs_command( user, command ):
+ if user is None:
+ cmd = cvs_command_line % { 'command': command }
+ elif user == 'anonymous':
+ cmd = cvs_pserver_command_line % { 'user': user, 'command': command }
+ else:
+ cmd = cvs_ext_command_line % { 'user': user, 'command': command }
+
+ log( 'Executing CVS command "%s"' % cmd )
+ rc = os.system( cmd )
+ if rc != 0:
+ raise Exception( 'CVS command "%s" failed with code %d' % ( cmd, rc ) )
+
+
+def cvs_checkout( user, tag, args ):
+ if tag != 'CVS-HEAD':
+ command = 'checkout -r %s boost' % tag
+ else:
+ command = 'checkout boost'
+
+ os.chdir( regression_root )
+ cvs_command( user, command )
+
+
+def cvs_update( user, tag, args ):
+ if tag != 'CVS-HEAD':
+ command = 'update -dPA -r %s' % tag
+ else:
+ command = 'update -dPA'
+
+ os.chdir( os.path.join( regression_root, 'boost' ) )
+ cvs_command( user, command )
+
+
+def format_time( t ):
+ return time.strftime(
+ '%a, %d %b %Y %H:%M:%S +0000'
+ , t
+ )
+
+
+def refresh_timestamp():
+ if os.path.exists( timestamp_path ):
+ os. unlink( timestamp_path )
+
+ open( timestamp_path, 'w' ).close()
+
+
+def timestamp():
+ return time.strftime(
+ '%Y-%m-%dT%H:%M:%SZ'
+ , time.gmtime( os.stat( timestamp_path ).st_mtime )
+ )
+
+
+def get_tarball( tag, proxy, args, **unused ):
+ if args == []: args = [ 'download', 'unpack' ]
+
+ tarball_path = None
+
+ if 'download' in args:
+ tarball_path = download_boost_tarball( regression_root, tag, proxy )
+
+ if 'unpack' in args:
+ if not tarball_path:
+ tarball_path = os.path.join( regression_root, tarball_name_for_tag( tag ) )
+ unpack_tarball( tarball_path, regression_root )
+
+
+def get_source( user, tag, proxy, args, **unused ):
+ refresh_timestamp()
+ log( 'Getting sources (%s)...' % timestamp() )
+
+ if user is not None:
+ retry(
+ cvs_checkout
+ , ( user, tag, args )
+ )
+ else:
+ retry(
+ get_tarball
+ , ( tag, proxy, args )
+ )
+
+
+def update_source( user, tag, proxy, args, **unused ):
+ if user is not None or os.path.exists( os.path.join( boost_root, 'CVS' ) ):
+ open( timestamp_path, 'w' ).close()
+ log( 'Updating sources from CVS (%s)...' % timestamp() )
+ retry(
+ cvs_update
+ , ( user, tag, args )
+ )
+ else:
+ get_source( user, tag, proxy, args )
+
+
+def tool_path( name_or_spec ):
+ if isinstance( name_or_spec, basestring ):
+ return os.path.join( regression_root, name_or_spec )
+
+ if os.path.exists( name_or_spec[ 'path' ] ):
+ return name_or_spec[ 'path' ]
+
+ if name_or_spec.has_key( 'build_path' ):
+ return name_or_spec[ 'build_path' ]
+
+ build_path_root = name_or_spec[ 'build_path_root' ]
+ log( 'Searching for "%s" in "%s"...' % ( name_or_spec[ 'name' ], build_path_root ) )
+ for root, dirs, files in os.walk( build_path_root ):
+ if name_or_spec[ 'name' ] in files:
+ return os.path.join( root, name_or_spec[ 'name' ] )
+
+ raise Exception( 'Cannot find "%s" in any of the following locations:\n%s' % (
+ name_or_spec[ 'name' ]
+ , '\n'.join( [ name_or_spec[ 'path' ], build_path_root ] )
+ ) )
+
+
+def build_if_needed( tool, toolset, toolsets ):
+ if os.path.exists( tool[ 'path' ] ):
+ log( 'Found preinstalled "%s"; will use it.' % tool[ 'path' ] )
+ return
+
+ log( 'Preinstalled "%s" is not found; building one...' % tool[ 'path' ] )
+
+ if toolset is None:
+ if toolsets is not None:
+ toolset = string.split( toolsets, ',' )[0]
+ if not tool[ 'is_supported_toolset' ]( toolset ):
+ log( 'Warning: Specified toolset (%s) cannot be used to bootstrap "%s".'\
+ % ( toolset, tool[ 'name' ] ) )
+
+ toolset = tool[ 'default_toolset' ]
+ log( ' Using default toolset for the platform (%s).' % toolset )
+ else:
+ toolset = tool[ 'default_toolset' ]
+ log( 'Warning: No bootstrap toolset for "%s" was specified.' % tool[ 'name' ] )
+ log( ' Using default toolset for the platform (%s).' % toolset )
+
+ if os.path.exists( tool[ 'source_dir' ] ):
+ log( 'Found "%s" source directory "%s"' % ( tool[ 'name' ], tool[ 'source_dir' ] ) )
+ build_cmd = tool[ 'build_cmd' ]( toolset )
+ log( 'Building "%s" (%s)...' % ( tool[ 'name'], build_cmd ) )
+ utils.system( [
+ 'cd "%s"' % tool[ 'source_dir' ]
+ , build_cmd
+ ] )
+ else:
+ raise 'Could not find "%s" source directory "%s"' % ( tool[ 'name' ], tool[ 'source_dir' ] )
+
+ if not tool.has_key( 'build_path' ):
+ tool[ 'build_path' ] = tool_path( tool )
+
+ if not os.path.exists( tool[ 'build_path' ] ):
+ raise 'Failed to find "%s" after build.' % tool[ 'build_path' ]
+
+ log( '%s succesfully built in "%s" location' % ( tool[ 'name' ], tool[ 'build_path' ] ) )
+
+
+def import_utils():
+ global utils
+ if utils is None:
+ sys.path.append( xsl_reports_dir )
+ import utils as utils_module
+ utils = utils_module
+
+
+def download_if_needed( tool_name, tool_url, proxy ):
+ path = tool_path( tool_name )
+ if not os.path.exists( path ):
+ log( 'Preinstalled "%s" is not found.' % path )
+ log( ' Downloading from %s...' % tool_url )
+
+ zip_path = '%s.zip' % os.path.splitext( path )[0]
+ http_get( tool_url, zip_path, proxy )
+
+ log( ' Unzipping %s...' % path )
+ utils.unzip( zip_path, os.path.dirname( path ) )
+
+ log( ' Removing %s...' % zip_path )
+ os.unlink( zip_path )
+ log( 'Done.' )
+
+
+def setup(
+ comment
+ , toolsets
+ , bjam_toolset
+ , pjl_toolset
+ , monitored
+ , proxy
+ , args
+ , **unused
+ ):
+ import_utils()
+
+ if os.path.exists( patch_boost_name ):
+ log( 'Found patch file "%s". Executing it.' % patch_boost_name )
+ utils.system( [ patch_boost_name ] )
+
+ build_if_needed( bjam, bjam_toolset, toolsets )
+ build_if_needed( process_jam_log, pjl_toolset, toolsets )
+
+ if monitored:
+ if sys.platform == 'win32':
+ download_if_needed( 'build_monitor.exe', build_monitor_url, proxy )
+ download_if_needed( 'pskill.exe', pskill_url, proxy )
+ else:
+ log( 'Warning: Test monitoring is not supported on this platform (yet).' )
+ log( ' Please consider contributing this piece!' )
+
+
+def bjam_command( toolsets ):
+ build_path = regression_root
+ if build_path[-1] == '\\': build_path += '\\'
+ result = '"%s" "-sBOOST_BUILD_PATH=%s" "-sBOOST_ROOT=%s"'\
+ % (
+ tool_path( bjam )
+ , build_path
+ , boost_root
+ )
+
+ if not toolsets is None:
+ result += ' "-sTOOLS=%s"' % string.join( string.split( toolsets, ',' ), ' ' )
+
+ return result
+
+
+def install( toolsets, **unused ):
+ import_utils()
+ os.chdir( os.path.join( boost_root ) )
+
+ log( 'Making "%s" directory...' % regression_results )
+ utils.makedirs( regression_results )
+
+ install_cmd = '%s -d2 install >>%s 2>&1' % ( bjam_command( toolsets ), install_log )
+ log( 'Installing libraries (%s)...' % install_cmd )
+ utils.system( [ install_cmd ] )
+
+
+def start_build_monitor( timeout ):
+ if sys.platform == 'win32':
+ build_monitor_path = tool_path( 'build_monitor.exe' )
+ if os.path.exists( build_monitor_path ):
+ utils.system( [ 'start /belownormal "" "%s" bjam.exe %d' % ( build_monitor_path, timeout*60 ) ] )
+ else:
+ log( 'Warning: Build monitor is not found at "%s"' % build_monitor_path )
+
+
+def stop_build_monitor():
+ if sys.platform == 'win32':
+ build_monitor_path = tool_path( 'build_monitor.exe' )
+ if os.path.exists( build_monitor_path ):
+ utils.system( [ '"%s" build_monitor' % tool_path( 'pskill.exe' ) ] )
+
+
+def run_process_jam_log():
+ log( 'Getting test case results out of "%s"...' % regression_log )
+
+ utils.checked_system( [
+ '"%s" "%s" <"%s"' % (
+ tool_path( process_jam_log )
+ , regression_results
+ , regression_log
+ )
+ ] )
+
+
+def test(
+ toolsets
+ , bjam_options
+ , monitored
+ , timeout
+ , args
+ , **unused
+ ):
+ if args == []:
+ args = [ "test", "process" ]
+
+ import_utils()
+
+ try:
+ if monitored:
+ start_build_monitor( timeout )
+
+ cd = os.getcwd()
+ os.chdir( os.path.join( boost_root, 'status' ) )
+
+ log( 'Making "%s" directory...' % regression_results )
+ utils.makedirs( regression_results )
+
+ results_libs = os.path.join( regression_results, 'libs' )
+ results_status = os.path.join( regression_results, 'status' )
+
+ if "clean" in args:
+ rmtree( results_libs )
+ rmtree( results_status )
+
+ if "test" in args:
+ test_cmd = '%s -d2 --dump-tests %s "-sALL_LOCATE_TARGET=%s" >>"%s" 2>&1' % (
+ bjam_command( toolsets )
+ , bjam_options
+ , regression_results
+ , regression_log
+ )
+
+ log( 'Starting tests (%s)...' % test_cmd )
+ utils.system( [ test_cmd ] )
+
+ if "process" in args:
+ run_process_jam_log()
+
+ os.chdir( cd )
+ finally:
+ if monitored:
+ stop_build_monitor()
+
+
+def collect_logs(
+ tag
+ , runner
+ , platform
+ , user
+ , comment
+ , incremental
+ , args
+ , **unused
+ ):
+ import_utils()
+
+ if comment is None:
+ comment = 'comment.html'
+
+ comment_path = os.path.join( regression_root, comment )
+ if not os.path.exists( comment_path ):
+ log( 'Comment file "%s" not found; creating default comment.' % comment_path )
+ f = open( comment_path, 'w' )
+ f.write( '<p>Tests are run on %s platform.</p>' % platform_name() )
+ f.close()
+
+ run_type = ''
+ if incremental: run_type = 'incremental'
+ else: run_type = 'full'
+
+ source = 'tarball'
+ cvs_root_file = os.path.join( boost_root, 'CVS', 'root' )
+ if os.path.exists( cvs_root_file ):
+ if string.split( open( cvs_root_file ).readline(), '@' )[0] == ':pserver:anonymous':
+ source = 'anonymous CVS'
+ else:
+ source = 'CVS'
+
+ from runner import collect_logs
+ collect_logs(
+ regression_results
+ , runner
+ , tag
+ , platform
+ , comment_path
+ , timestamp_path
+ , user
+ , source
+ , run_type
+ )
+
+
+def upload_logs(
+ tag
+ , runner
+ , user
+ , ftp_proxy
+ , debug_level
+ , **unused
+ ):
+ import_utils()
+ from runner import upload_logs
+ retry(
+ upload_logs
+ , ( regression_results, runner, tag, user, ftp_proxy, debug_level )
+ )
+
+
+def update_itself( tag, **unused ):
+ source = os.path.join( xsl_reports_dir, 'runner', os.path.basename( sys.argv[0] ) )
+ self = os.path.join( regression_root, os.path.basename( sys.argv[0] ) )
+
+ log( 'Updating %s from %s...' % ( self, source ) )
+ log( ' Checking modification dates...' )
+ if os.stat( self ).st_mtime > os.stat( source ).st_mtime:
+ log( 'Warning: The current version of script appears to be newer than the source.' )
+ log( ' Update skipped.' )
+ else:
+ log( ' Saving a backup copy of the current script...' )
+ os.chmod( self, stat.S_IWRITE ) # Win32 workaround
+ shutil.move( self, '%s~' % self )
+ log( ' Replacing %s with a newer version...' % self )
+ shutil.copy2( source, self )
+
+
+def send_mail( smtp_login, mail, subject, msg = '', debug_level = 0 ):
+ import smtplib
+ if not smtp_login:
+ server_name = 'mail.%s' % mail.split( '@' )[-1]
+ user_name = None
+ password = None
+ else:
+ server_name = smtp_login.split( '@' )[-1]
+ ( user_name, password ) = string.split( smtp_login.split( '@' )[0], ':' )
+
+ log( ' Sending mail through "%s"...' % server_name )
+ smtp_server = smtplib.SMTP( server_name )
+ smtp_server.set_debuglevel( debug_level )
+ if user_name:
+ smtp_server.login( user_name, password )
+
+ smtp_server.sendmail(
+ mail
+ , [ mail ]
+ , 'Subject: %s\nTo: %s\n\n%s' % ( subject, mail, msg )
+ )
+
+
+def regression(
+ tag
+ , local
+ , runner
+ , platform
+ , user
+ , comment
+ , toolsets
+ , bjam_options
+ , bjam_toolset
+ , pjl_toolset
+ , incremental
+ , force_update
+ , monitored
+ , timeout
+ , mail = None
+ , smtp_login = None
+ , proxy = None
+ , ftp_proxy = None
+ , debug_level = 0
+ , args = []
+ ):
+
+ try:
+ mail_subject = 'Boost regression for %s on %s' % ( tag, string.split(socket.gethostname(), '.')[0] )
+ start_time = time.localtime()
+ if mail:
+ log( 'Sending start notification to "%s"' % mail )
+ send_mail(
+ smtp_login
+ , mail
+ , '%s started at %s.' % ( mail_subject, format_time( start_time ) )
+ , debug_level = debug_level
+ )
+
+ if local is not None:
+ log( 'Using local file "%s"' % local )
+
+ b = os.path.basename( local )
+ tag = b[ 0: b.find( '.' ) ]
+ log( 'Tag: "%s"' % tag )
+
+ unpack_tarball( local, regression_root )
+ else:
+ if incremental or force_update:
+ if not incremental: cleanup( [ 'bin' ] )
+ update_source( user, tag, proxy, [] )
+ else:
+ cleanup( [] )
+ get_source( user, tag, proxy, [] )
+
+ setup( comment, toolsets, bjam_toolset, pjl_toolset, monitored, proxy, [] )
+ test( toolsets, bjam_options, monitored, timeout, [] )
+ collect_logs( tag, runner, platform, user, comment, incremental, [] )
+ upload_logs( tag, runner, user, ftp_proxy, debug_level )
+ update_itself( tag )
+
+ if mail:
+ log( 'Sending report to "%s"' % mail )
+ end_time = time.localtime()
+ send_mail(
+ smtp_login
+ , mail
+ , '%s completed successfully at %s.' % ( mail_subject, format_time( end_time ) )
+ , debug_level = debug_level
+ )
+ except:
+ if mail:
+ log( 'Sending report to "%s"' % mail )
+ traceback_ = '\n'.join( apply( traceback.format_exception, sys.exc_info() ) )
+ end_time = time.localtime()
+ send_mail(
+ smtp_login
+ , mail
+ , '%s failed at %s.' % ( mail_subject, format_time( end_time ) )
+ , traceback_
+ , debug_level
+ )
+ raise
+
+
+def show_revision( **unused ):
+ modified = '$Date$'
+ revision = '$Revision$'
+
+ import re
+ re_keyword_value = re.compile( r'^\$\w+:\s+(.*)\s+\$$' )
+ print '\n\tResivion: %s' % re_keyword_value.match( revision ).group( 1 )
+ print '\tLast modified on: %s\n' % re_keyword_value.match( modified ).group( 1 )
+
+
+def accept_args( args ):
+ args_spec = [
+ 'tag='
+ , 'local='
+ , 'runner='
+ , 'platform='
+ , 'user='
+ , 'comment='
+ , 'toolsets='
+ , 'bjam-options='
+ , 'bjam-toolset='
+ , 'pjl-toolset='
+ , 'timeout='
+ , 'mail='
+ , 'smtp-login='
+ , 'proxy='
+ , 'ftp-proxy='
+ , 'debug-level='
+ , 'incremental'
+ , 'force-update'
+ , 'monitored'
+ , 'help'
+ ]
+
+ options = {
+ '--tag' : 'CVS-HEAD'
+ , '--local' : None
+ , '--platform' : platform_name()
+ , '--user' : None
+ , '--comment' : None
+ , '--toolsets' : None
+ , '--bjam-options' : ''
+ , '--bjam-toolset' : None
+ , '--pjl-toolset' : None
+ , '--timeout' : 5
+ , '--mail' : None
+ , '--smtp-login' : None
+ , '--proxy' : None
+ , '--debug-level' : 0
+ , '--ftp-proxy' : None
+ }
+
+ ( option_pairs, other_args ) = getopt.getopt( args, '', args_spec )
+ map( lambda x: options.__setitem__( x[0], x[1] ), option_pairs )
+
+ if not options.has_key( '--runner' ) or options.has_key( '--help' ):
+ usage()
+ sys.exit( 1 )
+
+ return {
+ 'tag' : options[ '--tag' ]
+ , 'local' : options[ '--local' ]
+ , 'runner' : options[ '--runner' ]
+ , 'platform' : options[ '--platform']
+ , 'user' : options[ '--user' ]
+ , 'comment' : options[ '--comment' ]
+ , 'toolsets' : options[ '--toolsets' ]
+ , 'bjam_options' : options[ '--bjam-options' ]
+ , 'bjam_toolset' : options[ '--bjam-toolset' ]
+ , 'pjl_toolset' : options[ '--pjl-toolset' ]
+ , 'incremental' : options.has_key( '--incremental' )
+ , 'force_update' : options.has_key( '--force-update' )
+ , 'monitored' : options.has_key( '--monitored' )
+ , 'timeout' : options[ '--timeout' ]
+ , 'mail' : options[ '--mail' ]
+ , 'smtp_login' : options[ '--smtp-login' ]
+ , 'proxy' : options[ '--proxy' ]
+ , 'ftp_proxy' : options[ '--ftp-proxy' ]
+ , 'debug_level' : int(options[ '--debug-level' ])
+ , 'args' : other_args
+ }
+
+
+commands = {
+ 'cleanup' : cleanup
+ , 'get-source' : get_source
+ , 'update-source' : update_source
+ , 'setup' : setup
+ , 'install' : install
+ , 'test' : test
+ , 'collect-logs' : collect_logs
+ , 'upload-logs' : upload_logs
+ , 'update-itself' : update_itself
+ , 'regression' : regression
+ , 'show-revision' : show_revision
+ }
+
+def usage():
+ print 'Usage:\n\t%s [command] options' % os.path.basename( sys.argv[0] )
+ print '''
+Commands:
+\t%s
+
+Options:
+\t--runner runner ID (e.g. 'Metacomm')
+\t--tag the tag for the results ('CVS-HEAD' by default)
+\t--local the name of the boost tarball
+\t--comment an HTML comment file to be inserted in the reports
+\t ('comment.html' by default)
+\t--incremental do incremental run (do not remove previous binaries)
+\t--force-update do a CVS update (if applicable) instead of a clean
+\t checkout, even when performing a full run
+\t--monitored do a monitored run
+\t--timeout specifies the timeout, in minutes, for a single test
+\t run/compilation (enforced only in monitored runs, 5 by
+\t default)
+\t--user SourceForge user name for a shell/CVS account (optional)
+\t--toolsets comma-separated list of toolsets to test with (optional)
+\t--bjam-options options to pass to the regression test (optional)
+\t--bjam-toolset bootstrap toolset for 'bjam' executable (optional)
+\t--pjl-toolset bootstrap toolset for 'process_jam_log' executable
+\t (optional)
+\t--mail email address to send run notification to (optional)
+\t--smtp-login STMP server address/login information, in the following
+\t form: <user>:<password>@<host>[:<port>] (optional).
+\t--proxy HTTP proxy server address and port (e.g.
+\t 'http://www.someproxy.com:3128', optional)
+\t--ftp-proxy FTP proxy server (e.g. 'ftpproxy', optional)
+\t--debug-level debugging level; controls the amount of debugging
+\t output printed; 0 by default (no debug output)
+''' % '\n\t'.join( commands.keys() )
+
+ print 'Example:\n\t%s --runner=Metacomm\n' % os.path.basename( sys.argv[0] )
+ print 'For more documentation, see http://tinyurl.com/4f2zp\n'
+
+
+if __name__ == '__main__':
+ if len(sys.argv) > 1 and sys.argv[1] in commands:
+ command = sys.argv[1]
+ args = sys.argv[ 2: ]
+ if command not in [ 'collect-logs', 'upload-logs' ]:
+ args.insert( 0, '--runner=' )
+ else:
+ command = 'regression'
+ args = sys.argv[ 1: ]
+
+ commands[ command ]( **accept_args( args ) )
diff --git a/tools/regression/xsl_reports/test/common.py b/tools/regression/xsl_reports/test/common.py
new file mode 100644
index 0000000000..022e7e9f8f
--- /dev/null
+++ b/tools/regression/xsl_reports/test/common.py
@@ -0,0 +1,160 @@
+import xml.sax.saxutils
+import time
+
+def make_test_name( library_idx, test_idx ):
+ return "test_%02d_%02d" % ( library_idx, test_idx )
+
+def make_library_name( library_idx ):
+ if library_idx % 4 in ( 0, 1 ):
+ return "library_%02d/%02d" % ( int( library_idx / 4 ) * 4, library_idx % 4 )
+ else:
+ return "library_%02d" % library_idx
+
+def make_toolset_name( toolset_idx ):
+ return "toolset_%02d" % toolset_idx
+
+def make_library_target_directory( library_idx, toolset_idx, variant = None ):
+ base = "lib/%s/%s" % ( make_library_name( library_idx )
+ , make_toolset_name( toolset_idx ) )
+ if variant is not None:
+ return "%s/%s" % ( base, variant )
+ else:
+ return base
+
+def make_test_target_directory( library_idx, toolset_idx, test_name, variant ):
+ base = "%s/%s/%s" % ( make_library_name( library_idx )
+ , make_toolset_name( toolset_idx )
+ , test_name )
+ if variant is not None:
+ return "%s/%s" % ( base, variant )
+ else:
+ return base
+
+def format_timestamp( timestamp ):
+ return time.strftime( "%Y-%m-%dT%H:%M:%SZ", timestamp )
+
+def make_test_log( xml_generator
+ , library_idx
+ , toolset_idx
+ , test_name
+ , test_type
+ , test_result
+ , show_run_output
+ , variant ):
+ library = make_library_name( library_idx )
+ toolset_name = make_toolset_name( toolset_idx )
+
+ target_directory = ""
+
+ if test_type == "run":
+ target_directory = make_test_target_directory( library_idx, toolset_idx, test_name, variant )
+ if test_type == "lib":
+ target_directory = make_library_target_directory( library_idx, toolset_idx, variant )
+
+ xml_generator.startElement( "test-log", { "library": library
+ , "test-name": test_name
+ , "toolset": toolset_name
+ , "test-type": test_type
+ , "test-program": "some_program"
+ , "target-directory": target_directory
+ , "show-run-output": show_run_output
+ } )
+ if test_type == "run":
+ xml_generator.startElement( "compile", { "result": "success" } );
+ xml_generator.characters( "Compiling in %s" % target_directory )
+ xml_generator.endElement( "compile" )
+
+
+ xml_generator.startElement( "lib", { "result": test_result } );
+ xml_generator.characters( make_library_target_directory( library_idx, toolset_idx ) )
+ xml_generator.endElement( "lib" )
+
+ xml_generator.startElement( "link", { "result": "success" } );
+ xml_generator.characters( "Linking in %s" % target_directory )
+ xml_generator.endElement( "link" )
+
+ xml_generator.startElement( "run", { "result": test_result } );
+ xml_generator.characters( "Running in %s" % target_directory )
+ xml_generator.endElement( "run" )
+
+ if test_type == "lib":
+ xml_generator.startElement( "compile", { "result": test_result } );
+ xml_generator.characters( "Compiling in %s" % make_library_target_directory( library_idx, toolset_idx ) )
+ xml_generator.endElement( "compile" )
+
+
+
+ xml_generator.endElement( "test-log" )
+
+
+def make_expicit_failure_markup( num_of_libs, num_of_toolsets, num_of_tests ):
+ g = xml.sax.saxutils.XMLGenerator( open( "explicit-failures-markup.xml", "w" ) )
+ g.startElement( "explicit-failures-markup", {} );
+
+ # required toolsets
+ for i_toolset in range( 0, num_of_toolsets ):
+ if i_toolset < 2:
+ g.startElement( "mark-toolset", { "name": "toolset_%02d" % i_toolset, "status":"required"} )
+ g.endElement( "mark-toolset" )
+
+ for i_library in range( 0, num_of_libs ):
+ g.startElement( "library", { "name": make_library_name( i_library ) } )
+ if i_library % 4 == 0:
+ g.startElement( "mark-unusable", {} )
+ for i_toolset in range( 0, num_of_toolsets ):
+ if i_toolset % 2 == 1:
+ g.startElement( "toolset", { "name": make_toolset_name( i_toolset ) } )
+ g.endElement( "toolset" )
+ g.startElement( "note", { "author": "T. Test" } )
+ g.characters( "Test note" )
+ g.endElement( "note" )
+ g.endElement( "mark-unusable" )
+
+ for i_test in range( 0, num_of_tests ):
+
+ category = 0
+ explicitly_marked_failure = 0
+ unresearched = 0
+
+ if i_test % 2 == 0:
+ category = i_test % 3
+
+ if i_test % 3 == 0:
+ explicitly_marked_failure = 1
+ if i_test % 2 == 0:
+ unresearched = 1
+
+ if category or explicitly_marked_failure:
+ test_attrs = { "name": make_test_name( i_library, i_test ) }
+ if category:
+ test_attrs[ "category" ] = "Category %s" % category
+ g.startElement( "test", test_attrs )
+ if explicitly_marked_failure:
+ failure_attrs = {}
+ if unresearched: failure_attrs[ "reason" ] = "not-researched"
+
+ g.startElement( "mark-failure", failure_attrs )
+
+ g.startElement( "toolset", { "name": make_toolset_name( 1 ) } )
+ g.endElement( "toolset" )
+ g.startElement( "toolset", { "name": make_toolset_name( 0 ) } )
+ g.endElement( "toolset" )
+ g.startElement( "toolset", { "name": make_toolset_name( 2 ) } )
+ g.endElement( "toolset" )
+
+ g.startElement( "note", { "author": "V. Annotated" } )
+ g.characters( "Some thoughtful note" )
+ g.endElement( "note" )
+
+ g.endElement( "mark-failure" )
+
+ g.endElement( "test" );
+ g.endElement( "library" )
+
+
+ g.endElement( "explicit-failures-markup" )
+
+
+def make_expected_results( num_of_libs, num_of_toolsets, num_of_tests ):
+ pass
+
diff --git a/tools/regression/xsl_reports/test/expected_results.xml b/tools/regression/xsl_reports/test/expected_results.xml
new file mode 100644
index 0000000000..d9fdd26cc9
--- /dev/null
+++ b/tools/regression/xsl_reports/test/expected_results.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<expected-failures>
+</expected-failures>
diff --git a/tools/regression/xsl_reports/test/generate_test_results.py b/tools/regression/xsl_reports/test/generate_test_results.py
new file mode 100644
index 0000000000..1dbdfd7803
--- /dev/null
+++ b/tools/regression/xsl_reports/test/generate_test_results.py
@@ -0,0 +1,154 @@
+#
+# Generates test test results for testing of boost_wide_report.py
+#
+import common
+import xml.sax.saxutils
+
+import os
+import time
+
+num_of_libs = 5
+num_of_runners = 5
+num_of_toolsets = 3
+num_of_tests = 10
+
+results_directory = "results/incoming/CVS-HEAD/processed"
+
+
+# Generated results follow the rules:
+#
+# * odd runners are testing on Win32, even runners are testin on Unix
+# * the third toolset has 2 variants
+#
+
+# Generated expected markup:
+#
+# * First two toolset are required
+# * Every fourth library is unusable on event toolsets
+# * Last two tests are corner-ase tests
+# * Every 4th test is explicitly marked up as expected-failure
+
+
+def library_build_failed( library_idx ):
+ return library_idx % 2
+
+def test_run_source( runner_idx ):
+ if runner_idx % 2: return "tarball"
+ else: return "cvs head"
+
+def test_run_type( runner_idx ):
+ if runner_idx % 2: return "incremental"
+ else: return "full"
+
+
+def make_test_results():
+ if not os.path.exists( results_directory ):
+ os.makedirs( results_directory )
+
+ for i_runner in range( 0, num_of_runners ):
+ runner_id = "runner_%02d" % i_runner
+ g = xml.sax.saxutils.XMLGenerator( open( os.path.join( results_directory, runner_id + ".xml" ), "w" ) )
+ if i_runner % 2:
+ platform = "Win32"
+ else:
+ platform = "Unix"
+
+ g.startElement( "test-run", { "platform": platform
+ , "runner": runner_id
+ , "timestamp": common.format_timestamp(
+ time.gmtime( time.time() - i_runner * 24*60*60 )
+ )
+ , "source": test_run_source( i_runner )
+ , "run-type": test_run_type( i_runner )
+ } )
+
+ g.startElement( "comment", {} )
+ g.characters( "<b>Runner</b> is who <i>running</i> does." )
+ g.endElement( "comment" )
+
+ for i_lib in range( 0, num_of_libs ):
+ for i_toolset in range( num_of_toolsets ):
+ if library_build_failed( i_lib ): test_result = "fail"
+ else: test_result = "success"
+
+ common.make_test_log( xml_generator = g
+ , library_idx = i_lib
+ , toolset_idx = i_toolset
+ , test_name = ""
+ , test_type = "lib"
+ , test_result = test_result
+ , show_run_output = "false"
+ , variant = None )
+
+
+ for i_lib in range( 0, num_of_libs ):
+ library_name = "library_%02d" % i_lib
+ if num_of_runners - 1 == i_runner and i_lib % 2:
+ continue
+
+ for i_toolset in range( num_of_toolsets ):
+ toolset_name = "toolset_%02d" % ( i_toolset )
+
+ if num_of_runners - 1 == i_runner and i_toolset % 2:
+ continue
+
+ for i_test in range( num_of_tests ):
+ test_name = "test_%02d_%02d" % ( i_lib, i_test )
+ test_result = ""
+ test_type = "run"
+ show_run_output = "false"
+
+ if num_of_runners - 1 == i_runner and i_test % 2:
+ continue
+
+ if i_runner % 2: test_result = "success"
+ else: test_result = "fail"
+
+ if i_runner == 1 and i_toolset == 2 and i_test % 6 == 0:
+ test_result = "fail"
+
+ if test_result == "success" and ( 0 == i_test % 5 ):
+ show_run_output = "true"
+
+ if i_toolset == 2:
+ variants = [ "static-lib", "shared-lib" ]
+ else:
+ variants = [ None ]
+
+ for variant in variants:
+ common.make_test_log( xml_generator = g
+ , library_idx = i_lib
+ , toolset_idx = i_toolset
+ , test_name = test_name
+ , test_type = test_type
+ , test_result = test_result
+ , show_run_output = show_run_output
+ , variant = variant )
+ g.endElement( "test-run" )
+
+
+
+
+## <test-log library="algorithm" test-name="container" test-type="run" test-program="libs/algorithm/string/test/container_test.cpp" target-directory="bin/boost/libs/algorithm/string/test/container.test/borland-5.6.4/debug" toolset="borland-5.6.4" show-run-output="false">
+## <compile result="fail" timestamp="2004-06-29 17:02:27 UTC">
+
+## "C:\Progra~1\Borland\CBuilder6\bin\bcc32" -j5 -g255 -q -c -P -w -Ve -Vx -a8 -b- -v -Od -vi- -tWC -tWR -tWC -WM- -DBOOST_ALL_NO_LIB=1 -w-8001 -I"C:\Users\Administrator\boost\main\results\bin\boost\libs\algorithm\string\test" -I"C:\Users\Administrator\boost\main\boost" -I"C:\Progra~1\Borland\CBuilder6\include" -o"C:\Users\Administrator\boost\main\results\bin\boost\libs\algorithm\string\test\container.test\borland-5.6.4\debug\container_test.obj" "..\libs\algorithm\string\test\container_test.cpp"
+
+## ..\libs\algorithm\string\test\container_test.cpp:
+## Warning W8091 C:\Users\Administrator\boost\main\boost\libs/test/src/unit_test_result.cpp 323: template argument _InputIter passed to 'for_each' is a output iterator: input iterator required in function unit_test_result::~unit_test_result()
+## Warning W8091 C:\Users\Administrator\boost\main\boost\libs/test/src/unit_test_suite.cpp 63: template argument _InputIter passed to 'find_if' is a output iterator: input iterator required in function test_case::Impl::check_dependencies()
+## Warning W8091 C:\Users\Administrator\boost\main\boost\libs/test/src/unit_test_suite.cpp 204: template argument _InputIter passed to 'for_each' is a output iterator: input iterator required in function test_suite::~test_suite()
+## Error E2401 C:\Users\Administrator\boost\main\boost\boost/algorithm/string/finder.hpp 45: Invalid template argument list
+## Error E2040 C:\Users\Administrator\boost\main\boost\boost/algorithm/string/finder.hpp 46: Declaration terminated incorrectly
+## Error E2090 C:\Users\Administrator\boost\main\boost\boost/algorithm/string/finder.hpp 277: Qualifier 'algorithm' is not a class or namespace name
+## Error E2272 C:\Users\Administrator\boost\main\boost\boost/algorithm/string/finder.hpp 277: Identifier expected
+## Error E2090 C:\Users\Administrator\boost\main\boost\boost/algorithm/string/finder.hpp 278: Qualifier 'algorithm' is not a class or namespace name
+## Error E2228 C:\Users\Administrator\boost\main\boost\boost/algorithm/string/finder.hpp 278: Too many error or warning messages
+## *** 6 errors in Compile ***
+## </compile>
+## </test-log>
+
+
+make_test_results()
+common.make_expicit_failure_markup( num_of_libs, num_of_toolsets, num_of_tests )
+
diff --git a/tools/regression/xsl_reports/test/generate_test_results_v1.py b/tools/regression/xsl_reports/test/generate_test_results_v1.py
new file mode 100644
index 0000000000..0f7f8f796a
--- /dev/null
+++ b/tools/regression/xsl_reports/test/generate_test_results_v1.py
@@ -0,0 +1,85 @@
+import xml.sax.saxutils
+
+import common
+
+import os
+import time
+
+num_of_libs = 2
+num_of_toolsets = 3
+num_of_tests = 10
+
+tag = "1_30_0"
+
+def library_build_failed( library_idx ):
+ return library_idx % 2
+
+def make_test_results():
+ if not os.path.exists( tag ):
+ os.makedirs( tag )
+
+ g = xml.sax.saxutils.XMLGenerator( open( os.path.join( tag, "test.xml" ), "w" ) )
+ platform = "Win32"
+ g.startElement( "test-results", {} )
+
+ for i_lib in range( 0, num_of_libs ):
+ for i_toolset in range( num_of_toolsets ):
+ if library_build_failed( i_lib ): test_result = "fail"
+ else: test_result = "success"
+
+ common.make_test_log( xml_generator = g
+ , library_idx = i_lib
+ , toolset_idx = i_toolset
+ , test_name = ""
+ , test_type = "lib"
+ , test_result = test_result
+ , show_run_output = "false" )
+
+
+ for i_lib in range( 0, num_of_libs ):
+ library_name = "library_%02d" % i_lib
+
+ for i_toolset in range( num_of_toolsets ):
+ toolset_name = "toolset_%02d" % ( i_toolset )
+
+ for i_test in range( num_of_tests ):
+ test_name = "test_%02d_%02d" % ( i_lib, i_test )
+ test_result = ""
+ test_type = "run"
+ show_run_output = "false"
+
+ if i_lib % 2: test_result = "success"
+ else: test_result = "fail"
+
+ if test_result == "success" and ( 0 == i_test % 5 ):
+ show_run_output = "true"
+
+ common.make_test_log( g, i_lib, i_toolset, test_name, test_type, test_result, show_run_output )
+
+ g.endElement( "test-results" )
+
+
+
+
+## <test-log library="algorithm" test-name="container" test-type="run" test-program="libs/algorithm/string/test/container_test.cpp" target-directory="bin/boost/libs/algorithm/string/test/container.test/borland-5.6.4/debug" toolset="borland-5.6.4" show-run-output="false">
+## <compile result="fail" timestamp="2004-06-29 17:02:27 UTC">
+
+## "C:\Progra~1\Borland\CBuilder6\bin\bcc32" -j5 -g255 -q -c -P -w -Ve -Vx -a8 -b- -v -Od -vi- -tWC -tWR -tWC -WM- -DBOOST_ALL_NO_LIB=1 -w-8001 -I"C:\Users\Administrator\boost\main\results\bin\boost\libs\algorithm\string\test" -I"C:\Users\Administrator\boost\main\boost" -I"C:\Progra~1\Borland\CBuilder6\include" -o"C:\Users\Administrator\boost\main\results\bin\boost\libs\algorithm\string\test\container.test\borland-5.6.4\debug\container_test.obj" "..\libs\algorithm\string\test\container_test.cpp"
+
+## ..\libs\algorithm\string\test\container_test.cpp:
+## Warning W8091 C:\Users\Administrator\boost\main\boost\libs/test/src/unit_test_result.cpp 323: template argument _InputIter passed to 'for_each' is a output iterator: input iterator required in function unit_test_result::~unit_test_result()
+## Warning W8091 C:\Users\Administrator\boost\main\boost\libs/test/src/unit_test_suite.cpp 63: template argument _InputIter passed to 'find_if' is a output iterator: input iterator required in function test_case::Impl::check_dependencies()
+## Warning W8091 C:\Users\Administrator\boost\main\boost\libs/test/src/unit_test_suite.cpp 204: template argument _InputIter passed to 'for_each' is a output iterator: input iterator required in function test_suite::~test_suite()
+## Error E2401 C:\Users\Administrator\boost\main\boost\boost/algorithm/string/finder.hpp 45: Invalid template argument list
+## Error E2040 C:\Users\Administrator\boost\main\boost\boost/algorithm/string/finder.hpp 46: Declaration terminated incorrectly
+## Error E2090 C:\Users\Administrator\boost\main\boost\boost/algorithm/string/finder.hpp 277: Qualifier 'algorithm' is not a class or namespace name
+## Error E2272 C:\Users\Administrator\boost\main\boost\boost/algorithm/string/finder.hpp 277: Identifier expected
+## Error E2090 C:\Users\Administrator\boost\main\boost\boost/algorithm/string/finder.hpp 278: Qualifier 'algorithm' is not a class or namespace name
+## Error E2228 C:\Users\Administrator\boost\main\boost\boost/algorithm/string/finder.hpp 278: Too many error or warning messages
+## *** 6 errors in Compile ***
+## </compile>
+## </test-log>
+
+
+make_test_results( )
+common.make_expicit_failure_markup( num_of_libs, num_of_toolsets, num_of_tests )
diff --git a/tools/regression/xsl_reports/test/restrict_to_library.xsl b/tools/regression/xsl_reports/test/restrict_to_library.xsl
new file mode 100644
index 0000000000..8de3354d84
--- /dev/null
+++ b/tools/regression/xsl_reports/test/restrict_to_library.xsl
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:output method="xml" encoding="ascii"/>
+ <xsl:param name="library"/>
+
+
+ <xsl:template match="/">
+ <xsl:message>
+ <xsl:value-of select="$library"/>
+ </xsl:message>
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="*">
+ <xsl:copy>
+ <xsl:apply-templates select="@*"/>
+ <xsl:apply-templates />
+ </xsl:copy>
+ </xsl:template>
+
+ <xsl:template match="test-log">
+ <xsl:if test="@library=$library">
+ <xsl:copy>
+ <xsl:apply-templates select="@*"/>
+ <xsl:apply-templates/>
+ </xsl:copy>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="@*">
+ <xsl:copy-of select="."/>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/tools/regression/xsl_reports/test/run_notes_regression.py b/tools/regression/xsl_reports/test/run_notes_regression.py
new file mode 100644
index 0000000000..884dcfe9db
--- /dev/null
+++ b/tools/regression/xsl_reports/test/run_notes_regression.py
@@ -0,0 +1,32 @@
+import sys
+
+sys.path.append( '..' )
+
+import os
+
+import report
+import merger
+import utils
+
+
+tag = "1_32_0"
+
+# utils.makedirs( "results" )
+
+all_xml_file = "a.xml"
+
+report.make_result_pages(
+ test_results_file = os.path.abspath( all_xml_file )
+ , expected_results_file = ""
+ , failures_markup_file = os.path.abspath( "../../../../status/explicit-failures-markup.xml" )
+ , tag = tag
+ , run_date = "Today date"
+ , comment_file = os.path.abspath( "comment.html" )
+ , results_dir = "results"
+ , result_prefix = ""
+ , reports = [ "dd" ]
+ , v2 = 1
+ )
+
+
+
diff --git a/tools/regression/xsl_reports/test/run_v1.py b/tools/regression/xsl_reports/test/run_v1.py
new file mode 100644
index 0000000000..a995ed635d
--- /dev/null
+++ b/tools/regression/xsl_reports/test/run_v1.py
@@ -0,0 +1,35 @@
+import sys
+
+sys.path.append( '..' )
+
+import os
+
+import report
+import merger
+import utils
+
+
+tag = "1_30_0"
+
+utils.makedirs( "results" )
+
+all_xml_file = "results/all.xml"
+all_xml_writer = open( all_xml_file, "w" )
+merger.merge_test_runs( ".", tag, all_xml_writer )
+all_xml_writer.close()
+
+report.make_result_pages(
+ test_results_file = os.path.abspath( all_xml_file )
+ , expected_results_file = ""
+ , failures_markup_file = os.path.abspath( "explicit-failures-markup.xml" )
+ , source = tag
+ , run_date = "Today date"
+ , comment_file = os.path.abspath( "comment.html" )
+ , results_dir = os.path.abspath( "results" )
+ , result_prefix = ""
+ , reports = [ "l", "dd" ]
+ , v2 = 0
+ )
+
+
+
diff --git a/tools/regression/xsl_reports/test/test.py b/tools/regression/xsl_reports/test/test.py
new file mode 100644
index 0000000000..0a19491b94
--- /dev/null
+++ b/tools/regression/xsl_reports/test/test.py
@@ -0,0 +1,34 @@
+import sys
+
+sys.path.append( '..' )
+
+import os
+
+import boost_wide_report
+import common
+import utils
+import shutil
+import time
+
+tag = "CVS-HEAD"
+
+if os.path.exists( "results/incoming/CVS-HEAD/processed/merged" ):
+ shutil.rmtree( "results/incoming/CVS-HEAD/processed/merged" )
+
+boost_wide_report.ftp_task = lambda ftp_site, site_path, incoming_dir: 1
+boost_wide_report.unzip_archives_task = lambda incoming_dir, processed_dir, unzip: 1
+
+boost_wide_report.execute_tasks(
+ tag = tag
+ , user = None
+ , run_date = common.format_timestamp( time.gmtime() )
+ , comment_file = os.path.abspath( "comment.html" )
+ , results_dir = os.path.abspath( "results" )
+ , output_dir = os.path.abspath( "output" )
+ , reports = [ "x", "ds", "dd", "dsr", "ddr", "us", "ud", "usr", "udr" ]
+ , warnings = [ 'Warning text 1', 'Warning text 2' ]
+ , extended_test_results = os.path.abspath( "output/extended_test_results.xml" )
+ , dont_collect_logs = 1
+ , expected_results_file = os.path.abspath( "expected_results.xml" )
+ , failures_markup_file = os.path.abspath( "explicit-failures-markup.xml" )
+ )
diff --git a/tools/regression/xsl_reports/test/test_boost_wide_report.py b/tools/regression/xsl_reports/test/test_boost_wide_report.py
new file mode 100644
index 0000000000..f7d52fc2ff
--- /dev/null
+++ b/tools/regression/xsl_reports/test/test_boost_wide_report.py
@@ -0,0 +1,36 @@
+import unittest
+import sys
+import time
+
+sys.path.append( ".." )
+
+import boost_wide_report
+
+class test_boost_wide_report(unittest.TestCase):
+ def test_diff( self ):
+ test_cases = [
+ ( []
+ , []
+ , ( [], [] ) )
+ , ( [ boost_wide_report.file_info( "a", 1, time.localtime( 0 ) ) ]
+ , []
+ , ( [ "a" ], [] ) )
+ , ( []
+ , [ boost_wide_report.file_info( "a", 1, time.localtime( 0 ) ) ]
+ , ( [], [ "a" ] ) )
+ , ( [ boost_wide_report.file_info( "a", 1, time.localtime( 0 ) ) ]
+ , [ boost_wide_report.file_info( "a", 1, time.localtime( 1 ) ) ]
+ , ( [ "a" ], [] ) )
+ ]
+
+ for test_case in test_cases:
+ source_dir_content = test_case[0]
+ destination_dir_content = test_case[1]
+ expected_result = test_case[2]
+ d = boost_wide_report.diff( source_dir_content, destination_dir_content )
+ self.failUnlessEqual( d, expected_result )
+
+if __name__ == '__main__':
+ unittest.main()
+
+
diff --git a/tools/regression/xsl_reports/test_results.xsd b/tools/regression/xsl_reports/test_results.xsd
new file mode 100644
index 0000000000..bd54208488
--- /dev/null
+++ b/tools/regression/xsl_reports/test_results.xsd
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <!--
+ The following online services can be used to validate collected test results:
+
+ - http://apps.gotdotnet.com/xmltools/xsdvalidator/
+ - http://tools.decisionsoft.com/schemaValidate.html
+ -->
+
+ <xs:simpleType name="test_result">
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="fail"/>
+ <xs:enumeration value="succeed"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="run_test_result">
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="fail"/>
+ <xs:enumeration value="succeed"/>
+ <xs:enumeration value="note"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="test_type">
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="compile"/>
+ <xs:enumeration value="compile_fail"/>
+ <xs:enumeration value="lib"/>
+ <xs:enumeration value="pyd"/>
+ <xs:enumeration value="run"/>
+ <xs:enumeration value="run_fail"/>
+ <xs:enumeration value="run_pyd"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:element name="compile">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="result" type="test_result" use="required"/>
+ <xs:attribute name="timestamp" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="link">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="result" type="test_result" use="required"/>
+ <xs:attribute name="timestamp" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="lib">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="result" type="test_result" use="required"/>
+ <xs:attribute name="timestamp" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="run">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="result" type="run_test_result" use="required"/>
+ <xs:attribute name="timestamp" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="test-log">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="compile" minOccurs="0"/>
+ <xs:element ref="link" minOccurs="0"/>
+ <xs:element ref="run" minOccurs="0"/>
+ <xs:element ref="lib" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="library" type="xs:string" use="required"/>
+ <xs:attribute name="test-name" type="xs:string" use="required"/>
+ <xs:attribute name="test-type" type="test_type" use="required"/>
+ <xs:attribute name="test-program" type="xs:string" use="required"/>
+ <xs:attribute name="target-directory" type="xs:string" use="required"/>
+ <xs:attribute name="toolset" type="xs:string" use="required"/>
+ <xs:attribute name="show-run-output" type="xs:boolean" use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="tests">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="test-log" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+</xs:schema>
diff --git a/tools/regression/xsl_reports/utils/__init__.py b/tools/regression/xsl_reports/utils/__init__.py
new file mode 100644
index 0000000000..1400c638e3
--- /dev/null
+++ b/tools/regression/xsl_reports/utils/__init__.py
@@ -0,0 +1,12 @@
+
+from accept_args import *
+from char_translation_table import *
+from check_existance import *
+from checked_system import *
+from libxslt import *
+from log import *
+from makedirs import *
+from tar import *
+from zip import *
+
+import sourceforge
diff --git a/tools/regression/xsl_reports/utils/accept_args.py b/tools/regression/xsl_reports/utils/accept_args.py
new file mode 100644
index 0000000000..b08739f40b
--- /dev/null
+++ b/tools/regression/xsl_reports/utils/accept_args.py
@@ -0,0 +1,30 @@
+
+import getopt
+import re
+import sys
+
+def accept_args( args_spec, args, options, usage ):
+
+ defaults_num = len(options)
+
+ ( option_pairs, rest_args ) = getopt.getopt( args, '', args_spec )
+ map( lambda x: options.__setitem__( x[0], x[1] ), option_pairs )
+
+ if ( options.has_key( '--help' ) or len( options.keys() ) == defaults_num ):
+ usage()
+ sys.exit( 1 )
+
+ if len( rest_args ) > 0 and rest_args[0][0] == '@':
+ f = open( rest_args[0][1:], 'r' )
+ config_lines = f.read().splitlines()
+ f.close()
+ for l in config_lines:
+ if re.search( r'^\s*#', l ): continue
+ if re.search( r'^\s*$', l ): continue
+ m = re.match( r'^(?P<name>.*?)=(?P<value>.*)', l )
+ if m:
+ options[ '--%s' % m.group( 'name' ) ] = m.group( 'value' )
+ else:
+ raise 'Invalid format of config line "%s"' % l
+
+ return rest_args
diff --git a/tools/regression/xsl_reports/utils/char_translation_table.py b/tools/regression/xsl_reports/utils/char_translation_table.py
new file mode 100644
index 0000000000..c2d8fb6c95
--- /dev/null
+++ b/tools/regression/xsl_reports/utils/char_translation_table.py
@@ -0,0 +1,13 @@
+
+import string
+
+def chr_or_question_mark( c ):
+ if chr(c) in string.printable and c < 128 and c not in ( 0x09, 0x0b, 0x0c ):
+ return chr(c)
+ else:
+ return '?'
+
+char_translation_table = string.maketrans(
+ ''.join( map( chr, range(0, 256) ) )
+ , ''.join( map( chr_or_question_mark, range(0, 256) ) )
+ )
diff --git a/tools/regression/xsl_reports/utils/check_existance.py b/tools/regression/xsl_reports/utils/check_existance.py
new file mode 100644
index 0000000000..9e3d0e7b21
--- /dev/null
+++ b/tools/regression/xsl_reports/utils/check_existance.py
@@ -0,0 +1,9 @@
+
+import os
+
+def check_existance( name ):
+ a = os.popen( '%s --version' % name )
+ output = a.read()
+ rc = a.close()
+ if rc is not None:
+ raise Exception( '"%s" is required' % name )
diff --git a/tools/regression/xsl_reports/utils/checked_system.py b/tools/regression/xsl_reports/utils/checked_system.py
new file mode 100644
index 0000000000..bdb8e8f8e6
--- /dev/null
+++ b/tools/regression/xsl_reports/utils/checked_system.py
@@ -0,0 +1,22 @@
+
+import os
+import string
+import sys
+
+def system( commands ):
+ if sys.platform == 'win32':
+ f = open( 'tmp.cmd', 'w' )
+ f.write( string.join( commands, '\n' ) )
+ f.close()
+ rc = os.system( 'tmp.cmd' )
+ return rc
+ else:
+ rc = os.system( '&&'.join( commands ) )
+ return rc
+
+
+def checked_system( commands, valid_return_codes = [ 0 ] ):
+ rc = system( commands )
+ if rc not in [ 0 ] + valid_return_codes:
+ raise Exception( 'Command sequence "%s" failed with return code %d' % ( commands, rc ) )
+ return rc
diff --git a/tools/regression/xsl_reports/utils/libxslt.py b/tools/regression/xsl_reports/utils/libxslt.py
new file mode 100644
index 0000000000..f8b9aaa252
--- /dev/null
+++ b/tools/regression/xsl_reports/utils/libxslt.py
@@ -0,0 +1,27 @@
+
+import utils.makedirs
+import os.path
+import os
+import sys
+
+def libxslt( log, xml_file, xsl_file, output_file, parameters = None ):
+
+ utils.makedirs( os.path.dirname( output_file ) )
+
+ if sys.platform == 'win32':
+ os.chdir( os.path.dirname( xsl_file ) )
+
+ transform_command = 'xsltproc'
+ transform_command = transform_command + ' -o ' + '%s' % output_file.replace( '\\', '/' ).replace( ' ', '%20' )
+
+ if parameters is not None:
+ for i in parameters:
+ if parameters[i]:
+ parameters[i] = parameters[i].replace( '\\', '/' )
+ transform_command = transform_command + ' --param %s "\'%s\'" ' % ( i, parameters[ i ] )
+
+ transform_command = transform_command + ' "%s" ' % xsl_file.replace( '\\', '/' ).replace( ' ', '%20' )
+ transform_command = transform_command + ' "%s" ' % xml_file.replace( '\\', '/' ).replace( ' ', '%20' )
+ log( transform_command )
+ os.system( transform_command )
+
diff --git a/tools/regression/xsl_reports/utils/log.py b/tools/regression/xsl_reports/utils/log.py
new file mode 100644
index 0000000000..28b1366f88
--- /dev/null
+++ b/tools/regression/xsl_reports/utils/log.py
@@ -0,0 +1,18 @@
+
+import inspect
+import sys
+
+def log_level():
+ frames = inspect.stack()
+ level = 0
+ for i in frames[ 3: ]:
+ if i[0].f_locals.has_key( '__log__' ):
+ level = level + i[0].f_locals[ '__log__' ]
+ return level
+
+
+def stdlog( message ):
+ sys.stderr.write( '# ' + ' ' * log_level() + message + '\n' )
+ sys.stderr.flush()
+
+log = stdlog
diff --git a/tools/regression/xsl_reports/utils/makedirs.py b/tools/regression/xsl_reports/utils/makedirs.py
new file mode 100644
index 0000000000..94b68d32f1
--- /dev/null
+++ b/tools/regression/xsl_reports/utils/makedirs.py
@@ -0,0 +1,7 @@
+
+import os.path
+import os
+
+def makedirs( path ):
+ if not os.path.exists( path ):
+ os.makedirs( path )
diff --git a/tools/regression/xsl_reports/utils/send_mail.py b/tools/regression/xsl_reports/utils/send_mail.py
new file mode 100644
index 0000000000..d0ed98fd18
--- /dev/null
+++ b/tools/regression/xsl_reports/utils/send_mail.py
@@ -0,0 +1,13 @@
+
+import smtplib
+
+def send_mail( mail, subject, msg = '' ):
+ smtp_server = smtplib.SMTP( 'mail.%s' % mail.split( '@' )[-1] )
+ smtp_server.sendmail(
+ mail
+ , [ mail ]
+ , 'Subject: %s\n' % subject
+ + 'To: %s\n' % mail
+ + '\n'
+ + msg
+ )
diff --git a/tools/regression/xsl_reports/utils/sourceforge.py b/tools/regression/xsl_reports/utils/sourceforge.py
new file mode 100644
index 0000000000..0c6b085286
--- /dev/null
+++ b/tools/regression/xsl_reports/utils/sourceforge.py
@@ -0,0 +1,48 @@
+
+import utils.checked_system
+import os
+import sys
+
+site_dir = '/home/groups/b/bo/boost/htdocs/'
+
+def download( source, destination, user ):
+ if sys.platform == 'win32':
+ destination = os.popen( 'cygpath "%s"' % destination ).read().splitlines()[0]
+
+ utils.checked_system( [
+ 'rsync -v -r -z --progress %(user)s@shell.sourceforge.net:%(site_dir)s%(source)s %(dest)s'
+ % { 'user': user, 'site_dir': site_dir, 'source': source, 'dest': destination }
+ ] )
+
+
+def upload( source, destination, user ):
+ if sys.platform == 'win32':
+ source = os.popen( 'cygpath "%s"' % source ).read().splitlines()[0]
+
+ utils.checked_system( [
+ 'rsync -v -r -z --progress %(source)s %(user)s@shell.sourceforge.net:%(site_dir)s%(dest)s'
+ % { 'user': user, 'site_dir': site_dir, 'source': source, 'dest': destination }
+ ] )
+
+
+def checked_system( commands, user, background = False ):
+ if not background:
+ cmd = 'ssh -l %s shell.sourceforge.net "%s"'
+ else:
+ cmd = 'ssh -f -l %s shell.sourceforge.net "%s"'
+
+ utils.checked_system(
+ [ cmd % ( user, '&&'.join( commands ) ) ]
+ )
+
+
+def untar( archive, user, background ):
+ checked_system(
+ [
+ 'cd %s' % os.path.join( site_dir, os.path.dirname( archive ) )
+ , 'tar -x -z --overwrite --mode=+w -f %s' % os.path.basename( archive )
+ , 'rm -f %s' % archive
+ ]
+ , user = user
+ , background = background
+ )
diff --git a/tools/regression/xsl_reports/utils/tar.py b/tools/regression/xsl_reports/utils/tar.py
new file mode 100644
index 0000000000..19deb1992b
--- /dev/null
+++ b/tools/regression/xsl_reports/utils/tar.py
@@ -0,0 +1,16 @@
+
+import utils.checked_system
+import os.path
+
+def tar( source_dir, archive_name ):
+ utils.checked_system( [
+ 'cd %s' % source_dir
+ , 'tar -c -f ../%s -z *' % archive_name
+ ] )
+
+def untar( archive_path ):
+ #utils.checked_system( [ 'tar -xjf "%s"' % archive_path ] )
+ utils.checked_system( [
+ 'cd %s' % os.path.dirname( archive_path )
+ , 'tar -xjf "%s"' % os.path.basename( archive_path )
+ ] )
diff --git a/tools/regression/xsl_reports/utils/zip.py b/tools/regression/xsl_reports/utils/zip.py
new file mode 100644
index 0000000000..7473aa0051
--- /dev/null
+++ b/tools/regression/xsl_reports/utils/zip.py
@@ -0,0 +1,12 @@
+
+import zipfile
+import os.path
+
+def unzip( archive_path, result_dir ):
+ z = zipfile.ZipFile( archive_path, 'r', zipfile.ZIP_DEFLATED )
+ for f in z.infolist():
+ result = open( os.path.join( result_dir, f.filename ), 'wb' )
+ result.write( z.read( f.filename ) )
+ result.close()
+
+ z.close()
diff --git a/tools/regression/xsl_reports/xsl/add_expected_results.xsl b/tools/regression/xsl_reports/xsl/add_expected_results.xsl
new file mode 100644
index 0000000000..6771f0034f
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/add_expected_results.xsl
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+-->
+
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:meta="http://www.meta-comm.com"
+ exclude-result-prefixes="meta"
+ version="1.0">
+
+ <xsl:import href="common.xsl"/>
+
+ <xsl:output method="xml" encoding="utf-8"/>
+
+ <xsl:param name="expected_results_file"/>
+ <xsl:param name="failures_markup_file"/>
+ <xsl:variable name="expected_results" select="document( $expected_results_file )" />
+ <xsl:variable name="failures_markup" select="document( $failures_markup_file )" />
+
+ <xsl:template match="/">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="test-log">
+ <xsl:variable name="library" select="@library"/>
+ <xsl:variable name="test-name" select="@test-name"/>
+ <xsl:variable name="toolset" select="@toolset"/>
+
+ <xsl:element name="{local-name()}">
+ <xsl:apply-templates select="@*"/>
+
+ <xsl:variable name="actual_result">
+ <xsl:choose>
+ <!-- Hack: needs to be researched (and removed). See M.Wille's incident. -->
+ <xsl:when test="run/@result='succeed' and lib/@result='fail'">
+ <xsl:text>success</xsl:text>
+ </xsl:when>
+ <xsl:when test="./*/@result = 'fail'" >
+ <xsl:text>fail</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>success</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="expected_results_test_case" select="$expected_results//*/test-result[ @library=$library and ( @test-name=$test-name or @test-name='*' ) and @toolset = $toolset]"/>
+ <xsl:variable name="new_failures_markup" select="$failures_markup//library[@name=$library]/mark-expected-failures[ meta:re_match( test/@name, $test-name ) and meta:re_match( toolset/@name, $toolset ) ]"/>
+ <xsl:variable name="failures_markup" select="$failures_markup//library[@name=$library]/test[ meta:re_match( @name, $test-name ) ]/mark-failure[ meta:re_match( toolset/@name, $toolset ) ]"/>
+ <xsl:variable name="is_new">
+ <xsl:choose>
+ <xsl:when test="$expected_results_test_case">
+ <xsl:text>no</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>yes</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="expected_result">
+ <xsl:choose>
+ <xsl:when test='count( $failures_markup ) &gt; 0 or count( $new_failures_markup ) &gt; 0'>
+ <xsl:text>fail</xsl:text>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="$expected_results_test_case and $expected_results_test_case/@result = 'fail'">
+ <xsl:text>fail</xsl:text>
+ </xsl:when>
+
+ <xsl:otherwise>success</xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="status">
+ <xsl:choose>
+ <xsl:when test="count( $failures_markup ) &gt; 0 or count( $new_failures_markup ) &gt; 0">
+ <xsl:choose>
+ <xsl:when test="$expected_result = $actual_result">expected</xsl:when>
+ <xsl:otherwise>unexpected</xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="$expected_result = $actual_result">expected</xsl:when>
+ <xsl:otherwise>unexpected</xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="notes">
+ <xsl:choose>
+
+ <xsl:when test='count( $failures_markup ) &gt; 0'>
+ <xsl:for-each select="$failures_markup/note">
+ <xsl:copy-of select="."/>
+ </xsl:for-each>
+ </xsl:when>
+
+ <xsl:when test='count( $new_failures_markup ) &gt; 0'>
+ <xsl:for-each select="$new_failures_markup/note">
+ <xsl:copy-of select="."/>
+ </xsl:for-each>
+ </xsl:when>
+
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:attribute name="result"><xsl:value-of select="$actual_result"/></xsl:attribute>
+ <xsl:attribute name="expected-result"><xsl:value-of select="$expected_result"/></xsl:attribute>
+ <xsl:attribute name="status"><xsl:value-of select="$status"/></xsl:attribute>
+ <xsl:attribute name="is-new"><xsl:value-of select="$is_new"/></xsl:attribute>
+ <!--<a><xsl:value-of select="count( $failures_markup )"/></a>-->
+ <xsl:element name="notes"><xsl:copy-of select="$notes"/></xsl:element>
+
+
+ <xsl:apply-templates select="node()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="*">
+ <xsl:element name="{local-name()}">
+ <xsl:apply-templates select="@*"/>
+ <xsl:apply-templates select="node()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="@*">
+ <xsl:copy-of select="." />
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/tools/regression/xsl_reports/xsl/common.xsl b/tools/regression/xsl_reports/xsl/common.xsl
new file mode 100644
index 0000000000..0029eeaebb
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/common.xsl
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+-->
+
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:exsl="http://exslt.org/common"
+ xmlns:func="http://exslt.org/functions"
+ xmlns:str="http://exslt.org/strings"
+ xmlns:meta="http://www.meta-comm.com"
+ extension-element-prefixes="func"
+ version="1.0">
+
+ <xsl:variable name="output_directory" select="'output'"/>
+
+ <xsl:template name="get_toolsets">
+ <xsl:param name="toolsets"/>
+ <xsl:param name="required-toolsets"/>
+
+ <xsl:variable name="toolset_output">
+ <xsl:for-each select="$toolsets">
+ <xsl:variable name="toolset" select="."/>
+ <xsl:element name="toolset">
+ <xsl:attribute name="toolset"><xsl:value-of select="$toolset"/></xsl:attribute>
+ <xsl:choose>
+ <xsl:when test="$required_toolsets[ $toolset = @name ]">
+ <xsl:attribute name="required">yes</xsl:attribute>
+ <xsl:attribute name="sort">a</xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="required">no</xsl:attribute>
+ <xsl:attribute name="sort">z</xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:element>
+ </xsl:for-each>
+ </xsl:variable>
+
+ <xsl:for-each select="exsl:node-set( $toolset_output )/toolset">
+ <xsl:sort select="concat( @sort, ' ', @toolset)" order="ascending"/>
+ <xsl:copy-of select="."/>
+ </xsl:for-each>
+
+ </xsl:template>
+
+ <func:function name="meta:show_output">
+ <xsl:param name="explicit_markup"/>
+ <xsl:param name="test_log"/>
+ <func:result select="$test_log/@result != 'success' and not( meta:is_unusable( $explicit_markup, $test_log/@library, $test_log/@toolset )) or $test_log/@show-run-output = 'true'"/>
+ </func:function>
+
+ <func:function name="meta:is_test_log_a_test_case">
+ <xsl:param name="test_log"/>
+ <func:result select="$test_log/@test-type='compile' or $test_log/@test-type='compile_fail' or $test_log/@test-type='run' or $test_log/@test-type='run_pyd'"/>
+ </func:function>
+
+ <func:function name="meta:is_unusable">
+ <xsl:param name="explicit_markup"/>
+ <xsl:param name="library"/>
+ <xsl:param name="toolset"/>
+
+ <func:result select="$explicit_markup//library[ @name = $library ]/mark-unusable[ toolset/@name = $toolset or toolset/@name='*' ]"/>
+ </func:function>
+
+ <func:function name="meta:re_match">
+ <xsl:param name="pattern"/>
+ <xsl:param name="text"/>
+
+ <xsl:choose>
+ <xsl:when test="not( contains( $pattern, '*' ) )">
+ <func:result select="$text = $pattern"/>
+ </xsl:when>
+ <xsl:when test="$pattern = '*'">
+ <func:result select="1 = 1"/>
+ </xsl:when>
+ <xsl:when test="substring( $pattern, 1, 1 ) = '*' and substring( $pattern, string-length($pattern), 1 ) = '*' ">
+ <func:result select="contains( $text, substring( $pattern, 2, string-length($pattern) - 2 ) ) "/>
+ </xsl:when>
+ <xsl:when test="substring( $pattern, 1, 1 ) = '*'">
+ <xsl:variable name="pattern_tail" select="substring( $pattern, 2, string-length($pattern) - 1 )"/>
+ <func:result select="substring( $text, string-length($text) - string-length($pattern_tail) + 1, string-length($pattern_tail) ) = $pattern_tail"/>
+ </xsl:when>
+ <xsl:when test="substring( $pattern, string-length($pattern), 1 ) = '*' ">
+ <xsl:variable name="pattern_head" select="substring( $pattern, 1, string-length($pattern) - 2 )"/>
+ <func:result select="substring( $text, 1, string-length($pattern_head) ) = $pattern_head "/>
+ </xsl:when>
+ </xsl:choose>
+ </func:function>
+
+ <func:function name="meta:encode_path">
+ <xsl:param name="path"/>
+ <func:result select="translate( translate( $path, '/', '-' ), './', '-' )"/>
+ </func:function>
+
+ <func:function name="meta:toolset_name">
+ <xsl:param name="name"/>
+ <func:result select="$name"/>
+ </func:function>
+
+ <func:function name="meta:output_file_path">
+ <xsl:param name="path"/>
+ <func:result select="concat( $output_directory, '/', meta:encode_path( $path ), '.html' )"/>
+ </func:function>
+
+ <xsl:template name="show_notes">
+ <xsl:param name="explicit_markup"/>
+ <xsl:param name="notes"/>
+ <div class="notes">
+ <xsl:for-each select="$notes">
+ <div>
+ <xsl:variable name="refid" select="@refid"/>
+ <xsl:call-template name="show_note">
+ <xsl:with-param name="note" select="."/>
+ <xsl:with-param name="reference" select="$explicit_markup//note[ $refid = @id ]"/>
+ </xsl:call-template>
+ </div>
+ </xsl:for-each>
+ </div>
+ </xsl:template>
+
+ <xsl:template name="show_note">
+ <xsl:param name="note"/>
+ <xsl:param name="reference"/>
+ <div class="note">
+ <xsl:variable name="author">
+ <xsl:choose>
+ <xsl:when test="$note/@author">
+ <xsl:value-of select="$note/@author"/>
+ </xsl:when>
+ <xsl:when test="$reference">
+ <xsl:value-of select="$reference/@author"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="date">
+ <xsl:choose>
+ <xsl:when test="$note/@date">
+ <xsl:value-of select="$note/@date"/>
+ </xsl:when>
+ <xsl:when test="$reference">
+ <xsl:value-of select="$reference/@date"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <span class="note-header">
+ <xsl:choose>
+ <xsl:when test="$author != '' and $date != ''">
+ [&#160;<xsl:value-of select="$author"/>&#160;<xsl:value-of select="$date"/>&#160;]
+ </xsl:when>
+ <xsl:when test="$author != ''">
+ [&#160;<xsl:value-of select="$author"/>&#160;]
+ </xsl:when>
+ <xsl:when test="$date != ''">
+ [&#160;<xsl:value-of select="$date"/>&#160;]
+ </xsl:when>
+ </xsl:choose>
+ </span>
+
+ <xsl:if test="$reference">
+ <xsl:copy-of select="$reference/node()"/>
+ </xsl:if>
+ <xsl:copy-of select="$note/node()"/>
+
+ </div>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/tools/regression/xsl_reports/xsl/html/issues_legend.html b/tools/regression/xsl_reports/xsl/html/issues_legend.html
new file mode 100644
index 0000000000..6274048b55
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/html/issues_legend.html
@@ -0,0 +1,36 @@
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+-->
+
+<div class="legend">
+<table border="0" summary="report description">
+<tr>
+ <td>
+ <table border="0" summary="legend">
+ <tr>
+ <td>
+ <table width="100%" summary="unexpected new fail legend">
+ <tr class="library-row-single"><td class="library-fail-unexpected-new">&lt;toolset&gt;</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">Failure on a newly added test/compiler.</td>
+ </tr>
+ <tr>
+ <td>
+ <table width="100%" summary="unexpected fail legend">
+ <tr class="library-row-single"><td class="library-fail-unexpected">&lt;toolset&gt;</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">Unexpected failure.</td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+</div>
diff --git a/tools/regression/xsl_reports/xsl/html/library_developer_legend.html b/tools/regression/xsl_reports/xsl/html/library_developer_legend.html
new file mode 100644
index 0000000000..405e52ab4b
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/html/library_developer_legend.html
@@ -0,0 +1,72 @@
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+-->
+
+<div class="legend">
+<table border="0" summary="report description">
+<tr>
+ <td>
+ <table border="0" summary="legend">
+ <tr>
+ <td>
+ <table width="100%" summary="success legend">
+ <tr class="library-row-single"><td class="library-success-expected">pass</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">Success.</td>
+ </tr>
+ <tr>
+ <td>
+ <table width="100%" summary="unexpected pass legend">
+ <tr class="library-row-single"><td class="library-success-unexpected">pass</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">Unexpected success.</td>
+ </tr>
+ <tr>
+ <td>
+ <table width="100%" summary="expected fail legend">
+ <tr class="library-row-single"><td class="library-fail-expected">fail</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">Expected failure.</td>
+ </tr>
+ </table>
+ </td>
+ <td>
+ <table border="0" summary="legend">
+ <tr>
+ <td>
+ <table width="100%" summary="unexpected new fail legend">
+ <tr class="library-row-single"><td class="library-fail-unexpected-new">fail</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">Failure on a newly added test/compiler.</td>
+ </tr>
+ <tr>
+ <td>
+ <table width="100%" summary="unexpected fail legend">
+ <tr class="library-row-single"><td class="library-fail-unexpected">fail</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">Unexpected failure.</td>
+ </tr>
+ <tr>
+ <td>
+ <table width="100%" summary="unusable legend">
+ <tr class="library-row-single"><td class="library-unusable">n/a</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">The library author marked it as unusable on particular platform/toolset.</td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+</div>
diff --git a/tools/regression/xsl_reports/xsl/html/library_user_legend.html b/tools/regression/xsl_reports/xsl/html/library_user_legend.html
new file mode 100644
index 0000000000..5175f04271
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/html/library_user_legend.html
@@ -0,0 +1,65 @@
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+-->
+
+<div class="legend">
+<table border="0" summary="report description">
+<tr>
+ <td>
+ <table border="0" summary="legend">
+ <tr>
+ <td>
+ <table width="100%" summary="success legend">
+ <tr class="library-row-single"><td class="library-user-success">pass</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">
+ The test passes.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table width="100%" summary="fail legend">
+ <tr class="library-row-single"><td class="library-user-fail-expected">fail</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">
+ A known test failure; click on the link to see the log.
+ </td>
+ </tr>
+ </table>
+ </td>
+ <td>
+ <table border="0" summary="legend">
+ <tr>
+ <td>
+ <table width="100%" summary="unexpected fail legend">
+ <tr class="library-row-single"><td class="library-user-fail-unexpected">unexp.</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">
+ The test is known to pass, but is currently failing;
+ click on the link to see the log.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table width="100%" summary="unusable legend">
+ <tr class="library-row-single"><td class="library-unusable">n/a</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">
+ The library author marked it as unusable on particular platform/toolset.
+ </td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+</div>
diff --git a/tools/regression/xsl_reports/xsl/html/make_tinyurl.html b/tools/regression/xsl_reports/xsl/html/make_tinyurl.html
new file mode 100644
index 0000000000..2de8830106
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/html/make_tinyurl.html
@@ -0,0 +1,24 @@
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+-->
+
+<div class="tinyurl">
+
+<script type="text/javascript">
+<!--
+function make_tinyurl()
+{
+ window.open( 'http://tinyurl.com/create.php?url=' + parent.location.href );
+}
+//-->
+</script>
+
+<a href="javascript:make_tinyurl()">TinyUrl</a>
+
+</div>
diff --git a/tools/regression/xsl_reports/xsl/html/master.css b/tools/regression/xsl_reports/xsl/html/master.css
new file mode 100644
index 0000000000..8e643efebf
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/html/master.css
@@ -0,0 +1,525 @@
+/*
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+*/
+
+/* All reports */
+
+body
+{
+ background-color: white;
+}
+
+body.user-toc
+{
+ background-color: #f0f0f0;
+}
+
+body.developer-toc
+{
+ background-color: #f0f5ff;
+}
+
+span.super
+{
+ vertical-align: super;
+ font-size: 80%;
+ margin-left: 3pt;
+}
+
+h1.page-title
+{
+ text-align: left;
+ text-transform: capitalize;
+ margin-top: 10pt;
+ margin-bottom: 10pt;
+}
+
+img
+{
+ display: inline;
+}
+
+ a.hover-link:link
+,a.hover-link:visited
+,a.hover-link:active
+{
+ color: black;
+ text-decoration: none;
+}
+
+a.hover-link:hover
+{
+ color: black;
+ text-decoration: underline;
+}
+
+div.legend
+{
+ width: 80%;
+ background-color: #f5f5f5;
+ margin-top: 10pt;
+}
+
+div.comment
+{
+ width: 80%;
+ background-color: #f5f5f5;
+ padding-left: 10pt;
+ padding-right: 10pt;
+ padding-bottom: 10pt;
+}
+
+div.tinyurl
+{
+ margin-top: 10pt;
+}
+
+table.header-table
+{
+ margin-left: 10pt;
+ margin-top: 20pt;
+ margin-bottom: 10pt;
+ width: 80%;
+}
+
+td.header-item
+{
+ text-align: left;
+ vertical-align: top;
+ font-weight: bold;
+}
+
+td.header-item-content
+{
+ padding-left: 20pt;
+ padding-bottom: 10pt;
+}
+
+td.legend-item
+{
+ padding-left: 5pt;
+/* padding-top: 2pt;*/
+}
+
+div.acknowledgement
+{
+ text-align: left;
+ margin-top: 10pt;
+ margin-left: 5pt;
+ margin-bottom: 10pt;
+}
+
+div.report-info
+{
+ text-align: left;
+ margin-bottom: 10pt;
+ width: 80%;
+}
+
+div.purpose
+{
+ text-align: left;
+ margin-left: 5pt;
+ margin-top: 10pt;
+}
+
+
+div.library-name
+{
+ margin-top: 20pt;
+ margin-bottom: 10pt;
+ text-align: left;
+ font-size: 125%;
+ font-weight: bold;
+}
+
+table.summary-table
+,table.library-table
+{
+ border-collapse: collapse;
+ border: 2px solid black;
+ margin: 5px;
+}
+
+ table.summary-table td
+,table.library-table td
+{
+ text-align: center;
+ border-left: 1px solid black;
+ border-right: 1px solid black;
+}
+
+ a.log-link:link
+,a.log-link:visited
+{
+ color: black;
+/* text-decoration: none; */
+}
+
+ a.log-link:active
+,a.log-link:hover
+,a.legend-link:link
+,a.legend-link:visited
+,a.legend-link:active
+,a.legend-link:hover
+{
+ color: black;
+ text-decoration: underline;
+}
+
+ td.toolset-name
+,td.required-toolset-name
+{
+ vertical-align: middle;
+ padding-left: 3pt;
+ padding-right: 3pt;
+ word-spacing: -3pt;
+}
+
+td.required-toolset-name
+{
+ font-weight: bold;
+}
+
+td.library-corner-case-header
+{
+}
+
+tr.summary-row-first td
+, tr.library-row-first td
+{
+ border-top: 1px solid gray;
+ border-bottom: 0px;
+}
+
+tr.summary-row-last td
+, tr.library-row-last td
+{
+ border-top: 0px;
+ border-bottom: 1px solid gray;
+}
+
+tr.summary-row-single td
+, tr.library-row-single td
+{
+ border-top: 1px solid gray;
+ border-bottom: 1px solid gray;
+}
+
+tr.summary-row td
+, tr.library-row td
+{
+ border-bottom: 0px;
+ border-top: 0px;
+}
+
+ td.library-success-expected
+,td.library-fail-expected
+,td.library-user-fail-expected
+,td.library-user-success
+,td.summary-expected
+,td.summary-user-fail-expected
+,td.summary-user-success
+,td.summary-unknown-status
+{
+ width: 60pt;
+ text-align: center;
+ background-color: lightgreen;
+ border-left: 1px solid black;
+ border-right: 1px solid black;
+ padding-left: 2pt;
+ padding-right: 2pt;
+}
+
+td.summary-unknown-status
+{
+ background-color: white;
+}
+
+ td.library-success-unexpected
+,td.summary-success-unexpected
+{
+ width: 60pt;
+ text-align: center;
+ background-color: green;
+ font-weight: bold;
+ color: white;
+ border: 0px;
+ padding-left: 2pt;
+ padding-right: 2pt;
+}
+
+
+ tr.summary-row td.summary-fail-unexpected
+,tr.summary-row-first td.summary-fail-unexpected
+,tr.summary-row-last td.summary-fail-unexpected
+,tr.summary-row-single td.summary-fail-unexpected
+
+,tr.summary-row td.summary-user-fail-unexpected
+,tr.summary-row-first td.summary-user-fail-unexpected
+,tr.summary-row-last td.summary-user-fail-unexpected
+,tr.summary-row-single td.summary-user-fail-unexpected
+
+,tr.library-row td.library-user-fail-unexpected
+,tr.library-row-first td.library-user-fail-unexpected
+,tr.library-row-last td.library-user-fail-unexpected
+,tr.library-row-single td.library-user-fail-unexpected
+{
+ width: 60pt;
+ text-align: center;
+ background-color: red;
+ color: black;
+ border: 2px solid black;
+ padding-left: 2pt;
+ padding-right: 2pt;
+}
+
+ tr.summary-row td.summary-missing
+, tr.summary-row-first td.summary-missing
+, tr.summary-row-last td.summary-missing
+, tr.summary-row-single td.summary-missing
+
+, tr.library-row td.library-missing
+, tr.library-row-first td.library-missing
+, tr.library-row-last td.library-missing
+, tr.library-row-single td.library-missing
+{
+ width: 60pt;
+ text-align: center;
+ background-color: white;
+ color: black;
+ border: 2px solid black;
+ padding-left: 2pt;
+ padding-right: 2pt;
+}
+
+ tr.summary-row td.summary-unusable
+, tr.summary-row-first td.summary-unusable
+, tr.summary-row-last td.summary-unusable
+, tr.summary-row-single td.summary-unusable
+
+, tr.library-row td.library-unusable
+, tr.library-row-first td.library-unusable
+, tr.library-row-last td.library-unusable
+, tr.library-row-single td.library-unusable
+{
+ width: 60pt;
+ text-align: center;
+ background-color: silver;
+ color: black;
+ border-top: 2px solid black;
+ border-bottom: 2px solid black;
+ border-left: 2px solid black;
+ border-right: 2px solid black;
+ padding-left: 2pt;
+ padding-right: 2pt;
+}
+
+/* Summary */
+
+table.summary-table td.library-name
+{
+ width: 100pt;
+ padding: 0pt;
+ border-top: 1px solid gray;
+ border-bottom: 1px solid gray;
+}
+
+ tr.summary-row td.summary-user-fail-unexpected
+, tr.summary-row-first td.summary-user-fail-unexpected
+, tr.summary-row-last td.summary-user-fail-unexpected
+, tr.summary-row-single td.summary-user-fail-unexpected
+{
+ width: 60pt;
+ text-align: center;
+ background-color: yellow;
+ color: black;
+ border: 2px solid black;
+ padding-left: 2pt;
+ padding-right: 2pt;
+}
+
+ tr.summary-row td.summary-fail-unexpected-new
+, tr.summary-row-first td.summary-fail-unexpected-new
+, tr.summary-row-last td.summary-fail-unexpected-new
+, tr.summary-row-single td.summary-fail-unexpected-new
+
+, tr.library-row td.library-fail-unexpected-new
+, tr.library-row-first td.library-fail-unexpected-new
+, tr.library-row-last td.library-fail-unexpected-new
+, tr.library-row-single td.library-fail-unexpected-new
+{
+ width: 60pt;
+ text-align: center;
+ background-color: yellow;
+ color: black;
+ border: 2px solid black;
+}
+
+/* Detailed */
+
+.library-conf-problem
+{
+ font-size: 70%;
+ font-weight: normal;
+}
+
+div.library-toc
+{
+ margin: 5pt;
+}
+
+
+li.library-toc-entry
+{
+ margin-left: 5pt;
+ list-style-type: square;
+}
+
+
+div.library-footer
+{
+ margin: 5px;
+}
+
+
+table.library-table td.test-name
+{
+ width: 150pt;
+ padding-left: 6pt;
+ padding-right: 6pt;
+ border-right: 0;
+ border-top: 1px solid gray;
+ border-bottom: 1px solid gray;
+}
+
+table.library-table td.test-type
+{
+ padding-right: 5px;
+ border-left: 0;
+ border-right: 0;
+ border-top: 1px solid gray;
+ border-bottom: 1px solid gray;
+ text-align: right;
+}
+
+ tr.library-row td.library-fail-unexpected
+, tr.library-row-first td.library-fail-unexpected
+, tr.library-row-last td.library-fail-unexpected
+, tr.library-row-single td.library-fail-unexpected
+{
+ width: 60pt;
+ text-align: center;
+ background-color: red;
+ font-weight: bold;
+ color: black;
+ border: 2px solid black;
+}
+
+td.library-user-fail-expectected
+{
+ width: 60pt;
+ text-align: center;
+ background-color: yellow;
+ color: black;
+ border: 0px solid black;
+}
+
+table.library-library-notes
+{
+ background-color: LemonChiffon;
+ width: 640px;
+ margin-left: 5px;
+ margin-right: 5px;
+}
+
+tr.library-library-note
+{
+}
+
+div.note
+{
+ padding: 3pt;
+}
+
+
+span.note-header
+{
+ font-weight: bold;
+}
+
+/* Log */
+
+div.log-test-title
+{
+ font-size: 1.5em;
+ font-weight: bold;
+ border-bottom: 1px solid black;
+}
+
+div.notes-title
+{
+ font-weight: bold;
+ background-color: #ffffcc;
+}
+
+div.notes
+{
+ padding: 3pt;
+ background-color: #ffffcc;
+}
+
+div.notes-title
+{
+ font-weight: bold;
+}
+
+div.log-compiler-output-title
+{
+ font-weight: bold;
+}
+
+div.log-linker-output-title
+{
+ font-weight: bold;
+}
+
+div.log-run-output-title
+{
+ font-weight: bold;
+}
+
+
+/* Issues page */
+
+table.library-issues-table
+{
+ border-collapse: collapse;
+ border: 2px solid black;
+}
+
+table.library-issues-table td
+{
+ border: 1px solid #c0c0c0;
+ text-align: center;
+ margin-right: 5px;
+}
+
+table.library-issues-table td.failures-row
+{
+ text-align: left;
+ padding: 0px;
+}
+
+ table.issue-box tr.library-row-single td.library-fail-unexpected-new
+,table.issue-box tr.library-row-single td.library-fail-unexpected
+{
+ border: 0px;
+ font-weight: normal;
+}
diff --git a/tools/regression/xsl_reports/xsl/html/summary_developer_legend.html b/tools/regression/xsl_reports/xsl/html/summary_developer_legend.html
new file mode 100644
index 0000000000..0f82828228
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/html/summary_developer_legend.html
@@ -0,0 +1,75 @@
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+-->
+
+<div class="legend">
+<table border="0" summary="report description">
+<tr>
+ <td>
+ <table border="0" summary="legend">
+ <tr>
+ <td>
+ <table width="100%" summary="success legend">
+ <tr class="summary-row-single"><td class="summary-expected">OK</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">
+ All expected tests pass.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table width="100%" summary="unexpected pass legend">
+ <tr class="summary-row-single"><td class="summary-success-unexpected">OK</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">
+ All expected tests pass, and some other tests that were expected to fail
+ unexpectedly pass as well.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table width="100%" summary="unexpected new fail legend">
+ <tr class="summary-row-single"><td class="summary-fail-unexpected-new">fail</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">
+ There are some failures on the newly added tests/compiler(s).
+ </td>
+ </tr>
+ </table>
+ </td>
+ <td>
+ <table border="0" summary="legend">
+ <tr>
+ <td>
+ <table width="100%" summary="unexpected fail legend">
+ <tr class="summary-row-single"><td class="summary-fail-unexpected">broken</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">
+ Tests that the library author expects to pass are currently failing.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table width="100%" summary="unusable legend">
+ <tr class="summary-row-single"><td class="summary-unusable">n/a</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">
+ The library author marked it as unusable on particular platform/toolset.
+ </td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+</div>
diff --git a/tools/regression/xsl_reports/xsl/html/summary_user_legend.html b/tools/regression/xsl_reports/xsl/html/summary_user_legend.html
new file mode 100644
index 0000000000..4407608120
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/html/summary_user_legend.html
@@ -0,0 +1,65 @@
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+-->
+
+<div class="legend">
+<table border="0" summary="report description">
+<tr>
+ <td>
+ <table border="0" summary="legend">
+ <tr>
+ <td>
+ <table width="100%" summary="success legend">
+ <tr class="summary-row-single"><td class="summary-user-success">&#160;</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">
+ All library tests are passing.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table width="100%" summary="expected fail legend">
+ <tr class="summary-row-single"><td class="summary-user-fail-expected">details</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">
+ There are some known failures in the tests, click on the link to see the details.
+ </td>
+ </tr>
+ </table>
+ </td>
+ <td>
+ <table border="0" summary="legend" ID="Table1">
+ <tr>
+ <td>
+ <table width="100%" summary="unexpected fail legend">
+ <tr class="summary-row-single"><td class="summary-user-fail-unexpected">unexp.</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">
+ Some tests that the library author expects to pass are currently failing,
+ click on the link to see the details.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table width="100%" summary="unusable legend">
+ <tr class="summary-row-single"><td class="summary-unusable">n/a</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">
+ The library author marked it as unusable on particular platform/toolset.
+ </td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+</div>
diff --git a/tools/regression/xsl_reports/xsl/issues_page.xsl b/tools/regression/xsl_reports/xsl/issues_page.xsl
new file mode 100644
index 0000000000..4faa410d0d
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/issues_page.xsl
@@ -0,0 +1,223 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+-->
+
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:exsl="http://exslt.org/common"
+ xmlns:func="http://exslt.org/functions"
+ xmlns:str="http://exslt.org/strings"
+ xmlns:set="http://exslt.org/sets"
+ xmlns:meta="http://www.meta-comm.com"
+ extension-element-prefixes="func exsl"
+ exclude-result-prefixes="set str meta"
+ version="1.0">
+
+ <xsl:import href="common.xsl"/>
+
+ <xsl:output method="html"
+ doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
+ encoding="utf-8"
+ indent="yes"
+ />
+
+
+ <xsl:param name="links_file"/>
+ <xsl:param name="mode"/>
+ <xsl:param name="source"/>
+ <xsl:param name="run_date"/>
+ <xsl:param name="comment_file"/>
+ <xsl:param name="expected_results_file"/>
+ <xsl:param name="explicit_markup_file"/>
+
+ <!-- the author-specified expected test results -->
+ <xsl:variable name="explicit_markup" select="document( $explicit_markup_file )"/>
+ <xsl:variable name="expected_results" select="document( $expected_results_file )" />
+
+ <!-- necessary indexes -->
+ <xsl:key
+ name="test_name_key"
+ match="test-log"
+ use="concat( @library, '@', @test-name )"/>
+ <xsl:key
+ name="a"
+ match="."
+ use="concat( @library, '@', @test-name )"/>
+
+ <xsl:key
+ name="library_key"
+ match="test-log"
+ use="@library"/>
+ <xsl:key name="toolset_key" match="test-log" use="@toolset"/>
+
+ <!-- toolsets -->
+
+ <xsl:variable name="required_toolsets" select="$explicit_markup//mark-toolset[ @status='required' ]"/>
+ <xsl:variable name="required_toolset_names" select="$explicit_markup//mark-toolset[ @status='required' ]/@name"/>
+ <!-- libraries -->
+ <xsl:variable name="libraries" select="//test-log[ @library != '' and generate-id(.) = generate-id( key('library_key',@library)[1] ) ]/@library"/>
+
+ <xsl:variable name="unexpected_test_cases" select="//test-log[ @status='unexpected' and @result='fail' and @toolset = $required_toolset_names and meta:is_test_log_a_test_case(.)]"/>
+
+ <func:function name="meta:get_library_tests">
+ <xsl:param name="tests"/>
+ <xsl:param name="library"/>
+
+ <xsl:variable name="a">
+ <xsl:for-each select="$tests[ @library=$library ]">
+ <xsl:sort select="@test-name" order="ascending"/>
+ <xsl:copy-of select="."/>
+ </xsl:for-each>
+ </xsl:variable>
+ <func:result select="exsl:node-set( $a )/*"/>
+ </func:function>
+
+
+ <xsl:template match="/">
+
+ <xsl:variable name="issues_list" select="'issues_.html'"/>
+
+ <!-- Issues page -->
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ <title>Boost regression unresolved issues: <xsl:value-of select="$source"/></title>
+ </head>
+ <frameset cols="190px,*" frameborder="0" framespacing="0" border="0">
+ <frame name="tocframe" src="toc.html" scrolling="auto"/>
+ <frame name="docframe" src="{$issues_list}" scrolling="auto"/>
+ </frameset>
+ </html>
+
+ <!-- Issues list -->
+ <xsl:message>Writing document <xsl:value-of select="$issues_list"/></xsl:message>
+
+ <exsl:document href="{$issues_list}"
+ method="html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ encoding="utf-8"
+ indent="yes">
+
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ </head>
+ <body>
+
+ <h1 class="page-title">
+ <xsl:text>Unresolved Issues: </xsl:text>
+ <a class="hover-link" href="summary.html" target="_top"><xsl:value-of select="$source"/></a>
+ </h1>
+
+ <div class="report-info">
+ <div>
+ <b>Report Time: </b> <xsl:value-of select="$run_date"/>
+ </div>
+ <div>
+ <b>Purpose: </b> Provides a list of current unresolved test failures.
+ </div>
+ </div>
+
+ <xsl:for-each select="$libraries">
+ <xsl:sort select="." order="ascending"/>
+ <xsl:variable name="library" select="."/>
+ <xsl:variable name="library_page" select="meta:encode_path( $library )" />
+
+ <xsl:variable name="library_tests" select="meta:get_library_tests( $unexpected_test_cases, $library )"/>
+ <xsl:if test="count( $library_tests ) > 0">
+ <xsl:variable name="library_test_names" select="set:distinct( $library_tests/@test-name )"/>
+
+ <h2>
+ <a class="hover-link" href="{$library_page}.html" target="_top">
+ <xsl:value-of select="$library"/>
+ </a>
+ </h2>
+
+ <table class="library-issues-table" summary="issues">
+ <thead>
+ <tr valign="middle">
+ <td class="head">test</td>
+ <td class="head">failures</td>
+ </tr>
+ </thead>
+ <tfoot>
+ <tr valign="middle">
+ <td class="head">test</td>
+ <td class="head">failures</td>
+ </tr>
+ </tfoot>
+
+ <tbody>
+ <xsl:for-each select="$library_test_names">
+ <xsl:sort select="." order="ascending"/>
+ <xsl:variable name="test_name" select="."/>
+
+ <xsl:variable name="unexpected_toolsets" select="$library_tests[ @test-name = $test_name and not (meta:is_unusable( $explicit_markup, $library, @toolset )) ]/@toolset"/>
+
+ <xsl:if test="count( $unexpected_toolsets ) > 0">
+ <xsl:variable name="test_program" select="$library_tests[@test-name = $test_name]/@test-program"/>
+ <tr>
+ <td class="test-name">
+ <a href="../../../{$test_program}" class="test-link">
+ <xsl:value-of select="$test_name"/>
+ </a>
+ </td>
+ <td class="failures-row">
+ <table summary="unexpected fail legend" class="issue-box">
+ <tr class="library-row-single">
+
+ <xsl:for-each select="$unexpected_toolsets">
+ <xsl:sort select="." order="ascending"/>
+ <xsl:variable name="toolset" select="."/>
+ <xsl:variable name="test_result" select="$library_tests[@test-name = $test_name and @toolset = $toolset]"/>
+ <xsl:variable name="log_link" select="meta:output_file_path( $test_result/@target-directory )"/>
+ <xsl:variable name="class">
+ <xsl:choose>
+ <xsl:when test="$test_result/@is-new = 'yes'">
+ <xsl:text>library-fail-unexpected-new</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>library-fail-unexpected</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <td class="{$class}">
+ <span>
+ <a href="{$log_link}" class="log-link" target="_top">
+ <xsl:value-of select="."/>
+ </a>
+ </span>
+ </td>
+ </xsl:for-each>
+
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </xsl:if>
+ </xsl:for-each>
+ </tbody>
+
+ </table>
+
+
+ </xsl:if>
+ </xsl:for-each>
+
+ <xsl:copy-of select="document( 'html/issues_legend.html' )"/>
+ <xsl:copy-of select="document( 'html/make_tinyurl.html' )"/>
+
+ </body>
+ </html>
+ </exsl:document>
+
+ </xsl:template>
+</xsl:stylesheet>
diff --git a/tools/regression/xsl_reports/xsl/links_page.xsl b/tools/regression/xsl_reports/xsl/links_page.xsl
new file mode 100644
index 0000000000..ebc4488f50
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/links_page.xsl
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+-->
+
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:exsl="http://exslt.org/common"
+ xmlns:func="http://exslt.org/functions"
+ xmlns:str="http://exslt.org/strings"
+ xmlns:set="http://exslt.org/sets"
+ xmlns:meta="http://www.meta-comm.com"
+ extension-element-prefixes="func exsl"
+ exclude-result-prefixes="set str meta"
+ version="1.0">
+
+ <xsl:import href="common.xsl"/>
+
+ <xsl:output method="html"
+ doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
+ encoding="utf-8"
+ indent="yes"
+ />
+
+ <xsl:param name="source"/>
+ <xsl:param name="run_date"/>
+ <xsl:param name="comment_file"/>
+ <xsl:param name="explicit_markup_file"/>
+
+ <xsl:variable name="explicit_markup" select="document( $explicit_markup_file )"/>
+
+ <xsl:template match="test-log[ meta:show_output( $explicit_markup, . ) ]">
+ <xsl:variable name="document_path" select="meta:output_file_path( @target-directory )"/>
+
+ <xsl:message>Writing log file document <xsl:value-of select="$document_path"/></xsl:message>
+
+ <exsl:document href="{$document_path}"
+ method="html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ encoding="utf-8"
+ indent="yes">
+
+ <html>
+ <xsl:variable name="component">
+ <xsl:choose>
+ <xsl:when test="@test-name != ''">
+ <div class="log-test-title">
+ <xsl:value-of select="concat( @library, ' - ', @test-name, ' / ', @toolset )"/>
+ </div>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="@target-dir"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ <title>Boost regression - test run output: <xsl:value-of select="$component"/></title>
+ </head>
+
+ <body>
+ <div>
+ <div class="log-test-title">
+ Boost regression - test run output: <xsl:value-of select="$component"/>
+ </div>
+
+
+ <xsl:if test="notes/note">
+ <p>
+ <div class="notes-title">Notes</div>
+ <xsl:call-template name="show_notes">
+ <xsl:with-param name="notes" select="notes/note"/>
+ <xsl:with-param name="explicit_markup" select="$explicit_markup"/>
+ </xsl:call-template>
+ </p>
+ </xsl:if>
+
+ <xsl:if test="compile">
+ <p>
+ <div class="log-compiler-output-title">Compiler output:</div>
+ <pre>
+ <xsl:copy-of select="compile/node()"/>
+ </pre>
+ </p>
+ </xsl:if>
+
+ <xsl:if test="link">
+ <p>
+ <div class="log-linker-output-title">Linker output:</div>
+ <pre>
+ <xsl:copy-of select="link/node()"/>
+ </pre>
+ </p>
+ </xsl:if>
+
+ <xsl:if test="lib">
+ <p>
+ <div class="log-linker-output-title">Lib output:</div>
+ <p>
+ See <a href="{meta:encode_path( lib/node() )}.html">
+ <xsl:copy-of select="lib/node()"/>
+ </a>
+ </p>
+ </p>
+ </xsl:if>
+
+ <xsl:if test="run">
+ <p>
+ <div class="log-run-output-title">Run output:</div>
+ <pre>
+ <xsl:copy-of select="run/node()"/>
+ </pre>
+ </p>
+ </xsl:if>
+
+ </div>
+
+ <xsl:copy-of select="document( 'html/make_tinyurl.html' )"/>
+
+ </body>
+
+ </html>
+ </exsl:document>
+
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/tools/regression/xsl_reports/xsl/produce_expected_results.xsl b/tools/regression/xsl_reports/xsl/produce_expected_results.xsl
new file mode 100644
index 0000000000..a47a3acfed
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/produce_expected_results.xsl
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+-->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:output method="xml" encoding="utf-8"/>
+
+ <xsl:template match="/">
+ <root>
+ <expected-failures>
+ <xsl:apply-templates select="*/test-log"/>
+ </expected-failures>
+ </root>
+ </xsl:template>
+
+ <xsl:template match="test-log">
+ <xsl:if test="meta:is_test_log_a_test_case(.)">
+ <test-result library="{@library}" test-name="{@test-name}" toolset="{@toolset}" result="{@result}" />
+ </xsl:if>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/tools/regression/xsl_reports/xsl/result_page.xsl b/tools/regression/xsl_reports/xsl/result_page.xsl
new file mode 100644
index 0000000000..dbd0fbf919
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/result_page.xsl
@@ -0,0 +1,702 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+-->
+
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:exsl="http://exslt.org/common"
+ xmlns:func="http://exslt.org/functions"
+ xmlns:str="http://exslt.org/strings"
+ xmlns:set="http://exslt.org/sets"
+ xmlns:meta="http://www.meta-comm.com"
+ extension-element-prefixes="func exsl"
+ exclude-result-prefixes="set str meta"
+ version="1.0">
+
+ <xsl:import href="common.xsl"/>
+
+ <xsl:output method="html"
+ doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
+ encoding="utf-8"
+ indent="yes"
+ />
+
+ <xsl:param name="links_file"/>
+ <xsl:param name="mode"/>
+ <xsl:param name="source"/>
+ <xsl:param name="run_date"/>
+ <xsl:param name="comment_file"/>
+ <xsl:param name="expected_results_file"/>
+ <xsl:param name="explicit_markup_file"/>
+
+ <!-- the author-specified expected test results -->
+ <xsl:variable name="explicit_markup" select="document( $explicit_markup_file )"/>
+ <xsl:variable name="expected_results" select="document( $expected_results_file )" />
+
+ <xsl:variable name="alternate_mode">
+ <xsl:choose>
+ <xsl:when test="$mode='user'">developer</xsl:when>
+ <xsl:otherwise>user</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- necessary indexes -->
+ <xsl:key
+ name="test_name_key"
+ match="test-log"
+ use="concat( @library, '&gt;@&lt;', @test-name )"/>
+ <xsl:key name="toolset_key" match="test-log" use="@toolset"/>
+
+ <!-- toolsets -->
+
+ <xsl:variable name="not_ordered_toolsets" select="//test-log[ generate-id(.) = generate-id( key('toolset_key',@toolset)[1] ) and @toolset != '' ]/@toolset"/>
+
+ <xsl:variable name="required_toolsets" select="$explicit_markup//mark-toolset[ @status='required' ]"/>
+
+ <xsl:variable name="ordered_toolsets_fragment">
+ <xsl:call-template name="get_toolsets">
+ <xsl:with-param name="toolsets" select="$not_ordered_toolsets"/>
+ <xsl:with-param name="required_toolsets" select="$required_toolsets"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="ordered_toolsets" select="exsl:node-set( $ordered_toolsets_fragment )"/>
+
+ <!-- libraries -->
+ <xsl:variable name="test_case_logs" select="//test-log[ meta:is_test_log_a_test_case(.) ]"/>
+ <xsl:variable name="libraries" select="set:distinct( $test_case_logs/@library )"/>
+
+ <xsl:template name="insert_toolsets_row">
+ <xsl:param name="library"/>
+ <xsl:param name="library_marks"/>
+ <xsl:param name="toolsets"/>
+ <tr valign="middle">
+ <td class="head" colspan="2">test / toolset</td>
+
+ <!--
+ we need to select not all library notes, but only ones
+ for toolsets present in the report
+ -->
+ <xsl:variable name="all_library_notes" select="$library_marks/note"/>
+ <xsl:message terminate="yes">
+ !!!!!!!!!!!!!!!!!!!1
+ </xsl:message>
+ <exsl:document href="debug2.xml"
+ method="xml"
+ encoding="utf-8"
+ indent="yes">
+ <debug>
+ <xsl:copy-of select="$all_library_notes"/>
+ </debug>
+ </exsl:document>
+ <xsl:for-each select="$toolsets/toolset">
+ <xsl:variable name="toolset" select="@toolset"/>
+
+ <xsl:variable name="class">
+ <xsl:choose>
+ <xsl:when test="@required='yes'">
+ <xsl:text>required-toolset-name</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>toolset-name</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="toolset_notes_fragment">
+ <xsl:for-each select="$all_library_notes">
+ <xsl:if test="../@toolset=$toolset or ( ../toolset/@name=$toolset or ../toolset/@name = '*' )">
+ <note index="{position()}"/>
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:variable>
+
+ <xsl:variable name="toolset_notes" select="exsl:node-set( $toolset_notes_fragment )/*"/>
+
+ <td class="{$class}"><xsl:value-of select="meta:toolset_name( $toolset )"/>
+ <xsl:if test="count( $toolset_notes ) > 0">
+ <span class="super">
+ <xsl:for-each select="$toolset_notes">
+ <xsl:variable name="note_index" select="@index"/>
+ <xsl:if test="generate-id( . ) != generate-id( $toolset_notes[1] )">, </xsl:if>
+ <a href="#{$library}-note-{$note_index}" title="Note {$note_index}">
+ <xsl:value-of select="$note_index"/>
+ </a>
+ </xsl:for-each>
+ </span>
+ </xsl:if>
+ </td>
+ </xsl:for-each>
+
+ <td class="head">toolset / test</td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template name="test_type_col">
+ <td class="test-type">
+ <a href="../../../status/compiler_status.html#Understanding" class="legend-link">
+ <xsl:variable name="test_type" select="./@test-type"/>
+ <xsl:choose>
+ <xsl:when test="$test_type='run_pyd'"> <xsl:text>r</xsl:text> </xsl:when>
+ <xsl:when test="$test_type='run'"> <xsl:text>r</xsl:text> </xsl:when>
+ <xsl:when test="$test_type='run_fail'"> <xsl:text>rf</xsl:text> </xsl:when>
+ <xsl:when test="$test_type='compile'"> <xsl:text>c</xsl:text> </xsl:when>
+ <xsl:when test="$test_type='compile_fail'"> <xsl:text>cf</xsl:text> </xsl:when>
+ <xsl:otherwise>
+ <xsl:message terminate="yes">Incorrect test type "<xsl:value-of select="$test_type"/>"</xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+ </a>
+ </td>
+ </xsl:template>
+
+
+ <xsl:template match="/">
+
+ <xsl:variable name="index_path" select="'index_.html'"/>
+
+ <!-- Index page -->
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ <title>Boost regression: <xsl:value-of select="$source"/></title>
+ </head>
+ <frameset cols="190px,*" frameborder="0" framespacing="0" border="0">
+ <frame name="tocframe" src="toc.html" scrolling="auto"/>
+ <frame name="docframe" src="{$index_path}" scrolling="auto"/>
+ </frameset>
+
+ <!-- Index content -->
+ <xsl:message>Writing document <xsl:value-of select="$index_path"/></xsl:message>
+
+ <exsl:document href="{$index_path}"
+ method="html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ encoding="utf-8"
+ indent="yes">
+
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ </head>
+ <body>
+
+ <img border="0" src="../../../boost.png" width="277" height="86" align="right" alt="Boost logo"></img>
+
+ <h1 class="page-title">
+ <xsl:value-of select="$mode"/>
+ <xsl:text> report: </xsl:text>
+ <a class="hover-link" href="summary.html" target="_top"><xsl:value-of select="$source"/></a>
+ </h1>
+
+ <div class="report-info">
+ <div>
+ <b>Report Time: </b> <xsl:value-of select="$run_date"/>
+ </div>
+
+ <div>
+ <b>Purpose: </b>
+ <xsl:choose>
+ <xsl:when test="$mode='user'">
+ The purpose of this report is to help a user to find out whether a particular library
+ works on the particular compiler(s). For CVS "health report", see
+ <a href="../{$alternate_mode}/index.html" target="_top">developer summary</a>.
+ </xsl:when>
+ <xsl:when test="$mode='developer'">
+ Provides Boost developers with visual indication of the CVS "health". For user-level
+ report, see <a href="../{$alternate_mode}/index.html" target="_top">user summary</a>.
+ </xsl:when>
+ </xsl:choose>
+ </div>
+ </div>
+
+ <div class="comment">
+ <xsl:if test="$comment_file != ''">
+ <xsl:copy-of select="document( $comment_file )"/>
+ </xsl:if>
+ </div>
+
+ </body>
+ </html>
+ </exsl:document>
+
+
+ <xsl:variable name="multiple.libraries" select="count( $libraries ) > 1"/>
+
+ <!-- TOC -->
+ <xsl:if test="$multiple.libraries">
+
+ <xsl:variable name="toc_path" select="'toc.html'"/>
+ <xsl:message>Writing document <xsl:value-of select="$toc_path"/></xsl:message>
+
+ <exsl:document href="{$toc_path}"
+ method="html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ encoding="utf-8"
+ indent="yes">
+
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ </head>
+ <body class="{$mode}-toc">
+ <div class="toc-header-entry">
+ <a href="index.html" class="toc-entry" target="_top">Report info</a>
+ </div>
+ <div class="toc-header-entry">
+ <a href="summary.html" class="toc-entry" target="_top">Summary</a>
+ </div>
+
+ <xsl:if test="$mode='developer'">
+ <div class="toc-header-entry">
+ <a href="issues.html" class="toc-entry" target="_top">Unresolved issues</a>
+ </div>
+ </xsl:if>
+ <hr/>
+
+ <xsl:for-each select="$libraries">
+ <xsl:sort select="." order="ascending" />
+ <xsl:variable name="library_page" select="meta:encode_path(.)" />
+ <div class="toc-entry">
+ <a href="{$library_page}.html" class="toc-entry" target="_top">
+ <xsl:value-of select="."/>
+ </a>
+ </div>
+ </xsl:for-each>
+ </body>
+ </html>
+
+ </exsl:document>
+ </xsl:if>
+
+ <!-- Libraries -->
+ <xsl:for-each select="$libraries">
+ <xsl:sort select="." order="ascending" />
+ <xsl:variable name="library" select="." />
+
+ <xsl:variable name="library_results" select="concat( meta:encode_path( $library ), '_.html' )"/>
+ <xsl:variable name="library_page" select="concat( meta:encode_path( $library ), '.html' )"/>
+
+ <!-- Library page -->
+ <xsl:message>Writing document <xsl:value-of select="$library_page"/></xsl:message>
+
+ <exsl:document href="{$library_page}"
+ method="html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ encoding="utf-8"
+ indent="yes">
+
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ <title>Boost regression: <xsl:value-of select="$library"/>/<xsl:value-of select="$source"/></title>
+ </head>
+ <frameset cols="190px,*" frameborder="0" framespacing="0" border="0">
+ <frame name="tocframe" src="toc.html" scrolling="auto"/>
+ <frame name="docframe" src="{$library_results}" scrolling="auto"/>
+ </frameset>
+ </html>
+ </exsl:document>
+
+ <!-- Library results frame -->
+ <xsl:message>Writing document <xsl:value-of select="$library_results"/></xsl:message>
+
+ <exsl:document href="{$library_results}"
+ method="html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ encoding="utf-8"
+ indent="yes">
+
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ </head>
+
+ <body>
+
+ <h1 class="page-title">
+ <a class="hover-link" name="{$library}" href="../../../libs/{$library}">
+ <xsl:value-of select="$library" />
+ </a>
+ <xsl:text>/</xsl:text>
+ <a class="hover-link" href="summary.html" target="_top"><xsl:value-of select="$source"/></a>
+ </h1>
+
+ <div class="report-info">
+ <b>Report Time: </b> <xsl:value-of select="$run_date"/>
+ </div>
+
+ <!-- library markup = all library-unusable markup for toolsets included in the report -->
+ <xsl:variable name="library_marks" select="$explicit_markup//library[ @name = $library ]/mark-unusable[ toolset/@name = $not_ordered_toolsets ]"/>
+
+ <table border="0" cellspacing="0" cellpadding="0" class="library-table" summary="library results">
+
+ <thead>
+ <xsl:call-template name="insert_toolsets_row">
+ <xsl:with-param name="library_marks" select="$library_marks"/>
+ <xsl:with-param name="library" select="$library"/>
+ <xsl:with-param name="toolsets" select="$ordered_toolsets"/>
+ </xsl:call-template>
+ </thead>
+ <tfoot>
+ <xsl:call-template name="insert_toolsets_row">
+ <xsl:with-param name="library_marks" select="$library_marks"/>
+ <xsl:with-param name="library" select="$library"/>
+ <xsl:with-param name="toolsets" select="$ordered_toolsets"/>
+ </xsl:call-template>
+ </tfoot>
+
+ <tbody>
+ <!-- lib_tests = test_log* -->
+ <xsl:variable name="lib_tests" select="$test_case_logs[@library = $library]" />
+
+ <!-- lib_unique_test_names = test_log* -->
+ <xsl:variable name="lib_unique_test_names"
+ select="$lib_tests[ generate-id(.) = generate-id( key('test_name_key', concat( @library, '&gt;@&lt;', @test-name ) ) ) ]" />
+
+ <xsl:variable name="lib_corner_case_tests_markup" select="$explicit_markup//library[ @name = $library ]/test[ @corner-case='yes' ]"/>
+ <xsl:variable name="lib_general_tests"
+ select="meta:order_tests_by_name( $lib_unique_test_names[ not( @test-name = $lib_corner_case_tests_markup/@name ) ] )"/>
+
+
+ <xsl:variable name="lib_corner_case_tests" select="meta:order_tests_by_name( $lib_unique_test_names[ @test-name = $lib_corner_case_tests_markup/@name ] ) " />
+
+ <!-- general tests section -->
+
+ <xsl:call-template name="insert_test_section">
+ <xsl:with-param name="library" select="$library"/>
+ <xsl:with-param name="section_tests" select="$lib_general_tests"/>
+ <xsl:with-param name="lib_tests" select="$lib_tests"/>
+ <xsl:with-param name="toolsets" select="$ordered_toolsets"/>
+ </xsl:call-template>
+
+ <!-- corner-case tests section -->
+
+ <xsl:if test="count( $lib_corner_case_tests ) > 0">
+ <tr>
+ <td class="library-corner-case-header" colspan="{count($ordered_toolsets/toolset) + 3 }" align="center">Corner-case tests</td>
+ </tr>
+
+ <xsl:call-template name="insert_test_section">
+ <xsl:with-param name="library" select="$library"/>
+ <xsl:with-param name="section_tests" select="$lib_corner_case_tests"/>
+ <xsl:with-param name="lib_tests" select="$lib_tests"/>
+ <xsl:with-param name="toolsets" select="$ordered_toolsets"/>
+ </xsl:call-template>
+
+ </xsl:if>
+
+ </tbody>
+ </table>
+ <xsl:if test="count( $library_marks/note ) > 0 ">
+ <table border="0" cellpadding="0" cellspacing="0" class="library-library-notes" summary="library notes">
+ <xsl:for-each select="$library_marks/note">
+ <tr class="library-library-note">
+ <td valign="top" width="3em">
+ <a name="{$library}-note-{position()}">
+ <span class="super"><xsl:value-of select="position()"/></span>
+ </a>
+ </td>
+ <td>
+ <xsl:variable name="refid" select="@refid"/>
+ <xsl:call-template name="show_note">
+ <xsl:with-param name="note" select="." />
+ <xsl:with-param name="reference" select="$explicit_markup//note[ $refid = @id ]"/>
+ </xsl:call-template>
+ </td>
+ </tr>
+ </xsl:for-each>
+ </table>
+ </xsl:if>
+
+ <xsl:copy-of select="document( concat( 'html/library_', $mode, '_legend.html' ) )"/>
+ <xsl:copy-of select="document( 'html/make_tinyurl.html' )"/>
+
+ </body>
+ </html>
+
+ </exsl:document>
+
+ </xsl:for-each>
+
+ </xsl:template>
+
+
+ <!-- insert test result with log file link -->
+
+ <xsl:template name="insert_test_result">
+ <xsl:param name="result"/>
+ <xsl:param name="log_link"/>
+
+ <xsl:choose>
+ <xsl:when test="$log_link != ''">
+ <a href="{$log_link}" class="log-link" target="_top">
+ <xsl:value-of select="$result"/>
+ </a>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$result"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- report developer status -->
+ <xsl:template name="insert_cell_developer">
+ <xsl:param name="test_log"/>
+ <xsl:param name="log_link"/>
+
+ <xsl:variable name="is_new">
+ <xsl:if test="$test_log/@is-new = 'yes' and $test_log/@status = 'unexpected' and $test_log/@result != 'success'">
+ <xsl:value-of select="'-new'"/>
+ </xsl:if>
+ </xsl:variable>
+
+ <xsl:variable name="class">
+ <xsl:choose>
+ <xsl:when test="not( $test_log )">
+ <xsl:text>library-missing</xsl:text>
+ </xsl:when>
+ <xsl:when test="meta:is_unusable( $explicit_markup, $test_log/@library, $test_log/@toolset )">
+ <xsl:text>library-unusable</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="concat( 'library-', $test_log/@result, '-', $test_log/@status, $is_new )"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <td class="{$class}">
+ <xsl:choose>
+ <xsl:when test="not( $test_log )">
+ <xsl:text>missing</xsl:text>
+ </xsl:when>
+
+ <xsl:when test="$test_log/@result != 'success' and $test_log/@status = 'expected'">
+ <xsl:call-template name="insert_test_result">
+ <xsl:with-param name="result" select="'fail'"/>
+ <xsl:with-param name="log_link" select="$log_link"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <xsl:when test="$test_log/@result != 'success' and $test_log/@status = 'unexpected'">
+ <xsl:call-template name="insert_test_result">
+ <xsl:with-param name="result" select="'fail'"/>
+ <xsl:with-param name="log_link" select="$log_link"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <xsl:when test="$test_log/@result = 'success' and $test_log/@status = 'unexpected'">
+ <xsl:call-template name="insert_test_result">
+ <xsl:with-param name="result" select="'pass'"/>
+ <xsl:with-param name="log_link" select="$log_link"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <xsl:call-template name="insert_test_result">
+ <xsl:with-param name="result" select="'pass'"/>
+ <xsl:with-param name="log_link" select="$log_link"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:if test="count( $test_log ) > 1" >
+ <div class="library-conf-problem">conf.&#160;problem</div>
+ </xsl:if>
+ </td>
+ </xsl:template>
+
+ <!-- report user status -->
+ <xsl:template name="insert_cell_user">
+ <xsl:param name="test_log"/>
+ <xsl:param name="log_link"/>
+
+ <xsl:variable name="class">
+ <xsl:choose>
+ <xsl:when test="not( $test_log )">
+ <xsl:text>library-missing</xsl:text>
+ </xsl:when>
+ <xsl:when test="meta:is_unusable( $explicit_markup, $test_log/@library, $test_log/@toolset )">
+ <xsl:text>library-unusable</xsl:text>
+ </xsl:when>
+ <xsl:when test="$test_log[@result='fail' and @status='unexpected']">
+ <xsl:text>library-user-fail-unexpected</xsl:text>
+ </xsl:when>
+ <xsl:when test="$test_log[ @result='fail' and @status='expected' ]">
+ <xsl:text>library-user-fail-expected</xsl:text>
+ </xsl:when>
+ <xsl:when test="$test_log[ @result='success']">
+ <xsl:text>library-user-success</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message terminate="yes">
+ Unknown status
+ </xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </xsl:variable>
+
+ <td class="{$class}">
+ <xsl:choose>
+ <xsl:when test="not( $test_log )">
+ missing
+ </xsl:when>
+ <xsl:when test="$test_log/@result != 'success' and $test_log/@status = 'expected'">
+ <a href="{$log_link}" class="log-link" target="_top">
+ fail
+ </a>
+ </xsl:when>
+ <xsl:when test="$test_log/@result != 'success'">
+ <a href="{$log_link}" class="log-link" target="_top">
+ unexp.
+ </a>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>pass</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:if test="count( $test_log ) > 1" >
+ <div class="conf-problem">conf.&#160;problem</div>
+ </xsl:if>
+ </td>
+ </xsl:template>
+
+ <xsl:template name="insert_test_line">
+ <xsl:param name="library"/>
+ <xsl:param name="test_name"/>
+ <xsl:param name="test_results"/>
+ <xsl:param name="toolsets"/>
+ <xsl:param name="line_mod"/>
+
+ <xsl:variable name="test_program">
+ <xsl:value-of select="$test_results[1]/@test-program"/>
+ </xsl:variable>
+
+ <xsl:variable name="test_header">
+ <td class="test-name">
+ <a href="../../../{$test_program}" class="test-link">
+ <xsl:value-of select="$test_name"/>
+ </a>
+ </td>
+ </xsl:variable>
+
+ <tr class="library-row{$line_mod}">
+ <xsl:copy-of select="$test_header"/>
+ <xsl:call-template name="test_type_col"/>
+
+ <xsl:for-each select="$toolsets/toolset">
+ <xsl:variable name="toolset" select="@toolset" />
+
+ <!-- Write log file -->
+ <xsl:variable name="test_result_for_toolset" select="$test_results[ @toolset = $toolset ]"/>
+
+ <xsl:variable name="log_file">
+ <xsl:choose>
+ <xsl:when test="meta:show_output( $explicit_markup, $test_result_for_toolset )">
+ <xsl:value-of select="meta:output_file_path( $test_result_for_toolset/@target-directory )"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text></xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+
+ <xsl:if test="count( $test_result_for_toolset ) > 0 and $log_file != ''">
+ <xsl:message>Writing log file document <xsl:value-of select="$log_file"/></xsl:message>
+ <exsl:document href="{$log_file}"
+ method="html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ encoding="utf-8"
+ indent="yes">
+
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ <!--<title>Boost regression unresolved issues: <xsl:value-of select="$source"/></title>-->
+ </head>
+ <frameset cols="190px,*" frameborder="0" framespacing="0" border="0">
+ <frame name="tocframe" src="../toc.html" scrolling="auto"/>
+ <frame name="docframe" src="../../{$log_file}" scrolling="auto"/>
+ </frameset>
+ </html>
+ </exsl:document>
+ </xsl:if>
+
+ <!-- Insert cell -->
+ <xsl:choose>
+ <xsl:when test="$mode='user'">
+ <xsl:call-template name="insert_cell_user">
+ <xsl:with-param name="test_log" select="$test_result_for_toolset"/>
+ <xsl:with-param name="log_link" select="$log_file"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$mode='developer'">
+ <xsl:call-template name="insert_cell_developer">
+ <xsl:with-param name="test_log" select="$test_result_for_toolset"/>
+ <xsl:with-param name="log_link" select="$log_file"/>
+ </xsl:call-template>
+ </xsl:when>
+ </xsl:choose>
+
+ </xsl:for-each>
+ <xsl:copy-of select="$test_header"/>
+ </tr>
+ </xsl:template>
+
+ <xsl:template name="insert_test_section">
+ <xsl:param name="library"/>
+ <xsl:param name="section_tests"/>
+ <xsl:param name="lib_tests"/>
+ <xsl:param name="toolsets"/>
+
+ <xsl:for-each select="$section_tests">
+ <xsl:variable name="test_name" select="@test-name"/>
+ <xsl:variable name="line_mod">
+ <xsl:choose>
+ <xsl:when test="1 = last()">
+ <xsl:text>-single</xsl:text>
+ </xsl:when>
+ <xsl:when test="generate-id( . ) = generate-id( $section_tests[1] )">
+ <xsl:text>-first</xsl:text>
+ </xsl:when>
+ <xsl:when test="generate-id( . ) = generate-id( $section_tests[last()] )">
+ <xsl:text>-last</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text></xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:call-template name="insert_test_line">
+ <xsl:with-param name="library" select="$library"/>
+ <xsl:with-param name="test_results" select="$lib_tests[ @test-name = $test_name ]"/>
+ <xsl:with-param name="toolsets" select="$toolsets"/>
+ <xsl:with-param name="test_name" select="$test_name"/>
+ <xsl:with-param name="line_mod" select="$line_mod"/>
+ </xsl:call-template>
+ </xsl:for-each>
+
+ </xsl:template>
+
+ <func:function name="meta:order_tests_by_name">
+ <xsl:param name="tests"/>
+
+ <xsl:variable name="a">
+ <xsl:for-each select="$tests">
+ <xsl:sort select="@test-name" order="ascending"/>
+ <xsl:copy-of select="."/>
+ </xsl:for-each>
+ </xsl:variable>
+ <func:result select="exsl:node-set( $a )/*"/>
+ </func:function>
+
+</xsl:stylesheet>
diff --git a/tools/regression/xsl_reports/xsl/summary_page.xsl b/tools/regression/xsl_reports/xsl/summary_page.xsl
new file mode 100644
index 0000000000..7bf3818c29
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/summary_page.xsl
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+-->
+
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:exsl="http://exslt.org/common"
+ xmlns:func="http://exslt.org/functions"
+ xmlns:str="http://exslt.org/strings"
+ xmlns:set="http://exslt.org/sets"
+ xmlns:meta="http://www.meta-comm.com"
+ extension-element-prefixes="func exsl"
+ exclude-result-prefixes="set str meta"
+ version="1.0">
+
+ <xsl:import href="common.xsl"/>
+
+ <xsl:output method="html"
+ doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
+ encoding="utf-8"
+ indent="yes"
+ />
+
+
+ <xsl:param name="mode"/>
+ <xsl:param name="source"/>
+ <xsl:param name="run_date"/>
+ <xsl:param name="comment_file"/>
+ <xsl:param name="explicit_markup_file"/>
+
+ <xsl:variable name="explicit_markup" select="document( $explicit_markup_file )"/>
+
+ <!-- necessary indexes -->
+ <xsl:key
+ name="library_test_name_key"
+ match="test-log"
+ use="concat( @library, '&gt;@&lt;', @test-name )"/>
+ <xsl:key name="toolset_key" match="test-log" use="@toolset"/>
+ <xsl:key name="test_name_key" match="test-log" use="@test-name "/>
+
+ <!-- toolsets -->
+
+ <xsl:variable name="toolsets" select="//test-log[ generate-id(.) = generate-id( key('toolset_key',@toolset)[1] ) and @toolset != '' ]/@toolset"/>
+
+ <xsl:variable name="required_toolsets" select="$explicit_markup//mark-toolset[ @status='required' ]"/>
+
+ <xsl:variable name="sorted_toolset_fragment">
+ <xsl:call-template name="get_toolsets">
+ <xsl:with-param name="toolsets" select="$toolsets"/>
+ <xsl:with-param name="required_toolsets" select="$required_toolsets"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="sorted_toolsets" select="exsl:node-set( $sorted_toolset_fragment )"/>
+
+ <!-- libraries -->
+
+ <xsl:variable name="test_case_logs" select="//test-log[ meta:is_test_log_a_test_case(.) ]"/>
+ <xsl:variable name="libraries" select="set:distinct( $test_case_logs/@library )"/>
+
+ <xsl:variable name="sorted_libraries_output">
+ <xsl:for-each select="$libraries">
+ <xsl:sort select="." order="ascending" />
+ <library><xsl:copy-of select="."/></library>
+ </xsl:for-each>
+ </xsl:variable>
+
+ <xsl:variable name="sorted_libraries" select="exsl:node-set( $sorted_libraries_output )/library/@library"/>
+
+
+ <xsl:template match="/">
+
+ <xsl:variable name="summary_results" select="'summary_.html'"/>
+
+ <!-- Summary page -->
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ <title>Boost regression summary: <xsl:value-of select="$source"/></title>
+ </head>
+ <frameset cols="190px,*" frameborder="0" framespacing="0" border="0">
+ <frame name="tocframe" src="toc.html" scrolling="auto"/>
+ <frame name="docframe" src="{$summary_results}" scrolling="auto"/>
+ </frameset>
+ </html>
+
+ <!-- Summary results -->
+ <xsl:message>Writing document <xsl:value-of select="$summary_results"/></xsl:message>
+
+ <exsl:document href="{$summary_results}"
+ method="html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ encoding="utf-8"
+ indent="yes">
+
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ </head>
+ <body>
+
+ <h1 class="page-title">
+ <xsl:text>Summary: </xsl:text>
+ <a class="hover-link" href="summary.html" target="_top"><xsl:value-of select="$source"/></a>
+ </h1>
+
+ <div class="report-info">
+ <b>Report Time: </b> <xsl:value-of select="$run_date"/>
+ </div>
+
+ <!-- summary table -->
+
+ <table border="0" cellspacing="0" cellpadding="0" class="summary-table">
+
+ <thead>
+ <xsl:call-template name="insert_toolsets_row">
+ <xsl:with-param name="toolsets" select="$sorted_toolsets"/>
+ </xsl:call-template>
+ </thead>
+
+ <tfoot>
+ <xsl:call-template name="insert_toolsets_row">
+ <xsl:with-param name="toolsets" select="$sorted_toolsets"/>
+ </xsl:call-template>
+ </tfoot>
+
+ <tbody>
+ <xsl:variable name="test_logs" select="$test_case_logs"/>
+
+ <!-- for each library -->
+ <xsl:for-each select="$sorted_libraries">
+ <xsl:variable name="library" select="."/>
+ <xsl:variable name="library_page" select="meta:encode_path( $library )" />
+ <xsl:variable name="current_row" select="$test_logs[ @library=$library]"/>
+
+ <xsl:variable name="expected_test_count" select="count( $current_row[ generate-id(.) = generate-id( key('test_name_key',@test-name)[1] ) ] )"/>
+ <xsl:variable name="library_header">
+ <td class="library-name">
+ <a href="{$library_page}.html" class="library-link" target="_top">
+ <xsl:value-of select="$library"/>
+ </a>
+ </td>
+ </xsl:variable>
+
+ <xsl:variable name="line_mod">
+ <xsl:choose>
+ <xsl:when test="1 = last()">
+ <xsl:text>-single</xsl:text>
+ </xsl:when>
+ <xsl:when test="generate-id( . ) = generate-id( $sorted_libraries[1] )">
+ <xsl:text>-first</xsl:text>
+ </xsl:when>
+ <xsl:when test="generate-id( . ) = generate-id( $sorted_libraries[ last() ] )">
+ <xsl:text>-last</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text></xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+
+ <tr class="summary-row{$line_mod}">
+ <xsl:copy-of select="$library_header"/>
+
+ <xsl:for-each select="$sorted_toolsets/toolset">
+ <xsl:variable name="toolset" select="@toolset"/>
+ <xsl:variable name="current_cell" select="$current_row[ @toolset=$toolset ]"/>
+ <xsl:choose>
+ <xsl:when test="$mode='user'">
+ <xsl:call-template name="insert_cell_user">
+ <xsl:with-param name="current_cell" select="$current_cell"/>
+ <xsl:with-param name="library" select="$library"/>
+ <xsl:with-param name="toolset" select="$toolset"/>
+ <xsl:with-param name="expected_test_count" select="$expected_test_count"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$mode='developer'">
+ <xsl:call-template name="insert_cell_developer">
+ <xsl:with-param name="current_cell" select="$current_cell"/>
+ <xsl:with-param name="library" select="$library"/>
+ <xsl:with-param name="toolset" select="$toolset"/>
+ <xsl:with-param name="expected_test_count" select="$expected_test_count"/>
+ </xsl:call-template>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:for-each>
+
+ <xsl:copy-of select="$library_header"/>
+ </tr>
+ </xsl:for-each>
+ </tbody>
+ </table>
+
+ <xsl:copy-of select="document( concat( 'html/summary_', $mode, '_legend.html' ) )"/>
+ <xsl:copy-of select="document( 'html/make_tinyurl.html' )"/>
+
+ </body>
+ </html>
+ </exsl:document>
+
+ </xsl:template>
+
+ <!-- report developer status -->
+ <xsl:template name="insert_cell_developer">
+ <xsl:param name="current_cell"/>
+ <xsl:param name="library"/>
+ <xsl:param name="toolset"/>
+ <xsl:param name="expected_test_count"/>
+ <xsl:variable name="class">
+ <xsl:choose>
+ <xsl:when test="meta:is_unusable( $explicit_markup, $library, $toolset )">
+ <xsl:text>summary-unusable</xsl:text>
+ </xsl:when>
+ <xsl:when test="count( $current_cell ) &lt; $expected_test_count">
+ <xsl:text>summary-missing</xsl:text>
+ </xsl:when>
+ <xsl:when test="count( $current_cell[@result='fail' and @status='unexpected' and @is-new='no'] )">
+ <xsl:text>summary-fail-unexpected</xsl:text>
+ </xsl:when>
+ <xsl:when test="count( $current_cell[@result='fail' and @status='unexpected' and @is-new='yes'] )">
+ <xsl:text>summary-fail-unexpected-new</xsl:text>
+ </xsl:when>
+ <xsl:when test="count( $current_cell[@result='success' and @status='unexpected'] )">
+ <xsl:text>summary-success-unexpected</xsl:text>
+ </xsl:when>
+ <xsl:when test="count( $current_cell[@status='expected'] )">
+ <xsl:text>summary-expected</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>summary-unknown-status</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="library_page" select="meta:encode_path( $library )" />
+
+ <td class="{$class}">
+ <xsl:choose>
+ <xsl:when test="$class='summary-unusable'">
+ <a href="{$library_page}.html" class="log-link" target="_top">
+ <xsl:text>n/a</xsl:text>
+ </a>
+ </xsl:when>
+ <xsl:when test="$class='summary-missing'">
+ <xsl:text>missing</xsl:text>
+ </xsl:when>
+ <xsl:when test="$class='summary-fail-unexpected'">
+ <a href="{$library_page}.html" class="log-link" target="_top">
+ <xsl:text>broken</xsl:text>
+ </a>
+ </xsl:when>
+ <xsl:when test="$class='summary-fail-unexpected-new' ">
+ <a href="{$library_page}.html" class="log-link" target="_top">
+ <xsl:text>fail</xsl:text>
+ </a>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>OK</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </td>
+
+ </xsl:template>
+
+
+ <!-- report user status -->
+ <xsl:template name="insert_cell_user">
+ <xsl:param name="current_cell"/>
+ <xsl:param name="library"/>
+ <xsl:param name="toolset"/>
+ <xsl:param name="expected_test_count"/>
+ <xsl:variable name="class">
+ <xsl:choose>
+ <xsl:when test="meta:is_unusable( $explicit_markup, $library, $toolset )">
+ <xsl:text>summary-unusable</xsl:text>
+ </xsl:when>
+ <xsl:when test="count( $current_cell ) &lt; $expected_test_count">
+ <xsl:text>summary-missing</xsl:text>
+ </xsl:when>
+ <xsl:when test="count( $current_cell[@result='fail' and @status='unexpected' ] )">
+ <xsl:text>summary-user-fail-unexpected</xsl:text>
+ </xsl:when>
+ <xsl:when test="count( $current_cell[ @result='fail'] )">
+ <xsl:text>summary-user-fail-expected</xsl:text>
+ </xsl:when>
+ <xsl:when test="count( $current_cell[ @result='success'] )">
+ <xsl:text>summary-user-success</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>summary-unknown-status</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="library_page" select="meta:encode_path( $library )" />
+
+ <td class="{$class}">
+ <xsl:choose>
+ <xsl:when test="$class='summary-unusable'">
+ <a href="{$library_page}.html" class="log-link" target="_top">
+ <xsl:text>unusable</xsl:text>
+ </a>
+ </xsl:when>
+
+ <xsl:when test="$class='summary-missing'">
+ <xsl:text>missing</xsl:text>
+ </xsl:when>
+
+ <xsl:when test="$class='summary-user-fail-unexpected'">
+ <a href="{$library_page}.html" class="log-link" target="_top">
+ <xsl:text>unexp.</xsl:text>
+ </a>
+ </xsl:when>
+
+ <xsl:when test="$class='summary-user-fail-expected'">
+ <a href="{$library_page}.html" class="log-link" target="_top">
+ <xsl:text>details</xsl:text>
+ </a>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <xsl:text>&#160;</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </td>
+
+ </xsl:template>
+
+ <xsl:template name="insert_toolsets_row">
+ <xsl:param name="toolsets"/>
+ <tr>
+ <td class="head">library / toolset</td>
+
+ <xsl:for-each select="$toolsets/toolset">
+ <xsl:variable name="class">
+ <xsl:choose>
+ <xsl:when test="@required='yes'">
+ <xsl:text>required-toolset-name</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>toolset-name</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <td class="{$class}"><xsl:value-of select="meta:toolset_name( @toolset )"/></td>
+ </xsl:for-each>
+
+ <td class="head">toolset / library</td>
+ </tr>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/tools/regression/xsl_reports/xsl/test/test_re_match.xml b/tools/regression/xsl_reports/xsl/test/test_re_match.xml
new file mode 100644
index 0000000000..3841f782d7
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/test/test_re_match.xml
@@ -0,0 +1,57 @@
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2005.
+
+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)
+
+-->
+
+<root>
+
+<test pattern="" text="" result="true"/>
+<test pattern="pattern" text="pattern" result="true"/>
+<test pattern="" text="pattern" result="false"/>
+<test pattern="pattern" text="" result="false"/>
+
+<test pattern="*" text="" result="true"/>
+<test pattern="*" text="pattern" result="true"/>
+
+<test pattern="*pattern*" text="" result="false"/>
+<test pattern="*pattern*" text="__pattern__" result="true"/>
+<test pattern="*pattern*" text="pattern" result="true"/>
+<test pattern="*pattern*" text="patter" result="false"/>
+<test pattern="*pattern*" text="patte__" result="false"/>
+<test pattern="*pattern*" text="attern" result="false"/>
+<test pattern="*pattern*" text="__ttern" result="false"/>
+
+<test pattern="*pattern" text="" result="false"/>
+<test pattern="*pattern" text="__pattern" result="true"/>
+<test pattern="*pattern" text="pattern" result="true"/>
+<test pattern="*pattern" text="pattern__" result="false"/>
+<test pattern="*pattern" text="patter" result="false"/>
+<test pattern="*pattern" text="patte__" result="false"/>
+<test pattern="*pattern" text="attern" result="false"/>
+<test pattern="*pattern" text="__ttern" result="false"/>
+
+<test pattern="pattern*" text="" result="false"/>
+<test pattern="pattern*" text="pattern__" result="true"/>
+<test pattern="pattern*" text="pattern" result="true"/>
+<test pattern="pattern*" text="patter" result="false"/>
+<test pattern="pattern*" text="__pattern" result="false"/>
+<test pattern="pattern*" text="attern" result="false"/>
+<test pattern="pattern*" text="patter_" result="false"/>
+<test pattern="pattern*" text="patte__" result="false"/>
+
+<test pattern="patt*ern" text="" result="false"/>
+<test pattern="patt*ern" text="patt__ern" result="true"/>
+<test pattern="patt*ern" text="pattern" result="true"/>
+<test pattern="patter*n" text="patter__n" result="true"/>
+<test pattern="p*attern" text="pttern" result="false"/>
+<test pattern="p*attern" text="pattern" result="true"/>
+<test pattern="patter*n" text="patter" result="false"/>
+<test pattern="p*attern" text="attern" result="false"/>
+<test pattern="p*attern" text="p_ttern" result="false"/>
+
+</root>
diff --git a/tools/regression/xsl_reports/xsl/test/test_re_match.xsl b/tools/regression/xsl_reports/xsl/test/test_re_match.xsl
new file mode 100644
index 0000000000..eefd313166
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/test/test_re_match.xsl
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+-->
+
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:exsl="http://exslt.org/common"
+ xmlns:func="http://exslt.org/functions"
+ xmlns:str="http://exslt.org/strings"
+ xmlns:meta="http://www.meta-comm.com"
+ extension-element-prefixes="func"
+ exclude-result-prefixes="str meta exsl"
+ version="1.0">
+
+ <func:function name="meta:re_match">
+ <xsl:param name="pattern"/>
+ <xsl:param name="text"/>
+
+ <xsl:choose>
+ <xsl:when test="not( contains( $pattern, '*' ) )">
+ <func:result select="$text = $pattern"/>
+ </xsl:when>
+ <xsl:when test="$pattern = '*'">
+ <func:result select="1 = 1"/>
+ </xsl:when>
+ <xsl:when test="substring( $pattern, 1, 1 ) = '*' and substring( $pattern, string-length($pattern), 1 ) = '*' ">
+ <func:result select="contains( $text, substring( $pattern, 2, string-length($pattern) - 2 ) ) "/>
+ </xsl:when>
+ <xsl:when test="substring( $pattern, 1, 1 ) = '*'">
+ <xsl:variable name="pattern_tail" select="substring( $pattern, 2, string-length($pattern) - 1 )"/>
+ <func:result select="substring( $text, string-length($text) - string-length($pattern_tail) + 1, string-length($pattern_tail) ) = $pattern_tail"/>
+ </xsl:when>
+ <xsl:when test="substring( $pattern, string-length($pattern), 1 ) = '*' ">
+ <xsl:variable name="pattern_head" select="substring( $pattern, 1, string-length($pattern) - 1 )"/>
+ <func:result select="starts-with( $text, $pattern_head )"/>
+ </xsl:when>
+ <xsl:when test="contains( $pattern, '*' ) ">
+ <xsl:variable name="pattern_head" select="substring-before( $pattern, '*' )"/>
+ <xsl:variable name="pattern_tail" select="substring-after( $pattern, '*' )"/>
+ <func:result select="starts-with( $text, $pattern_head ) and substring( $text, string-length($text) - string-length($pattern_tail) + 1, string-length($pattern_tail) ) = $pattern_tail"/>
+ </xsl:when>
+ </xsl:choose>
+ </func:function>
+
+ <xsl:template match='test'>
+ <xsl:variable name="result" select="meta:re_match( @pattern, @text )"/>
+ <xsl:variable name="expected-result" select="@result = 'true'"/>
+ <xsl:if test="$result != $expected-result">
+ <failed regex="{@pattern}" text="{@text}" result="{$result}" expected-result="{$expected-result}"/>
+ </xsl:if>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/tools/regression/xsl_reports/xsl/v2/add_expected_results.xsl b/tools/regression/xsl_reports/xsl/v2/add_expected_results.xsl
new file mode 100644
index 0000000000..20cad838c9
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/v2/add_expected_results.xsl
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2005.
+
+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)
+
+-->
+
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:meta="http://www.meta-comm.com"
+ exclude-result-prefixes="meta"
+ version="1.0">
+
+ <xsl:import href="common.xsl"/>
+
+ <xsl:output method="xml" encoding="utf-8"/>
+
+ <xsl:param name="expected_results_file"/>
+ <xsl:param name="failures_markup_file"/>
+ <xsl:variable name="expected_results" select="document( $expected_results_file )" />
+
+ <xsl:key name = "trk" match = "test-result" use = "concat( ../../@name, '-', ../@name, '-', @test-name )" />
+
+ <xsl:variable name="failures_markup" select="document( $failures_markup_file )" />
+ <xsl:template match="/">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="test-log">
+ <xsl:variable name="test_log" select="."/>
+ <xsl:variable name="library" select="@library"/>
+ <xsl:variable name="test-name" select="@test-name"/>
+ <xsl:variable name="toolset" select="@toolset"/>
+
+ <xsl:element name="{local-name()}">
+ <xsl:apply-templates select="@*"/>
+
+
+ <xsl:variable name="actual_result">
+ <xsl:choose>
+ <!-- Hack: needs to be researched (and removed). See M.Wille's incident. -->
+ <xsl:when test="run/@result='succeed' and lib/@result='fail'">
+ <xsl:text>success</xsl:text>
+ </xsl:when>
+ <xsl:when test="./*/@result = 'fail'" >
+ <xsl:text>fail</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>success</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!--
+ Select expected_results context
+ See http://clover.slavic.pitt.edu/~repertorium/plectogram/keys/keys.html for a good explanation.
+
+ Briefly, for-each doesn't iterate through expected_results, it just selects expected result
+ as current context to make "key" function work.
+ -->
+
+ <xsl:for-each select="$expected_results">
+
+ <xsl:variable name="expected_results_test_case" select="key( 'trk', concat( $toolset, '-', $library, '-', $test-name ) )"/>
+ <xsl:variable name="test_case_markup" select="$failures_markup//library[@name=$library]/test[ meta:re_match( @name, $test-name ) ]"/>
+ <xsl:variable name="test_failures_markup" select="$test_case_markup/mark-failure/toolset[ meta:re_match( @name, $toolset ) ]/.."/>
+ <xsl:variable name="test_failures_markup2" select="$failures_markup//library[@name=$library]/mark-expected-failures/test[ meta:re_match( @name, $test-name ) ]/../toolset[ meta:re_match( @name, $toolset ) ]/.."/>
+
+ <xsl:variable name="category">
+ <xsl:choose>
+ <xsl:when test="$test_case_markup/@category">
+ <xsl:value-of select="$test_case_markup/@category"/>
+ </xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+
+ <xsl:variable name="is_new">
+ <xsl:choose>
+ <xsl:when test="$expected_results_test_case">
+ <xsl:text>no</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>yes</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+
+ <xsl:variable name="has_explicit_markup" select="count( $test_failures_markup ) > 0 or count( $test_failures_markup2 ) > 0"/>
+
+ <xsl:variable name="expected_result">
+ <xsl:choose>
+ <xsl:when test="$has_explicit_markup">
+ <xsl:text>fail</xsl:text>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="$expected_results_test_case and $expected_results_test_case/@result = 'fail'">
+ <xsl:text>fail</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>success</xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="status">
+ <xsl:choose>
+ <xsl:when test="$expected_result = $actual_result">expected</xsl:when>
+ <xsl:otherwise>unexpected</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="unexpected_success" select="$status = 'unexpected' and $actual_result = 'success'"/>
+
+ <xsl:variable name="expected_reason">
+ <xsl:choose>
+ <xsl:when test="$test_failures_markup/@reason">
+ <xsl:value-of select="$test_failures_markup/@reason"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$test_failures_markup2/@reason"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+
+ <xsl:variable name="notes">
+
+ <xsl:if test="$unexpected_success and $has_explicit_markup">
+ <note>
+ <span class="auto-note">
+ This test case was explicitly marked up in
+ <a href="http://cvs.sourceforge.net/viewcvs.py/boost/boost/status/explicit-failures-markup.xml">
+ status/explicit-failures-markup.xml</a> file in the Boost CVS as "expected to fail",
+ but is passing. Please consult the notes/output below for more details.
+ </span>
+ </note>
+ </xsl:if>
+
+ <xsl:if test="$has_explicit_markup and count( $test_failures_markup2/note ) = 0 and count( $test_failures_markup/note ) = 0">
+ <xsl:choose>
+ <xsl:when test="$unexpected_success">
+ <note>
+ <span class="auto-note">
+ No explanation was provided for this markup. Please contact the library
+ author(s)/maintainer(s) for more details.
+ </span>
+ </note>
+ </xsl:when>
+ <xsl:otherwise>
+ <note>
+ <span class="auto-note">
+ This failure was explicitly marked as expected in
+ <a href="http://cvs.sourceforge.net/viewcvs.py/boost/boost/status/explicit-failures-markup.xml">
+ status/explicit-failures-markup.xml</a> file in the Boost CVS.
+ Please contact the library author(s)/maintainer(s) for the explanation of this markup.
+ </span>
+ </note>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+
+ <xsl:if test="count( $test_failures_markup ) > 0">
+ <xsl:for-each select="$test_failures_markup/note">
+ <xsl:copy-of select="."/>
+ </xsl:for-each>
+ </xsl:if>
+
+ <xsl:if test="count( $test_failures_markup2 ) > 0">
+ <xsl:for-each select="$test_failures_markup2/note">
+ <xsl:copy-of select="."/>
+ </xsl:for-each>
+ </xsl:if>
+
+
+ <xsl:if test="$expected_results_test_case and $expected_results_test_case/@result = 'fail'">
+ <xsl:choose>
+ <xsl:when test="$unexpected_success">
+ <note>
+ <span class="auto-note">
+ This test case used to fail in the reference ("last-known-good") release.
+ </span>
+ </note>
+ </xsl:when>
+ <xsl:otherwise>
+ <note>
+ <span class="auto-note">
+ This failure was present in the reference ("last-known-good") release.
+ </span>
+ </note>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+ </xsl:variable>
+
+
+ <xsl:attribute name="result"><xsl:value-of select="$actual_result"/></xsl:attribute>
+ <xsl:attribute name="expected-result"><xsl:value-of select="$expected_result"/></xsl:attribute>
+ <xsl:attribute name="expected-reason"><xsl:value-of select="$expected_reason"/></xsl:attribute>
+ <xsl:attribute name="status"><xsl:value-of select="$status"/></xsl:attribute>
+ <xsl:attribute name="is-new"><xsl:value-of select="$is_new"/></xsl:attribute>
+ <xsl:attribute name="category"><xsl:value-of select="$category"/></xsl:attribute>
+ <xsl:element name="notes"><xsl:copy-of select="$notes"/></xsl:element>
+
+ <xsl:apply-templates select="$test_log/node()" />
+ </xsl:for-each>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="*">
+ <xsl:element name="{local-name()}">
+ <xsl:apply-templates select="@*"/>
+ <xsl:apply-templates select="node()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="@*">
+ <xsl:copy-of select="." />
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/tools/regression/xsl_reports/xsl/v2/common.xsl b/tools/regression/xsl_reports/xsl/v2/common.xsl
new file mode 100644
index 0000000000..39c93f4695
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/v2/common.xsl
@@ -0,0 +1,637 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2005.
+
+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)
+
+-->
+
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:exsl="http://exslt.org/common"
+ xmlns:func="http://exslt.org/functions"
+ xmlns:date="http://exslt.org/dates-and-times"
+ xmlns:str="http://exslt.org/strings"
+ xmlns:set="http://exslt.org/sets"
+ xmlns:meta="http://www.meta-comm.com"
+ extension-element-prefixes="func"
+ exclude-result-prefixes="exsl func date str set meta"
+ version="1.0">
+
+ <xsl:variable name="output_directory" select="'output'"/>
+
+ <!-- structural -->
+
+ <func:function name="meta:test_structure">
+ <xsl:param name="document"/>
+ <xsl:param name="release"/>
+ <xsl:variable name="required_toolsets" select="$explicit_markup//mark-toolset[ @status='required' ]"/>
+
+ <xsl:variable name="runs" select="$document//test-run"/>
+ <xsl:variable name="platforms" select="set:distinct( $document//test-run/@platform )"/>
+
+
+ <xsl:variable name="run_toolsets_f">
+ <platforms>
+ <xsl:for-each select="$platforms">
+ <xsl:sort select="."/>
+ <xsl:variable name="platform" select="."/>
+ <platform name="{$platform}">
+ <runs>
+ <xsl:for-each select="$runs[ @platform = $platform ]">
+ <xsl:sort select="@platform"/>
+ <run
+ runner="{@runner}"
+ timestamp="{@timestamp}"
+ platform="{@platform}"
+ run-type="{@run-type}"
+ source="{@source}">
+
+ <comment><xsl:value-of select="comment"/></comment>
+ <xsl:variable name="not_ordered_toolsets" select="set:distinct( .//test-log[ meta:is_test_log_a_test_case(.) and meta:show_toolset( @toolset, $release ) ]/@toolset ) "/>
+
+ <xsl:variable name="not_ordered_toolsets_with_info_f">
+ <xsl:for-each select="$not_ordered_toolsets">
+ <xsl:sort select="." order="ascending"/>
+ <xsl:variable name="toolset" select="."/>
+ <xsl:variable name="required">
+ <xsl:choose>
+ <xsl:when test="count( $required_toolsets[ @name = $toolset ] ) > 0">yes</xsl:when>
+ <xsl:otherwise>no</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="required_sort_hint">
+ <xsl:choose>
+ <xsl:when test="$required = 'yes'">sort hint A</xsl:when>
+ <xsl:otherwise>sort hint B</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <toolset name="{$toolset}" required="{$required}" required_sort_hint="{$required_sort_hint}"/>
+ </xsl:for-each>
+ </xsl:variable>
+
+ <xsl:variable name="not_ordered_toolsets_with_info" select="exsl:node-set( $not_ordered_toolsets_with_info_f )"/>
+
+ <xsl:for-each select="$not_ordered_toolsets_with_info/toolset">
+ <xsl:sort select="concat( @required_sort_hint, '-', @name )" order="ascending"/>
+ <xsl:copy-of select="."/>
+ </xsl:for-each>
+ </run>
+ </xsl:for-each>
+ </runs>
+ </platform>
+ </xsl:for-each>
+ </platforms>
+ </xsl:variable>
+ <func:result select="exsl:node-set( $run_toolsets_f )"/>
+ </func:function>
+
+
+ <func:function name="meta:test_case_status">
+ <xsl:param name="test_log"/>
+ <xsl:param name="$explicit_markup"/>
+
+ <xsl:variable name="status">
+ <xsl:choose>
+ <xsl:when test="meta:is_unusable( $explicit_markup, $test_log/@library, $test_log/@toolset )">
+ <xsl:text>unusable</xsl:text>
+ </xsl:when>
+ <xsl:when test="$test_log/@result='fail' and $test_log/@status='unexpected' and $test_log/@is-new='no'">
+ <xsl:text>fail-unexpected</xsl:text>
+ </xsl:when>
+ <xsl:when test="$test_log/@result='fail' and $test_log/@status='unexpected' and $test_log/@is-new='yes'">
+ <xsl:text>fail-unexpected-new</xsl:text>
+ </xsl:when>
+ <xsl:when test="$test_log/@result='success' and $test_log/@status='unexpected'">
+ <xsl:text>success-unexpected</xsl:text>
+ </xsl:when>
+ <xsl:when test="$test_log/@status='expected'">
+ <xsl:text>expected</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>other</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <func:result select="$status"/>
+ </func:function>
+
+ <func:function name="meta:is_toolset_required">
+ <xsl:param name="toolset"/>
+ <func:result select="count( $explicit_markup/explicit-failures-markup/mark-toolset[ @name = $toolset and @status='required' ] ) > 0"/>
+ </func:function>
+
+ <func:function name="meta:is_library_beta">
+ <xsl:param name="library"/>
+ <func:result select="count( $explicit_markup/explicit-failures-markup/library[ @name = $library and @status='beta' ] ) > 0"/>
+ </func:function>
+
+ <func:function name="meta:is_test_log_a_test_case">
+ <xsl:param name="test_log"/>
+ <func:result select="$test_log/@test-type='compile' or $test_log/@test-type='compile_fail' or $test_log/@test-type='run' or $test_log/@test-type='run_pyd'"/>
+ </func:function>
+
+
+ <func:function name="meta:is_unusable_">
+ <xsl:param name="explicit_markup"/>
+ <xsl:param name="library"/>
+ <xsl:param name="toolset"/>
+
+ <func:result select="count( $explicit_markup//library[ @name = $library ]/mark-unusable/toolset[ meta:re_match( @name, $toolset ) ] ) > 0"/>
+ </func:function>
+
+ <func:function name="meta:is_unusable">
+ <xsl:param name="explicit_markup"/>
+ <xsl:param name="library"/>
+ <xsl:param name="toolset"/>
+
+ <func:result select="count( $explicit_markup//library[ @name = $library ]/mark-unusable/toolset[ meta:re_match( @name, $toolset ) ] ) > 0"/>
+ </func:function>
+
+ <func:function name="meta:re_match">
+ <xsl:param name="pattern"/>
+ <xsl:param name="text"/>
+
+ <xsl:choose>
+ <xsl:when test="not( contains( $pattern, '*' ) )">
+ <func:result select="$text = $pattern"/>
+ </xsl:when>
+ <xsl:when test="$pattern = '*'">
+ <func:result select="1 = 1"/>
+ </xsl:when>
+ <xsl:when test="substring( $pattern, 1, 1 ) = '*' and substring( $pattern, string-length($pattern), 1 ) = '*' ">
+ <func:result select="contains( $text, substring( $pattern, 2, string-length($pattern) - 2 ) ) "/>
+ </xsl:when>
+ <xsl:when test="substring( $pattern, 1, 1 ) = '*'">
+ <xsl:variable name="pattern_tail" select="substring( $pattern, 2, string-length($pattern) - 1 )"/>
+ <func:result select="substring( $text, string-length($text) - string-length($pattern_tail) + 1, string-length($pattern_tail) ) = $pattern_tail"/>
+ </xsl:when>
+ <xsl:when test="substring( $pattern, string-length($pattern), 1 ) = '*' ">
+ <xsl:variable name="pattern_head" select="substring( $pattern, 1, string-length($pattern) - 1 )"/>
+ <func:result select="starts-with( $text, $pattern_head )"/>
+ </xsl:when>
+ <xsl:when test="contains( $pattern, '*' ) ">
+ <xsl:variable name="pattern_head" select="substring-before( $pattern, '*' )"/>
+ <xsl:variable name="pattern_tail" select="substring-after( $pattern, '*' )"/>
+ <func:result select="starts-with( $text, $pattern_head ) and substring( $text, string-length($text) - string-length($pattern_tail) + 1, string-length($pattern_tail) ) = $pattern_tail"/>
+ </xsl:when>
+ </xsl:choose>
+ </func:function>
+
+ <!-- date-time -->
+
+ <func:function name="meta:timestamp_difference">
+ <xsl:param name="x"/>
+ <xsl:param name="y"/>
+
+ <xsl:variable name="duration" select="date:difference( $x, $y )"/>
+ <xsl:choose>
+ <xsl:when test="contains( $duration, 'D' )">
+ <xsl:variable name="days" select="substring-before( $duration, 'D' )"/>
+ <func:result select="substring-after( $days, 'P' )"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <func:result select="0"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </func:function>
+
+ <func:function name="meta:format_timestamp">
+ <xsl:param name="timestamp"/>
+ <xsl:choose>
+ <xsl:when test="date:date( $timestamp ) = ''">
+ <func:result select="$timestamp"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="time" select="substring-before( date:time( $timestamp ), 'Z' )"/>
+ <xsl:variable name="day" select="date:day-in-month( $timestamp )"/>
+ <xsl:variable name="day_abbrev" select="date:day-abbreviation( $timestamp )"/>
+ <xsl:variable name="month_abbrev" select="date:month-abbreviation( $timestamp )"/>
+ <xsl:variable name="year" select="date:year( $timestamp )"/>
+ <func:result select="concat( $day_abbrev, ', ', $day, ' ', $month_abbrev, ' ', $year, ' ', $time, ' +0000' )"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </func:function>
+
+ <!-- path -->
+
+ <func:function name="meta:encode_path">
+ <xsl:param name="path"/>
+ <func:result select="translate( translate( $path, '/', '-' ), './', '-' )"/>
+ </func:function>
+
+ <func:function name="meta:output_file_path">
+ <xsl:param name="path"/>
+ <func:result select="concat( $output_directory, '/', meta:encode_path( $path ), '.html' )"/>
+ </func:function>
+
+ <func:function name="meta:log_file_path">
+ <xsl:param name="test_log"/>
+ <xsl:param name="runner"/>
+ <xsl:param name="release_postfix" select="''"/>
+ <func:result>
+ <xsl:choose>
+ <xsl:when test="meta:show_output( $explicit_markup, $test_log )">
+ <xsl:value-of select="meta:output_file_path( concat( $runner, '-', $test_log/@target-directory, $release_postfix ) )"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text></xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </func:result>
+ </func:function>
+
+ <!-- presentation -->
+
+ <func:function name="meta:show_library">
+ <xsl:param name="library"/>
+ <xsl:param name="release" select="'no'"/>
+ <func:result select="$release != 'yes' or not( meta:is_library_beta( $library ) )"/>
+ </func:function>
+
+ <func:function name="meta:show_output">
+ <xsl:param name="explicit_markup"/>
+ <xsl:param name="test_log"/>
+ <func:result select="( $test_log/@result != 'success' or $test_log/@show-run-output = 'true' or
+ $test_log/@result = 'success' and $test_log/@status = 'unexpected' )
+ and not( meta:is_unusable( $explicit_markup, $test_log/@library, $test_log/@toolset ) )
+ "/>
+ </func:function>
+
+ <func:function name="meta:show_toolset">
+ <xsl:param name="toolset"/>
+ <xsl:param name="release" select="'no'"/>
+ <func:result select="$release != 'yes' or meta:is_toolset_required( $toolset )"/>
+ </func:function>
+
+ <func:function name="meta:result_cell_class">
+ <xsl:param name="library"/>
+ <xsl:param name="toolset"/>
+ <xsl:param name="test_logs"/>
+
+ <func:result>
+ <xsl:choose>
+ <xsl:when test="meta:is_unusable( $explicit_markup, $library, $toolset )">
+ <xsl:text>unusable</xsl:text>
+ </xsl:when>
+
+ <xsl:when test="count( $test_logs ) &lt; 1">
+ <xsl:text>missing</xsl:text>
+ </xsl:when>
+
+ <xsl:when test="count( $test_logs[@result='fail' and @status='unexpected' and @is-new='no'] )">
+ <xsl:text>fail-unexpected</xsl:text>
+ </xsl:when>
+
+ <xsl:when test="count( $test_logs[@result='fail' and @status='unexpected' and @is-new='yes'] )">
+ <xsl:text>fail-unexpected-new</xsl:text>
+ </xsl:when>
+
+
+ <xsl:when test="count( $test_logs[@result='fail' and @expected-reason != '' ] )">
+ <xsl:text>fail-expected-unresearched</xsl:text>
+ </xsl:when>
+
+ <xsl:when test="count( $test_logs[@result='fail'] )">
+ <xsl:text>fail-expected</xsl:text>
+ </xsl:when>
+
+
+ <xsl:when test="count( $test_logs[@result='success' and @status='unexpected'] )">
+ <xsl:text>success-unexpected</xsl:text>
+ </xsl:when>
+
+ <xsl:when test="count( $test_logs[@status='expected'] )">
+ <xsl:text>success-expected</xsl:text>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <xsl:text>unknown</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </func:result>
+ </func:function>
+
+ <xsl:template name="insert_report_header">
+ <xsl:param name="run_date"/>
+ <xsl:param name="warnings"/>
+ <xsl:param name="purpose"/>
+
+ <div class="report-info">
+ <div>
+ <b>Report Time: </b> <xsl:value-of select="meta:format_timestamp( $run_date )"/>
+ </div>
+
+ <xsl:if test="$purpose">
+ <div>
+ <b>Purpose: </b> <xsl:value-of select="$purpose"/>
+ </div>
+ </xsl:if>
+
+ <xsl:if test="$warnings">
+ <xsl:for-each select="str:split( $warnings, '+' )">
+ <div class="report-warning">
+ <b>Warning: </b>
+ <a href="mailto:boost-testing@lists.boost.org?subject=[Report Pages] {.} ({meta:format_timestamp( $run_date )})" class="warning-link">
+ <xsl:value-of select="."/>
+ </a>
+ </div>
+ </xsl:for-each>
+ </xsl:if>
+
+ </div>
+
+ </xsl:template>
+
+
+ <xsl:template name="insert_view_link">
+ <xsl:param name="page"/>
+ <xsl:param name="release"/>
+ <xsl:param name="class"/>
+
+ <xsl:choose>
+ <xsl:when test="$release='yes'">
+ <a href="{$page}.html" class="{$class}" target="_top">
+ <xsl:text>Full View</xsl:text>
+ </a>
+ </xsl:when>
+ <xsl:otherwise>
+ <a href="{$page}_release.html" class="{$class}" target="_top">
+ <xsl:text>Release View</xsl:text>
+ </a>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </xsl:template>
+
+
+ <xsl:template name="insert_page_links">
+ <xsl:param name="page"/>
+ <xsl:param name="release"/>
+ <xsl:param name="mode"/>
+
+ <div class="links">
+ <xsl:copy-of select="document( 'html/make_tinyurl.html' )"/>
+ <xsl:text>&#160;|&#160;</xsl:text>
+ <xsl:call-template name="insert_view_link">
+ <xsl:with-param name="page" select="$page"/>
+ <xsl:with-param name="class" select="''"/>
+ <xsl:with-param name="release" select="$release"/>
+ </xsl:call-template>
+
+ <xsl:variable name="release_postfix">
+ <xsl:if test="$release='yes'">_release</xsl:if>
+ </xsl:variable>
+
+ <xsl:text>&#160;|&#160;</xsl:text>
+ <a href="../{$mode}/{$page}{$release_postfix}.html" class="view-link" target="_top">
+ <xsl:value-of select="$mode"/><xsl:text> View</xsl:text>
+ </a>
+
+ <xsl:text>&#160;|&#160;</xsl:text>
+ <a href="{$page}{$release_postfix}_.html#legend">
+ <xsl:text>Legend</xsl:text>
+ </a>
+
+ </div>
+
+ </xsl:template>
+
+
+ <xsl:template name="insert_runners_rows">
+ <xsl:param name="mode"/>
+ <xsl:param name="top_or_bottom"/>
+ <xsl:param name="run_toolsets"/>
+ <xsl:param name="run_date"/>
+
+ <xsl:variable name="colspan">
+ <xsl:choose>
+ <xsl:when test="$mode = 'summary'">1</xsl:when>
+ <xsl:when test="$mode = 'details'">2</xsl:when>
+ </xsl:choose>
+ </xsl:variable>
+
+
+ <xsl:if test="$top_or_bottom = 'top'">
+ <tr>
+ <td colspan="{$colspan}">&#160;</td>
+ <xsl:for-each select="$run_toolsets/platforms/platform">
+ <xsl:if test="count(./runs/run/toolset) &gt; 0">
+ <td colspan="{count(./runs/run/toolset)}" class="runner">
+ <xsl:value-of select="@name"/>
+ </td>
+ </xsl:if>
+ </xsl:for-each>
+ <td colspan="{$colspan}">&#160;</td>
+ </tr>
+ </xsl:if>
+
+ <tr>
+ <td colspan="{$colspan}">&#160;</td>
+ <xsl:for-each select="$run_toolsets//runs/run[ count(toolset) > 0 ]">
+ <td colspan="{count(toolset)}" class="runner">
+ <a href="../{@runner}.html">
+ <xsl:value-of select="@runner"/>
+ </a>
+ </td>
+ </xsl:for-each>
+ <td colspan="{$colspan}">&#160;</td>
+ </tr>
+
+ <tr>
+ <td colspan="{$colspan}">&#160;</td>
+ <xsl:for-each select="$run_toolsets//runs/run[ count(toolset) > 0 ]">
+ <xsl:variable name="age" select="meta:timestamp_difference( @timestamp, $run_date )"/>
+ <td colspan="{count(toolset)}" class="timestamp">
+ <span class="timestamp-{$age}"><xsl:value-of select="meta:format_timestamp( @timestamp )"/></span>
+ <xsl:if test="@run-type != 'full'">
+ <span class="run-type-{@run-type}"><xsl:value-of select="substring( @run-type, 1, 1 )"/></span>
+ </xsl:if>
+ </td>
+ </xsl:for-each>
+ <td colspan="{$colspan}">&#160;</td>
+ </tr>
+
+ <xsl:if test="$top_or_bottom = 'bottom'">
+ <tr>
+ <td colspan="{$colspan}">&#160;</td>
+ <xsl:for-each select="$run_toolsets/platforms/platform">
+ <xsl:if test="count(./runs/run/toolset) &gt; 0">
+ <td colspan="{count(./runs/run/toolset)}" class="runner">
+ <xsl:value-of select="@name"/>
+ </td>
+ </xsl:if>
+ </xsl:for-each>
+ <td colspan="{$colspan}">&#160;</td>
+ </tr>
+ </xsl:if>
+
+ </xsl:template>
+
+ <xsl:template name="insert_toolsets_row">
+ <xsl:param name="mode"/>
+ <xsl:param name="library"/>
+ <xsl:param name="library_marks"/>
+ <xsl:param name="run_date"/>
+
+ <tr valign="middle">
+ <xsl:variable name="colspan">
+ <xsl:choose>
+ <xsl:when test="$mode = 'summary'">1</xsl:when>
+ <xsl:when test="$mode = 'details'">2</xsl:when>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="title">
+ <xsl:choose>
+ <xsl:when test="$mode = 'summary'">&#160;library&#160;/&#160;toolset&#160;</xsl:when>
+ <xsl:when test="$mode = 'details'">&#160;test&#160;/&#160;toolset&#160;</xsl:when>
+ </xsl:choose>
+ </xsl:variable>
+
+ <td class="head" colspan="{$colspan}" width="1%"><xsl:value-of select="$title"/></td>
+
+
+ <xsl:for-each select="$run_toolsets//runs/run/toolset">
+ <xsl:variable name="toolset" select="@name"/>
+
+ <xsl:variable name="class">
+ <xsl:choose>
+ <xsl:when test="@required='yes'">
+ <xsl:text>required-toolset-name</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>toolset-name</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <td class="{$class}">
+ <xsl:variable name="age" select="meta:timestamp_difference( ../@timestamp, $run_date )"/>
+ <span class="timestamp-{$age}">
+
+ <!-- break toolset names into words -->
+ <xsl:for-each select="str:tokenize($toolset, '-')">
+ <xsl:value-of select="." />
+ <xsl:if test="position()!=last()">
+ <xsl:text>- </xsl:text>
+ </xsl:if>
+ </xsl:for-each>
+
+ <xsl:if test="$mode = 'details'">
+ <!-- prepare toolset notes -->
+ <xsl:variable name="toolset_notes_fragment">
+ <xsl:for-each select="$library_marks/note">
+ <xsl:if test="count( ../toolset[meta:re_match( @name, $toolset )] ) > 0">
+ <note index="{position()}"/>
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:variable>
+
+ <xsl:variable name="toolset_notes" select="exsl:node-set( $toolset_notes_fragment )/*"/>
+ <xsl:if test="count( $toolset_notes ) > 0">
+ <span class="super">
+ <xsl:for-each select="$toolset_notes">
+ <xsl:variable name="note_index" select="@index"/>
+ <xsl:if test="generate-id( . ) != generate-id( $toolset_notes[1] )">, </xsl:if>
+ <a href="#{$library}-note-{$note_index}" title="Note {$note_index}">
+ <xsl:value-of select="$note_index"/>
+ </a>
+ </xsl:for-each>
+ </span>
+ </xsl:if>
+ </xsl:if>
+
+ </span>
+ </td>
+ </xsl:for-each>
+
+ <td class="head" width="1%"><xsl:value-of select="$title"/></td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template name="show_notes">
+ <xsl:param name="explicit_markup"/>
+ <xsl:param name="notes"/>
+ <div class="notes">
+ <xsl:for-each select="$notes">
+ <div>
+ <xsl:variable name="ref_id" select="@refid"/>
+ <xsl:call-template name="show_note">
+ <xsl:with-param name="note" select="."/>
+ <xsl:with-param name="references" select="$ref_id"/>
+ </xsl:call-template>
+ </div>
+ </xsl:for-each>
+ </div>
+ </xsl:template>
+
+ <xsl:template name="show_note">
+ <xsl:param name="note"/>
+ <xsl:param name="references"/>
+
+ <div class="note">
+ <xsl:variable name="author">
+ <xsl:choose>
+ <xsl:when test="$note/@author">
+ <xsl:value-of select="$note/@author"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="date">
+ <xsl:choose>
+ <xsl:when test="$note/@date">
+ <xsl:value-of select="$note/@date"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <span class="note-header">
+ <xsl:choose>
+ <xsl:when test="$author != '' and $date != ''">
+ [&#160;<xsl:value-of select="$author"/>&#160;<xsl:value-of select="$date"/>&#160;]
+ </xsl:when>
+ <xsl:when test="$author != ''">
+ [&#160;<xsl:value-of select="$author"/>&#160;]
+ </xsl:when>
+ <xsl:when test="$date != ''">
+ [&#160;<xsl:value-of select="$date"/>&#160;]
+ </xsl:when>
+ </xsl:choose>
+ </span>
+
+ <xsl:if test="$references">
+ <!-- lookup references (refid="17,18") -->
+ <xsl:for-each select="str:tokenize($references, ',')">
+ <xsl:variable name="ref_id" select="."/>
+ <xsl:variable name="referenced_note" select="$explicit_markup//note[ $ref_id = @id ]"/>
+
+ <xsl:choose>
+ <xsl:when test="$referenced_note">
+ <xsl:copy-of select="$referenced_note/node()"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$ref_id"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </xsl:if>
+
+ <xsl:copy-of select="$note/node()"/>
+
+ </div>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/tools/regression/xsl_reports/xsl/v2/expected_to_1_33_format.xsl b/tools/regression/xsl_reports/xsl/v2/expected_to_1_33_format.xsl
new file mode 100644
index 0000000000..71f33d2c1c
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/v2/expected_to_1_33_format.xsl
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:set="http://exslt.org/sets"
+ extension-element-prefixes="set"
+ version="1.0">
+
+ <xsl:output method="xml" encoding="utf-8"/>
+
+ <xsl:template match="/">
+ <expected-failures>
+ <xsl:variable name="toolsets" select="set:distinct(//test-result/@toolset)"/>
+ <xsl:for-each select="$toolsets">
+ <xsl:variable name="toolset" select="."/>
+ <toolset name="{$toolset}">
+ <xsl:variable name="toolset_test_cases" select="//test-result[@toolset = $toolset]"/>
+ <xsl:variable name="libraries" select="set:distinct($toolset_test_cases/@library)"/>
+ <xsl:for-each select="$libraries">
+ <xsl:variable name="library" select="."/>
+ <library name="{$library}">
+ <xsl:variable name="test_results" select="$toolset_test_cases[@library = $library]"/>
+ <xsl:for-each select="$test_results">
+ <xsl:variable name="test_result" select="."/>
+ <test-result test-name="{$test_result/@test-name}" result="{$test_result/@result}"/>
+ </xsl:for-each>
+ </library>
+ </xsl:for-each>
+ </toolset>
+ </xsl:for-each>
+ </expected-failures>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/tools/regression/xsl_reports/xsl/v2/html/issues_legend.html b/tools/regression/xsl_reports/xsl/v2/html/issues_legend.html
new file mode 100644
index 0000000000..6274048b55
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/v2/html/issues_legend.html
@@ -0,0 +1,36 @@
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+-->
+
+<div class="legend">
+<table border="0" summary="report description">
+<tr>
+ <td>
+ <table border="0" summary="legend">
+ <tr>
+ <td>
+ <table width="100%" summary="unexpected new fail legend">
+ <tr class="library-row-single"><td class="library-fail-unexpected-new">&lt;toolset&gt;</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">Failure on a newly added test/compiler.</td>
+ </tr>
+ <tr>
+ <td>
+ <table width="100%" summary="unexpected fail legend">
+ <tr class="library-row-single"><td class="library-fail-unexpected">&lt;toolset&gt;</td></tr>
+ </table>
+ </td>
+ <td class="legend-item">Unexpected failure.</td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+</div>
diff --git a/tools/regression/xsl_reports/xsl/v2/html/library_developer_legend.html b/tools/regression/xsl_reports/xsl/v2/html/library_developer_legend.html
new file mode 100644
index 0000000000..009211ac19
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/v2/html/library_developer_legend.html
@@ -0,0 +1,82 @@
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2005.
+
+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)
+
+-->
+
+<div class="legend">
+<table border="0" summary="report description">
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="success legend">
+ <tr class="library-row-single"><td class="library-success-expected">pass</td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">Success.</td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="unexpected pass legend">
+ <tr class="library-row-single"><td class="library-success-unexpected">pass</td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">Unexpected success; follow the link for more details.</td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="expected fail legend">
+ <tr class="library-row-single"><td class="library-fail-expected">fail*</td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">Expected failure; follow the link for more details.</td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="unusable legend">
+ <tr class="library-row-single"><td class="library-unusable">n/a</td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">The library author marked it as unusable on this particular platform/toolset.</td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="unresearched legend">
+ <tr class="library-row-single"><td class="library-fail-expected-unresearched">fail?</td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">Unsearched failure; follow the link for more details.</td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="unexpected new fail legend">
+ <tr class="library-row-single"><td class="library-fail-unexpected-new">fail</td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">Failure on a newly added test/compiler.</td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="unexpected fail legend">
+ <tr class="library-row-single"><td class="library-fail-unexpected">fail</td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">Unexpected failure/regression.</td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ </td>
+ <td class="legend-explanation"></td>
+ </tr>
+</table>
+<hr/>
+<table border="0" summary="report description">
+ <tr>
+ <td><span class="run-type-incremental">i</span></td>
+ <td class="legend-explanation">An incremental run.</td>
+ </tr>
+</table>
+</div>
diff --git a/tools/regression/xsl_reports/xsl/v2/html/library_user_legend.html b/tools/regression/xsl_reports/xsl/v2/html/library_user_legend.html
new file mode 100644
index 0000000000..bae1742e94
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/v2/html/library_user_legend.html
@@ -0,0 +1,89 @@
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2005.
+
+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)
+
+-->
+
+<div class="legend">
+<table border="0" summary="report description">
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="success legend">
+ <tr class="library-row-single"><td class="library-success-expected user-library-success-expected">pass</td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">The test successfully passes.</td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="expected fail legend">
+ <tr class="library-row-single"><td class="library-fail-expected user-library-fail-expected"><u>fail*</u></td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">
+ A <b>known failure</b> that the library maintainers are aware about. Please follow the link to
+ find out how it affects the library's functionality.
+ </td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="unusable legend">
+ <tr class="library-row-single"><td class="library-unusable user-library-unusable">unusable</td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">
+ The library author marked it as <b>unusable</b> on this particular platform/toolset. Please
+ see the corresponding footnote.
+ </td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="unresearched legend">
+ <tr class="library-row-single"><td class="library-fail-expected-unresearched user-library-fail-expected-unresearched"><u>fail?</u></td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">
+ An <b>unsearched failure</b>: the library maintainers are aware of it, but need help with
+ investigating/addressing it for future releases. Please follow the link to
+ access the details and find out how it affects library functionality. </td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="unexpected new fail legend">
+ <tr class="library-row-single"><td class="library-fail-unexpected-new user-library-fail-unexpected-new"><u>fail</u></td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">
+ A <b>new failure</b> on the test/compiler added in this release that hasn't been accounted for yet.
+ Please follow the link to access the details.
+ </td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="unexpected fail legend">
+ <tr class="library-row-single user-library-row-single"><td class="library-fail-unexpected"><u>fail</u></td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">
+ A <b>regression</b> comparing to the previous release. Please follow the link to
+ access the details.
+ </td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ </td>
+ <td class="legend-explanation"></td>
+ </tr>
+</table>
+<hr/>
+<table border="0" summary="report description">
+ <tr>
+ <td><span class="run-type-incremental">i</span></td>
+ <td class="legend-explanation">An incremental run.</td>
+ </tr>
+</table>
+</div>
diff --git a/tools/regression/xsl_reports/xsl/v2/html/make_tinyurl.html b/tools/regression/xsl_reports/xsl/v2/html/make_tinyurl.html
new file mode 100644
index 0000000000..e57fb06a4f
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/v2/html/make_tinyurl.html
@@ -0,0 +1,22 @@
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+-->
+
+<span>
+<script type="text/javascript">
+<!--
+function make_tinyurl()
+{
+ window.open( 'http://tinyurl.com/create.php?url=' + parent.location.href );
+}
+//-->
+</script>
+
+<a href="javascript:make_tinyurl()">TinyUrl</a>
+</span>
diff --git a/tools/regression/xsl_reports/xsl/v2/html/master.css b/tools/regression/xsl_reports/xsl/v2/html/master.css
new file mode 100644
index 0000000000..f25a58081d
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/v2/html/master.css
@@ -0,0 +1,623 @@
+/*
+
+Copyright MetaCommunications, Inc. 2003-2005.
+
+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)
+
+*/
+
+/* All reports */
+
+body
+{
+ background-color: white;
+}
+
+body.user-toc
+{
+ background-color: #f0f0f0;
+}
+
+body.developer-toc
+{
+ background-color: #f0f5ff;
+}
+
+span.super
+{
+ vertical-align: super;
+ font-size: 80%;
+ margin-left: 3pt;
+}
+
+h1.page-title
+{
+ text-align: left;
+ text-transform: capitalize;
+ margin-top: 5pt;
+ margin-bottom: 10pt;
+}
+
+img
+{
+ display: inline;
+}
+
+ a.hover-link:link
+,a.hover-link:visited
+,a.hover-link:active
+{
+ color: black;
+ text-decoration: none;
+}
+
+a.hover-link:hover
+{
+ color: black;
+ text-decoration: underline;
+}
+
+ a.warning-link:link
+,a.warning-link:visited
+,a.warning-link:active
+{
+ color: red;
+ text-decoration: none;
+}
+
+a.warning-link:hover
+{
+ color: red;
+ text-decoration: underline;
+}
+
+a.view-link
+{
+ text-transform: capitalize;
+}
+
+div.statistics
+{
+ width: 80%;
+ padding-bottom: 5pt;
+}
+
+div.legend
+{
+ width: 80%;
+ background-color: #f5f5f5;
+ margin-top: 10pt;
+ margin-bottom: 10pt;
+}
+
+div.comment
+{
+ width: 80%;
+ background-color: #f5f5f5;
+ padding-left: 10pt;
+ padding-right: 10pt;
+ padding-bottom: 10pt;
+}
+
+div.links
+{
+ margin-top: 0pt;
+ margin-bottom: 0pt;
+}
+
+table.header-table
+{
+ margin-left: 10pt;
+ margin-top: 20pt;
+ margin-bottom: 10pt;
+ width: 80%;
+}
+
+td.header-item
+{
+ text-align: left;
+ vertical-align: top;
+ font-weight: bold;
+}
+
+td.header-item-content
+{
+ padding-left: 20pt;
+ padding-bottom: 10pt;
+}
+
+td.legend-item
+{
+ padding: 0pt;
+ width: 50pt;
+}
+
+td.legend-explanation
+{
+ padding-left: 5pt;
+}
+
+div.acknowledgement
+{
+ text-align: left;
+ margin-top: 10pt;
+ margin-left: 5pt;
+ margin-bottom: 10pt;
+}
+
+div.report-info
+{
+ text-align: left;
+ margin-bottom: 10pt;
+ width: 80%;
+}
+
+div.report-warning
+{
+ color: red;
+}
+
+div.library-name
+{
+ margin-top: 20pt;
+ margin-bottom: 10pt;
+ text-align: left;
+ font-size: 125%;
+ font-weight: bold;
+}
+
+span.run-type-incremental
+{
+ margin-left: 3pt;
+ padding-left: 1pt;
+ padding-right: 1pt;
+ background-color: yellow;
+}
+
+ span.timestamp-1
+,span.timestamp-2
+{
+ color: #555555;
+}
+
+ span.timestamp-3
+,span.timestamp-4
+,span.timestamp-5
+,span.timestamp-6
+,span.timestamp-7
+{
+ color: #999999;
+}
+
+ span.timestamp-8
+,span.timestamp-9
+,span.timestamp-10
+,span.timestamp-11
+,span.timestamp-12
+,span.timestamp-13
+,span.timestamp-14
+{
+ color: #dddddd;
+}
+
+
+table.summary-table
+,table.library-table
+{
+ border-collapse: collapse;
+ border: 2px solid black;
+ margin: 5px;
+}
+
+ table.summary-table td
+,table.library-table td
+{
+ text-align: center;
+ border-left: 1px solid black;
+ border-right: 1px solid black;
+}
+
+ a.log-link:link
+,a.log-link:visited
+{
+ color: black;
+}
+
+ a.log-link:active
+,a.log-link:hover
+,a.legend-link:link
+,a.legend-link:visited
+,a.legend-link:active
+,a.legend-link:hover
+{
+ color: black;
+ text-decoration: underline;
+}
+
+td.runner
+{
+ color: black;
+ font-weight: bold;
+ border-top: 1px solid black;
+ padding-left: 3pt;
+ padding-right: 3pt;
+
+}
+
+td.timestamp
+{
+ color: black;
+ border-bottom: 1px solid black;
+ padding-left: 3pt;
+ padding-right: 3pt;
+}
+
+ td.toolset-name
+,td.required-toolset-name
+{
+ vertical-align: middle;
+ padding-left: 3pt;
+ padding-right: 3pt;
+ word-spacing: -3pt;
+}
+
+td.required-toolset-name
+{
+ font-weight: bold;
+}
+
+td.library-test-category-header
+{
+ border-top: 1px solid gray;
+}
+
+tr.summary-row-first td
+, tr.library-row-first td
+{
+ border-top: 1px solid gray;
+ border-bottom: 0px;
+}
+
+tr.summary-row-last td
+, tr.library-row-last td
+{
+ border-top: 0px;
+ border-bottom: 1px solid gray;
+}
+
+tr.summary-row-single td
+, tr.library-row-single td
+{
+ border-top: 1px solid gray;
+ border-bottom: 1px solid gray;
+}
+
+tr.summary-row td
+, tr.library-row td
+{
+ border-bottom: 0px;
+ border-top: 0px;
+}
+
+ td.library-success-expected
+, td.summary-success-expected
+, td.summary-fail-expected
+, td.summary-unknown-status
+, td.summary-fail-expected-unresearched
+{
+ width: 60pt;
+ text-align: center;
+ background-color: lightgreen;
+ border-left: 1px solid black;
+ border-right: 1px solid black;
+ padding-left: 2pt;
+ padding-right: 2pt;
+}
+
+ td.summary-unknown-status
+{
+ background-color: white;
+}
+
+ td.library-success-unexpected
+,td.summary-success-unexpected
+{
+ width: 60pt;
+ text-align: center;
+ background-color: green;
+ color: white;
+ border: 0px;
+ padding-left: 2pt;
+ padding-right: 2pt;
+}
+
+ td.user-library-success-unexpected
+, td.user-summary-success-unexpected
+{
+ background-color: lightgreen;
+ color: black;
+}
+
+ td.library-success-unexpected a.log-link:link
+,td.library-success-unexpected a.log-link:visited
+,td.library-success-unexpected a.log-link:active
+,td.library-success-unexpected a.log-link:hover
+{
+ color: white;
+}
+
+ td.user-library-success-unexpected a.log-link:link
+, td.user-library-success-unexpected a.log-link:visited
+, td.user-library-success-unexpected a.log-link:active
+, td.user-library-success-unexpected a.log-link:hover
+{
+ color: black;
+}
+
+ td.summary-unusable
+, td.library-unusable
+, td.library-fail-expected
+{
+ width: 60pt;
+ text-align: center;
+ background-color: silver;
+ color: black;
+ border: 0px;
+ padding-left: 2pt;
+ padding-right: 2pt;
+}
+
+
+ tr.summary-row td.summary-fail-unexpected
+,tr.summary-row-first td.summary-fail-unexpected
+,tr.summary-row-last td.summary-fail-unexpected
+,tr.summary-row-single td.summary-fail-unexpected
+{
+ width: 60pt;
+ text-align: center;
+ background-color: red;
+ color: black;
+ border: 2px solid black;
+ padding-left: 2pt;
+ padding-right: 2pt;
+}
+
+ td.summary-missing
+, td.library-missing
+{
+ width: 60pt;
+ text-align: center;
+ background-color: white;
+ color: black;
+ border: 0px;
+ padding-left: 2pt;
+ padding-right: 2pt;
+}
+
+td.library-fail-expected-unresearched
+{
+ width: 60pt;
+ text-align: center;
+ background-color: white;
+ color: black;
+ border: 1px solid black;
+ padding-left: 2pt;
+ padding-right: 2pt;
+}
+
+
+ tr.summary-row-first td.summary-missing
+, tr.summary-row-single td.summary-missing
+, tr.library-row-first td.library-missing
+, tr.library-row-single td.library-missing
+{
+ border-top: 1px solid black;
+}
+
+ tr.summary-row-last td.summary-missing
+, tr.summary-row-single td.summary-missing
+, tr.library-row-last td.library-missing
+, tr.library-row-single td.library-missing
+{
+ border-bottom: 1px solid black;
+}
+
+
+/* Summary */
+
+table.summary-table td.library-name
+{
+ width: 100pt;
+ padding-left: 6pt;
+ padding-right: 6pt;
+ border-top: 1px solid gray;
+ border-bottom: 1px solid gray;
+ text-align: left;
+}
+
+ tr.summary-row td.summary-fail-unexpected-new
+, tr.summary-row-first td.summary-fail-unexpected-new
+, tr.summary-row-last td.summary-fail-unexpected-new
+, tr.summary-row-single td.summary-fail-unexpected-new
+
+, tr.library-row td.library-fail-unexpected-new
+, tr.library-row-first td.library-fail-unexpected-new
+, tr.library-row-last td.library-fail-unexpected-new
+, tr.library-row-single td.library-fail-unexpected-new
+
+, tr.summary-row td.user-summary-fail-expected-unresearched
+, tr.summary-row-first td.user-summary-fail-expected-unresearched
+, tr.summary-row-last td.user-summary-fail-expected-unresearched
+, tr.summary-row-single td.user-summary-fail-expected-unresearched
+
+, tr.library-row td.user-library-fail-expected-unresearched
+, tr.library-row-first td.user-library-fail-expected-unresearched
+, tr.library-row-last td.user-library-fail-expected-unresearched
+, tr.library-row-single td.user-library-fail-expected-unresearched
+{
+ width: 60pt;
+ text-align: center;
+ background-color: yellow;
+ color: black;
+ border: 2px solid black;
+}
+
+/* Detailed */
+
+.library-conf-problem
+{
+ font-size: 70%;
+ font-weight: normal;
+}
+
+div.library-toc
+{
+ margin: 5pt;
+}
+
+
+li.library-toc-entry
+{
+ margin-left: 5pt;
+ list-style-type: square;
+}
+
+
+div.library-footer
+{
+ margin: 5px;
+}
+
+
+table.library-table td.test-name
+{
+ width: 150pt;
+ padding-left: 6pt;
+ padding-right: 6pt;
+ border-right: 0;
+ border-top: 1px solid gray;
+ border-bottom: 1px solid gray;
+ text-align: left;
+}
+
+table.library-table td.test-type
+{
+ padding-right: 5px;
+ border-left: 0;
+ border-right: 0;
+ border-top: 1px solid gray;
+ border-bottom: 1px solid gray;
+ text-align: right;
+}
+
+ tr.library-row td.library-fail-unexpected
+, tr.library-row-first td.library-fail-unexpected
+, tr.library-row-last td.library-fail-unexpected
+, tr.library-row-single td.library-fail-unexpected
+{
+ width: 60pt;
+ text-align: center;
+ background-color: red;
+ font-weight: bold;
+ color: black;
+ border: 2px solid black;
+}
+
+table.library-library-notes
+{
+ background-color: LemonChiffon;
+ width: 80%;
+ margin-left: 5px;
+ margin-right: 5px;
+}
+
+tr.library-library-note
+{
+}
+
+div.note
+{
+ padding: 3pt;
+}
+
+span.note-header
+{
+ font-weight: bold;
+}
+
+span.auto-note
+{
+ font-style: italic;
+}
+
+/* Log */
+
+div.log-test-title
+{
+ font-size: 1.5em;
+ font-weight: bold;
+ border-bottom: 1px solid black;
+}
+
+div.notes-title
+{
+ font-weight: bold;
+ background-color: #ffffcc;
+}
+
+div.notes
+{
+ padding: 3pt;
+ background-color: #ffffcc;
+}
+
+div.notes-title
+{
+ font-weight: bold;
+}
+
+div.log-compiler-output-title
+{
+ font-weight: bold;
+}
+
+div.log-linker-output-title
+{
+ font-weight: bold;
+}
+
+div.log-run-output-title
+{
+ font-weight: bold;
+}
+
+
+/* Issues page */
+
+table.library-issues-table
+{
+ border-collapse: collapse;
+ border: 2px solid black;
+}
+
+table.library-issues-table td
+{
+ border: 1px solid #c0c0c0;
+ text-align: center;
+ margin-right: 5px;
+}
+
+table.library-issues-table td.failures-row
+{
+ text-align: left;
+ padding: 0px;
+}
+
+ table.issue-box tr.library-row-single td.library-fail-unexpected-new
+,table.issue-box tr.library-row-single td.library-fail-unexpected
+{
+ border: 0px;
+ font-weight: normal;
+}
diff --git a/tools/regression/xsl_reports/xsl/v2/html/summary_developer_legend.html b/tools/regression/xsl_reports/xsl/v2/html/summary_developer_legend.html
new file mode 100644
index 0000000000..b85a6403fa
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/v2/html/summary_developer_legend.html
@@ -0,0 +1,72 @@
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2005.
+
+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)
+
+-->
+
+<div class="legend">
+<table border="0" summary="report description">
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="success legend">
+ <tr class="summary-row-single"><td class="summary-success-expected">OK</td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">
+ All expected tests pass.
+ </td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="unexpected pass legend">
+ <tr class="summary-row-single"><td class="summary-success-unexpected">OK</td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">
+ All expected tests pass, and some other tests that were expected to fail
+ unexpectedly pass as well.
+ </td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="unexpected new fail legend">
+ <tr class="summary-row-single"><td class="summary-fail-unexpected-new">fail</td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">
+ There are some failures on the newly added tests/compiler(s).
+ </td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="unexpected fail legend">
+ <tr class="summary-row-single"><td class="summary-fail-unexpected">broken</td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">
+ Tests that the library author expects to pass are currently failing.
+ </td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="unusable legend">
+ <tr class="summary-row-single"><td class="summary-unusable">n/a</td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">
+ The library author marked it as unusable on particular platform/toolset.
+ </td>
+ </tr>
+</table>
+<hr/>
+<table border="0" summary="report description" id="Table1">
+ <tr>
+ <td><span class="run-type-incremental">i</span></td>
+ <td class="legend-explanation">An incremental run.</td>
+ </tr>
+</table>
+</div>
diff --git a/tools/regression/xsl_reports/xsl/v2/html/summary_user_legend.html b/tools/regression/xsl_reports/xsl/v2/html/summary_user_legend.html
new file mode 100644
index 0000000000..1fbf68a4cd
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/v2/html/summary_user_legend.html
@@ -0,0 +1,76 @@
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2005.
+
+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)
+
+-->
+
+<div class="legend">
+<table border="0" summary="report description">
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="success legend">
+ <tr class="summary-row-single"><td class="summary-success-expected user-summary-success-expected">&#160;pass&#160;</td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">
+ All library's tests pass.
+ </td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="expected fail legend">
+ <tr class="summary-row-single"><td class="summary-fail-expected user-summary-fail-expected"><u>details</u></td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">
+ Most of the library's tests pass, but there are some <b>known failures</b> which might affect the library's
+ functionality. Please follow the link to see the detailed report.
+ </td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="unexpected new fail legend">
+ <tr class="summary-row-single"><td class="summary-fail-unexpected-new user-summary-fail-unexpected-new"><u>details</u></td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">
+ Some of the <b>newly added</b> library's tests fail, or some of the library's tests fail on
+ the <b>newly added compiler</b>, or some of the tests fail due to <b>unresearched
+ reasons</b>. Please follow the link to see the detailed report.
+ </td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="unexpected fail legend">
+ <tr class="summary-row-single"><td class="summary-fail-unexpected user-summary-fail-unexpected"><u>regress.</u></td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">
+ There are some <b>regressions</b> in the library comparing to the previous release.
+ Please follow the link to see the detailed report.
+ </td>
+ </tr>
+ <tr>
+ <td class="legend-item" width="50pt">
+ <table width="100%" summary="unusable legend">
+ <tr class="summary-row-single"><td class="summary-unusable user-summary-unusable">unusable</td></tr>
+ </table>
+ </td>
+ <td class="legend-explanation">
+ The library author marked it as <b>unusable</b> on the particular platform/toolset.
+ Please follow the link to see the detailed report.
+ </td>
+ </tr>
+</table>
+<hr/>
+<table border="0" summary="report description" id="Table1">
+ <tr>
+ <td><span class="run-type-incremental">i</span></td>
+ <td class="legend-explanation">An incremental run.</td>
+ </tr>
+</table>
+</div>
diff --git a/tools/regression/xsl_reports/xsl/v2/issues_page.xsl b/tools/regression/xsl_reports/xsl/v2/issues_page.xsl
new file mode 100644
index 0000000000..58b6ce537a
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/v2/issues_page.xsl
@@ -0,0 +1,327 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+-->
+
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:exsl="http://exslt.org/common"
+ xmlns:func="http://exslt.org/functions"
+ xmlns:meta="http://www.meta-comm.com"
+ xmlns:set="http://exslt.org/sets"
+ extension-element-prefixes="func exsl"
+ exclude-result-prefixes="exsl set meta"
+ version="1.0">
+
+ <xsl:import href="common.xsl"/>
+
+ <xsl:output method="html"
+ doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
+ encoding="utf-8"
+ indent="yes"
+ />
+
+
+ <xsl:param name="source"/>
+ <xsl:param name="run_date"/>
+ <xsl:param name="warnings"/>
+ <xsl:param name="comment_file"/>
+ <xsl:param name="expected_results_file"/>
+ <xsl:param name="explicit_markup_file"/>
+ <xsl:param name="release"/>
+
+ <!-- the author-specified expected test results -->
+ <xsl:variable name="explicit_markup" select="document( $explicit_markup_file )"/>
+ <xsl:variable name="expected_results" select="document( $expected_results_file )" />
+
+ <xsl:variable name="release_postfix">
+ <xsl:if test="$release='yes'">
+ <xsl:text>_release</xsl:text>
+ </xsl:if>
+ </xsl:variable>
+
+ <!-- necessary indexes -->
+ <xsl:key
+ name="test_name_key"
+ match="test-log"
+ use="concat( @library, '@', @test-name )"/>
+
+ <xsl:key
+ name="library_key"
+ match="test-log"
+ use="@library"/>
+ <xsl:key name="toolset_key" match="test-log" use="@toolset"/>
+
+ <!-- toolsets -->
+
+ <xsl:variable name="required_toolsets" select="$explicit_markup//mark-toolset[ @status='required' ]"/>
+ <xsl:variable name="required_toolset_names" select="$explicit_markup//mark-toolset[ @status='required' ]/@name"/>
+
+ <!-- libraries -->
+
+ <xsl:variable
+ name="failing_tests"
+ select="//test-log[@status='unexpected' and @result='fail'
+ and @toolset = $required_toolset_names
+ and meta:is_test_log_a_test_case(.)
+ and meta:show_library( @library, $release )
+ and meta:show_toolset( @toolset, $release )
+ and not (meta:is_unusable($explicit_markup, @library,
+ @toolset )) ]"/>
+
+ <xsl:variable name="libraries" select="set:distinct( $failing_tests/@library )"/>
+
+ <xsl:template match="/">
+ <xsl:variable name="issues_list"
+ select="concat('issues', $release_postfix, '_.html')"/>
+
+ <!-- Issues page -->
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ <title>Boost regression unresolved issues: <xsl:value-of select="$source"/></title>
+ </head>
+ <frameset cols="190px,*" frameborder="0" framespacing="0" border="0">
+ <frame name="tocframe" src="toc{$release_postfix}.html" scrolling="auto"/>
+ <frame name="docframe" src="{$issues_list}" scrolling="auto"/>
+ </frameset>
+ </html>
+
+ <!-- Issues list -->
+ <xsl:message>Writing document <xsl:value-of select="$issues_list"/></xsl:message>
+
+ <exsl:document href="{$issues_list}"
+ method="html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ encoding="utf-8"
+ indent="yes">
+
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ </head>
+ <body>
+
+ <h1 class="page-title">
+ <xsl:text>Unresolved Issues: </xsl:text>
+ <a class="hover-link" href="summary{$release_postfix}.html" target="_top"><xsl:value-of select="$source"/></a>
+ </h1>
+
+ <xsl:call-template name="insert_report_header">
+ <xsl:with-param name="run_date" select="$run_date"/>
+ <xsl:with-param name="warnings" select="$warnings"/>
+ <xsl:with-param name="purpose" select="'Provides a list of current unresolved test failures.'"/>
+ </xsl:call-template>
+
+ <!-- Emit the index -->
+ <h2>Libraries with unresolved failures</h2>
+ <div align="center">
+ <xsl:for-each select="$libraries">
+ <xsl:sort select="." order="ascending"/>
+ <xsl:variable name="library" select="."/>
+ <a href="#{$library}">
+ <xsl:value-of select="$library"/>
+ </a>
+ <xsl:text> </xsl:text>
+ </xsl:for-each>
+ </div>
+
+ <xsl:for-each select="$libraries">
+ <xsl:sort select="." order="ascending"/>
+ <xsl:variable name="library" select="."/>
+ <xsl:variable name="library_page" select="meta:encode_path( $library )" />
+ <xsl:variable name="library_tests" select="$failing_tests[@library = $library]"/>
+ <xsl:variable name="library_test_names" select="set:distinct( $library_tests/@test-name )"/>
+
+ <h2>
+ <a name="{$library}"/>
+ <a class="hover-link" href="{$library_page}{$release_postfix}.html" target="_top">
+ <xsl:value-of select="$library"/>
+ <xsl:text> (</xsl:text>
+ <xsl:value-of select="count($library_tests)"/>
+ <xsl:text> failure</xsl:text>
+ <xsl:if test="count($library_tests) &gt; 1">
+ <xsl:text>s</xsl:text>
+ </xsl:if>
+ <xsl:text>)</xsl:text>
+ </a>
+ </h2>
+
+ <table class="library-issues-table" summary="issues">
+ <thead>
+ <tr valign="middle">
+ <td class="head">test</td>
+ <td class="head">failures</td>
+ </tr>
+ </thead>
+ <tfoot>
+ <tr valign="middle">
+ <td class="head">test</td>
+ <td class="head">failures</td>
+ </tr>
+ </tfoot>
+
+ <tbody>
+ <xsl:for-each select="$library_test_names">
+ <xsl:sort select="." order="ascending"/>
+ <xsl:variable name="test_name" select="."/>
+
+ <xsl:variable name="unexpected_toolsets" select="$library_tests[@test-name = $test_name]/@toolset"/>
+
+ <xsl:variable name="test_program" select="$library_tests[@test-name = $test_name]/@test-program"/>
+ <tr>
+ <td class="test-name">
+ <a href="http://cvs.sourceforge.net/viewcvs.py/*checkout*/boost/boost/{$test_program}" class="test-link" target="_top">
+ <xsl:value-of select="$test_name"/>
+ </a>
+ </td>
+ <td class="failures-row">
+ <table summary="unexpected fail legend" class="issue-box">
+ <tr class="library-row-single">
+ <xsl:for-each select="$unexpected_toolsets">
+ <xsl:sort select="." order="ascending"/>
+ <xsl:variable name="toolset" select="."/>
+ <xsl:variable name="test_logs"
+ select="$library_tests[@test-name = $test_name
+ and @toolset = $toolset]"/>
+ <xsl:for-each select="$test_logs">
+ <xsl:call-template name="print_failure_cell">
+ <xsl:with-param name="test_log" select="."/>
+ <xsl:with-param name="toolset" select="$toolset"/>
+ </xsl:call-template>
+ </xsl:for-each>
+ </xsl:for-each>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </xsl:for-each>
+ </tbody>
+
+ </table>
+ </xsl:for-each>
+ <xsl:copy-of select="document( 'html/issues_legend.html' )"/>
+ <xsl:copy-of select="document( 'html/make_tinyurl.html' )"/>
+ </body>
+ </html>
+ </exsl:document>
+
+ <xsl:message>Writing document issues-email.txt</xsl:message>
+ <exsl:document href="issues-email.txt" method="text" encoding="utf-8">
+ <xsl:text>Boost regression test failures
+------------------------------
+Report time: </xsl:text>
+
+ <xsl:value-of select="$run_date"/>
+
+ <xsl:text>
+
+This report lists all regression test failures on release platforms.
+
+Detailed report:
+ http://engineering.meta-comm.com/boost-regression/</xsl:text>
+ <xsl:value-of select="$source"/>
+ <xsl:text>/developer/issues.html
+
+</xsl:text>
+ <xsl:value-of select="count($failing_tests)"/>
+ <xsl:text> failure</xsl:text>
+ <xsl:if test="count($failing_tests) &gt; 1">
+ <xsl:text>s</xsl:text>
+ </xsl:if>
+ <xsl:text> in </xsl:text>
+ <xsl:value-of select="count($libraries)"/>
+ <xsl:text> librar</xsl:text>
+ <xsl:choose>
+ <xsl:when test="count($libraries) &gt; 1">
+ <xsl:text>ies</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>y</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text>:
+</xsl:text>
+ <xsl:for-each select="$libraries">
+ <xsl:sort select="." order="ascending"/>
+ <xsl:variable name="library" select="."/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="$library"/>
+ <xsl:text> (</xsl:text>
+ <xsl:value-of select="count($failing_tests[@library = $library])"/>
+ <xsl:text>)
+</xsl:text>
+ </xsl:for-each>
+
+ <xsl:for-each select="$libraries">
+ <xsl:sort select="." order="ascending"/>
+ <xsl:variable name="library" select="."/>
+ <xsl:variable name="library_page" select="meta:encode_path( $library )" />
+ <xsl:variable name="library_tests" select="$failing_tests[@library = $library]"/>
+ <xsl:variable name="library_test_names" select="set:distinct( $library_tests/@test-name )"/>
+
+ <xsl:text>
+|</xsl:text>
+ <xsl:value-of select="$library"/>
+ <xsl:text>|
+</xsl:text>
+
+ <xsl:for-each select="$library_test_names">
+ <xsl:sort select="." order="ascending"/>
+ <xsl:variable name="test_name" select="."/>
+
+ <xsl:variable name="unexpected_toolsets" select="$library_tests[@test-name = $test_name]/@toolset"/>
+
+ <xsl:variable name="test_program" select="$library_tests[@test-name = $test_name]/@test-program"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="$test_name"/>
+ <xsl:text>:</xsl:text>
+ <xsl:for-each select="$unexpected_toolsets">
+ <xsl:sort select="." order="ascending"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="."/>
+ </xsl:for-each>
+ <xsl:text>
+</xsl:text>
+ </xsl:for-each>
+ </xsl:for-each>
+ </exsl:document>
+ </xsl:template>
+
+ <xsl:template name="print_failure_cell">
+ <xsl:param name="test_log" select="."/>
+ <xsl:param name="toolset"/>
+
+ <xsl:variable name="test_run" select="$test_log/.."/>
+
+ <xsl:variable name="log_link">
+ <xsl:value-of select="meta:log_file_path($test_log, $test_run/@runner,
+ $release_postfix )"/>
+ </xsl:variable>
+ <xsl:variable name="class">
+ <xsl:choose>
+ <xsl:when test="$test_log/@is-new = 'yes'">
+ <xsl:text>library-fail-unexpected-new</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>library-fail-unexpected</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <td class="{$class}">
+ <span>
+ <a href="{$log_link}" class="log-link" target="_top">
+ <xsl:value-of select="$toolset"/>
+ </a>
+ </span>
+ </td>
+ </xsl:template>
+</xsl:stylesheet>
diff --git a/tools/regression/xsl_reports/xsl/v2/links_page.xsl b/tools/regression/xsl_reports/xsl/v2/links_page.xsl
new file mode 100644
index 0000000000..7b1fa1c2e6
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/v2/links_page.xsl
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2005.
+
+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)
+
+-->
+
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:str="http://exslt.org/strings"
+ xmlns:set="http://exslt.org/sets"
+ xmlns:exsl="http://exslt.org/common"
+ xmlns:func="http://exslt.org/functions"
+ xmlns:meta="http://www.meta-comm.com"
+ extension-element-prefixes="func exsl str set"
+ exclude-result-prefixes="meta"
+ version="1.0">
+
+ <xsl:import href="common.xsl"/>
+
+ <xsl:output method="html"
+ doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
+ encoding="utf-8"
+ indent="yes"
+ />
+
+ <xsl:param name="source"/>
+ <xsl:param name="run_date"/>
+ <xsl:param name="comment_file"/>
+ <xsl:param name="explicit_markup_file"/>
+
+ <xsl:variable name="explicit_markup" select="document( $explicit_markup_file )"/>
+ <xsl:variable name="runner_id" select="test-run/@runner"/>
+
+ <!-- runs / toolsets -->
+ <xsl:variable name="run_toolsets" select="meta:test_structure( /, 'no' )"/>
+
+ <!-- libraries -->
+ <xsl:variable name="test_case_logs" select="//test-log[ meta:is_test_log_a_test_case(.) ]"/>
+ <xsl:variable name="libraries" select="set:distinct( $test_case_logs/@library )"/>
+
+ <xsl:variable name="unusables_f">
+ <xsl:for-each select="set:distinct( $run_toolsets//toolset/@name )">
+ <xsl:variable name="toolset" select="."/>
+ <xsl:for-each select="$libraries">
+ <xsl:variable name="library" select="."/>
+ <xsl:if test="meta:is_unusable_( $explicit_markup, $library, $toolset )">
+ <unusable library-name="{$library}" toolset-name="{$toolset}"/>
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:for-each>
+ </xsl:variable>
+
+ <xsl:variable name="unusables" select="exsl:node-set( $unusables_f )"/>
+
+
+ <xsl:key
+ name="library-name_toolset-name_key"
+ match="unusable"
+ use="concat( @library-name, '&gt;@&lt;', @toolset-name )"/>
+
+
+ <!--
+ Build a tree with the following structure:
+
+ lib -> test -> toolsets -> test-log
+ -->
+
+ <xsl:template match="/">
+ <xsl:variable name="test_logs_to_show" select="//test-log[ meta:show_output( $explicit_markup, . ) ]"/>
+ <xsl:variable name="libs_test_test_log_tree" select="meta:restructure_logs( $test_logs_to_show )"/>
+
+ <exsl:document href="debug.xml"
+ method="xml"
+ encoding="utf-8"
+ indent="yes">
+ <debug>
+ <xsl:copy-of select="$libs_test_test_log_tree"/>
+ </debug>
+ </exsl:document>
+
+ <xsl:for-each select="$libs_test_test_log_tree//toolset">
+ <xsl:variable name="toolset" select="."/>
+ <xsl:variable name="library_name" select="$toolset/../../@name"/>
+ <xsl:variable name="test_name" select="$toolset/../@name"/>
+ <xsl:variable name="toolset_name" select="$toolset/@name"/>
+ <xsl:message>Processing test "<xsl:value-of select="$runner_id"/>/<xsl:value-of select="$library_name"/>/<xsl:value-of select="$test_name"/>/<xsl:value-of select="$toolset_name"/>"</xsl:message>
+
+ <xsl:if test="count( $toolset/* ) != 1">
+ <xsl:message> Processing variants</xsl:message>
+
+ <xsl:variable name="variants_file_path" select="meta:output_file_path( concat( $runner_id, '-', $library_name, '-', $toolset_name, '-', $test_name, '-variants' ) )"/>
+
+ <xsl:call-template name="write_variants_file">
+ <xsl:with-param name="path" select="$variants_file_path"/>
+ <xsl:with-param name="test_logs" select="$toolset/*"/>
+ </xsl:call-template>
+
+ <xsl:for-each select="str:tokenize( string( ' |_release' ), '|')">
+ <xsl:variable name="release_postfix" select="translate(.,' ','')"/>
+ <xsl:for-each select="str:tokenize( string( 'developer|user' ), '|')">
+ <xsl:variable name="directory" select="."/>
+ <xsl:variable name="variants__file_path" select="concat( $directory, '/', meta:encode_path( concat( $runner_id, '-', $library_name, '-', $toolset_name, '-', $test_name, '-variants_', $release_postfix ) ), '.html' )"/>
+
+ <xsl:call-template name="write_variants_reference_file">
+ <xsl:with-param name="path" select="$variants__file_path"/>
+ <xsl:with-param name="variants_file_path" select="concat( '../', $variants_file_path )"/>
+ <xsl:with-param name="release_postfix" select="$release_postfix"/>
+ </xsl:call-template>
+ </xsl:for-each>
+ </xsl:for-each>
+ </xsl:if>
+
+ <xsl:for-each select="./test-log">
+ <xsl:message> Processing test-log</xsl:message>
+ <xsl:variable name="test_log" select="."/>
+
+ <xsl:variable name="log_file_path" select="meta:log_file_path( ., $runner_id )"/>
+
+ <xsl:call-template name="write_test_result_file">
+ <xsl:with-param name="path" select="$log_file_path"/>
+ <xsl:with-param name="test_log" select="$test_log"/>
+ <xsl:with-param name="runner_id" select="$runner_id"/>
+ </xsl:call-template>
+
+ <xsl:for-each select="str:tokenize( string( ' |_release' ), '|')">
+ <xsl:variable name="release_postfix" select="translate(.,' ','')"/>
+ <xsl:for-each select="str:tokenize( string( 'developer|user' ), '|')">
+ <xsl:variable name="directory" select="."/>
+
+ <xsl:variable name="reference_file_path" select="concat( $directory, '/', meta:log_file_path( $test_log, $runner_id, $release_postfix ) )"/>
+ <xsl:call-template name="write_test_results_reference_file">
+ <xsl:with-param name="path" select="$reference_file_path"/>
+ <xsl:with-param name="log_file_path" select="$log_file_path"/>
+ </xsl:call-template>
+ </xsl:for-each>
+
+ </xsl:for-each>
+ </xsl:for-each>
+ </xsl:for-each>
+ </xsl:template>
+
+ <func:function name="meta:restructure_logs">
+ <xsl:param name="test_logs"/>
+ <xsl:variable name="libs" select="set:distinct( $test_logs/@library )"/>
+ <xsl:variable name="fragment">
+ <runner runner_id="{$test_logs[1]/../@runner}">
+ <xsl:for-each select="$libs">
+ <xsl:variable name="library_name" select="."/>
+ <xsl:variable name="library_test_logs" select="$test_logs[@library=$library_name]"/>
+ <library name="{$library_name}">
+ <xsl:variable name="tests" select="set:distinct( $library_test_logs/@test-name )"/>
+ <xsl:for-each select="$tests">
+ <xsl:variable name="test_name" select="."/>
+ <xsl:variable name="test_test_logs" select="$library_test_logs[@test-name=$test_name]"/>
+ <test name="{$test_name}" >
+ <xsl:variable name="toolsets" select="set:distinct( $test_test_logs/@toolset )"/>
+ <xsl:for-each select="$toolsets">
+ <xsl:variable name="toolset" select="."/>
+ <xsl:variable name="toolset_test_logs" select="$test_test_logs[@toolset=$toolset]"/>
+ <toolset name="{$toolset}">
+ <xsl:copy-of select="$toolset_test_logs"/>
+ </toolset>
+ </xsl:for-each>
+ </test>
+ </xsl:for-each>
+ </library>
+ </xsl:for-each>
+ </runner>
+ </xsl:variable>
+ <func:result select="exsl:node-set( $fragment )"/>
+ </func:function>
+
+ <xsl:template name="write_variants_reference_file">
+ <xsl:param name="path"/>
+ <xsl:param name="variants_file_path"/>
+ <xsl:param name="release_postfix"/>
+
+ <xsl:message> Writing variants reference file <xsl:value-of select="$path"/></xsl:message>
+ <exsl:document href="{$path}"
+ method="html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ encoding="utf-8"
+ indent="yes">
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ <!-- <title>Boost regression: <xsl:value-of select="$library_name"/>/<xsl:value-of select="$source"/></title>-->
+ </head>
+ <frameset cols="190px,*" frameborder="0" framespacing="0" border="0">
+ <frame name="tocframe" src="toc{$release_postfix}.html" scrolling="auto"/>
+ <frame name="docframe" src="{$variants_file_path}" scrolling="auto"/>
+ </frameset>
+ </html>
+ </exsl:document>
+
+ </xsl:template>
+
+ <xsl:template name="write_variants_file">
+ <xsl:param name="path"/>
+ <xsl:param name="test_logs"/>
+ <xsl:message> Writing variants file <xsl:value-of select="$path"/></xsl:message>
+ <exsl:document href="{$path}"
+ method="html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ encoding="utf-8"
+ indent="yes">
+
+ <html>
+ <body>
+ <table>
+ <xsl:for-each select="$test_logs">
+ <tr>
+ <td>
+ <xsl:choose>
+ <xsl:when test="meta:log_file_path(.,$runner_id) != ''">
+ <a href="../{meta:log_file_path(.,$runner_id)}" target="_top" >
+ <xsl:value-of select="@target-directory"/>
+ </a>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="@target-directory"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </td>
+ </tr>
+ </xsl:for-each>
+ </table>
+ </body>
+ </html>
+ </exsl:document>
+ </xsl:template>
+
+ <xsl:template name="write_test_result_file">
+ <xsl:param name="path"/>
+ <xsl:param name="test_log"/>
+ <xsl:param name="runner_id"/>
+ <xsl:message> Writing log file document <xsl:value-of select="$path"/></xsl:message>
+
+ <exsl:document href="{$path}"
+ method="html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ encoding="utf-8"
+ indent="yes">
+
+ <html>
+ <xsl:variable name="component">
+ <xsl:choose>
+ <xsl:when test="$test_log/@test-name != ''">
+ <div class="log-test-title">
+ <xsl:value-of select="concat( $runner_id, ' - ', @library, ' - ', @test-name, ' / ', @toolset )"/>
+ </div>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="@target-dir"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ <title>Test output: <xsl:value-of select="$component"/></title>
+ </head>
+
+ <body>
+ <div>
+ <div class="log-test-title">
+ Test output: <xsl:value-of select="$component"/>
+ </div>
+
+ <div>
+ <b>Report Time: </b> <xsl:value-of select="meta:format_timestamp( $run_date )"/>
+ </div>
+
+ <xsl:if test="notes/note">
+ <p>
+ <div class="notes-title">Notes</div>
+ <xsl:call-template name="show_notes">
+ <xsl:with-param name="notes" select="notes/note"/>
+ <xsl:with-param name="explicit_markup" select="$explicit_markup"/>
+ </xsl:call-template>
+ </p>
+ </xsl:if>
+
+ <xsl:if test="compile">
+ <p>
+ <div class="log-compiler-output-title">Compiler output [<xsl:value-of select="compile/@timestamp"/>]:
+ </div>
+ <pre>
+ <xsl:copy-of select="compile/node()"/>
+ </pre>
+ </p>
+ </xsl:if>
+
+ <xsl:if test="link">
+ <p>
+ <div class="log-linker-output-title">Linker output [<xsl:value-of select="link/@timestamp"/>]:</div>
+ <pre>
+ <xsl:copy-of select="link/node()"/>
+ </pre>
+ </p>
+ </xsl:if>
+
+ <xsl:if test="lib">
+ <p>
+ <div class="log-linker-output-title">Lib output [<xsl:value-of select="lib/@timestamp"/>]:</div>
+ <p>
+ See <a href="{meta:encode_path( concat( $runner_id, '-', lib/node() ) ) }.html">
+ <xsl:copy-of select="lib/node()"/>
+ </a>
+ </p>
+ </p>
+ </xsl:if>
+
+ <xsl:if test="run">
+ <p>
+ <div class="log-run-output-title">Run output [<xsl:value-of select="run/@timestamp"/>]:</div>
+ <pre>
+ <xsl:copy-of select="run/node()"/>
+ </pre>
+ </p>
+ </xsl:if>
+
+ </div>
+
+ <xsl:copy-of select="document( 'html/make_tinyurl.html' )"/>
+
+ </body>
+
+ </html>
+ </exsl:document>
+ </xsl:template>
+
+
+ <xsl:template name="write_test_results_reference_file">
+ <xsl:param name="$path"/>
+ <xsl:param name="$log_file_path"/>
+ <xsl:message> Writing log frame document <xsl:value-of select="$path"/></xsl:message>
+ <exsl:document href="{$path}"
+ method="html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ encoding="utf-8"
+ indent="yes">
+
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ </head>
+ <frameset cols="190px,*" frameborder="0" framespacing="0" border="0">
+ <frame name="tocframe" src="../toc.html" scrolling="auto"/>
+ <frame name="docframe" src="../../{$log_file_path}" scrolling="auto"/>
+ </frameset>
+ </html>
+ </exsl:document>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/tools/regression/xsl_reports/xsl/v2/produce_expected_results.xsl b/tools/regression/xsl_reports/xsl/v2/produce_expected_results.xsl
new file mode 100644
index 0000000000..8574c59361
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/v2/produce_expected_results.xsl
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2005.
+
+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)
+
+-->
+
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:meta="http://www.meta-comm.com"
+ exclude-result-prefixes="meta"
+ version="1.0">
+
+ <xsl:import href="common.xsl"/>
+
+ <xsl:output method="xml" encoding="utf-8"/>
+
+ <xsl:template match="/">
+ <root>
+ <expected-failures>
+ <xsl:apply-templates select="*//test-log"/>
+ </expected-failures>
+ </root>
+ </xsl:template>
+
+ <xsl:template match="test-log">
+ <xsl:if test="meta:is_test_log_a_test_case(.)">
+ <test-result library="{@library}" test-name="{@test-name}" toolset="{@toolset}" result="{@result}" />
+ </xsl:if>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/tools/regression/xsl_reports/xsl/v2/result_page.xsl b/tools/regression/xsl_reports/xsl/v2/result_page.xsl
new file mode 100644
index 0000000000..38988fb9f7
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/v2/result_page.xsl
@@ -0,0 +1,688 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+-->
+
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:exsl="http://exslt.org/common"
+ xmlns:func="http://exslt.org/functions"
+ xmlns:set="http://exslt.org/sets"
+ xmlns:meta="http://www.meta-comm.com"
+ extension-element-prefixes="func exsl"
+ exclude-result-prefixes="exsl set meta"
+ version="1.0">
+
+ <xsl:import href="common.xsl"/>
+
+ <xsl:output method="html"
+ doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
+ encoding="utf-8"
+ indent="yes"
+ />
+
+ <xsl:param name="links_file"/>
+ <xsl:param name="mode"/>
+ <xsl:param name="source"/>
+ <xsl:param name="run_date"/>
+ <xsl:param name="warnings"/>
+ <xsl:param name="comment_file"/>
+ <xsl:param name="expected_results_file"/>
+ <xsl:param name="explicit_markup_file"/>
+ <xsl:param name="release"/>
+
+ <!-- the author-specified expected test results -->
+ <xsl:variable name="explicit_markup" select="document( $explicit_markup_file )"/>
+ <xsl:variable name="expected_results" select="document( $expected_results_file )" />
+
+ <!-- necessary indexes -->
+ <xsl:key
+ name="test_name_key"
+ match="test-log"
+ use="concat( @library, '&gt;@&lt;', @test-name )"/>
+ <xsl:key name="toolset_key" match="test-log" use="@toolset"/>
+
+ <!-- runs / toolsets -->
+ <xsl:variable name="run_toolsets" select="meta:test_structure( /, $release )"/>
+
+ <!-- libraries -->
+
+ <xsl:variable name="test_case_logs" select="//test-log[ meta:is_test_log_a_test_case(.) ]"/>
+ <xsl:variable name="libraries" select="set:distinct( $test_case_logs/@library )"/>
+ <xsl:variable name="unusables_f">
+ <unusables>
+ <xsl:for-each select="set:distinct( $run_toolsets//toolset/@name )">
+ <xsl:variable name="toolset" select="."/>
+ <xsl:for-each select="$libraries">
+ <xsl:variable name="library" select="."/>
+ <xsl:if test="meta:is_unusable_( $explicit_markup, $library, $toolset )">
+ <unusable library-name="{$library}" toolset-name="{$toolset}"/>
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:for-each>
+ </unusables>
+ </xsl:variable>
+
+ <xsl:variable name="unusables" select="exsl:node-set( $unusables_f )"/>
+
+
+ <xsl:key
+ name="library-name_toolset-name_key"
+ match="unusables/unusable"
+ use="concat( @library-name, '&gt;@&lt;', @toolset-name )"/>
+
+ <!-- modes -->
+
+ <xsl:variable name="alternate_mode">
+ <xsl:choose>
+ <xsl:when test="$mode='user'">developer</xsl:when>
+ <xsl:otherwise>user</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="release_postfix">
+ <xsl:if test="$release='yes'">_release</xsl:if>
+ </xsl:variable>
+
+
+
+ <xsl:template name="test_type_col">
+ <td class="test-type">
+ <a href="http://www.boost.org/status/compiler_status.html#Understanding" class="legend-link" target="_top">
+ <xsl:variable name="test_type" select="./@test-type"/>
+ <xsl:choose>
+ <xsl:when test="$test_type='run_pyd'"> <xsl:text>r</xsl:text> </xsl:when>
+ <xsl:when test="$test_type='run'"> <xsl:text>r</xsl:text> </xsl:when>
+ <xsl:when test="$test_type='run_fail'"> <xsl:text>rf</xsl:text> </xsl:when>
+ <xsl:when test="$test_type='compile'"> <xsl:text>c</xsl:text> </xsl:when>
+ <xsl:when test="$test_type='compile_fail'"> <xsl:text>cf</xsl:text> </xsl:when>
+ <xsl:otherwise>
+ <xsl:message terminate="yes">Incorrect test type "<xsl:value-of select="$test_type"/>"</xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+ </a>
+ </td>
+ </xsl:template>
+
+
+ <xsl:template match="/">
+
+ <xsl:message><xsl:value-of select="count($unusables)"/><xsl:copy-of select="$unusables"/></xsl:message>
+
+ <exsl:document href="debug.xml"
+ method="xml"
+ encoding="utf-8"
+ indent="yes">
+
+ <debug>
+ <runs>
+ <xsl:for-each select="$run_toolsets">
+ <xsl:copy-of select="."/>
+ </xsl:for-each>
+ </runs>
+ <xsl:copy-of select="$unusables_f"/>
+ <xsl:copy-of select="$unusables"/>
+ </debug>
+
+ </exsl:document>
+ <xsl:message>Wrote debug</xsl:message>
+ <xsl:variable name="index_path" select="concat( 'index', $release_postfix, '_.html' )"/>
+
+ <!-- Index page -->
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ <title>Boost regression: <xsl:value-of select="$source"/></title>
+ </head>
+ <frameset cols="190px,*" frameborder="0" framespacing="0" border="0">
+ <frame name="tocframe" src="toc{$release_postfix}.html" scrolling="auto"/>
+ <frame name="docframe" src="{$index_path}" scrolling="auto"/>
+ </frameset>
+
+ <!-- Index content -->
+ <xsl:message>Writing document <xsl:value-of select="$index_path"/></xsl:message>
+
+ <exsl:document href="{$index_path}"
+ method="html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ encoding="utf-8"
+ indent="yes">
+
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ </head>
+ <body>
+
+ <img border="0" src="http://www.boost.org/boost.png" width="277" height="86" align="right" alt="Boost logo"></img>
+
+ <h1 class="page-title">
+ <xsl:value-of select="$mode"/>
+ <xsl:text> report: </xsl:text>
+ <a class="hover-link" href="summary.html" target="_top"><xsl:value-of select="$source"/></a>
+ </h1>
+
+ <xsl:variable name="purpose">
+ <xsl:choose>
+ <xsl:when test="$mode='user'">
+ The purpose of this report is to help a user to find out whether a particular library
+ works on the particular compiler(s). For CVS "health report", see
+ <a href="../{$alternate_mode}/index.html" target="_top">developer summary</a>.
+ </xsl:when>
+ <xsl:when test="$mode='developer'">
+ Provides Boost developers with visual indication of the CVS "health". For user-level
+ report, see <a href="../{$alternate_mode}/index.html" target="_top">user summary</a>.
+ </xsl:when>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:call-template name="insert_report_header">
+ <xsl:with-param name="run_date" select="$run_date"/>
+ <xsl:with-param name="warnings" select="$warnings"/>
+ <xsl:with-param name="purpose" select="$purpose"/>
+ </xsl:call-template>
+
+ <div class="comment">
+ <xsl:if test="$comment_file != ''">
+ <xsl:copy-of select="document( $comment_file )"/>
+ </xsl:if>
+ </div>
+
+ </body>
+ </html>
+ </exsl:document>
+
+
+ <xsl:variable name="multiple.libraries" select="count( $libraries ) > 1"/>
+
+ <!-- TOC -->
+ <xsl:if test="$multiple.libraries">
+
+ <xsl:variable name="toc_path" select="concat( 'toc', $release_postfix, '.html' )"/>
+ <xsl:message>Writing document <xsl:value-of select="$toc_path"/></xsl:message>
+
+ <exsl:document href="{$toc_path}"
+ method="html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ encoding="utf-8"
+ indent="yes">
+
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ </head>
+ <body class="{$mode}-toc">
+ <div class="toc-header-entry">
+ <a href="index{$release_postfix}.html" class="toc-entry" target="_top">Report info</a>
+ </div>
+ <div class="toc-header-entry">
+ <a href="summary{$release_postfix}.html" class="toc-entry" target="_top">Summary</a>
+ </div>
+
+ <xsl:if test="$mode='developer'">
+ <div class="toc-header-entry">
+ <a href="issues.html" class="toc-entry" target="_top">Unresolved issues</a>
+ </div>
+ </xsl:if>
+
+ <div class="toc-header-entry">
+ <xsl:call-template name="insert_view_link">
+ <xsl:with-param name="page" select="'index'"/>
+ <xsl:with-param name="class" select="'toc-entry'"/>
+ <xsl:with-param name="release" select="$release"/>
+ </xsl:call-template>
+ </div>
+
+ <hr/>
+
+ <xsl:for-each select="$libraries">
+ <xsl:sort select="." order="ascending" />
+ <xsl:variable name="library_page" select="meta:encode_path(.)" />
+ <div class="toc-entry">
+ <a href="{$library_page}{$release_postfix}.html" class="toc-entry" target="_top">
+ <xsl:value-of select="."/>
+ </a>
+ </div>
+ </xsl:for-each>
+ </body>
+ </html>
+
+ </exsl:document>
+ </xsl:if>
+
+ <!-- Libraries -->
+ <xsl:for-each select="$libraries[ meta:show_library( ., $release )]">
+ <xsl:sort select="." order="ascending" />
+ <xsl:variable name="library" select="." />
+
+ <xsl:variable name="library_results" select="concat( meta:encode_path( $library ), $release_postfix, '_.html' )"/>
+ <xsl:variable name="library_page" select="concat( meta:encode_path( $library ), $release_postfix, '.html' )"/>
+
+ <!-- Library page -->
+ <xsl:message>Writing document <xsl:value-of select="$library_page"/></xsl:message>
+
+ <exsl:document href="{$library_page}"
+ method="html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ encoding="utf-8"
+ indent="yes">
+
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ <title>Boost regression: <xsl:value-of select="$library"/>/<xsl:value-of select="$source"/></title>
+ </head>
+ <frameset cols="190px,*" frameborder="0" framespacing="0" border="0">
+ <frame name="tocframe" src="toc{$release_postfix}.html" scrolling="auto"/>
+ <frame name="docframe" src="{$library_results}" scrolling="auto"/>
+ </frameset>
+ </html>
+ </exsl:document>
+
+ <!-- Library results frame -->
+ <xsl:message>Writing document <xsl:value-of select="$library_results"/></xsl:message>
+
+ <exsl:document href="{$library_results}"
+ method="html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ encoding="utf-8"
+ indent="yes">
+
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ </head>
+
+ <body>
+
+ <xsl:call-template name="insert_page_links">
+ <xsl:with-param name="page" select="meta:encode_path( $library )"/>
+ <xsl:with-param name="release" select="$release"/>
+ <xsl:with-param name="mode" select="$alternate_mode"/>
+ </xsl:call-template>
+
+ <h1 class="page-title">
+ <a class="hover-link" name="{$library}" href="http://www.boost.org/libs/{$library}" target="_top">
+ <xsl:value-of select="$library" />
+ </a>
+ <xsl:text>/</xsl:text>
+ <a class="hover-link" href="summary.html" target="_top"><xsl:value-of select="$source"/></a>
+ </h1>
+
+ <xsl:call-template name="insert_report_header">
+ <xsl:with-param name="run_date" select="$run_date"/>
+ <xsl:with-param name="warnings" select="$warnings"/>
+ </xsl:call-template>
+
+ <!-- library marks = library-unusable markup for toolsets in the report -->
+ <xsl:variable name="library_marks" select="$explicit_markup//library[ @name = $library ]/mark-unusable/toolset[ meta:re_match( @name, $run_toolsets//toolset/@name ) ]/.."/>
+
+ <table border="0" cellspacing="0" cellpadding="0" class="library-table" width="1%" summary="Library results">
+
+ <thead>
+ <xsl:call-template name="insert_runners_rows">
+ <xsl:with-param name="mode" select="'details'"/>
+ <xsl:with-param name="top_or_bottom" select="'top'"/>
+ <xsl:with-param name="run_toolsets" select="$run_toolsets"/>
+ <xsl:with-param name="run_date" select="$run_date"/>
+ </xsl:call-template>
+
+ <xsl:call-template name="insert_toolsets_row">
+ <xsl:with-param name="mode" select="'details'"/>
+ <xsl:with-param name="library_marks" select="$library_marks"/>
+ <xsl:with-param name="library" select="$library"/>
+ <xsl:with-param name="run_date" select="$run_date"/>
+ </xsl:call-template>
+ </thead>
+ <tfoot>
+ <xsl:call-template name="insert_toolsets_row">
+ <xsl:with-param name="mode" select="'details'"/>
+ <xsl:with-param name="library_marks" select="$library_marks"/>
+ <xsl:with-param name="library" select="$library"/>
+ <xsl:with-param name="run_date" select="$run_date"/>
+ </xsl:call-template>
+
+ <xsl:call-template name="insert_runners_rows">
+ <xsl:with-param name="mode" select="'details'"/>
+ <xsl:with-param name="top_or_bottom" select="'bottom'"/>
+ <xsl:with-param name="run_toolsets" select="$run_toolsets"/>
+ <xsl:with-param name="run_date" select="$run_date"/>
+ </xsl:call-template>
+ </tfoot>
+
+ <tbody>
+ <xsl:variable name="lib_tests" select="$test_case_logs[@library = $library]" />
+ <xsl:variable name="lib_unique_tests_list"
+ select="$lib_tests[ generate-id(.) = generate-id( key('test_name_key', concat( @library, '&gt;@&lt;', @test-name ) ) ) ]" />
+
+ <xsl:variable name="lib_tests_by_category"
+ select="meta:order_tests_by_category( $lib_unique_tests_list )"/>
+
+ <xsl:call-template name="insert_test_section">
+ <xsl:with-param name="library" select="$library"/>
+ <xsl:with-param name="section_test_names" select="$lib_tests_by_category"/>
+ <xsl:with-param name="lib_tests" select="$lib_tests"/>
+ <xsl:with-param name="toolsets" select="$run_toolsets"/>
+ </xsl:call-template>
+
+ </tbody>
+ </table>
+ <xsl:if test="count( $library_marks/note ) > 0 ">
+ <table border="0" cellpadding="0" cellspacing="0" class="library-library-notes" summary="library notes">
+ <xsl:for-each select="$library_marks/note">
+ <tr class="library-library-note">
+ <td valign="top" width="3em">
+ <a name="{$library}-note-{position()}">
+ <span class="super"><xsl:value-of select="position()"/></span>
+ </a>
+ </td>
+ <td>
+ <xsl:variable name="refid" select="@refid"/>
+ <xsl:call-template name="show_note">
+ <xsl:with-param name="note" select="." />
+ <xsl:with-param name="references" select="$refid"/>
+ </xsl:call-template>
+ </td>
+ </tr>
+ </xsl:for-each>
+ </table>
+ </xsl:if>
+
+ <div id="legend">
+ <xsl:copy-of select="document( concat( 'html/library_', $mode, '_legend.html' ) )"/>
+ </div>
+
+ <xsl:call-template name="insert_page_links">
+ <xsl:with-param name="page" select="meta:encode_path( $library )"/>
+ <xsl:with-param name="release" select="$release"/>
+ <xsl:with-param name="mode" select="$alternate_mode"/>
+ </xsl:call-template>
+
+ </body>
+ </html>
+
+ </exsl:document>
+
+ </xsl:for-each>
+
+ </xsl:template>
+
+
+ <!-- insert test result with log file link -->
+
+ <xsl:template name="insert_test_result">
+ <xsl:param name="result"/>
+ <xsl:param name="log_link"/>
+
+ <xsl:choose>
+ <xsl:when test="$log_link != ''">
+ <xsl:text>&#160;&#160;</xsl:text>
+ <a href="{$log_link}" class="log-link" target="_top">
+ <xsl:copy-of select="$result"/>
+ </a>
+ <xsl:text>&#160;&#160;</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>&#160;&#160;</xsl:text>
+ <xsl:copy-of select="$result"/>
+ <xsl:text>&#160;&#160;</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- report developer status -->
+ <xsl:template name="insert_cell_developer">
+ <xsl:param name="library"/>
+ <xsl:param name="toolset"/>
+ <xsl:param name="test_log"/>
+
+ <xsl:variable name="class" select="concat( 'library-', meta:result_cell_class( $library, $toolset, $test_log ) )"/>
+
+ <xsl:variable name="cell_link">
+ <xsl:choose>
+ <xsl:when test="count( $test_log ) &gt; 1">
+ <xsl:variable name="variants__file_path" select="concat( meta:encode_path( concat( $test_log/../@runner, '-', $test_log/@library, '-', $test_log/@toolset, '-', $test_log/@test-name, '-variants_', $release_postfix ) ), '.html' )"/>
+ <xsl:value-of select="$variants__file_path"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="meta:log_file_path( $test_log, $test_log/../@runner, $release_postfix )"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <td class="{$class}" title="{$test_log/@test-name}/{$toolset}">
+ <xsl:choose>
+ <xsl:when test="meta:is_unusable( $explicit_markup, $library, $toolset )">
+ <xsl:call-template name="insert_test_result">
+ <xsl:with-param name="result" select="'n/a'"/>
+ <xsl:with-param name="log_link" select="$cell_link"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <xsl:when test="count( $test_log ) &lt; 1">
+ <xsl:text>&#160;&#160;&#160;&#160;</xsl:text>
+ </xsl:when>
+
+ <xsl:when test="$test_log/@result != 'success' and $test_log/@status = 'expected'">
+ <xsl:call-template name="insert_test_result">
+ <xsl:with-param name="result">
+ <xsl:choose>
+ <xsl:when test="$test_log/@expected-reason != ''">
+ <xsl:text>fail?</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>fail*</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="log_link" select="$cell_link"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <xsl:when test="$test_log/@result != 'success' and $test_log/@status = 'unexpected'">
+ <xsl:call-template name="insert_test_result">
+ <xsl:with-param name="result" select="'fail'"/>
+ <xsl:with-param name="log_link" select="$cell_link"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <xsl:when test="$test_log/@result = 'success' and $test_log/@status = 'unexpected'">
+ <xsl:call-template name="insert_test_result">
+ <xsl:with-param name="result" select="'pass'"/>
+ <xsl:with-param name="log_link" select="$cell_link"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <xsl:call-template name="insert_test_result">
+ <xsl:with-param name="result" select="'pass'"/>
+ <xsl:with-param name="log_link" select="$cell_link"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </td>
+ </xsl:template>
+
+ <!-- report user status -->
+ <xsl:template name="insert_cell_user">
+ <xsl:param name="library"/>
+ <xsl:param name="toolset"/>
+ <xsl:param name="test_log"/>
+
+ <xsl:variable name="class" select="concat( 'library-', meta:result_cell_class( $library, $toolset, $test_log ) )"/>
+
+ <xsl:variable name="cell_link">
+ <xsl:choose>
+ <xsl:when test="count( $test_log ) &gt; 1">
+ <xsl:variable name="variants__file_path" select="concat( meta:encode_path( concat( $test_log/../@runner, '-', $test_log/@library, '-', $test_log/@toolset, '-', $test_log/@test-name, '-variants_', $release_postfix ) ), '.html' )"/>
+ <xsl:value-of select="$variants__file_path"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="meta:log_file_path( $test_log, $test_log/../@runner, $release_postfix )"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <td class="{$class} user-{$class}" title="{$test_log/@test-name}/{$toolset}">
+ <xsl:choose>
+ <xsl:when test="meta:is_unusable( $explicit_markup, $library, $toolset )">
+ <xsl:call-template name="insert_test_result">
+ <xsl:with-param name="result" select="'unusable'"/>
+ <xsl:with-param name="log_link" select="$cell_link"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <xsl:when test="count( $test_log ) &lt; 1">
+ <xsl:text>&#160;&#160;&#160;&#160;</xsl:text>
+ </xsl:when>
+
+ <xsl:when test="$test_log/@result != 'success' and $test_log/@status = 'expected'">
+ <xsl:call-template name="insert_test_result">
+ <xsl:with-param name="result">
+ <xsl:choose>
+ <xsl:when test="$test_log/@expected-reason != ''">
+ <xsl:text>fail?</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>fail*</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="log_link" select="$cell_link"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <xsl:when test="$test_log/@result != 'success' and $test_log/@status = 'unexpected'">
+ <xsl:call-template name="insert_test_result">
+ <xsl:with-param name="result" select="'fail'"/>
+ <xsl:with-param name="log_link" select="$cell_link"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <xsl:when test="$test_log/@result = 'success' and $test_log/@status = 'unexpected'">
+ <xsl:call-template name="insert_test_result">
+ <xsl:with-param name="result" select="'pass'"/>
+ <xsl:with-param name="log_link" select="$cell_link"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <xsl:call-template name="insert_test_result">
+ <xsl:with-param name="result" select="'pass'"/>
+ <xsl:with-param name="log_link" select="$cell_link"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </td>
+ </xsl:template>
+
+ <xsl:template name="insert_test_line">
+ <xsl:param name="library"/>
+ <xsl:param name="test_name"/>
+ <xsl:param name="test_results"/>
+ <xsl:param name="line_mod"/>
+
+ <xsl:variable name="test_program">
+ <xsl:value-of select="$test_results[1]/@test-program"/>
+ </xsl:variable>
+
+ <xsl:variable name="test_header">
+ <td class="test-name">
+ <a href="http://cvs.sourceforge.net/viewcvs.py/*checkout*/boost/boost/{$test_program}" class="test-link" target="_top">
+ <xsl:value-of select="$test_name"/>
+ </a>
+ </td>
+ </xsl:variable>
+
+ <tr class="library-row{$line_mod}">
+ <xsl:copy-of select="$test_header"/>
+ <xsl:call-template name="test_type_col"/>
+
+ <xsl:for-each select="$run_toolsets/platforms/platform/runs/run/toolset">
+ <xsl:variable name="toolset" select="@name" />
+ <xsl:variable name="runner" select="../@runner" />
+
+ <xsl:variable name="test_result_for_toolset" select="$test_results[ @toolset = $toolset and ../@runner=$runner ]"/>
+
+ <!-- Insert cell -->
+ <xsl:choose>
+ <xsl:when test="$mode='user'">
+ <xsl:call-template name="insert_cell_user">
+ <xsl:with-param name="library" select="$library"/>
+ <xsl:with-param name="toolset" select="$toolset"/>
+ <xsl:with-param name="test_log" select="$test_result_for_toolset"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$mode='developer'">
+ <xsl:call-template name="insert_cell_developer">
+ <xsl:with-param name="library" select="$library"/>
+ <xsl:with-param name="toolset" select="$toolset"/>
+ <xsl:with-param name="test_log" select="$test_result_for_toolset"/>
+ </xsl:call-template>
+ </xsl:when>
+ </xsl:choose>
+
+ </xsl:for-each>
+ <xsl:copy-of select="$test_header"/>
+ </tr>
+ </xsl:template>
+
+ <xsl:template name="insert_test_section">
+ <xsl:param name="library"/>
+ <xsl:param name="section_test_names"/>
+ <xsl:param name="lib_tests"/>
+ <xsl:param name="toolsets"/>
+
+ <xsl:variable name="category_span" select="count($toolsets/platforms/platform/runs/run/toolset) + 3"/>
+
+ <xsl:for-each select="$section_test_names">
+
+ <xsl:variable name="test_name" select="@test-name"/>
+ <xsl:variable name="category_start" select="position() = 1 or @category != preceding-sibling::*[1]/@category"/>
+ <xsl:variable name="category_end" select="position() = last() or @category != following-sibling::*[1]/@category"/>
+
+ <xsl:variable name="line_mod">
+ <xsl:choose>
+ <xsl:when test="$category_start and $category_end"><xsl:text>-single</xsl:text></xsl:when>
+ <xsl:when test="$category_start"><xsl:text>-first</xsl:text></xsl:when>
+ <xsl:when test="$category_end"><xsl:text>-last</xsl:text></xsl:when>
+ <xsl:otherwise><xsl:text></xsl:text></xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:if test="$category_start and @category != '0'">
+ <tr>
+ <td class="library-test-category-header" colspan="{$category_span}" align="center">
+ <xsl:value-of select="@category"/>
+ </td>
+ </tr>
+ </xsl:if>
+
+ <xsl:call-template name="insert_test_line">
+ <xsl:with-param name="library" select="$library"/>
+ <xsl:with-param name="test_results" select="$lib_tests[ @test-name = $test_name ]"/>
+ <xsl:with-param name="test_name" select="$test_name"/>
+ <xsl:with-param name="line_mod" select="$line_mod"/>
+ </xsl:call-template>
+ </xsl:for-each>
+
+ </xsl:template>
+
+ <func:function name="meta:order_tests_by_category">
+ <xsl:param name="tests"/>
+
+ <xsl:variable name="a">
+ <xsl:for-each select="$tests">
+ <xsl:sort select="concat( @category, '|', @test-name )" order="ascending"/>
+ <xsl:copy-of select="."/>
+ </xsl:for-each>
+ </xsl:variable>
+ <func:result select="exsl:node-set( $a )/*"/>
+ </func:function>
+
+</xsl:stylesheet>
diff --git a/tools/regression/xsl_reports/xsl/v2/runners.xsl b/tools/regression/xsl_reports/xsl/v2/runners.xsl
new file mode 100644
index 0000000000..9bda7db8d3
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/v2/runners.xsl
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+-->
+
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:exsl="http://exslt.org/common"
+ extension-element-prefixes="exsl"
+ version="1.0">
+
+ <xsl:output method="html"/>
+
+ <xsl:template match="/">
+ <html>
+ <body bgcolor="#FFFFFF">
+ <xsl:apply-templates/>
+ </body>
+ </html>
+ </xsl:template>
+
+ <xsl:template match="test-run">
+ <table>
+ <tr>
+ <td>
+ <xsl:message>Writing runner document <xsl:value-of select="@runner"/></xsl:message>
+ <a href="{@runner}.html"><xsl:value-of select="@runner"/></a>
+ <exsl:document href="{@runner}.html"
+ method="html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ encoding="utf-8"
+ indent="yes">
+ <html>
+ <head>
+ <title><xsl:value-of select="@runner"/></title>
+ </head>
+ <body>
+ <h1><xsl:value-of select="@runner"/></h1>
+ <hr></hr>
+ <xsl:value-of select="comment/text()" disable-output-escaping="yes"/>
+ </body>
+ </html>
+ </exsl:document>
+ </td>
+ </tr>
+ </table>
+ </xsl:template>
+
+</xsl:stylesheet>
+
diff --git a/tools/regression/xsl_reports/xsl/v2/summary_page.xsl b/tools/regression/xsl_reports/xsl/v2/summary_page.xsl
new file mode 100644
index 0000000000..a152f0a4af
--- /dev/null
+++ b/tools/regression/xsl_reports/xsl/v2/summary_page.xsl
@@ -0,0 +1,367 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Copyright MetaCommunications, Inc. 2003-2004.
+
+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)
+
+-->
+
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:exsl="http://exslt.org/common"
+ xmlns:func="http://exslt.org/functions"
+ xmlns:set="http://exslt.org/sets"
+ xmlns:meta="http://www.meta-comm.com"
+ extension-element-prefixes="func exsl"
+ exclude-result-prefixes="exsl func set meta"
+ version="1.0">
+
+ <xsl:import href="common.xsl"/>
+
+ <xsl:output method="html"
+ doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
+ encoding="utf-8"
+ indent="yes"
+ />
+
+ <xsl:param name="mode"/>
+ <xsl:param name="source"/>
+ <xsl:param name="run_date"/>
+ <xsl:param name="warnings"/>
+ <xsl:param name="comment_file"/>
+ <xsl:param name="explicit_markup_file"/>
+ <xsl:param name="release"/>
+
+ <xsl:variable name="explicit_markup" select="document( $explicit_markup_file )"/>
+
+ <!-- necessary indexes -->
+ <xsl:key
+ name="library_test_name_key"
+ match="test-log"
+ use="concat( @library, '&gt;@&lt;', @test-name )"/>
+ <xsl:key name="toolset_key" match="test-log" use="@toolset"/>
+ <xsl:key name="test_name_key" match="test-log" use="@test-name "/>
+
+ <xsl:variable name="unusables_f">
+ <xsl:for-each select="set:distinct( $run_toolsets//toolset/@name )">
+ <xsl:variable name="toolset" select="."/>
+ <xsl:for-each select="$libraries">
+ <xsl:variable name="library" select="."/>
+ <xsl:if test="meta:is_unusable_( $explicit_markup, $library, $toolset )">
+ <unusable library-name="{$library}" toolset-name="{$toolset}"/>
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:for-each>
+ </xsl:variable>
+
+ <xsl:variable name="unusables" select="exsl:node-set( $unusables_f )"/>
+
+
+ <xsl:key
+ name="library-name_toolset-name_key"
+ match="unusable"
+ use="concat( @library-name, '&gt;@&lt;', @toolset-name )"/>
+
+ <!--<xsl:variable name="expected_results" select="document( $expected_results_file )" />-->
+
+ <!-- runs / toolsets -->
+ <xsl:variable name="run_toolsets" select="meta:test_structure( /, $release )"/>
+
+ <!-- libraries -->
+
+ <xsl:variable name="test_case_logs" select="//test-log[ meta:is_test_log_a_test_case(.) and meta:show_library( @library, $release ) and meta:show_toolset( @toolset, $release )]"/>
+ <xsl:variable name="libraries" select="set:distinct( $test_case_logs/@library )"/>
+
+ <xsl:variable name="sorted_libraries_output">
+ <xsl:for-each select="$libraries[ meta:show_library( ., $release )]">
+ <xsl:sort select="." order="ascending" />
+ <library><xsl:copy-of select="."/></library>
+ </xsl:for-each>
+ </xsl:variable>
+
+ <xsl:variable name="sorted_libraries" select="exsl:node-set( $sorted_libraries_output )/library/@library"/>
+
+ <!-- modes -->
+
+ <xsl:variable name="alternate_mode">
+ <xsl:choose>
+ <xsl:when test="$mode='user'">developer</xsl:when>
+ <xsl:otherwise>user</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="release_postfix">
+ <xsl:if test="$release='yes'">
+ <xsl:text>_release</xsl:text>
+ </xsl:if>
+ </xsl:variable>
+
+ <xsl:template match="/">
+
+ <xsl:variable name="summary_results" select="concat( 'summary', $release_postfix, '_.html' )"/>
+
+ <!-- Summary page -->
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ <title>Boost regression summary: <xsl:value-of select="$source"/></title>
+ </head>
+ <frameset cols="190px,*" frameborder="0" framespacing="0" border="0">
+ <frame name="tocframe" src="toc{$release_postfix}.html" scrolling="auto"/>
+ <frame name="docframe" src="{$summary_results}" scrolling="auto"/>
+ </frameset>
+ </html>
+
+ <!-- Summary results -->
+ <xsl:message>Writing document <xsl:value-of select="$summary_results"/></xsl:message>
+
+ <exsl:document href="{$summary_results}"
+ method="html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ encoding="utf-8"
+ indent="yes">
+
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="../master.css" title="master" />
+ </head>
+ <body>
+
+ <xsl:call-template name="insert_page_links">
+ <xsl:with-param name="page" select="'summary'"/>
+ <xsl:with-param name="release" select="$release"/>
+ <xsl:with-param name="mode" select="$alternate_mode"/>
+ </xsl:call-template>
+
+ <h1 class="page-title">
+ <xsl:text>Summary: </xsl:text>
+ <a class="hover-link" href="summary{$release_postfix}.html" target="_top"><xsl:value-of select="$source"/></a>
+ </h1>
+
+ <xsl:call-template name="insert_report_header">
+ <xsl:with-param name="run_date" select="$run_date"/>
+ <xsl:with-param name="warnings" select="$warnings"/>
+ </xsl:call-template>
+
+ <div class="statistics">
+ Unusable: <xsl:value-of select="count( $test_case_logs[ meta:test_case_status( . ) = 'unusable' ] )"/>
+ &#160;|&#160;
+ Regressions: <xsl:value-of select="count( $test_case_logs[ meta:test_case_status( . ) = 'fail-unexpected' ] )"/>
+ &#160;|&#160;
+ New failures: <xsl:value-of select="count( $test_case_logs[ meta:test_case_status( . ) = 'fail-unexpected-new' ] )"/>
+ </div>
+
+ <!-- summary table -->
+
+ <table border="0" cellspacing="0" cellpadding="0" width="1%" class="summary-table" summary="Overall summary">
+
+ <thead>
+ <xsl:call-template name="insert_runners_rows">
+ <xsl:with-param name="mode" select="'summary'"/>
+ <xsl:with-param name="top_or_bottom" select="'top'"/>
+ <xsl:with-param name="run_toolsets" select="$run_toolsets"/>
+ <xsl:with-param name="run_date" select="$run_date"/>
+ </xsl:call-template>
+
+ <xsl:call-template name="insert_toolsets_row">
+ <xsl:with-param name="mode" select="'summary'"/>
+ <xsl:with-param name="run_date" select="$run_date"/>
+ </xsl:call-template>
+ </thead>
+
+ <tfoot>
+ <xsl:call-template name="insert_toolsets_row">
+ <xsl:with-param name="mode" select="'summary'"/>
+ <xsl:with-param name="run_date" select="$run_date"/>
+ </xsl:call-template>
+ <xsl:call-template name="insert_runners_rows">
+ <xsl:with-param name="mode" select="'summary'"/>
+ <xsl:with-param name="top_or_bottom" select="'bottom'"/>
+ <xsl:with-param name="run_toolsets" select="$run_toolsets"/>
+ <xsl:with-param name="run_date" select="$run_date"/>
+ </xsl:call-template>
+ </tfoot>
+
+ <tbody>
+ <xsl:variable name="test_logs" select="$test_case_logs"/>
+
+ <!-- for each library -->
+ <xsl:for-each select="$sorted_libraries">
+ <xsl:variable name="library" select="."/>
+ <xsl:variable name="library_page" select="meta:encode_path( $library )" />
+ <xsl:variable name="current_row" select="$test_logs[ @library=$library ]"/>
+
+ <xsl:variable name="expected_test_count" select="count( $current_row[ generate-id(.) = generate-id( key('test_name_key',@test-name)[1] ) ] )"/>
+ <xsl:variable name="library_header">
+ <td class="library-name">
+ <a href="{$library_page}{$release_postfix}.html" class="library-link" target="_top">
+ <xsl:value-of select="$library"/>
+ </a>
+ </td>
+ </xsl:variable>
+
+ <xsl:variable name="line_mod">
+ <xsl:choose>
+ <xsl:when test="1 = last()">
+ <xsl:text>-single</xsl:text>
+ </xsl:when>
+ <xsl:when test="generate-id( . ) = generate-id( $sorted_libraries[1] )">
+ <xsl:text>-first</xsl:text>
+ </xsl:when>
+ <xsl:when test="generate-id( . ) = generate-id( $sorted_libraries[ last() ] )">
+ <xsl:text>-last</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text></xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+
+ <tr class="summary-row{$line_mod}">
+ <xsl:copy-of select="$library_header"/>
+
+ <xsl:for-each select="$run_toolsets/platforms/platform/runs/run/toolset">
+ <xsl:variable name="toolset" select="@name" />
+ <xsl:variable name="runner" select="../@runner" />
+
+ <xsl:variable name="current_cell" select="$current_row[ @toolset=$toolset and ../@runner = $runner ]"/>
+
+ <xsl:choose>
+ <xsl:when test="$mode='user'">
+ <xsl:call-template name="insert_cell_user">
+ <xsl:with-param name="current_cell" select="$current_cell"/>
+ <xsl:with-param name="library" select="$library"/>
+ <xsl:with-param name="toolset" select="$toolset"/>
+ <xsl:with-param name="expected_test_count" select="$expected_test_count"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$mode='developer'">
+ <xsl:call-template name="insert_cell_developer">
+ <xsl:with-param name="current_cell" select="$current_cell"/>
+ <xsl:with-param name="library" select="$library"/>
+ <xsl:with-param name="toolset" select="$toolset"/>
+ <xsl:with-param name="expected_test_count" select="$expected_test_count"/>
+ </xsl:call-template>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:for-each>
+
+ <xsl:copy-of select="$library_header"/>
+ </tr>
+ </xsl:for-each>
+ </tbody>
+ </table>
+
+ <div id="legend">
+ <xsl:copy-of select="document( concat( 'html/summary_', $mode, '_legend.html' ) )"/>
+ </div>
+
+ <xsl:call-template name="insert_page_links">
+ <xsl:with-param name="page" select="'summary'"/>
+ <xsl:with-param name="release" select="$release"/>
+ <xsl:with-param name="mode" select="$alternate_mode"/>
+ </xsl:call-template>
+
+ </body>
+ </html>
+ </exsl:document>
+
+ </xsl:template>
+
+ <!-- report developer status -->
+ <xsl:template name="insert_cell_developer">
+ <xsl:param name="current_cell"/>
+ <xsl:param name="library"/>
+ <xsl:param name="toolset"/>
+ <xsl:param name="expected_test_count"/>
+
+ <xsl:variable name="class" select="concat( 'summary-', meta:result_cell_class( $library, $toolset, $current_cell ) )"/>
+
+ <xsl:variable name="library_page" select="meta:encode_path( $library )" />
+
+ <td class="{$class}" title="{$library}/{$toolset}">
+ <xsl:choose>
+ <xsl:when test="$class='summary-unusable'">
+ <xsl:text>&#160;&#160;</xsl:text>
+ <a href="{$library_page}{$release_postfix}.html" class="log-link" target="_top">
+ <xsl:text>n/a</xsl:text>
+ </a>
+ <xsl:text>&#160;&#160;</xsl:text>
+ </xsl:when>
+ <xsl:when test="$class='summary-missing'">
+ <xsl:text>&#160;&#160;&#160;&#160;</xsl:text>
+ </xsl:when>
+ <xsl:when test="$class='summary-fail-unexpected'">
+ <a href="{$library_page}{$release_postfix}.html" class="log-link" target="_top">
+ <xsl:text>broken</xsl:text>
+ </a>
+ </xsl:when>
+ <xsl:when test="$class='summary-fail-unexpected-new' ">
+ <xsl:text>&#160;&#160;</xsl:text>
+ <a href="{$library_page}{$release_postfix}.html" class="log-link" target="_top">
+ <xsl:text>fail</xsl:text>
+ </a>
+ <xsl:text>&#160;&#160;</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>&#160;&#160;OK&#160;&#160;</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </td>
+
+ </xsl:template>
+
+
+ <!-- report user status -->
+ <xsl:template name="insert_cell_user">
+ <xsl:param name="current_cell"/>
+ <xsl:param name="library"/>
+ <xsl:param name="toolset"/>
+ <xsl:param name="expected_test_count"/>
+
+ <xsl:variable name="class" select="concat( 'summary-', meta:result_cell_class( $library, $toolset, $current_cell ) )"/>
+
+ <xsl:variable name="library_page" select="meta:encode_path( $library )" />
+
+ <td class="{$class} user-{$class}" title="{$library}/{$toolset}">
+ <xsl:choose>
+ <xsl:when test="$class='summary-unusable'">
+ <xsl:text>&#160;</xsl:text>
+ <a href="{$library_page}{$release_postfix}.html" class="log-link" target="_top">
+ <xsl:text>unusable</xsl:text>
+ </a>
+ <xsl:text>&#160;</xsl:text>
+ </xsl:when>
+ <xsl:when test="$class='summary-missing'">
+ <xsl:text>&#160;no&#160;results&#160;</xsl:text>
+ </xsl:when>
+ <xsl:when test="$class='summary-fail-unexpected'">
+ <xsl:text>&#160;</xsl:text>
+ <a href="{$library_page}{$release_postfix}.html" class="log-link" target="_top">
+ <xsl:text>regress.</xsl:text>
+ </a>
+ <xsl:text>&#160;</xsl:text>
+ </xsl:when>
+ <xsl:when test="$class='summary-fail-unexpected-new'
+ or $class='summary-fail-expected'
+ or $class='summary-unknown-status'
+ or $class='summary-fail-expected-unresearched'">
+ <xsl:text>&#160;</xsl:text>
+ <a href="{$library_page}{$release_postfix}.html" class="log-link" target="_top">
+ <xsl:text>details</xsl:text>
+ </a>
+ <xsl:text>&#160;</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>&#160;pass&#160;</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </td>
+
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/tools/release/make_tarballs.py b/tools/release/make_tarballs.py
new file mode 100644
index 0000000000..10c1bd6acb
--- /dev/null
+++ b/tools/release/make_tarballs.py
@@ -0,0 +1,373 @@
+# Copyright (c) MetaCommunications, Inc. 2003-2004
+#
+# 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)
+
+import sys
+import os
+import shutil
+import optparse
+
+
+import utils
+
+my_location = os.path.abspath( os.path.dirname( sys.argv[0] ) )
+
+def accept_args( args ):
+ #( release_version, cvs_tag, sf_user, temp_dir, start_step ) = accept_args( sys.argv[ 1: ] )
+ parser = optparse.OptionParser()
+ parser.add_option( "-v", "--release-version", dest="release_version", metavar="release-version", help="release version (e.g. 1.32.0)")
+ parser.add_option( "", "--tag", dest="tag", help="CVS tag" )
+ parser.add_option( "-r", "--cvs-branch", dest="cvs_branch", metavar="cvs-branch"
+ , help = "cvs branch to get the sources from (e.g RC_1_32_0). Important: it is case sensitive" )
+ parser.add_option( "-u", "--sf-user", dest="sf_user", metavar="sf-user"
+ , help = "SourceForge user name (for CVS)" )
+ parser.add_option( "-t", "--toolset", dest="toolset", help="toolset to use to build needed tools" )
+ parser.add_option( "-s", "--start-step", dest="start_step" )
+ parser.usage = "make_tarballs [options] target_directory \n\n" + \
+ "Requirements:\n" + \
+ " CVS:\n"+ \
+ " cvs - (windows) to export sources with windows newlines \n" + \
+ " /usr/bin/cvs - (cygwin) to export sources with posix newlines\n" + \
+ " Utilities:\n" + \
+ " mv - (cygwin) posix move\n" + \
+ " /usr/bin/find - (cygwin) to export sources with posix newlines\n" + \
+ " 7z - to create zipball\n" + \
+ " BoostBook generation:\n" + \
+ " bjam\n" + \
+ " user-config.jam - in user directory ($HOME/%HOME%) for BoostBook generation\n" + \
+ " java\n" + \
+ " doxygen\n"
+
+
+
+ ( options, args ) = parser.parse_args( args )
+
+ temp_dir = None
+ start_step = None
+ if ( len( args ) > 0 ): temp_dir = args[0]
+
+
+ ( version, tag, user, toolset, start_step ) = ( options.release_version
+ , options.cvs_branch
+ , options.sf_user
+ , options.toolset
+ , options.start_step )
+
+ if ( start_step is None ): start_step = ""
+
+ def required( value, name ):
+ if ( value is None ):
+ print "%s should be specified." % name
+ parser.print_help()
+ sys.exit( 1 )
+
+ required( version, "version" )
+ required( tag, "tag" )
+ required( user, "user" )
+ required( temp_dir, "temp_dir" )
+ required( toolset, "toolset" )
+
+ return ( version, tag, user, toolset, temp_dir, start_step )
+
+
+def remove_directory( directory ):
+ if os.path.exists( directory ):
+ print " Removing directory %s" % directory
+ os.system( 'rd /s /q "%s"' % directory )
+
+def clean_directory( directory ):
+ remove_directory( directory )
+ print " Creating directory %s" % directory
+ os.makedirs( directory )
+
+def listdir_recursively( root, path="" ):
+ # recursive listdir
+ files = []
+ try:
+ for file in os.listdir(os.path.join(root, path)):
+ pathname = os.path.join(path, file)
+ if os.path.isdir(os.path.join(root, pathname)):
+ files.extend(listdir_recursively(root, pathname))
+ else:
+ files.append(pathname)
+ except OSError:
+ pass
+ return files
+
+def find_file( root, name ):
+ print root
+ files = listdir_recursively( root )
+ for file in files:
+ # print file
+ if os.path.basename( file ) == name:
+ return os.path.join( root, file )
+ return None
+
+start_dir = os.getcwd()
+
+class make_tarballs( utils.step_controller ):
+ def __init__( self, release_version, cvs_tag, sf_user, toolset, temp_dir, start_step ):
+ utils.step_controller.__init__( self, start_step )
+ self.release_version_ = release_version
+ self.cvs_tag_ = cvs_tag
+ self.sf_user_ = sf_user
+ self.toolset_ = toolset
+ self.temp_dir_ = temp_dir
+
+ def run( self ):
+ archives = []
+
+ win_build_results = self.build_win( self.release_version_
+ , self.cvs_tag_
+ , self.sf_user_
+ , self.temp_dir_ )
+ archives.extend( win_build_results[1] )
+
+ archives.extend( self.build_unix( self.release_version_
+ , self.cvs_tag_
+ , self.sf_user_
+ , self.temp_dir_
+ , win_build_results[0] ) )
+
+
+ # os.chdir( start_dir )
+ # for archive in archives:
+ # shutil.copy( archive, start_dir )
+
+
+ def make_temp_platform( self, temp, platform ):
+ temp_platform = os.path.join( temp, platform )
+ if not self.is_skipping():
+ clean_directory( temp_platform )
+ return temp_platform
+
+ def cvs_export( self, sf_user, cvs_tag, release_version, shell = "%s" ):
+ if not self.is_skipping():
+ print " Exporting..."
+ cvs_export_template = 'cvs -d:ext:%(user)s@cvs.sourceforge.net:/cvsroot/boost -z9 export -r %(branch)s boost'
+
+ cmd = cvs_export_template % { "user": sf_user
+ , "branch" : cvs_tag }
+
+ print cmd
+ os.system( shell % cmd )
+ os.system( "del /S/F/Q .cvsignore >nul" )
+ # have to use mv instead of os.rename - cygwin cvs sets strange directory permssions
+ # which Windows rename or Python's os.rename cannot deal with
+ os.system( "mv boost boost_%s" % release_version )
+ return "boost_%s" % release_version
+
+ def build_win( self, release_version, cvs_tag, sf_user, temp_dir ):
+
+ if "win.export":
+ self.start_step( "win.export", "Exporting windows copy" )
+
+ temp_win = self.make_temp_platform( temp_dir, "win" )
+ os.chdir( temp_win )
+
+ exported_dir = self.cvs_export( sf_user, cvs_tag, release_version )
+ self.finish_step( "win.export" )
+
+ self.make_docs( os.path.abspath( exported_dir ), temp_dir )
+
+ if self.start_step( "win.make_readonly", "Making all files writable" ):
+ os.chdir( temp_win )
+ utils.checked_system( [ "attrib /S -R *.*" ] )
+ self.finish_step( "win.make_readonly" )
+
+ zip_name = "boost_%s.zip" % release_version
+ os.chdir( temp_win )
+
+
+ if self.start_step( "win.zip", " Zipping" ):
+ print " Zipping"
+ if os.path.exists( zip_name ): os.unlink( zip_name )
+
+ utils.checked_system( ["7z a -r -tzip %s %s\* > %s" % ( zip_name, "boost_%s" % release_version, zip_name + ".log" ) ] )
+ self.finish_step( "win.zip" )
+
+
+ return ( os.path.abspath( exported_dir ), [ os.path.abspath( zip_name ) ] )
+
+ def make_docs( self, boost_directory, temp_dir ):
+ boostbook_temp = os.path.join( boost_directory, "bin.v2" )
+ tools_directory = os.path.join( temp_dir, "tools" )
+ if not os.path.exists( tools_directory ):
+ os.makedirs( tools_directory )
+
+ if self.start_step( "win.make_docs.setup_tools", "Setting up BoostBook tools" ):
+ sys.path.append( sys.path[0] + "/../boostbook" )
+ print sys.path
+ import setup_boostbook
+ os.environ[ "BOOST_ROOT" ] = boost_directory
+ setup_boostbook.setup_boostbook( os.path.join( temp_dir, "tools" ) )
+
+ if self.start_step( "win.make_docs.clean", "Clearing \"bin.v2" ):
+ if os.path.exists( boostbook_temp ):
+ shutil.rmtree( boostbook_temp )
+ self.finish_step( "win.make_docs.clean" )
+
+
+ cd = os.getcwd()
+ os.chdir( os.path.join( boost_directory, "doc" ) )
+
+ if self.start_step( "win.make_docs.correct_permissions", "Making html's writable" ):
+ utils.checked_system(
+ [
+ "cd html"
+ , "attrib -R *"
+ , "cd .."
+ ] )
+ self.finish_step( "win.make_docs.correct_permissions" )
+
+ def generate( output_format ):
+ if self.start_step( "win.make_docs.%s" % output_format, ' Generating %s' % output_format ):
+ utils.checked_system( [
+ # "set HOME=%s" % my_location
+ "%s -d2 --v2 %s " % ( bjam_path(), output_format )
+ ] )
+ self.finish_step( "win.make_docs.%s" % output_format )
+
+ generate( "html" )
+ generate( "docbook" )
+ generate( "fo" )
+
+ if self.start_step( "win.make_docs.copy_docs", "Copying docs into doc directory" ):
+ shutil.copy( os.path.join( boostbook_temp, "doc", self.toolset_, "debug", "boost.docbook" ), "boost.docbook" )
+ shutil.copy( os.path.join( boostbook_temp, "doc", self.toolset_, "debug", "boost.fo" ), "boost.fo" )
+ self.finish_step( "win.make_docs.copy_docs" )
+
+
+ if self.start_step( "win.make_docs.clean2", "Copying docs into doc directory" ):
+ shutil.rmtree( boostbook_temp )
+ shutil.rmtree( "xml" )
+ self.finish_step( "win.make_docs.clean2" )
+
+ if self.start_step( "win.make_docs.bb_userman", "Creating Boost.Build user manual" ):
+ os.chdir( os.path.join( boost_directory, "tools", "build", "v2", "doc" ) )
+
+ utils.checked_system( [
+# "set HOME=%s" % my_location
+ "%s -d2 --v2 pdf" % bjam_path()
+ ] )
+
+ for f in [ "userman.pdf" ]:
+ shutil.copy( find_file( os.path.join( boostbook_temp ), f ), f )
+
+ shutil.rmtree( boostbook_temp )
+ self.finish_step( "win.make_docs.bb_userman" )
+
+ if self.start_step( "win.make_docs.clean3", boost_directory ):
+ for i in os.walk( boost_directory ):
+ for f in i[2]:
+ full_path = os.path.join( i[0], f )
+ if os.path.splitext( f )[1] in [ ".boostbook" ] \
+ and os.access( full_path, os.W_OK ):
+ os.unlink( full_path )
+ self.finish_step( "win.make_docs.clean3" )
+
+
+ def correct_executable_permissions( self, path ):
+ if not self.is_skipping():
+ print " Correcting permissions"
+ for i in os.walk( path ):
+ for f in i[2]:
+ if os.path.splitext( f )[1] in ( ".css", ".hpp", ".cpp",\
+ ".html", ".htm", ".rst", \
+ ".pdf", ".xml", ".png",\
+ ".jpg", ".vcproj", ".pattern2", \
+ ".jam", ".bat", ".sty", ".diff" ) \
+ or os.path.basename( f ).lower() in ( "jamfile", "todo", "makefile", "jamrules", "gnumakefile" ):
+ print os.path.join( i[0], f )
+ os.system( "chmod a-x %s" % os.path.join( i[0], f ) )
+
+
+ def build_unix( self, release_version, cvs_tag, sf_user, temp_dir, win_build_dir ):
+
+ self.start_step( "unix.export", "Exporting unix copy" )
+
+ temp_unix = self.make_temp_platform( temp_dir, "unix" )
+ os.chdir( temp_unix )
+
+ exported_dir = self.cvs_export( sf_user, cvs_tag, release_version, "bash -c \"/usr/bin/%s\"" )
+ self.correct_executable_permissions( "." )
+ self.finish_step( "unix.export" )
+
+ self.copy_docs_to_unix( os.path.abspath( exported_dir )
+ , win_build_dir )
+
+ if self.start_step( "unix.make_readonly", "Making all files readonly" ):
+ utils.checked_system( [ "chmod -R a-w+r,u+w %s" % temp_unix ] )
+ utils.checked_system( [ "bash -c /usr/bin/find %s -type d -exec chmod u+w {} ;" % temp_unix ] )
+ self.finish_step( "unix.make_readonly" )
+
+ gz_archive_name = "boost_%s" % release_version + ".tar.gz"
+ if self.start_step( "unix.gz", " Making .gz" ):
+ if os.path.exists( gz_archive_name ): os.unlink( gz_archive_name )
+ os.system( "tar cfz %s %s" % ( gz_archive_name, "boost_%s" % release_version ) )
+ self.finish_step( "unix.gz" )
+
+ bz2_archive_name = "boost_%s" % release_version + ".tar.bz2"
+ if self.start_step( "unix.bz2", " Making .bz2" ):
+ if os.path.exists( bz2_archive_name ): os.unlink( bz2_archive_name )
+ os.system( 'bash -c "gunzip -c %s | bzip2 > %s"' % ( gz_archive_name, bz2_archive_name ) )
+ self.finish_step( "unix.bz2" )
+
+ return [ os.path.abspath( x ) for x in ( gz_archive_name, bz2_archive_name ) ]
+
+ def remove_x_permission( self, directory ):
+ for i in os.walk( directory ):
+ for f in i[1]:
+ os.system( "chmod a=xr,u=rwx %s" % os.path.join( i[0], f ) )
+ for f in i[2]:
+ os.system( "chmod a=r,u=rw %s" % os.path.join( i[0], f ) )
+
+ def copy_docs_to_unix( self, unix_boost_directory, win_boost_directory ):
+ if self.start_step( "unix.copy_docs", "Copying docs to unix copy" ):
+ doc_directory = os.path.join( unix_boost_directory, "doc" )
+ doc_html_directory = os.path.join( doc_directory, "html" )
+ remove_directory( doc_html_directory )
+ utils.checked_system( [
+ "cp -R %s %s " % ( os.path.join( win_boost_directory, "doc", "html" )
+ , doc_html_directory )
+ ] )
+ for f in [ "boost.docbook", "boost.fo" ]:
+ utils.checked_system( [
+ "cp %s %s" % ( os.path.join( win_boost_directory, "doc", f )
+ , os.path.join( doc_directory, f ) )
+ ] )
+
+ self.remove_x_permission( doc_directory )
+
+ boost_build_doc_directory = os.path.join( unix_boost_directory, "tools", "build", "v2", "doc" )
+ boost_build_doc_html_directory = os.path.join( boost_build_doc_directory, "html" )
+
+ remove_directory( boost_build_doc_html_directory )
+ utils.checked_system( [
+ "cp -R %s %s " % ( os.path.join( win_boost_directory, "tools", "build", "v2", "doc", "html" )
+ , boost_build_doc_html_directory ) ] )
+
+ for f in [ "userman.pdf" ]:
+ utils.checked_system( [
+ "cp %s %s " % ( os.path.join( win_boost_directory, "tools", "build", "v2", "doc", f )
+ , os.path.join( boost_build_doc_directory, f ) ) ] )
+
+ self.remove_x_permission( boost_build_doc_directory )
+ self.finish_step( "unix.copy_docs" )
+
+
+def bjam_path():
+ if os.path.exists( os.path.join( my_location, "bjam.exe" ) ):
+ return os.path.join( my_location, "bjam.exe" )
+ else:
+ return "bjam.exe"
+
+def main():
+ ( release_version, cvs_tag, sf_user, toolset, temp_dir, start_step ) = accept_args( sys.argv[ 1: ] )
+
+ make_tarballs( release_version, cvs_tag, sf_user, toolset, temp_dir, start_step ).run()
+
+if __name__ == "__main__":
+ main()
diff --git a/tools/release/user-config.jam b/tools/release/user-config.jam
new file mode 100644
index 0000000000..7b25c8081a
--- /dev/null
+++ b/tools/release/user-config.jam
@@ -0,0 +1,74 @@
+# Copyright (C) Vladimir Prus 2003. Permission to copy, use, modify, sell and
+# distribute this software is granted provided this copyright notice appears in
+# all copies. This software is provided "as is" without express or implied
+# warranty, and with no claim as to its suitability for any purpose.
+
+# This file is used to configure your Boost.Build installation. Please read
+# the user manual to find out where to put it.
+
+# Toolset declarations are most important in this file. The tell Boost.Build
+# what compilers are available and where to look for them. The first toolset
+# will become "default" one.
+# Some important libraries can also be configured.
+# Uncomment relevant parts to suite your local configuration and preferences.
+
+import toolset : using ;
+
+# GCC configuration
+
+# Configure gcc (default version)
+# using gcc ;
+
+# Configure specific gcc version, giving alternative name to use
+# using gcc : 3.2 g++-3.2 ;
+
+# MSVC configuration
+
+# Configure msvc (default version, searched in standard location
+# and PATH).
+# using msvc ;
+
+# Borland configuration
+# using borland ;
+
+
+# STLPort configuration
+
+# Configure, specifying location of STLPort headers.
+# Libraries must be either not needed, or available to
+# the compiler by default
+# using stlport : /usr/include/stlport ;
+
+# Configure, specifying locatioh of both headers and libraries
+# using stlport : /usr/include/stlport : /usr/lib ;
+
+
+# QT configuration
+
+# Configure, assuming QTDIR gives the installation prefix
+# using qt ;
+
+# Configure with explicit installation prefix
+# using qt : /usr/opt/qt ;
+
+# xsltproc (from libxslt) configuration
+using xsltproc ;
+
+# BoostBook configuration
+# using boostbook ;
+ using boostbook : C:/Progra~1/docbook-xsl/docbook-xsl-1.66.1
+ : C:/Progra~1/docbook/4.2
+ ;
+ using doxygen : C:/Progra~1/doxygen/bin/doxygen.exe ;
+
+ using fop : C:/PROGRA~1/fop/FOP-02~1.4
+ : C:/WINDOWS/system32/java.exe
+ ;
+
+
+
+
+
+
+
+
diff --git a/tools/release/utils.py b/tools/release/utils.py
new file mode 100644
index 0000000000..c72ab2d91f
--- /dev/null
+++ b/tools/release/utils.py
@@ -0,0 +1,52 @@
+import string
+
+import os
+
+class failure_exception:
+ def __init__( self, rc ):
+ self.rc_ = rc
+
+ def __str__( self ):
+ return "rc: %d" % self.rc_
+
+def system( commands ):
+ if os.path.exists( "tmp.cmd" ):
+ os.chmod( "tmp.cmd", 0777 )
+ os.unlink( "tmp.cmd" )
+
+ f = open( "tmp.cmd", "w" )
+ f.write( string.join( commands, "\n" ) )
+ f.close()
+ rc = os.system( "tmp.cmd" )
+ os.chmod( "tmp.cmd", 0777 )
+ os.unlink( "tmp.cmd" )
+ return rc
+
+def checked_system( commands, valid_return_codes = [ 0 ] ):
+ rc = system( commands )
+ if rc not in [ 0 ] + valid_return_codes: raise failure_exception( rc )
+ return rc
+
+class step_controller:
+ def __init__( self, start_step ):
+ self.current_step_ = None;
+ self.skip_to_step_ = start_step
+
+ def start_step( self, step_name, start_message ):
+ self.current_step_ = step_name
+ if self.is_skipping( step_name ):
+ print "[%s] Skipping." % step_name
+ return 0
+ else:
+ self.skip_to_step_ = ""
+ print "[%s] %s" % ( step_name, start_message )
+ return 1
+
+ def finish_step( self, step_name ):
+ print "[%s] Finished" % step_name
+
+ def is_skipping( self, step_name = None ):
+ if step_name is None: step_name = self.current_step_
+ return self.skip_to_step_ != "" and self.skip_to_step_ != step_name
+
+
diff --git a/wiki/index.html b/wiki/index.html
new file mode 100755
index 0000000000..efcef27755
--- /dev/null
+++ b/wiki/index.html
@@ -0,0 +1,9 @@
+<html>
+<head>
+<meta http-equiv="refresh" content="0; URL=http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl">
+</head>
+<body>
+Take me to the
+<a href="http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl">Boost Wiki</a>.
+</body>
+</html>